Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС_конспект, тесты 1-4.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
105.47 Кб
Скачать

Страничная организация памяти:

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

– размер страницы в точности соответствует размемру блока физической памяти

– перенос информации между ОП и диском всегда осуществляется целыми страницами

– таблица страниц отображает виртуальные страницы на страничные блоки в физической памяти

– наличие страницы в памяти отмечается битом присутствия-отсутствия в таблице страниц

– если бит M(Modified) модификации в таблице страниц установлен в ноль, страницу не нужно сбрасывать на диск при удалении ее из памяти (изменений нет, перезапись не нужна), и устанавливается в единицу, каждый раз, когда в страницу ведется запись.

– бит R(Read) – устанавливается в единицу при каждом обращении на чтение или запись

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

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

– таблица страниц может размещаться в быстрой памяти процессора и в ОП (размещение таблицы страниц в опер.памяти ускоряет переключение контекста)

– при переключении процессора с одного процесса на другой требуется полная перезагрузка таблицы страниц

– адрес виртуальной страницы на диске вычисляет ОС

– уменьшение размера страницы снижает внутреннюю фрагментацию и увеличивает время обработки страничного прерывания

– время загрузки страницы в память почти не зависит от ее размера

– обращение процесса к странице, который отсутствует в физической памяти вызывает системное прерывание по страничному сбою

– буфер быстрого преобразования адреса ускоряет отображение виртуальных страниц на физические за счет сокращения обращений к таблице страниц

– при условии, что адресное пространство намного объемнее физической памяти, инвертированная таблица страниц занимает меньше памяти

– сокращение размеров таблицы страниц может быть достигнуто предоставлением каждому процессу отдельного адресного пространства

– алгоритмы замещения страниц используют информацию об обращении к страницам в прошлом для прогнозирования

– использование информации о первом прогоне программы для прогнозирования ее поведения в будущем используется при моделировании, но в практических ОС не имеет смысла

– алгоритм замещения NRU (Not Recently Used) удаляет из памяти произвольную страницу, относящуюся к самому низкому непустому классу, удаляет страницы, к которым в последнее время не было обращений

– алгоритм FIFO (First In – First Out) удаляет страницу, которая была загружена раньше других. Новые страницы записываются в конец таблицы, удаляется верхняя страница. Модификация этого алгоритма «Второй шанс» предусматривает проверку бита R, если равен 0 – удаляется, если 1, то сбрасывается в 0 и ставится в конец таблицы

– алгоритм замещения страниц «Часы» отличается от алгоритма FIFO и его модификации «Второй шанс» тем, что не требует постоянного перемещения строк в таблице страниц. Таблица при этом хранится в виде циклического списка в виде часов, где стрелка указывает на самую старую страницу. При страничном сбое эта страница замещается новой, а стрелка сдвигается на строку. По сути – это закольцованный стек.

– алгоритм LRU (Least Recently Used) – наиболее оптимален. Наиболее используемые страницы перемещаются наверх таблицы, наименее – вниз. Подход затратен для каждой команды, почти невыполним.

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

Фрагментация памяти при страничной организации

– сохраняется только за счет неиспользуемых участков памяти в последней странице, используемой странице

– устраняется с точностью до целых страниц

Страничная и сегментная организация памяти МОГУТ существовать совместно

Дидактическая единица 4.

Прерывания от устройств ввода-вывода относят к классу внешних прерываний, имеют более высокий приоритет, чем программные прерывания.

У прерываний от средств контроля процессора, от системного таймера более высокий приоритет, чем у внешних прерываний.

Диспетчер(менеджер, супервизор) ввода-вывода – компонент ОС, управляющий вводом-выводом.

Диспетчер ввода-вывода:

–получает запросы на ввод-вывод от супервизора задач(управляющего компонента), программных модулей ОС.

– получает управление от процессов/потоков при поступлении запроса на ввод-вывод

– вызывает распределители каналов и контроллеров

планирует ввод-вывод

– занимается выводом данных из системного буфера

– передает сообщения об ошибках, если они проиходят

– посылает сообщения о завершении операции ввода-вывода запросившей эту операцию задаче и снимает ее с состояния ожидания

– при получении сигналов прерываний от устройств ввода-вывода диспетчер ввода-вывода идентифицирует эти сигналы и передает управление соответствующим программам обработки.

По завершении операции ввода-вывода, управление передается супервизору(диспетчеру) процессов(задач).

Управляющий компонент или супервизор задач – модуль супервизора ОС, который получает запросы от прикладных задач на выполнение тех или иных операций, в том числе и на ввод-вывод.

Устройства ввода-вывода:

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

– байт-ориентированные (символьные, поточные) – не адресуемые устройства, выдают или воспринимают поток символов, не относящийся ни к какой блочной структуре. Не имеют операции позиционирования. Примеры: принтеры, сетевые интерфейсы, мыши (в качестве указателя).

Способы осуществления ввода-вывода:

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

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

Прямой доступ к памяти(DMAdirect memory access) - способ осуществления ввода-вывода, при котором специальный модуль управляет обменом данными между основной памятью и контроллером ввода-вывода.

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

Главный принцип организации ввода-вывода: любые операции по их управлению объявляются привилегированными и могут выполняться только кодом самой ОС.

В большинстве процессоров есть режимы пользователя и ядра. Операции ввода-вывода выполняются в режиме ядра.