
- •Введение
- •История развития и поколения ос
- •Первый период (1945 -1955).
- •Второй период (1955 - 1965).
- •Третий период (1965 - 1980).
- •Четвертый период (1980 - настоящее время).
- •Классификация ос
- •Функциональные компоненты ос
- •Управление процессами.
- •Управление памятью.
- •Сетевые и распределенные ос.
- •Требования к современным ос
- •Системы разделения времени.
- •Понятие процессов и потоков
- •Алгоритмы планирования процессов и потоков
- •Синхронизация процессов
- •Средства синхронизации процессов и потоков
- •Проблема тупиков.
- •Типы адресов
- •Понятие виртуальной памяти
- •Виды алгоритмов распределения памяти
- •Виртуализация памяти. Классы виртуальной памяти
- •Факторы, влияющие на производительность системы
Классификация ос
Для построения классификации ОС прежде всего необходимо выбрать основание классификации. Таких оснований множество, но наиболее существенными можно считать следующие:
область использования ОС;
типы аппаратной платформы;
методы проектирования;
реализация внутренних алгоритмов управления ресурсами.
Классификация по области использования:
настольные ОС (Desktop Operating System) - ОС, ориентированные на работу отдельного пользователя в различных предметных областях (разработка программ, работа с документами и т.п.); основными чертами настольных ОС являются универсальность и ориентированность на пользователя; представители - MacOS, Windows;
серверные ОС, использующиеся в серверах сетей как центральное звено, а также в качестве элементов систем управления; основной чертой серверных ОС является надежность; представители - семейство UNIX, Windows NT;
специализированные ОС, ориентированные на решение узких классов задач с жестким набором требований (высокопроизводительные вычисления, управление в реальном времени); системы такого рода практически неразрывно связаны с аппаратной платформой; представители - QNX, редуцированные и специализированные версии UNIX, системы собственной разработки;
мобильные ОС - вариант развития настольных ОС на аппаратной платформе КПК; основные черты - удобство использования и компактность; представители - PalmOS, Windows CE.
Безусловно, данная классификация не является абсолютно жесткой, т.е. одна и та же система может исполнять различные функции. Примером тому служит использование Linux с графической оболочкой в качестве настольной ОС или Windows NT в качестве серверной. Однако каждая ОС «сильна» только в своем классе.
Несложно заметить, что каждый класс ОС из приведенной классификации работает на своей аппаратной платформе, так что эта классификация в той или иной мере является и классификацией по типу этой платформы. Можно, однако, попытаться провести более строгую классификацию такого рода, выделив, в частности, в отдельные классы:
ОС для платформы х86, однопроцессорные варианты;
ОС для платформы х86, многопроцессорные варианты;
ОС для RISC платформ;
ОС для мобильных устройств;
встраиваемые ОС (ОС таких устройств, как принтеры, ЦФК и т.п.).
По внутренним алгоритмам управления ресурсами можно создать несколько бинарных классификаций:
многозадачные /однозадачные ОС
многопользовательские /однопользовательские ОС и т.п.
Последняя классификация будет уточняться по мере рассмотрения механизмов управления ресурсами.
Функциональные компоненты ос
Рассмотрим понятие ресурса. Под ресурсом понимается любой объект, который может быть использован вычислительным процессом (распределен в процессе вычислений).
Основные ресурсы:
аппаратные - процессоры, память, внешние устройства;
информационные - данные и программы.
Программы ОС группируются согласно выполняемым функциям и называются подсистемами ОС. Все подсистемы разделяются на два больших класса по следующим признакам:
по типам локальных ресурсов, которыми управляет ОС; соответствующие подсистемы - подсистемы управления ресурсами;
по специфические задачи, применимым ко всем ресурсам; соответствующие подсистемы - подсистемы, общие для всех ресурсов.
Основные подсистемы управления ресурсами - это подсистемы:
управления процессами;
управления памятью;
управления файлами и внешними устройствами.
Общие для всех ресурсов - это подсистемы:
прикладного программного и пользовательского интерфейсов;
защиты данных и администрирования.
Охарактеризуем их и далее перейдем к их рассмотрению в рамках отдельных тем.