- •Понятие и назначение ос. Проблемы, pешаемые ос.
- •Понятие пpоцесса. Понятие pесуpса. Виды pесуpсов ос.
- •Состав опеpационных систем. Назначение компонент.
- •Типы ос. Назначение, цели, отличия.
- •Основная идея, положенная в основу мультипpогpаммиpования Сpавнение однопpогpаммной и мультипpогpаммной обpаботки заданий.
- •Пpеимущества и недостатки мультипpогpаммиpования.
- •Свойства аппаpатуpы, тpебуемые для создания мультипpогpаммной ос.
- •Последовательность пpохождения задания чеpез мультипpогpаммную систему.
- •Основная пpоблема упpавления пpоцессоpами. Состояния пpоцессов, пеpеходы и пpичины пеpеходов.
- •Пpимеp диагpаммы изменения состояний пpоцессов в ос.
- •Введение в планиpование пpоцессов: Когда планиpовать? Категоpии алгоpитмов планиpования, Задачи алгоpитмов планиpования.
- •Планиpование в системах пакетной обpаботки - 4 алгоpитма
- •Планиpование в интеpактивных системах: Циклическое планиpование, Пpиоpитетное планиpование.
- •Планиpование в интеpактивных системах: Несколько очеpедей. Самый коpоткий пpоцесс - следующий. Гаpантиpованное планиpование.
- •Планиpование в интеpактивных системах: Лотеpейное планиpование. Спpаведливое планиpование.
- •Реализация пpоцессов: поля таблицы пpоцессов, обpаботка пpеpывания нижним уpовнем ос.
- •Потоки: Модель потока, Элементы потока.
- •Использование потоков: почему потоки необходимы? Тpи способа констpуиpования Web-сеpвеpа.
- •Реализация потоков в пpостpанстве пользователя.
- •Реализация потоков в ядpе. Активация планиpовщика.
- •Межпpоцессоpное взаимодействие: Тpи части пpоблемы. Состояние состязания.
- •Межпpоцессоpное взаимодействие: Кpитические области и четыpе условия.
- •Взаимное исключение с активным ожиданием: Запpещение пpеpываний, Пеpеменные блокиpовки, Стpогое чеpедование.
- •Взаимное исключение с активным ожиданием: Алгоpитм Петеpсона, Команда tsl.
- •Пpимитивы межпpоцессного взаимодействия. Пpоблема пpоизводителя и потpебителя с неустpанимым состоянием ожидания.
- •Семафоpы. Решение пpоблемы пpоизводителя и потpебителя с помощью семафоpов.
- •Пpимитивы межпpоцессного взаимодействия: Мьютексы, монитоpы.
- •Решение пpоблемы пpоизводителя и потpебителя с пpименением монитоpа.
- •Назначение менеджеpа памяти. Однозадачная система без подкачки на диск. Многозадачность с фиксиpованными pазделами.
- •Моделиpование многозадачности. Настpойка адpесов и защита.
- •Подкачка. Упpавление памятью с помощью битовых массивов.
- •Упpавление памятью с помощью связанных списков. Алгоpитмы выделения памяти - 5 алгоpитмов.
- •Виpтуальная память. Стpаничная оpганизация памяти. Диспетчеp памяти. Виpтуальные и физические адpеса.
- •Стpуктуpа элемента таблицы стpаниц. Буфеp быстpого пpеобpазования.
- •Алгоpитмы замещения стpаниц: Оптимальный алгоpитм, Алгоpитм nru - не использовавшаяся в последнее вpемя стpаница, Алгоpитм fifo - пеpвым пpибыл - пеpвым обслужен.
- •Алгоpитмы замещения стpаниц: Алгоpитм "Втоpая попытка", Алгоpитм "Часы", Алгоpитм lru - стpаница, не использовавшаяся дольше всего.
- •Пpогpаммное моделиpование алгоpитма lru: Алгоpитм nfu - pедко использовавшаяся стpаница, Алгоpитм "стаpение", Замещение стpаниц по запpосу и опеpежающая подкачка, Понятие pабочего набоpа стpаниц.
- •Алгоpитмы замещения стpаниц: Алгоpитм "pабочий набоp", Алгоpитм wsClock.
- •Сpавнение алгоpитмов замещения стpаниц: общая хаpактеpистика и применимость.
- •Политика pаспpеделения памяти: локальная и глобальная. Регулиpование загpузки. Размеp стpаницы.
- •Политика очистки стpаниц. Интеpфейс виpтуальной памяти.
- •Участие ос в пpоцессе подкачки стpаниц.
- •Обpаботка стpаничного пpеpывания. Пеpезапуск пpеpванной команды пpоцессоpа.
- •Блокиpование стpаниц в памяти. Хpанение стpаничной памяти на диске.
-
Стpуктуpа элемента таблицы стpаниц. Буфеp быстpого пpеобpазования.
Структура элемента таблицы страниц
Наиболее важным полем является Номер страничного блока - задачей отображения страниц является определение этой величины. бит Присутствия/отсутствия. Если бит=1, запись в ОЗУ, если = 0, вирт стран нет в ОЗУ. Биты Защиты говорят о том, какие разрешены виды доступа к этой странице. (R W X-чтение запись выыолнен),
Биты Изменения и Обращения отслеживают использование страницы. Когда
страница записывается, аппаратура автоматически устанавливает бит Изменение(грязный бит - отражает состояние страницы). Этот бит учитывается, когда ОС решает освободить страничный блок. Бит Обращения устанавливается всякий раз, когда происходит обращение к странице для чтения или записи. Бит кеширов(блокировки) использ когда рег ВВ/Выв отображ на память.
Буферы быстрого преобразования адреса (TLB)
В большинстве схем со страничной организацией памяти таблицы страниц хранятся в памяти из-за их значительного размера. Потенциально такое устройство оказывает колоссальное влияние на производительность. Например команда процессора, копир содержимое одного регистра в другой. в отсутствие страничной организации памяти эта команда приводит к одному обращению к памяти для выборки команды, а если память организована постранично, то будут необходимы дополнительные ссылки для доступа к таблице страниц. Необходимость двух обращений к таблице страниц на одну ссылку к памяти уменьшает производительность на 2/3.
Проблема: Большинство программ делает огромное количество обращений к небольшому количеству страниц, а не наоборот. => в таблице страниц только малая доля записей читается интенсивно, остальная часть едва ли вообще используется. Решение: компьютер снабжается небольшим аппаратным устройством - буфером быстрого преобразования адреса (TLB — Translation Lookaside Buffer), служащим для отображения виртуальных адресов в физические без прохода по таблице страниц.
Оно обычно находится внутри диспетчера памяти и состоит из нескольких записей. В этом примере их восемь, но фактически записей редко бывает больше 64. Каждая запись содержит информацию об одной странице, а именно: номер виртуальной страницы, бит, устанавливаемый при изменении страницы, код защиты (разрешения на чтение/ запись/выполнение) и номер физического страничного блока, в котором расположена эта страница. Эти поля однозначно соответствуют полям в таблице страниц. Еще один бит служит признаком того, действительна ли запись (то есть она использ в данный момент) или нет.
Действит |
Вирт стр |
Изменение |
Защита |
Странич фрейм |
1 1 1 1 1 1 1 1 |
140 20 130 129 19 21 860 861 |
1 0 1 1 0 0 1 1 |
RW RX RW RW RX RX RW RW |
31 38 29 62 50 45 14 75 |
циклический процесс, располагающийся в вирт стр 19, 20 и 21(код)
для чтения и выполнения. Обраб данные - 129 и 130. Индексы -140. Стек - 860 и 861.
Как функционирует буфер быстрого преобразования адреса (TLB). Когда виртуал адрес представляется диспетчером памяти для отображения, аппаратура сначала убеждается в том, что номер его виртуальной страницы присутствует в буфере TLB путем сравнения адреса со всеми записями одновременно (то есть параллельно). Если вирт адр = вирт стран и
обращение не нарушает биты защиты, страничный блок берется прямо из буфера
TLB, без перехода к таблице страниц. Если номер виртуальной страницы присут-
присутствует в буфере TLB, но инструкция пытается записать что-то на страницу, дос-
доступную только для чтения, формируется ошибка защиты точно так же, как это про-
происходило бы из самой таблицы страниц.
Если номера вирт стр нет в буфере TLB. Диспетчер памяти обнаруживает отсутствие страницы и выполняет обычный поиск в таблице страниц. Затем он удаляет одну из записей из буфера TLB и заменяет ее только что найденной записью из таблицы страниц. Если эта страница снова вскоре будет запрошена, то поиск окажется успешным, а не неудачным.