Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Компьютеры четвертого и последующих поколений.




Московский государственный университет

Им. Ломоносова

Факультет вычислительной математики и кибернетики

Конспект лекций

По курсу

«Операционные системы»

(Лектор Машечкин И.В.)

Выполнила студентка 208 группы

Лукьяница Василиса Андреевна

Москва, 2003

Лекция 1. Операционные системы.

 

План

Введение:

- историч. развитие ВС, определение понятия ВС, появление и развитие программного обеспечения;

основные компоненты совр. Компьютеров;

обзор свойств и характеристик совр. Компьютеров;

Методы и принципы ОС:

процессы;

файловые системы;

планирование в ОС;

организация управления внешними устройствами;

управление оперативной памятью, сетевое взаимодействие.

 

Экскурс в историю.

Первое поколение компьютеров.

Компьютеры 1ого поколения относятся к концу 40х гг. считается, что они возникли в результате развития ядерного оружия.

Основная модель – ENIAC, устройство которой было основано на лампах, за счет чего компьютер был достаточно большого размера, имел маленькую производительность и работал только в персональном режиме.

 

Основные трудности в работе с такой машиной:

программисту не просто было необходимо знать все системные особенности компьютера, но и вводить данные со специального пульта в двоичном (машинном) коде;

в случае аварийной ситуации компьютер останавливал работу, и необходимо было искать ошибку в двоичном коде;

трудно было изменять программу, т.к. использовалась безусловная адресация

возникали проблемы в работе с внешними устройствами.

 

На этом же этапе зародились первые сервисные программы с мнемоническими обозначениями => assembler => трансляторы с asm в машинный код => программы управления внешними устройствами.

 

Компьютеры второго поколения.

Компьютеры второго поколения датируются концом 50х – второй половиной 60х гг. Они основаны уже на полупроводниковых приборах – диодах и транзисторах, поэтому их размер меньше, уменьшилось потребление энергии, но увеличилась скорость работы.

 

Этот этап характеризуется появлением и развитием ПО:

внешние устройства этих машин (магнитные ленты) очень медленные => появление мультипрограммных систем;

появление языков управления заданиями, в которых декларировались ресурсы, необходимые для программы, такие как максимальное время выполнения, максимальный необходимый объем оперативной памяти и т.п.

необходимо было знать все интерфейсы внешних устройств => появление файловой системы – возможности именовать данные и иметь доступ к ним;

развитие внешних устройств => масса управляющих программ очень велика => виртуальные устройства (процесс обобщения св-в конкретных аппаратных устройств и объединение нескольких групп свойств, например, файловая система).

 

Компьютеры третьего поколения.

Конец 60х – 70х гг, основаны на интегральных схемах малой интеграции. Массовое внедрение выч. Технологий в управление производством и активное развитие периферии.

 

Характерно:

унификация узлов и устройств для совместимости различных моделей;

появление «семейств» компьютеров, для преемственности программ компьютерами различных моделей снизу вверх;

большое развитие получили ОС, например, UNIX => появление драйверов.

 

Компьютеры четвертого и последующих поколений.

Осн. х-ка – использование интегральных схем большой и сверхбольшой интеграции.

 

потребность создания максимально «дружественных» систем => «дружественные пользовательские интерфейсы; возрождение понятия персональный компьютер => массовое распределение ПК по всем нишам социума;

толчок к развитию сетевых технологий: первоначально корпоративные сети слишком закрытые, но кол-во информации требовало унификации сетей;

проблема обеспечения безопасности хранения и передачи данных.

 

 

Основы архитектуры вычислительных систем.

 

Вычислительная система – это совокупность аппаратных и программных средств, функционирующих в единой системе и предназначенных для решения задач определенного класса.

 

Элементарными примерами ВС могут служить игровые автоматы и мобильные телефоны.

 

Эксплутационные качества вычислительной системы определяются как свойствами аппаратуры, так и программных компонентов.

 

 

 

Взаимодействие уровней происходит ввиду непосредственных уровневых интерфейсов или какого-либо косвенного влияния (напр. Если канал рассчитан на 10 человек, а используется 100).

 

Аппаратные средства ЭВМ

 

С позиции уровней выше, т.н. физические ресурсы, каждому из которых соотв. определенные характеристики и аппаратные компоненты. Физ.ресурсы: процессор, Оперативная память, наличие\отсутствие внешних устройств.

 

Характеристики каждого ресурса (в идеале):

правила программного использования;

производительность или емкость;

степень занятости или используемости.

 

Но не существует единого правила формирования этих характеристик, в т.ч. одно и то же устройство может обладать различными характеристиками в зависимости от назначения.

 

Уровень аппаратных средств ЭВМ – система команд ЭВМ и программно управляемые компоненты ЭВМ.

 

Управление физическими ресурсами

 

Уровень управления физическими ресурсами – программная составляющая вычислительной системы, обеспечивающая предоставление для каждого конкретного физического ресурса интерфейса для использования – драйвер физического ресурса (устройства).

Драйвер физического устройства – программа, основанная на использовании команд управления конкретного физического устройства и предназначенная для организации работы с данным устройством.

 

Драйвер физического устройства скрывает от пользователя детальные элементы управления конкретным физическим устройством. Драйвер физического устройства ориентирован на конкретные свойства устройства.

На данном уровне иерархии вычислительной системы обеспечивается корректное функционирование и использование физических ресурсов/устройств.

 

Пример различных драйверов для магнитной ленты.

 
 

 

программа, основанная на использовании команд управления конкретного физического устройства и предназначенная для организации работы с данным устройством.

 

Пользователю доступны:

системы команд компьютера;

аппаратные средства;

программные интерфейсы доступа через соответствующие драйверы.

 

Возникающие проблемы:

должна использоваться модификация для перехода от одного устройства к другому;

необходимо организовывать одновременную работу большого кол-ва устройств.

 

 

Управление логическими/виртуальными ресурсами

 

Основа: обобщение свойств и интерфейсов физ. устройств и унификация интерфейсов.

Логическое/виртуальное устройство (ресурс) – это устройство/ресурс, некоторые эксплутационные характеристики которого (возможно все) реализованы программным образом.

 

 
 

Пример.

 

Иерархия логических/виртуальных устройств (ресурсов):

- 1-й уровень обобщения

Драйвер логического устройства определенного типа – обобщает интерфейсы драйверов физических устройств этого типа => унификация обращения.

- 2-й уровень обобщения

Создание логического/виртуального устройства, которому, в конечном счете, соответствует реальное устройство другого типа.

- 3-й уровень обобщения

Реализация логических/виртуальных устройств (ресурсов) базируется на использовании других логических/виртуальных устройств.

Функция управления логическими/виртуальными устройствами (ресурсами) – контроль над созданием и использованием.

 

На уровне управления логическими ресурсами пользователю предоставляется система команд ЭВМ и интерфейсы к драйверам логических/виртуальных устройств/ресурсов.

Ресурсы вычислительной системы - совокупность всех физических и виртуальных ресурсов.

 

Одна из характеристик ресурсов вычислительной системы их конечность, следовательно, возникает конкуренция за обладание ресурсом между его программными потребителями.

Операционная система - это комплекс программ, обеспечивающий управление ресурсами вычислительной системы.

 

Уровни управления физическими и логическими устройствами вычислительной системы обычно составляют операционную систему.

 

 

Системы программирования

Система программирования – это комплекс программ, обеспечивающий поддержание жизненного цикла программы в вычислительной системе

 

Уровень системы программирования обеспечивает поддержание этапов жизни программы: проектирование, кодирование, тестирование, отладка, изготовление программного продукта.

 

 

На данном уровне пользователю предоставляются средства программирования виртуальной машины, основанные на некотором языке программирования и совокупности доступных логических/виртуальных ресурсов.

 

 

 
 

1. Проектирование.

 

  1. Кодирование.

Кодирование – организация поддержки выполнения программы.

 
 

 

 

Средства для разработки программного обеспечения:

a. средства автоматического контроля межмодульных связей;

b. средства автоматически выполняемых задач;

c. системы поддержки версий.

 

 
 

3. Тестирование и отладка.

 

Тестирование – проверка спецификации выполнения программы на некоторых наборах данных.

 

Отладка – процесс локализации ошибок.

 

4.Ввод программы в эксплуатацию и сопровождение.

 

Лекция 2. Системы программирования.

 

На сегодняшний день существует много различных моделей систем программирования. Основными примерами могут служить каскадная модель (в которой этапы обработки тестирования и отладки работают одновременно, в линейное время, но такая модель почти невозможна, т.к. необходима возможность возврата к предыдущей ступени) и каскадно-итерационная модель (она более реальная, т.к. существует возможность возврата, но более хаотическая, т.к. заказчик не имеет детерминированной информации о сроках получения реальных результатов).

       
   
 

Каскадная модель Каскадно – итерационная модель

 

 
 

Существует также спектральная модель. Для получения каждого прототипа проходит все этапы, пока какой-нибудь прототип не станет конечным результатом.

 

Итак, Система программирования – это комплекс программ, обеспечивающий технологию автоматизации

• проектирования,

• кодирования,

• тестирования,

• отладки и сопровождения программного обеспечения.

 

 

Этапы развития систем программирования

Начало 50-х годов ХХ – века.

Система программирования или система автоматизации программирования включала в себя ассемблер (или автокод) и загрузчик, позже появились библиотеки стандартных программ и макрогенераторов.

Середина 50-х – начало 60-х годов ХХ – века.

Появление и распространение языков программирования высокого уровня (Фортран, Алгол-60, Кобол и др.). Переход от команд-цифр к высокоуровневым программам. Формирование концепций модульного программирования.

Середина 60-х годов – начало 90-х ХХ – века.

Развитие интерактивных и персональных систем, появление и развитие языков объектно-ориентированного программирования. Появление средств, которые позволяли создавать программные объекты, скрывающие организацию данных и их обработку от пользователя. Появление первых промышленных систем программирования, основанных на языках высокого уровня. Появился язык Си, правда, это скорее машинно-независимый ассемблер.

90-е ХХ – века – настоящее время.

Появление систем программирования, в которых есть комплексные системы. Последовательное взаимозаменение программ. Появление промышленных средств автоматизации проектирования программного обеспечения, CASE-средств (Computer-Aided Software/System Engineering), унифицированного языка моделирования UML.

 

 

Средства программирования, доступные на уровне системы программирования - программные средства и компоненты СП, обеспечивающие поддержание жизненного цикла программы

 

Прикладная система

 

Прикладная система – программная система, ориентированная на решение или автоматизацию решения задач из конкретной предметной области.

 

Первый этап развития прикладных систем.

 
 

 

Второй этап – развитие систем программирования и

появление средств создания и использования

 
 

библиотек программ

 

 

Третий этап характеризуется появлением пакетов прикладных программ

 

 

Примеры

 
 

 

 

 
 

 

 

Основные тенденции в развитии современных прикладных систем

 

Стандартизация моделей автоматизируемых

бизнес процессов

B2B (business to business)

B2C (business to customer)

ERP (Enterprise Resource Planning)

CRM (Customer Relationship Management)

Открытость системы

API - Application Programming Interface


 

На сегодняшний день специфика прикладных систем – стандартизация бизнесс-процессов. Включается набор средств прикладной системы.

 

Выводы:

К данному моменту мы обсудили следующие понятия:

• Вычислительная система

• Физические ресурсы (устройства)

 

• Драйвер физического устройства

• Логические или виртуальные ресурсы (устройства)

• Драйвер логического/виртуального ресурса

• Ресурсы вычислительной системы

• Операционная система

• Жизненный цикл программы в вычислительной системе

• Система программирования

• Прикладная система

 

К сказанному следует добавить, что пользователь работает в некоторой виртуальной системе. Даже человек, работающий с Ассемблером, не знает коды операций и команд. К тому же, в одной и той же операционной системе может быть целая иерархия виртуальных систем.

 

Основы компьютерной архитектуры.

Невозможно говорить отдельно об ОС или об архитектуре компьютеров, т.к. они взаимодействуют и сильно интегрированы. Их эффективность зависит от ПО и HardWare компьютера.

 

Джон фон Нейман(John Von Neumann). С этим именем связана машина фон Неймана. Он опубликовал Предварительный доклад о компьютере EDVAC (A First Draft Report on the EDVAC), в котором отразил основные концепции организации компьютера. EDVAC (Electronic Discrete Variable Computer - Электронный Компьютер Дискретных Переменных)

 

. Основные разработчики этой модели - Джон Мочли (John Mauchly) и Джон Преспер Эккерт (John Presper Eckert), авторы

ENIACа (Electronic Numerical Integrator And Computer).

Принципы Фон Неймана:

принцип двоичного кодирования. Все данные кодируются с помощью двоичных сигналов.

принцип программного управления. Программы состоят из команд, в которых закодированы операции и операнды. Выполнение компонент программы – автоматическое выполнение команд, составляющих программу. Последовательность команд определяется последовательностью команд и данных.

Принцип хранения программ. Для команд и данных единое устройство памяти. Все слова имеют последовательную адресацию. Интерпретации информации, размещенной в памяти, происходит в момент работы с данной ячейкой памяти.

 
 

Предполагается, что компьютер фон Неймана имеет следующие компоненты:

Оперативное запоминающее устройство (основная память, оперативная память(ОП))

 

 

ОЗУ - устройство, предназначенное для хранения оперативной информации. В ОЗУ размещается исполняемая в данный момент программа и используемые ею данные. ОЗУ состоит из ячеек памяти, содержащей поле машинного слова и поле служебной информации.

 

RAM – устройство произвольного доступа.

Машинное слово – поле программно изменяемой информации, в машинном слове могут располагаться машинные команды (или части машинных команд) или данные, с которыми может оперировать программа. Машинное слово имеет фиксированный для данной ЭВМ размер (обычно размер машинного слова – это количество двоичных разрядов, размещаемых в машинном слове).

Служебная информация (иногда ТЭГ) – поле ячейки памяти, в котором схемами контроля процессора и ОЗУ автоматически размещается информация, необходимая для осуществления контроля за целостностью и корректностью использования данных, размещаемых в машинном слове.

В поле служебной информации могут размещаться:

разряды контроля четности машинного слова (при записи машинного слова подсчет числа единиц в коде машинного слова и дополнение до четного или нечетного в контрольном разряде), при чтении контроль соответствия;

 

Пример контроля за целостностью данных по четности

 

 


разряды контроля данные-команда (обеспечение блокировки передачи управления на область данных программы или несанкционированной записи в область команд);

машинный тип данных – осуществление контроля за соответствием машинной команды и типа ее операндов;

Конкретная структура, а также наличие поля служебной информации зависит от конкретной ЭВМ.

 

Важная характеристика ОП - производительность - скорость доступа процессора к данным, размещенным в ОЗУ:

время доступа (access time- taccess) - время между запросом на чтение слова из оперативной памяти и получением содержимого этого слова.

длительность цикла памяти (cycle time - tcycle) - минимальное время между началом текущего и последующего обращения к памяти.

(tcycle>taccess)

 

Расслоение памяти

 

 

ОЗУ делится на К независимых банков памяти, где К = 2 L

 

 

 

 
 


Центральный процессор

ЦП обеспечивает выполнение программы, размещенной в ОЗУ. Осуществляется выбор машинного слова, содержащего очередную машинную команду, дешифрация команды, контроль корректности данных, определение исполнительных адресов операндов, получение значения операндов и исполнение машинной команды.

 

 
 

Регистровая память:

 

- Регистры общего назначения (РОН)

Используются в машинных командах для организации индексирования и определения исполнительных адресов операндов, а также для хранения значений наиболее часто используемых операндов, в этом случае сокращается число реальных обращений в ОЗУ и повышается системная производительность ЭВМ.

- Специальные регистры

Качественный и количественный состав специализированных регистров ЦП зависит от архитектуры ЭВМ. Ниже представлены некоторые из возможных типов регистров, обычно входящие в состав специализированных регистров.

К специальным относятся:

регистр адреса

регистр результат

регистры внешних устройств

регистры – указатели стека

 

Устройство управления (control unit)– координирует

выполнение команд программы процессором.

 

Арифметико-логическое устройство (arithmetic/logic unit) –

обеспечивает выполнение команд, предусматривающих

арифметическую или логическую обработку операндов.

 

 

Рабочий цикл процессора.


 

КЭШ память

Вернемся к проблеме дисбаланса скорости доступа к ОЗУ и скорости обработки информации ЦП.

Первое решение – использовать программные средства. Программист может разместить наиболее часто используемые операнды в РОН, тем самым сокращается количество «медленных» обращений в ОЗУ. Результат решения во многом зависит от качества программирования.

Второе решение – использование в архитектуре ЭВМ специальных регистровых буферов или КЭШ памяти.

Регистровые буфера или КЭШ память предназначены для разрешения проблемы несоответствия скоростей работы ОЗУ и ЦП, на аппаратном уровне, т.е. эта форма оптимизации в системе организована аппаратно и работает всегда, вне зависимости от исполняемой программы. Следует отметить, что результат этой оптимизации, в общем случае зависит от характеристик программы (об этом несколько позднее). Традиционно, в развитых ЭВМ используется аппаратная буферизация доступа к операндам команд, а также к самим командам.

Суть КЭШа - Обмен данными между КЭШем и оперативной памятью осуществляется блоками фиксированного размера.

Каждому буферу КЭШа соответствует адресный тег блока, который содержит служебную информацию о блоке (соответствие области ОЗУ, свободен/занят блок,......).

Когда УУ вычисляет исполнительный адрес операнда, контролер памяти обращается к аппаратной системе КЭШа. Нахождения данных в КЭШе - попаданием (hit). Если искомых данных нет в КЭШе, то фиксируется промах (cach miss).

При возникновении промаха происходит обновление содержимого КЭШа - вытеснение. Стратегии вытеснения:

•случайная;

•вытеснение наименее популярного (LRU - Least-Recently Used

 

Сквозное кэширование (write-through caching)- расслоение памяти на блоки, работающие параллельно,

кэширование с обратной связью (write-back cache) - тег модификации (dirty bit)

Аппарат прерываний

Прерывание - событие в компьютере, при возникновении которого в процессоре происходит предопределенная последовательность действий.

При выполнении программы может произойти возникновение некоторых исключительных или критических ситуаций (сломалось устройство, произошло деление на ноль). Для этого в аппаратуре фиксируется набор событий, на возникновение каждого из которых машина реагирует предопределенным образом. Эти события называются прерываниями, а реакция на эти события - обработка прерываний.

Прерывания делятся на два типа:

1) внутренние - возникают в схемах контроля процессора. Примеры внутренних прерываний: произошло переполнение (overflow) или деление на ноль.

2) внешние - наступают во «внешнем мире», во внешних устройствах, поступают из УУВУ. Эти прерывания связаны с событием (часто это бывает просто ошибка), произошедшем вовне (например, невозможно считать данные с HDD).

Рассмотрим теперь последовательность действий по обработке прерываний:

Сразу заметим, прерывание не обязательно должно вызвать прекращение программы. После обработки такого прерывания система должна иметь возможность продолжить работу программы. Например, по завершении обмена с HDD происходит прерывание, но это не значит что после этого работа программы должна завершиться.

1) Итак, первое, что делает аппаратура при возникновении прерывания - это так называемое «малое упрятывание» текущей информации о программе. Аппаратура «прячет» в специальные регистры минимальный набор информации о выполняемой программе. Обычно, в этот набор данных входят значение регистра-счетчика команд (IP), содержимое регистра результата, указатель стека и несколько регистров общего назначения, которыми будет пользоваться операционная система (ОС).

2) В некоторый специальный управляющий регистр, условно будем его называть регистром прерываний, помещается код возникшего прерывания.

3) Запускается программа обработки прерываний операционной системы, т.е. передается управление на некоторую фиксированную точку ОС. (Замечу, что здесь в зависимости от реализации имеется две возможности: либо точка одна - тогда тип прерывания передается через параметр, либо для каждого прерывания имеется своя точка).

4) Происходит анализ причин прерывания. При этом используются только «упрятанные» (сохраненные) регистры. Если это прерывание было фатальным (деление на ноль, например), то продолжать выполнение программы не имеет смысла и управление передается на ту часть ОС, которая завершит выполнение программы. Если же это прерывание не фатальное, то происходит дополнительный анализ, который приводит к ответу на вопрос: можно ли оперативно (быстро) обработать прерывание. Пример прерывания, которое можно всегда обработать оперативно - прерывание по таймеру. Прерывание, связанное с приходом информации по линии связи, нельзя обработать оперативно – в этом случае происходит расчищение в системе места для программы ОС, которая займется обработкой этого прерывания. Т.е. при невозможности оперативной обработки прерывания происходит так называемое «полное упрятывание» - сохранение спасенных регистров, а затем и всех остальных регистров в таблице ОС (а не в аппаратных регистрах!). Затем фиксируется тот факт, что пространство ОЗУ, занимаемое программой, может быть перенесено (при необходимости) на внешнее устройство. Дальше идет обработка прерывания, затем происходит восстановление значений регистров и осуществляется возврат в программу в ту же точку, на которой программа остановилась.

 

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...