Использование собственной операционной системы для каждого центрального процессора

Простейший из возможных способов организации мультипроцессорной операционной системы заключается в статическом делении памяти на несколько разделов по количеству имеющихся центральных процессоров и выделении каждому центральному процессору собственной памяти и собственной копии операционной системы.
Фактически п центральных процессоров работают как п независимых компьютеров. Вполне очевидна оптимизация, позволяющая всем центральным процессорам совместно использовать код операционной системы и создавать собственные копии только структуры данных операционной системы, как показано на рис. 8.7, где прямоугольники с надписями «Данные» отображают собственные данные операционных систем каждого центрального процессора.

Рис. 8.7. Разделение памяти между четырьмя центральными процессорами, использующими

общий код операционной системы


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

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

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

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

В-третьих, не существует совместно используемых физических страниц. Возможна ситуация, при которой у центрального процессора 1 имеются в запасе страницы, а центральный процессор 2 постоянно занимается свопингом. А позаимствовать несколько страниц у центрального процессора 1 центральный процессор 2 не может из-за фиксированного распределения памяти.

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

По этим причинам данная модель теперь используется крайне редко, хотя она и применялась на заре мультипроцессоров, когда стояла задача как можно быстрее перенести существующие операционные системы на какие-нибудь новые мультипроцессоры. В исследованиях интерес к этой модели возродился, но с существенным количеством всевозможных поправок. Есть еще кое-что недосказанное относительно сохранения строгой обособленности операционных систем. Если полное состояние каждого процессора хранится локально, то практическое отсутствие обмена ведет к возникновению проблем согласованности или блокировки. В то же время, если нескольким процессорам приходится обращаться к одной и той же таблице процесса и вносить в нее изменения, блокировка очень быстро усложнится (и окажет существенное влияние на производительность). Далее мы еще вернемся к данной теме при рассмотрении симметричных мультипроцессоров.

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

Еще по теме Использование собственной операционной системы для каждого центрального процессора:

  1. Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ, 2015
  2. Э. ТАНЕНБАУМ, А. ВУДХАЛЛ. ОПЕРАЦИОННЫЕ СИСТЕМЫ Разработка и реализация 3-е издание, 2007
  3. В.Е. Карпов К.А. Коньков. Основы операционных систем, 2005
  4. СИСТЕМА НЕРВНАЯ ЦЕНТРАЛЬНАЯ
  5. Это — для каждого
  6. Медитация для усиления восприятия каждого из слоев вашей ауры
  7. ГЛАВА ПЯТНАДЦАТАЯ ЛИТЕРАТУРНОЕ ТВОРЧЕСТВО, ПОСИЛЬНОЕ ДЛЯ КАЖДОГО ИЗ НАС
  8. Статья 426. Использование объекта права интеллектуальной собственности
  9. Статья 1108. Лицензия на использование объекта права интеллектуальной собственности
  10. 1. Понятие использования исключительных прав (интеллектуальной собственности)
  11. 2. Система договоров при расчетах с использованием банковских карт
  12. Статья 203-1. Незаконный оборот дисков для лазерных систем считывания, матриц, оборудования и сырья для их производства
  13. Статья 1112. Договор о создании по заказу и использование объекта права интеллектуальной собственности
  14. 4. Система и квалификация договоров о приобретении и использовании исключительных прав и ноу-хау
  15. Статья 359. Плоды, продукция и доходы от использования имущества, которое является общей долевой собственности
  16. Часть третья Использование кодов для определения типа характера
  17. Часть третья Использование кодов для определения типа характера
  18. Использование специальных психологических приемов для диагностики и преодоления лжи,
  19. Статья 150-1. Использование малолетнего ребенка для занятия попрошайничеством
  20. 9.5. Правовое регулирование отношений в области создания, эксплуатации и использования Государственной автоматизированной системы Российской Федерации «Выборы»