1 билет прошлый год - chrislvt/OS GitHub Wiki
1.1. ОС – определение ОС. Ресурсы вычислительной системы. Режимы ядра и задачи: переключение в режим ядра – классификация событий. Процесс, как единица декомпозиции системы, диаграмма состояний процесса с демонстрацией действий, выполняемых в режиме ядра.
Определение ОС
ОС - это комплект программ, которые совместно управляют ресурсами вычислительной системы и процессами, использующие эти ресурсы. ОС - менеджер ресурсов вычислительной машины.
Из лекции 1: Для того, чтобы поддерживать переключение с одной программы на другую понадобилась специальная программа. Эту программу назвали операционная система, потому что она заменяла работу оператора. Операционные системы появились во втором поколении машин для сокращения простоя процессора - для более эффективного использования процессорного времени, для того чтобы переключаться между заданиями. Это судьбоносный момент.
Существуют различные типы OC. Мейнфрейм - отдельно стоящая большая машина (их ОС нацелены на обработку большого числа заданий одновременно). В них используются:
- ОС пакетной обработки;
- ОС разделения времени;
- ОС для обработки транзакций.
Ресурсы вычислительной системы
Ресурс - любой из компонент вычислительной системы и предоставляемые ею возможности.
К ресурсам относятся:
- процессорное время (не процесс)
- объём оперативной памяти
- устройства ввода / вывода
- вторичная память (средства долговременного хранения данных) (Например, файл - структура, позволяющая осуществлять долговременное хранение информации.) таймеры
- ключи защиты
- средства взаимоисключения (mutex etc)
- сообщения
- программные каналы
- разделяемая память
- таймеры
- системные таблицы(?)
- реентирабельные коды(?) и тд.
ОС – определение ОС. Ресурсы вычислительной системы. Режимы ядра и задачи: переключение в режим ядра – классификация событий.Ответ в лекциях
Режимы ядра и задачи: переключение в режим ядра – классификация событий
Процесс – программа в стадии выполнения. Процесс – главная абстракция системы. UNIX декларирует следующим образом: процесс часть времени выполняет собственный код, и тогда он выполняется в режиме задачи, а часть времени выполняет реентерабельный код операционной системы, и тогда он выпоkняется в режиме ядра.
это из прошлогоднего файла Пользовательский режим ‐ наименее привилегированный режим, поддерживаемый NT; он не имеет прямого доступа к оборудованию и у него ограниченный доступ к памяти. Режим ядра ‐ привилегированный режим. Те части NT, которые исполняются в режиме ядра, такие как драйверы устройств и подсистемы типа Диспетчера Виртуальной Памяти, имеют прямой доступ ко всей аппаратуре и памяти. Различия в работе программ пользовательского режима и режима ядра поддерживаются аппаратными средствами компьютера (а именно ‐ процессором).
Три события, переводящих систему в режим ядра.
- Системные вызовы (программные прерывания). Процесс переключается в режим ядра и выполняется реентерабельный код системы, после обслуживания переключается в режим задачи. Ни одна операционная система не позволяет процессу на прямую обратиться к устройствам ввода/вывода. Если бы обращались напрямую, то такая система была бы незащищенной. Для обслуживания системного вызова, процесс должен перейти в режим ядра, в режиме ядра выполняется реентерабельный код ОС. Реентерабельный код – код чистой процедуры (чистая процедура не модифицирует саму себя (вынесены все данные)). Коды ядра работают с системными таблицами. Процедуры ядра сами являются ресурсами, которые могут запрашивать процессы, разные процессы могут находиться в разных точках одной и той же процедуры.
- Исключения (exception) Системные вызовы и исключения – синхронные события по отношению к вашему процессу. Возникают в процессе выполнения программного кода. Исключения возникают в результате ошибок в про грамме (не устранимым, например - деление на ноль). Устранимое – страничное прерывание, необходимая страница будет загружена в память и программа продолжит выполнение.
- Аппаратные прерывания (прерывания, поступившие от устройств) Асинхронные события в системе. Также имеют различный характер в системе. Самое массовое – прерывания от внешних устройств. Второй тип – прерывание от системного таймера, которое выполняется по тику(выделенный импульс) 18,3 раз в секунду. Третий тип – прерывание от действий оператора (ctrl+alt+del , ctrl+C = завершение процесса в unix)
Процесс, как единица декомпозиции системы, диаграмма состояний процесса с демонстрацией действий, выполняемых в режиме ядра
Базовым понятием любой современной ОС являет процесс (главная абстракция системы). Процесс (по Дейтлу) - это программа в стадии выполнения. Процесс владеет ресурсами, имеет защищенное адресное пространство.
-
Порождение - Происходит идентификация процесса, он получает дескриптор (структуру, описывающую процесс), внутри которого есть номер процесса. Процесс добавляется в таблицы процессов (каждая строка содержит дескриптор, в UNIX на самом деле в связанный список) и выделяется память под процесс.
-
Готовность - ожидание выделения кванта времени процессу (система приоритетов, организуется очередь программ)
-
Выполнение - выполнение команд процесса за отведенный квант времени.
-
Блокировка - ожидание, когда процесс сможет получить необходимые ресурсы.
-
Завершение - освобождение ресурсов и возврат их в пулл свободных ресурсов.
В состоянии готовности находится очередь из программ => выполнение программ в соответствии с приоритетом.
Три режима работы компьютера на базе процессоров Intel (X86). Адресация аппаратных прерываний в защищенном режиме: таблица дескрипторов
прерываний (IDT) – формат дескриптора прерываний, типы шлюзов. Пример заполнения IDT из лабораторной работы.