- •Понятие и назначение ос. Проблемы, 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аничной памяти на диске.
Блокирование страниц в памяти
Процесс только что сделал системный вызов, чтобы считать информацию из некоторого файла или устройства в буфер внутри своего адресного пространства. Пока процесс ожидает завершения операции ввода-вывода, он приостанавливается, предоставляя возможность работы другому процессу. Этот другой процесс вызывает страничное прерывание.
Если алгоритм подкачки страниц - глобальный есть шанс что страница, содержащая буфер вв/выв, будет выбрана для удаления из памяти. Если устройство вв/выв передет данные в эту страницу, ее удаление станет причиной записи части данных в буфер, которому они принадлежат, а часть данных запишется в заново загруженную страницу. Решение: 1) блокировать страницы, занятые вв/выв, чтобы они не удалялись из памяти (пришпиливание). 2) сначала выполнить весь ввод-вывод в буферы ядра, а затем копировать данные в пользовательские страницы.
Хранение страничной памяти на диске
1) Простейший алгоритм для распределения страничного пространства на диске заключается в поддержке специальной области подкачки (свопинга) на диске. При загрузке системы эта область является пустой и представляется в памяти единой записью, имеющей свой начальный адрес и размер. При запуске новых процессов, им предоставляются участки области подкачки, равные по размеру их образам памяти. Как только они завершаются, их дисковое пространство освобождается. Область подкачки управляется как список свободных участков. С каждым процессом связывается адрес его области подкачки на диске, который хранится в таблице процесса. Вычисление адреса записи страницы: прибавляется смещение страницы внутри виртуального адресного пространства к адресу начала области подкачки. Перед тем, как процесс может начать работу, область подкачки должна быть инициализирована. Это можно сделать, копируя полный образ процесса в область подкачки так, чтобы его по необходимости можно было переносить в память. Второй способ: загрузить весь процесс в память и позволить ему постранично выгружаться на диск, также когда это требуется. Проблема: процессы могут увеличиваться в размере после запуска. Хотя текст программы обычно фиксирован, иногда может расти область данных и всегда может увеличиваться стек.
2) ничего не размещать заранее; предоставлять пространство на диске для каждой страницы, когда она выгружается на диск, и освобождать это место, когда она подкачивается обратно в память. При таком подходе процессы в памяти не привязаны к какому-либо пространству подкачки на диске. «−» адрес на диске, необходимый в памяти, отслеживается для каждой страницы на диске. Другими словами, для каждого процесса должна поддерживаться таблица, содержащая местоположение каждой страницы на диске.