- •Дайте определение диспетчеру памяти и адресным пространствам. Поясните механизм использования базового и ограничительного регистров.
- •Приведите классификацию ос
- •Проведите обзор файловых систем (ntfs и ufs) Структура ntfs
- •Структура ufs
- •Дайте определение ос, опишите функции ос
- •Опишите основные этапы развития ос
- •Дайте определение виртуальной памяти, страничной организации памяти. Опишите структуру таблиц страниц
- •Опишите механизмы работы буфера быстрого преобразования адреса, многоуровневых и инвертированных таблицы страниц.
- •Дайте определение процессу и опишите блок управления процессом.
- •Опишите механизмы создания и уничтожения процессов Создание процесса
- •Удаление процесса
- •Опишите основные состояния процессов и возможные переходы между ними. Дайте определение переключению контекста.
- •Опишите механизмы диспетчеризации процессов.
- •Дайте определение свопинг. Опишите механизм управления свободной памятью при свопинге (битовые матрицы)
- •Опишите механизм управления свободной памятью при свопинге (связные списки и поиск по ним)
- •Проведите обзор аппаратного обеспечения пк
- •Дайте определение состязательной ситуации, критической области. Поясните механизм работы барьеров и обмена сообщениями
- •Проведите обзор файловых систем (общая информация и fat)
- •Опишите алгоритм замещения страниц wsClock
- •Опишите алгоритм замещения страниц lru
- •Опишите алгоритм замещения страниц ws.
- •Опишите алгоритм замещения страниц Clock
- •Опишите алгоритм замещения страниц nru
- •Опишите оптимальный алгоритм замещения страниц
- •Опишите алгоритм замещения страниц Second Chance
- •Опишите алгоритм замещения страниц fifo
- •Опишите алгоритм диспетчеризации процессов rr
- •Опишите алгоритм диспетчеризации процессов srtf
- •Опишите алгоритм диспетчеризации процессов fcfs
- •Опишите алгоритм диспетчеризации процессов sjf
- •Перечислите основные команды языка сценариев bat
- •Решите задачу производителя/потребителя через sleep и wakeup
- •Решите задачу производителя/потребителя через алгоритм Петерсона
- •Решите задачу производителя/потребителя через семафоры и мьютексы
- •Решите задачу обедающих философов через семафоры и мьютексы
Опишите механизмы создания и уничтожения процессов Создание процесса
Существуют четыре основных события, приводящих к созданию процессов.
1. Инициализация системы. При запуске операционной системы создаются, как правило, несколько процессов. Некоторые из них представляют собой высокоприоритетные процессы, то есть процессы, взаимодействующие с пользователями и выполняющие для них определенную работу. Остальные являются фоновыми процессами, не связанными с конкретными пользователями, но выполняющими ряд специфических функций.
2. Выполнение работающим процессом системного вызова, предназначенного для создания процесса. Часто работающий процесс осуществляет системный вызов для новых вспомогательных процессов. Создание новых процессов особенно полезно, когда выполняемая работа может быть легко выражена в понятиях нескольких связанных друг с другом, но в остальном независимых друг от друга взаимодействующих процессов (выборка данных, обработка).
3. Запрос пользователя на создание нового процесса. Пользователи могут одновременно открыть несколько окон, в каждом из которых запущен какой-нибудь процесс.
4. Инициация пакетного задания. Применимо только к системам пакетной обработки данных. Когда ОС решает, что у нее достаточно ресурсов для запуска еще одного задания, она создает новый процесс и запускает новое задание из имеющейся у нее очереди входящих заданий.
Во всех этих случаях новый процесс создается за счет уже существующего процесса, который выполняет системный вызов, предназначенный для создания процесса. Этим процессом может быть работающий пользовательский процесс, системный процесс, вызванный событиями клавиатуры или мыши, или процесс управления пакетными заданиями. Данный процесс осуществляет системный вызов для создания нового процесса.
Удаление процесса
Рано или поздно новые процессы будут завершены, обычно в силу следующих обстоятельств:
обычного выхода (добровольно);
выхода при возникновении ошибки (добровольно);
возникновения фатальной ошибки (принудительно), например, неверная инструкцию, ссылку на несуществующий адрес памяти или деление на нуль;
уничтожения другим процессом (принудительно).
Опишите основные состояния процессов и возможные переходы между ними. Дайте определение переключению контекста.
Несмотря на самостоятельность каждого процесса, наличие собственного счетчика команд и внутреннего состояния, процессам зачастую необходимо взаимодействовать с другими. Три состояния процесса:
1. выполняемый (в данный момент использующий центральный процессор); 2. готовый (работоспособный, но временно приостановленный, чтобы дать возможность выполнения другому процессу); 3. заблокированный (неспособный выполняться, пока не возникнет какое-нибудь внешнее событие). |
|
Переходы:
|
Переключение контекста – переключение ЦП с одной программы, процесса, потока на другое. Переключение контекста может быть описано несколько более подробно как kernel (т. е. ядро операционной системы), выполняющее следующие действия в отношении процессов (включая потоки) на CPU: (1) приостановка прогрессии одного процесса и сохранение состояния CPU (т. е. контекста) для этого процесса где-то в памяти, (2) извлекая контекст следующего процесса из памяти и восстанавливая его в регистрах CPU и (3) возвращаясь в место, указанное счетчиком программы (т. е. возвращаясь к строке кода, в которой процесс был прерван), чтобы возобновить процесс.
При переключении контекста происходит сохранение и восстановление: регистрового контекста РОН, контекста с плавающей точкой, состояния управляющих регистров, сегментных и ММХ.