- •Классификация ос.
- •Концептуальная схема компьютера.
- •Приоритеты и маскирование прерываний.
- •Методы доступа к файлам: последовательный доступ, прямой доступ, индексно-последовательный доступ.
- •Директории fat, unix и ntfs.
- •Закрытие
- •Операции над процессами в unix (fork, exec, exit).
- •Вытесняющее и невытесняющее планирование.
- •Оценки среднего времени ожидания и среднего полного времени выполнения.
- •Гарантированное планирование.
- •Алгоритм «Кратчайшее задание - первое» sjf, прогноз длительности интервала cpu.
- •Приоритетное планирование.
- •Статические и динамические приоритеты.
- •1 И 2 примерно равны по исп памяти, но 1 быстрее
- •Защита памяти.
- •Защита памяти.
- •Сегментная организация памяти.
- •Преимущества сегментной организации памяти.
- •Логические адреса.
- •Вычисление физического адреса.
- •Оптимальный алгоритм.
- •Fifo алгоритм «Первым пришел - первым обслужен
Защита памяти.
При большом числе одновременно выполняющихся процессов таблицаобластей становится слишком громоздкой.Аппаратная поддерка механизма защиты с начальным и предельным значением адресов требует слишком много регистров. Поэтому исп ключ защиты памяти.
Память процессам выделяется фиксированными блоками. Каждый блок имеет спец код – ключ защиты. Для хранения ключа используют либо специальное быстродейств устройство, либо ключ хранят в фиксированном месте каждого блока.Значение ключа устанавливается менеджером памяти и одинаков для блоков принадлежащих одному процессу.Также ключ сохраняется в блоке управления процессом и при выполнении загружается в регистр CPU PSW. При каждом обращении к памяти значениехранящееся в регистре сравнивается со значением ключа защиты блока. Если они не равны генерируется ошибка
Виртуальная память.
Базовые принципы.
В сонове концепции лежит принцип локальности – для выполнения команды программы не обязательно содержание всей программы в памяти.Программа выполняется находясь в памяти частично.Любая часть программы может в произвольный момент быть выгружена на диск и снова загружена в оперативную память
Преимущества и недостатки схемы.
Преимущества:
• Программа не ограничена величиной физической памяти и можно задей ствовать большие вирт адр пространства
• Размещение в памяти большего числа програм и увелич загрузку процессора
• Объем загрузки/выгрузки программ на диск мб меньше чем в варианте со свопингом и программы работают быстрее
Решает задачи:
• Снимает ограничение на размер адресуемого адресного пространства расширяя навесь диапазон зависящий от разрядности процессора
• Обеспечения контроля доступа к областям памяти, защиту программ друг от друга и ОС от пользовательск программ
Недостатки:
• Сложная организация концепции и требует существенных средств поддержки
• Связывание адресов происходит в момент выполнения команды – требует больших расходов времени и ресурсов
Средства поддержки виртуальной памяти.
• Аппаратно-зависимый компонент – отображение вирт адресного пространства на физич (основ или дисковую)
• Апп-независимый – организация обмена мд основной и дисковой памятью
Основная идея аппаратной поддержки в том, что адрес памяти встречающийся в программе интерпретируется аппаратурой не как физический адрес, а как структура где адрес является составной частью, наряду с атрибутами обращения к данному адресу.
Модели виртуальной памяти.
Возможно три модлеи вирт памяти:
• Страничная
• Сегментная
• Сегментно-страничная
Страничная память.
Вирт адр пространство процесса делится на страницы одинакового размера, физич адр пространство на кадры тогоже размера обычно это степень 2.Обмен между памятью и диском осуществляется целыми страницами.Вирт адрес состоит из p и d , первое – номер вирт страницы в вирт памяти, второе смещение в это странице. Процесс выполняется если очередная команда расположенна на текущей странице и она находится в осн памяти, если она на диске то происходит ее подкачка. Подкачивакемая страница распологается в любой свободный страничный кадр и связывание адресов выполняется во время выполнения команды. Для отображения адресов используют таблицы страниц для ссылки на таблицу используются регистр процессора.
Для кадой вирт страницы имеется запись в таблице где указывается соответствующий кадр
• Процесс обращается по вирт адресу v=(p,d)
• Механизм отображения ищем номер p в таблице страниц и определяет номер страничного кадра р*
• Реальный адрес формируется из р* и d
При отсутствии страницы в памяти возникает страничное прерывание и запрашиваемая страница подкачивается в свободный страничный кадр, если нет таковых, происходит выгрузка на диск некоторой страницы
Виртуальный адрес.
Страничные прерывания.
Подкачка.
Таблицы страниц.
• Номер кадра – номер страничного кадра, соответствующего виртаульной странице.
• Присутствие, отсутствие – если бит равен 1, то страница в памяти. Если он равен 0, то для загрузки страницы требуется страничное перрываение.
• Защита – используется для указания разрешенных видов доступа к странице. содержит один бит, равный 1 для чтения-записи или 0 только для чтения.
• Изменение (М) – устанавливается аппаратно при модификации содержимого страницы. Если страничный блок освобождается, и страница в нем была изменена («грязная» страница), то ее новая версия должны быть переписана на диск. В противном случае («чистая» страница) ее можно просто удалить из памяти.
• Обращение (R) – устанавливается аппаратно при обращении к странице для чтения или записи. Используется операционной системой при выборе страницы, подходящей для удаления из памяти.
• Блокирование кэширования – позволяет запретить кэширование страницы. Используется для страниц, на которые отображаются регистры устройств. Если операционная система ожидает ответа от некоторого устройства ввода-вывода, существенно, чтобы она получила данные от устройства, а не использовало копию, находящуюся в кэш-памяти.
• Зарезервировано – сохраняет информацию требующуюся для работы алгоритмов замещения страниц.
Назначение полей таблицы страниц.
Проблемы поддержки таблиц страниц.
• Скорость отображения изза постоянного обращении к памяти при выполнении команды
• Размеры таблиц.
Первая проблема решается на основе использования дополнительных специализированных регистров, совокупность которых образует так называемый буфер быстрого преобразования адреса.
Для решения второй проблемы применяются специальные методы структурирования и организации таблиц страниц, такие как многоуровневые и инвертированные таблицы
Буфер быстрого преобразования адреса.
Применяется для ускорения отображения адресов находится внутри устройства управления памятью обладает ассоциативной памятью. В соответствии с принципом локальности можно ожидать, что при очередном обращении к памяти потребуется страница, запись о которой уже находится в буфере и преобразование адреса не потребует обращения к основной памяти. Поиск выполняется путем одновременного сравнения номера виртуальной страницы с соответствующим полем во всех регистрах. В строке, поле виртуальной страницы которое совпало с искомым значением, находится номер страничного кадра.Процессор выставляет виртуальный адрес на шину для отображения.MMU проверяет наличие номера виртуальной страницы в буфере TLB.Если номер есть, и обращение не нарушает биты защиты, то номер страничного блока берется из буфера TLB.Если номера страницы нет в буфере, выполняется поиск в таблице страниц, удаляется одна из записей в буфере TLB, и в освободившийся регистр копируется найденная запись из таблицы страниц. При удалении записи из буфера, биты изменения и обращения копируются в запись таблицы страниц в памяти. Другие величины уже находятся там.Использование ассоциативной памяти увеличивает время переключения контекстов.
Многоуровневые таблицы страниц.
Для экономии оперативной памяти часто используются многоуровневые таблицы страниц, которые исключают необходимость постоянного хранения в памяти всех таблиц страниц, относящихся в некоторому процессу.
РТ1 – хранит адреса таблиц второго уровня в таблице первого уровня;
РТ2 – хранит адреса страниц.
Поле РТ1 используется как индекс таблицы верхнего уровня, а поле РТ2 – как индекс таблицы второго уровня для поиска номера страничного блока.
Инвертированные таблицы страниц.
Инвертированные таблицы упорядочены по номерам страничных кадров памяти и содержат по одной записи на страничный блок в реальной памяти, а не страницу в виртуальном адресном пространстве. Для идентификации записи в инвертированной таблице, кроме обычных атрибутов, добавляется значение идентификатора процесса и номер страницы, принадлежащей этому процессу. Основной недостаток инвертированных таблиц – усложнение перевода виртуального адреса в физический.
Когда процесс n обращается к виртуальной странице p, необходимо производить поиск записи (n,p) во всей инвертированной таблице страниц при каждом обращении к памяти. Для ускорения поиска можно использовать буфер TLB. Если буфер будет содержать все часто используемые страницы, то трансляция адреса будет происходить так же быстро, как и с обычными таблицами страниц. Однако при неудачном поиске в буфере TLB требуется просмотр в инвертированной таблице. Один из возможных способов усовершенствовать поиск – поддерживать хэш-таблицу виртуальных адресов
