I. 1945-1955 г.г. В восемнадцатом веке английский математик Чарльз Бэббидж изобрёл компьютер (теоретически). ОС он не имел. С середины 40-х годов были изобретены первые ламповые вычислительные устройства. Занимался разработкой, программированием и использованием один коллектив. ОС не было. Были библиотеки служебных и математических программ.
II. 1955-1965 г.г. Появление полупроводниковых элементов. Выполнение практических задач. Разделение персонала на программистов, операторов и т.д. Появились алгоритмические языки, а следовательно и компиляторы. Появились системы пакетной обработки, из-за высокой стоимости процессорного времени. Формируется группа задач, а затем они выполняются на тачке. Пакет заданий тогда был на перфокартах.
III. 1965-1980 г.г. Переход от полупроводников к ИС. Появление семейства программно совместимых машин. Семейство IBM 360, ЕС ЭВМ. Возникла необходимость создания ОС. OS/360. Важнейшее достижение: мультипрограммирование, то есть попеременно выполняются несколько программ. Данная система использовала обработку как пакетную, так и с разделением времени.
IV. 1980-2002 г.г. Появление СБИС. Удешевление тачек. Особенность: доступ к тачке получили ламеры. ОС стали иметь дружественный интерфейс. Идёт бурное развитие сетей.
1. Особенности алгоритмов управления ресурсами
1.1 Поддержка многозадачности.
Однозадачные: MS-DOS, MSX.
Многозадачные: OS/2, UNIX, Windows, OS ЕС
1.2 Поддержка многопользовательского режима. Основное отличие многопользовательских состоит в наличии средств защиты информации каждого пользователя от несанкционированного доступа других пользователей.
Однопользовательские: MS-DOS
Многопользовательские: Windows NT, UNIX
1.3 Вытесняющая и невытесняющая многозадачность. Отличие состоит в степени централизации механизма планирования процессов. В случае вытесняющей многозадачности механизм планирования процессов сосредоточен в ОС, то есть ОС каждой выполняющейся задаче выделяет квант времени, приблизительно 20 мс. По истечении времени ОС переключается на выполнение другого процесса. В случае невытесняющей многозадачности каждый активный процесс выполняется до тех пор, пока сам не передаст управление ОС, а ОС затем сама определяет, какой процесс выполнять дальше.
Вытесняющая многозадачность: Windows NT, OS/2
Невытесняющая многозадачность: NetWare, Windows 3.x
1.4 Поддержка многопоточности (thread - поток). Распараллеливание вычислений в рамках одной задачи.
Представители: OS/2, Windows, UNIX
1.5 Многопроцессорная обработка. Существует асимметричная и симметричная. В случае асимметричной системы ОС целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи между другими процессорами. В случае симметричной (SMP) система полностью децентрализована.
2. Особенности аппаратных платформ. Существуют ОС для: ПК, мини-ЭВМ, мейнфреймов, кластеров и сетей ЭВМ.
3. Особенности областей использования.
3.1 Системы пакетной обработки. Носят вычислительный характер, не требуют быстрого полу-чения результата.
Представители: OS EC
3.2 Системы разделения времени. Для работы юзеров, программистов. У каждого юзера создаётся иллюзия использования отдельной тачки.
Представители: VMS, UNIX, Windows
3.3 Системы реального времени. Предназначены для управления различными техническими объектами. Существует предельно допустимое время, в течение которого должна быть выполнена та или иная программа.
Представители: QNX, RT/11
4. Особенности метода построения. Существует особенность построения ядра: монолитный или микро-ядерный подход. Обычно ОС должны работать в нулевом кольце. Это монолитный подход. В случае
микроядрав кольце 0 выполняется минимум функций, которые управляют
аппаратным обеспечением. В случае Windows в кольце 0 - виртуальные
драйверы, в кольце 3 - kernel32.dll. При микроядерном подходе ОС рабо-
тает медленнее, так как есть переходы между кольцами, но система яв-
ляется более гибкой, так как её можно модифицировать, сужать, добав-
лять, удалять.
5. Построение ОС на базе объектно ориентированного подхода. Наличие нескольких прикладных сред, то есть это возможность в рамках одной ОС использовать приложение для других ОС. Например, в Windows NT можно использовать приложения для UNIX, OS/2.
6. Распределённая организация ОС. Реализованы механизмы воспринимать сеть, в виде традиционного компьютера с одним процессором.
Лекция № 2
Пользовательский
режим
Исполнительная система
Ядро Драйверы
устройств
Уровень абстрагирования от оборудования HAL
Режим
Поддержка окон и графики
ядра
Все ОС делятся на два режима: пользовательский и режим защиты. Часть ОС находится в пользовательском режиме (кольцо 3), а часть в режиме ядра (кольцо 0). В основном, в режиме защиты, в ОС существует процесс обработки входа в систему:
идентификация пользователя – определение имени пользователя;
аунтификация пользователя – определение пароля пользователя;
авторизация пользователя – определение действий, которые пользователь может выполнить в системе.
Например, Windows 3.х, 9х является вырожденной ОС, так как в ней предусмотрена только идентификация.
Процессы сервиса – сервисные функции: менеджер задач, SQL-сервер. Пользовательские приложения бывают пяти типов: Win32, Win 3.x, MS-DOS, POSIX, OS/2.
Подсистема окружения – это окружения ОС, позволяющие на компьютерах с ОС запускать приложения разных типов. Например, в Windows NT есть три подсистемы: Win32, POSIX, OS/2.
DLL-подсистемы Win32. Назначение: транслировать документированные функции в соответ-ствующие недокументированные функции исполнительной системы и ядра.
Исполнительная система – управляет памятью, процессами и потоками, обеспечивает защиту и взаимодействие между процессами.
Ядро. Ядро содержит низкоуровневые функции ОС: планирование потоков, диспетчеризацию прерываний и исключений. Обеспечивает синхронизацию работы процессов.
Драйверы устройств. Драйверы аппаратных устройств, сетевые драйверы, драйверы файловой системы.
Уровень абстрагирования от оборудования HAL. Изолирует ядро, драйверы и исполнительную систему от специфики оборудования на данной аппаратной платформе.
Поддержка окон и графики. Реализация графического пользовательского интерфейса.