- •1)Основные функции операционных систем, сред и оболочек
- •2) Классификация ос
- •3) Требования к современным ос
- •4) Мультипрограммирование и распределение ресурсов
- •5) Понятие процессов и потоков
- •6) Алгоритмы планирования процессов и потоков
- •7) Синхронизация процессов
- •9) Функции ос по управлению памятью
- •10) Виртуализация памяти. Классы виртуальной памяти
- •11) Кэширование данных
2) Классификация ос
Для построения классификации ОС прежде всего необходимо выбрать основа-
ние классификации. Таких оснований множество, но наиболее существенными мож-
но считать следующие:
· область использования ОС;
· типы аппаратной платформы;
· методы проектирования;
· реализация внутренних алгоритмов управления ресурсами.
Классификация по области использования:
- настольные ОС (Desktop Operating System) – ОС, ориентированные на
работу отдельного пользователя в различных предметных областях (разработка
программ, работа с документами и т.п.); основными чертами настольных ОС яв-
ляются универсальность и ориентированность на пользователя; представите-
ли – MacOS, Windows;
- серверные ОС, использующиеся в серверах сетей как центральное звено, а так-
же в качестве элементов систем управления; основной чертой серверных ОС явля-
ется надежность; представители – семейство UNIX, Windows NT;
- специализированные ОС, ориентированные на решение узких классов задач с
жестким набором требований (высокопроизводительные вычисления, управление в
реальном времени); системы такого рода практически неразрывно связаны с аппарат-
ной платформой; представители – QNX, редуцированные и специализированные версии
UNIX, системы собственной разработки;
- мобильные ОС – вариант развития настольных ОС на аппаратной платформе
КПК; основные черты – удобство использования и компактность; представители –
PalmOS, Windows CE.
Безусловно, данная классификация не является абсолютно жесткой, т.е. одна и та
же система может исполнять различные функции. Примером тому служит использо-
вание Linux с графической оболочкой в качестве настольной ОС или Windows NT в
качестве серверной. Однако каждая ОС «сильна» только в своем классе.
Несложно заметить, что каждый класс ОС из приведенной классификации ра-
ботает на своей аппаратной платформе, так что эта классификация в той или
иной мере является и классификацией по типу этой платформы. Можно, однако,
попытаться провести более строгую классификацию такого рода, выделив, в ча-
стности, в отдельные классы:
- ОС для платформы х86, однопроцессорные варианты;
- ОС для платформы х86, многопроцессорные варианты;
- ОС для RISC платформ;
- ОС для мобильных устройств;
- встраиваемые ОС (ОС таких устройств, как принтеры, ЦФК и т.п.).
По внутренним алгоритмам управления ресурсами можно создать несколько би-
нарных классификаций:
- многозадачные /однозадачные ОС
- многопользовательские /однопользовательские ОС и т.п.
Последняя классификация будет уточняться по мере рассмотрения механизмов
управления ресурсами.
Функциональные компоненты ОС
Рассмотрим понятие ресурса. Под ресурсом понимается любой объект, кото-
рый может быть использован вычислительным процессом (распределен в процессе
вычислений).
Основные ресурсы:
- аппаратные – процессоры, память, внешние устройства;
- информационные – данные и программы.
Программы ОС группируются согласно выполняемым функциям и называются под-
системами ОС. Все подсистемы разделяются на два больших класса по следующим
признакам:
- по типам локальных ресурсов, которыми управляет ОС; соответствующие под-
системы – подсистемы управления ресурсами;
- по специфические задачи, применимым ко всем ресурсам; соответствующие под-
системы – подсистемы, общие для всех ресурсов.
Основные подсистемы управления ресурсами – это подсистемы:
· управления процессами;
· управления памятью;
· управления файлами и внешними устройствами.
Общие для всех ресурсов – это подсистемы:
· прикладного программного и пользовательского интерфейсов;
· защиты данных и администрирования.
Охарактеризуем их и далее перейдем к их рассмотрению в рамках отдельных тем.
Управление процессами.
Эта подсистема – важнейшая часть ОС. Процесс кратко можно определить как «про-
грамму в стадии выполнения». Реально это некоторый исполняемый код, содержащий
обращения к функциям операционной системы и через их посредство получающий дос-
туп к ресурсам. Таким образом, процесс можно также определить как некоторую заявку
на потребление системных ресурсов.
Подсистема управления процессами планирует выполнение процессов и выполня-
ет следующие функции:
- распределяет процессорное время между несколькими одновременно существу-
ющими в системе процессами;
- занимается созданием, переключением состояния и уничтожением процессов;
- обеспечивает процессы необходимыми системными ресурсами;
- поддерживает синхронизацию процессов;
- обеспечивает взаимодействие процессов.
Управление памятью.
Функциями подсистемы управления памятью являются:
- отслеживание свободной и занятой памяти;
- выделение памяти процессам и ее освобождение при завершении процесса;
- защита памяти процесса;
- вытеснение процессов из оперативной памяти на диск при ее нехватке и возвра-
щение в оперативную память при освобождении места в ней (механизм виртуаль-
ной памяти);
- настройка адресов программы на конкретную область физической памяти.
Управление файлами и внешними устройствами.
Управление файлами и внешними устройствами осуществляется совместной ра-
ботой двух подсистем – файловой системы и подсистемы ввода-вывода.
Файловая система (ФС), экранирует сложности взаимодействия с реальной аппара-
турой при работе с данными. ФС виртуализирует для пользователя набор данных на
внешнем накопителе в виде файла – последовательности байтов, имеющей символь-
ное имя. Файлы группируются в каталоги.