Архитектура ЭВМ Дмитриев Андрей Владиславович
Часть 10. Операционные системы Операционная система это часть программного обеспечения, выступающая в качестве интерфейса между приложениями и аппаратурой. Кен Томпсон Кен Томпсон и Денис Ритчи Денис Ритчи
ОС как ПО Программное обеспечение Прикладное Системное Служебная программа ОС Оболочка Ядро
История 40-е годы – отсутствие ОС. 50-е годы – системы пакетной обработки. Начало 60-х – появился мультипроцессорный и мультипрограммный режимы, разделение памяти, режим реального времени. Середина 60-х – середина 70-х – многорежимные ОС для универсальных ЭВМ. – Господство архитектуры IBM/360. – Появление UNIX. – ОС продаются отдельно от ЭВМ. 70-е – начало 90-х – внесение сетевого взаимодействия. – Ветвление видов ОС.
Ресурсы ОС обладает правом распределять ресурсы: Процессор(ы). Оперативная память. Внешняя память и устройства ввода- вывода. Данные.
Функции ОС Управление ресурсами. Разделение ресурсов. Предоставление ресурсов пользователю и планирование доступа к ним. Обеспечение эффективности выполнения операций ввода-вывода. Восстановление информации и процессов после сбоев. Определение интерфейса пользователя. Предоставление пользователю расширенной виртуальной машины.
Классификация Операционные системы Классификация по возможностям разделения ресурсов Классификация по внешнему предназначению Классификация по модели внутреннего устройства временное мультиплекссирование аппаратные платформы архитектура ядра пространственное мультиплекс- рисование
Временное мультиплекссирование операционные системы пакетной обработки: – работают с пакетами задач; – переключение процессора с одной задачи на другую происходит если активная задача сама отказывается от процессора; операционные системы разделения времени: – предоставляют каждой из задач некоторый квант процессорного времени. – время ответа программы обычно достаточно приемлемо; операционные системы реального времени: – применяются для управления технологическими объектами и процессами; – существует предельно допустимое время, в течение которого программа должна ответить;
Пространственное мультиплекссирование Эта классификация принимает во внимание особенности аппаратных платформ, для которых операционные системы создаются
Сетевые и распределенные ОС В зависимости от того, какой виртуальный образ создает операционная система для того, чтобы подменить им реальную аппаратуру компьютерной сети, различают сетевые и распределенные ОС.
Сетевые ОС Сетевая ОС предоставляет пользователю виртуальную вычислительную систему, работать с которой гораздо проще, чем с реальной сетевой аппаратурой. Эта виртуальная система не полностью скрывает распределенную природу своего реального прототипа, то есть является виртуальной сетью; При использовании ресурсов компьютеров сети пользователь сетевой ОС всегда помнит, что он имеет дело с сетевыми ресурсами; Работая в среде сетевой ОС, пользователь хотя и может запустить задание на любой машине компьютерной сети, всегда знает, на какой машине выполняется его задание.
Распределенные ОС Одно из направлений развития сетевых ОС является достижение как можно более высокой степени прозрачности сетевых ресурсов. В идеальном случае сетевая ОС должна представить пользователю сетевые ресурсы в виде ресурсов единой централизованной виртуальной машины. Для такой ОС используют специальное название распределенная ОС, динамически и автоматически распределяя работы по различным машинам системы для обработки, она заставляет набор сетевых машин работать как виртуальный процессор. Пользователь распределенной ОС не имеет сведений о том, на какой машине выполняется его работа.
Аппаратные платформы персональные компьютеры переносимые компьютеры карманные компьютеры встроенные компьютеры кластерные архитектуры суперкомпьютеры мэйнфреймы мини-компьютеры рабочие станции терминалы массивно-параллельные системы …
Классификация по типу архитектуры ядра системы монолитное ядро. модульное ядро. микроядро. Экзоядро. гибридное ядро.
Ядро и вспомогательные модули Ядро операционной системы модули, выполняющие основные функции операционной системы. Эти модули обычно поддерживают управление процессами, памятью, устройствами ввода-вывода. Код ядра операционной системы исполняется в привилегированном режиме работы процессора. Вспомогательными модулями операционной системы - компоненты операционной системы, представляющие собой обычные приложения в стандартном для данной операционной системы формате. Обычно решение о принадлежности некоторой программы операционной системе принимает производитель.
Монолитное ядро Предоставляет богатый набор абстракций оборудования. Все части работают в одном адресном пространстве. Требуют перекомпиляции при изменении состава оборудования. Достоинства: – Скорость работы, – Упрощённая разработка модулей. Недостатки: – Поскольку всё ядро работает в одном адресном пространстве, сбой в одном из компонентов может нарушить работоспособность всей системы. Примеры: Традиционные ядра UNIX, такие как BSD и Linux; ядро MS-DOS.
Модульное ядро - современная, усовершенствованная модификация архитектуры монолитных ядер. Как правило, не требуют полной перекомпиляции ядра при изменении состава аппаратного обеспечения. Предоставляют тот или иной механизм подгрузки модулей ядра. Все модули ядра работают в адресном пространстве ядра и могут пользоваться всеми функциями, предоставляемыми ядром.
Микроядро - предоставляет только элементарные функции управления процессами и минимальный набор абстракций для работы с оборудованием. - Бо́льшая часть работы осуществляется с помощью специальных пользовательских процессов, называемых сервисами. Достоинства: – Устойчивость к сбоям оборудования, ошибкам в компонентах системы. Недостатки: – Передача данных между процессами требует накладных расходов. Примеры: QNX; Mach, используемый в GNU/Hurd и MacOS X; AIX; Minix ; ChorusOS ; AmigaOS; MorphOS.
Экзоядро - ядро операционной системы, предоставляющее лишь функции для взаимодействия между процессами и безопасного выделения и освобождения ресурсов. Основная идея: ядро должно выполнять лишь функции координатора для небольших процессов. Не занимается предоставлением абстракций для физических ресурсов эти функции выносятся в библиотеку пользовательского уровня (libOS). В отличие от микроядра, экзоядро обеспечивает большую эффективность. libOS может обеспечивать произвольный набор абстракций, совместимый с той или другой уже существующей операционной системой.
Гибридное ядро Гибридные ядра это модифицированные микроядра, позволяющие для ускорения работы запускать «несущественные» части в пространстве ядра. Имеют «гибридные» достоинства и недостатки. Примеры: Windows NT, DragonFlyBSD.
Сравнение ядер
Оболочки Оболочка - надстройка над операционной системой, существенно облегчающую работу пользователя и предоставляющую ему ряд дополнительных сервисных услуг.
Классификация оболочек по предоставляемому интерфейсу Интерфейс командной строки (Command Line Interface – CLI). Графический пользовательский интерфейс (Graphic User Interface – GUI).
1978: Apple II DOS 3.0
1980: Apple III SOS
1983: Lisa
1984: Mac System 1.0
1984: Apple II MouseText
1986: Apple II DeskTop
1987: MultiFinder
1987: HyperCard
1989: GS/OS 5.0
1991: System 7
1998: Mac OS 8.5
2001: Mac OS X 10.0
Linux
Linux (cont.)
Правда ли что…
Источники Таненбаум Э.,Вудхалл А.Операционные системы.Разработка и реализация.3-е изд.Питер.2007 г. Мэтт Уэлш, Матиас Кале Далхаймер и др. «Запускаем LINUX», четвертое издание, Символ плюс, 2004 г. Н.А.Олифер, В.Г.Олифер, «Сетевые операционные системы»Сетевые операционные системы Линус Торвальдс «Just for fun». html
Q&A
Дмитриев Андрей Владиславович Спасибо!