Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы_по_экзамену_ОС.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
564.98 Кб
Скачать
  1. Осуществление многозадачного режима при статическом и динамическом распределении памяти

Система управления памятью должна обеспечить многопрограммный режим работы? используя аппаратные средства распределения оперативной памяти.

Существует два способа распределения памяти : статический и динамический.

При работе в многопрограммном режиме и статическом распределении оперативной памяти выделяется определенная область фиксированной памяти независимо от требований задачи.

При статическом распределении памяти используется статическая адресация, т.е. используется базовый адрес и смещение. При каждой загрузке программы ей назначается базовый адрес в области оперативной памяти.

При динамическом распределении оперативной памяти - выделяется необходимый объем памяти по запросу с учетом потребности задачи. Параллельность процессов обмена и обработки данных приводит к тому, что к оперативной памяти может обращаться несколько устройств (или программ) одновременно, потому требуется организовать очередь обслуживания и использовать концепцию виртуальной памяти. Один из компонентов ядра операционной системы - диспетчер памяти - организует трансляцию виртуальных адресов, используемых программами и другими компонентами ядра, в реальные адреса физической памяти.

  1. Понятие подпула. Управлением подпулами: создание и уничтожение.

Блок основной памяти, динамически выделяемый определенной задаче. В ЕС ЭВМ длина подпула равна 2 Кбайта. Аппарат подпулов используется в режиме MVT для уменьшения эффекта фрагментации зоны памяти. Обращение к подпулу для получения или освобождения участка памяти производится с помощью уже рассмотренных макрокоманд GETMAIN и FREEMAIN. Если в запросе на получение участка памяти в макрокоманде GETMAIN был указан номер подпула, то и в соответствующей макрокоманде FREEMAIN номер подпула указывается обязательно. Подпул образуется, когда в запросе на выделение участка памяти впервые встретился его номер. Каждая задача может самостоятельно использовать до 128 подпулов. Подпул с нулевым номером строится автоматически и используется Супервизором.

  1. Организация управления задачами в многозадачном режиме.

Реализация многозадачного режима с приоритетным обслуживанием подразумевает разделение процессорного времени между всеми задачами, выполняемыми компьютером. Выделение времени прикладной программе осуществляется средствами операционной системы, что гарантирует работу всех приложений вне зависимости от наличия ошибок в других приложениях. Реализованный в Windows механизм многозадачности по сути является псевдомногозадачным, так как передача управления ОС для вызова другой прикладной программы осуществляется из текущей выполняемой. Задача — это элемент работы, который процессор может исполнять, запустить или отложить. Задача определяется селектором своего сегмента TSS. Когда задача выполняется, ее селектор TSS (вместе с дескриптором в скрытой части) загружен в регистр TR процессора. Запуск задачи осуществляется при помощи команды CALL или JMP на сегмент TSS или на шлюз задачи, а также при запуске обработчика прерывания или исключения, который описан как шлюз задачи. При этом автоматически осуществляется переключение задач. Состояние текущей задачи записывается в ее TSS, состояние вызываемой задачи считывается из ее TSS, и управление передается на новые CS:EIP. Если задача не была запущена командой JMP, селектор сегмента TSS старой задачи сохраняется в TSS новой и устанавливается флаг NT, так что следующая команда IRET выполнит обратное переключение задач.