- Как *менеджер ресурсов* - управляет ресурсами, отслеживая их состояние и планируя их использование.
Виды ресурсов:
- вычислительные ресурсы (ЦП)
- оперативная память и уст-ва долговременного хранения данных (жесткий диск и т.д.)
- устройства ввода/вывода
- сетевые соединения
- Как *виртуальная машина* - выполняет абстрагирование аппаратного обеспечения до уровня логических ресурсов ОСс четко определенными интерфейсами. Поддерживает абстракции, которых не существует на аппаратном уровне.
- Аппаратные ресурсы - абстракции ОС
- Жёсткий диск - ФС
- Принтеры - очередь печати
- ЦП - поток
-ОЗУ - процесс
[[#^bd03ae|ОС]] формирует **операционную среду** - среду выполнения ПО
**Spool** - одновременное выполнение нескольких операций в переферии
**Многозадачность** - свойство ОС, позволяющее обрабатывать несколько задач параллельно.
ВОЗУ загружаются несколько процессов. IO одного процесса выполняется параллельно с вычислениями другой
Цель - оптимизация пропускной способности системы
**ОС разделения времени** - подход, который требуется для интерактивной работы, при котором у одной ЭВМ несколько терминалов и каждый пользователь считает, что ему польностью выделена вычислительная система
Для её реализации, была создана идея разделения времени - *Timeslicing*. Задачи:
- Распределение времени ЦП равномерно между пользователями
- Если задача интерактивная, нужно переключаться между пользователями и ПО быстрее, чем пользователи производят ввод
- Пользователи могут интерактивно просматривать, редактировать и отдаэивать выполняющиеся программы
Классификация ОС по назначению:
- Системы пакетной обработки (максимальная пропускная способность)
- Системы разделения времени (удобство и эффективность работы пользователя)
-ОС реального времени (способность выдерживать заданные интервалы времени между возникновением события и завершения его обработки)
По режиму обработки задач:
- По поддержке многозадачности
- однозадачные
- многозадачные
- По поддержке многопоточности
- По поддержке многопроцессорной обработки
По организации пользовательской работы
- Однопользовательские и многопользовательские
- Односессионные и многосессионные
**Монолитная архитектура ОС** - система, построенная с помощью монолитного ядра
**Монолитное ядро** - множество процедур, которые
- выполняются на одном уровне привелегий
- используют одно множество данных
- вызывают друг друга непосредственно (без спец. механизмов)
**Многослойная (уровневая) архитектура ОС** - ОС разбивается на несколько компонентов, между которыми выстраивается вертикальная архитектура (каждый компонент может взаимодействовать только со своими соседями)
**Микроядерная архитектура ОС** - архитектура, основная идея которой минимизация объёма кода, выполняющегося на уровне ядра. На микроядре реализуют минимальный функционал ОС. Всё остальное - прикладные программы
*Плюсы*:
- понятная архитектура
- устойчивая система
- возможность скомпоновать ОС под определённые нужны
*Минусы*:
- низкая производительность
- медленная работа из-за переходов между компонентами через ядро
**Архитектура, основанная на ВМ** - архитектура, основная идея которой является то, что ОС поддерживает отдельные копии [[#^ed3cc0|операционных сред]] для разных работающих приложений (для разделение работы)
Позже появилась поддержка аппаратного виртуального обеспечения, которое произволится с помощью специального ПО
*Плюсы*:
- падение одного приложение не повлечёт отказ остальных
*Минусы*:
- низкая производительность реальной ОС при IO-операциях
**Паравиртуализация** - идея, суть которой в том, что при выполнении некоторого набора операций ОС, работающая на ВМ, напрямую вызывает хостовую ОС, которая работает с реальным аппаратным обеспечением
*Ограничение*: хостовая и гостевая ОС должны быть одинаковыми
**Расширяемость** - возможность модификации, ничего не сломав (модульность, объектная и микроядерная архитектура)
**Переносимость** - возможность переноса кода на другую аппаратную платформу. Повысить переносимость можно:
- использовав ЯВУ
- оптимизировав код
- локализировав и изолировав код
**Совместимость** - способность выполнять программы, написанные для других ОС (или более старых версий себя), а также другой архитектуры
**Безопасность** - защиты ресурсов пользователей друг от друга. Категории:
- D - нет требований
- C - наличие подсистемы учёта событий безопасности
- C2 = есть средство входа, права к объектам, аудит безопасности, защита памяти
- B - использование помеченных данных и распределение пользователей по категориям
- A - наличие формального доказательства соответствия системы требованиям безопасности
**Windows NT**
*Уровень аппаратной абстракции* - обеспечивает вышележащим уровням приемлимые абстракции hardware
*Ядро* - планирование, обработка прерываний и исключений, многопроцессорность, обработка сбоев
*Менеджер объектов* - создаёт, удаляет и управляет объектами (выделение памяти, управление дескрипторами, каталогами объектов)
*Монитор безопасности* - устанавливает правила защиты на локальный компьютер
*Менеджер процессор* - управляет процессами и потоками
*Средства LPC* - оптимизированный вариант более общего средства - удалённого вызова процедур (передача коротких и длинных сообщений)
*Менеджер виртуальной памяти* - управление физической памятью, поддержка АП ядра и процессов
*Менеджер IO* - представляет средства IO, независимо от их устройств
**UNIX**
*Аппаратный контроль* - обеспечивает вышележащим уровням приемлимые абстракции hardware