1. По особенностям алгоритмов управления ресурсом:
a. Многозадачная и однозадачная. Многозадачные ОС могут быть вытесняющие и невытесняющие (разница: в невытесняющей – пока не закончиться выполнение задачи, она не уйдет; вытесняющая – прерыванием снимает задачу).
b. Многопользовательские и однопользовательские.
c. Системы с поддержкой поток и без них.
d. Многопроцесорная и однопроцессорная. Многопроцессорные ОС могут быть симметричные и асимметричные.
2. По особенностям аппаратных платформ:
a. ОС персональных компьютеров
b. ОС миникомпьютеров (для нетбуков и планшетов)
c. ОС мобильных устройств
d. ОС майнфреймов
e. ОС кластеров
f. ОС сетей ЭВМ (или сетевые: клиент-серверные системы, системы маршрутизаторов и так далее)
3. По особенностям областей использования:
a. Системы пакетной обработки (главный критерий эффективности – максимальная пропуская способность, то есть количество решенных задач за единицу времени)
b. Система разделения времени (критерий эффективности – удобство работы пользователя)
c. Системы реального времени (критерий эффективности – способность выдерживать заранее заданные интервалы времени между запуском программы и получением результатов (реактивность), время – время реакции)
4. По особенностям методов построения:
a. Монолитные системы (или монолитные ядра). Монолитное ядро – это набор процедур, каждая из которых может вызывать каждую. Пример: ОС семейства Unix в начале.
b. Многоуровневые системы – вся вычислительная система разбивается на ряд уровней с определенными интерфейсами между ними. Например:
5 Интерфейс пользователя
4 Управления ввода/вывода
3 Диспетчер устройств связи и консоли
2 управления памятью
1 планирования процессов
0 уровень оборудования
Один слой только к соседям может обращаться, внутри слои – монолитны. Сложно продумать их архитектуру, но удобно компилировать
c. Виртуальные машины. Например:
Пользовательская программа
Пользовательская программа
Пользовательская программа
Linux
Windows
…
Виртуальная машина
Виртуальная машина
Виртуальная машина
ОС (виртуальная машина)
Реальное hardware
Используется часто в серверных системах.
d. Микроядерные ОС. В ОС выделяется исполнительное ядро (микроядро), работающее в привилегированном режиме, а остальные функции работают по клиент-серверному принципу.
Менеджер памяти, менеджер файловой системы, приложения
Микроядро
Взаимодействует через микроядро. Чем меньше функций в микроядре, тем лучше.
Минус систем: все вызовы и переключения требуют дополнительные накладные расходы, медленней работают.
5. На каком языке написаны: ООП, структурно-ориентированный и так далее.
Процесс – это абстракция, описывающая выполняющую программу. Для ОС процесс – это единица работы и заявка на потребление системных ресурсов.
В многозадачной среде процесс может находиться в нескольких основных состояниях: ожидание, выполнение и готовности.
Жизненный цикл начинается с готовности, затем выполнения, а потом остальное.
Состояние операционной среды процессов отражается состояние регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информации о незавершенных операциях ввода\вывода, кодами ошибок выполняемых системных вызовов. Оно хранится в специальной структуре, называемой контекстном процессов. Структура хранения, поля и реализация зависит от ОС.
В совокупности структура данных, в которой хранится вся информация, необходимая для выполнения процесса, называется блок выполнения процесса или PCB – Process Control Block. Делится на две части:
1.Содержимое всех регистров (или регистровый контекст процессов)
2.Всё остальное (или системный контекст процессов).
Код и данное, находящиеся в адресном пространстве процесса, называется его пользовательским контекстом.
Дескриптором процессов (handle) называется структура, включающая идентификатор процесса, состояние, привилегии и место нахождения кодовых процессов. Дескриптор – описатель процесса.
Очереди процессов представляют собой списки их дескрипторов.