Билет №46. Виртуальная память. Симметричная многопроцессорная обработка.
Виртуальная память — метод управления памятью компьютера, позволяющий выполнять программы, требующие больше оперативной памяти, чем имеется в компьютере, путём автоматического перемещения частей программы между основной памятью и вторичным хранилищем.
Виртуальная память позволяет выделить часть дополнительной памяти на жестком диске, чтобы в дальнейшем система рассматривала эту часть как продолжение оперативной памяти. В результате компьютер может адресовать больше памяти. Применение этого механизма, так же, как и механизма многозадачности и многопоточности, позволяет добиться существенного повышения эффективности работы компьютера. Из-за того, что размер оперативной памяти ограничен, часть программного кода каждой из программ записывается на жесткий диск, освобождая таким образом оперативную память для других программ.
Симметричная многопроцессорная обработка (SMP) – это способность операционной системы работать с компьютером, в котором установлены два и более процессора. Операционная система в данном случае должна контролировать балансировку нагрузки, чтобы обеспечить работу каждому из процессоров. Механизм SMP может использоваться при выполнении как одной программы, так и нескольких приложений – в любом случае нагрузка распределяется равномерно.
Билет №47. Распределение и назначение ресурсов. Планирование. Текущий контроль.
Распределение и назначение ресурсов компьютера. Операционная система распределяет ресурсы компьютера между приложениями, находящимися в очереди на исполнение. Например, в число задач операционной системы входит выделение отдельной области памяти каждому запущенному приложению и необходимым ему данным, а также управление устройствами ввода-вывода (клавиатурой, принтером, монитором, сетевой картой и т.п.).
Планирование и использование ресурсов компьютера во время исполнения задач. Задача ОС – скоординировать работу всех компонентов компьютера так, чтобы все приложения выполнялись как можно быстрее и эффективнее. Для этого операционной системе необходимо осуществлять планирование использования различных ресурсов компьютера (прежде всего, ЦП, ОЗУ и жесткого диска). Как правило, каждой задаче присваивается приоритет выполнения, в соответствии с которым и осуществляется планирование.
Осуществление текущего контроля работы компьютера. ОС контролирует работу компьютера, отслеживает стадии выполнения каждой задачи, может вести журнал учета использования компьютера. Например, ОС отслеживает, какие программы были запущены, наблюдались ли случаи несанкционированного использования программ или данных и др.
Билет №48. Классификация ОС.
В зависимости от количества единовременно решаемых задач: однозначные и многозадачные.
В зависимости от количества пользователей: однопользовательские и многопользовательские.
В зависимости от количества поддерживаемых процессоров: однопроцессорные и многопроцессорные.
В зависимости от возможности работы в компьютерной сети:
локальные – автономные ОС, которые не позволяют работать с компьютерными сетями;
сетевые – ОС с поддержкой компьютерных сетей.
В зависимости от роли в сетевом взаимодействии:
серверные – ОС, открывающие доступ к ресурсам сети и осуществляющие управление сетевой инфраструктурой;
клиентские – ОС, которые имеют возможность получения доступа к ресурсам сети.
В зависимости от типа лицензии:
открытые – ОС с открытым исходным кодом, который можно изучать и редактировать;
проприетарные – ОС, связанные с определенным правообладателем и, как правило, имеющие закрытый исходный код.
В зависимости от сферы использования:
ОС серверов;
ОС персональных компьютеров;
OC мобильных устройств;
встроенные OC;
OC маршрутизаторов.
Билет №49. Типы ядер OC.
Существует несколько классификаций ОС, в зависимости от типа ядра:
OС с монолитным ядром;
OС с микроядром;
OС с гибридным ядром.
Монолитное ядро — классическая и, на сегодня, наиболее распространённая архитектура ядер операционных систем. Монолитные ядра предоставляют богатый набор абстракций оборудования. Все части монолитного ядра работают в одном адресном пространстве.
Монолитные ядра имеют долгую историю развития и усовершенствования и на данный момент являются наиболее архитектурно зрелыми и пригодными к эксплуатации
«Разбухание» кода монолитных ядер также повышает требования к объёму оперативной памяти, требуемому для функционирования ядра ОС. Это делает монолитные ядерные архитектуры малопригодными к эксплуатации в системах, сильно ограниченных по объёму ОЗУ, например, встраиваемых системах, производственных микроконтроллерах и т. д.
Плюсы:
прямой доступ к аппаратным средствам;
простой обмен данными между процессами;
более высокая скорость реакции процессов.
Минусы:
большой размер;
меньшая степень безопасности (по сравнению с микроядром);
занимает много оперативной памяти.
Микроядро— ядро операционной системы, реализующее минимальный набор функций.
Микроядра предоставляют лишь небольшой набор низкоуровневых механизмов для:
управления физической и виртуальной памятью компьютера (выделение памяти процессам, обеспечение её изоляции/защиты);
управления процессорным временем (сервисы для работы с потоками (нитями) процессов
управления доступом к устройствам ввода-вывода (открытие/закрытие доступа к портам ввода-вывода и MMIO-памяти устройств);
коммуникации и синхронизации процессов (IPC) (управляемое и контролируемое нарушение изоляции памяти процесса для организации обмена данными).
Плюсы:
теоретически высокая степень надежности (по сравнению с другими архитектурами);
низкое потребление памяти;
легкое подключение дополнительных частей ядра (модульность).
Минусы:
низкая скорость из-за постоянного переключения между отдельными частями;
доступность аппаратных средств только через драйверы.
Гибридное ядро — модифицированные микроядра, позволяющие для ускорения работы запускать модули ОС в пространстве ядра.
Плюсы:
возможность выбора того, что будет функционировать в пространстве ядра и пользователя;
меньший физический размер (в сравнении монолитным ядром);
большая степень гибкости.
Минусы:
более медленная работа;
выпуск драйверов устройств только производителями.
