Участие операционной системы в процессе подкачки страниц

Операционная система занята работой, связанной с подкачкой страниц, в течение четырех периодов времени: во время создания процесса, во время выполнения процесса, при возникновении ошибки отсутствия страницы и при завершении процесса.
Кратко рассмотрим каждый из этих периодов времени, чтобы посмотреть, что должно быть сделано.

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

Когда процесс планируется на выполнение, диспетчер памяти (MMU) должен быть перезапущен под новый процесс, а содержимое буфера быстрого преобразования адреса (TLB) должно быть очищено, чтобы избавиться от следов ранее выполнявшегося процесса.

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

При возникновении ошибки отсутствия страницы операционная система должна считать данные аппаратных регистров, чтобы определить, чей виртуальный адрес вызвал ошибку. На основе этой информации она должна вычислить, какая страница востребована, и найти ее место на диске. Затем она должна найти для новой страницы подходящий страничный буфер, удалив из него, если необходимо, какую-нибудь старую страницу. Потом она должна считать востребованную страницу в страничный блок. И наконец, она должна вернуть назад счетчик команд, заставив его указывать на команду, вызвавшую ошибку, и дать этой команде возможность повторного выполнения.

При завершении процесса операционная система должна освободить его таблицу страниц, его страницы и дисковое пространство, которое занимали эти страницы, когда находились на диске. Если некоторые из этих страниц совместно используются другими процессами, то страницы в памяти и на диске могут быть освобождены только тогда, когда будет прекращена работа последнего использующего их процесса.

3.6.2.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Участие операционной системы в процессе подкачки страниц:

  1. Э. ТАНЕНБАУМ, А. ВУДХАЛЛ. ОПЕРАЦИОННЫЕ СИСТЕМЫ Разработка и реализация 3-е издание, 2007
  2. В.Е. Карпов К.А. Коньков. Основы операционных систем, 2005
  3. Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ, 2015
  4. Первая страница
  5. 5. Педагог должен быть психологически и профессионально готов к участию в совершенствовании системы образования
  6. Глава 10. Переходные процессы в социальных системах
  7. § 1. Система психических процессов
  8. §2. Воспитание как процесс и система
  9. Тема 10. Переходные процессы в социальных системах
  10. Тема 8. ПРОЦЕСС ОБУЧЕНИЯ КАК ЦЕЛОСТНАЯ СИСТЕМА
  11. Статья 174. Принуждение к участию в забастовке или Воспрепятствование участию в забастовке
  12. Очерк 2: Берт «Процесс — вот мое достояние. Именно процесс создает успех»
  13. § 39 Классификация договоров в отдельных видах. – Римская классификация. – Система прусского закона, французского и австрийского кодекса. – Система русского свода. – Система настоящего изложения.
  14. Тема 15 Правова система і система права. Система законодавства та систематизація нормативно-правових актів
  15. § 10 Прекращение, расторжение и разлучение брака. – Участие общественной власти в делах о разлучении брака. – Ведомство сих дел и особливые правила процесса. – Различие между отменой брака и разводом. – Безусловные и относительные поводы к отмене. – Действие принуждения и заблуждения. – Последствия отмены. – Мнимозаконный брак. – Различие между разводом и разлучением супругов. – Поводы к расторжению брака. – Действие прелюбодеяния в браке. – Отличие французского и прусского закона о разводе и ра