Разделение операционной системы на ядро и модули-приложения обеспечивает
Легкую расширяемость ОС.
Для надежного управления ходом выполнения приложений операционная система
Должна иметь по отношению к приложениям определенные привилегии.
Иначе некорректно работающее приложение может вмешаться в работу ОС
и, например, разрушить часть ее кодов.
Обеспечить, привилегии операционной системе невозможно без специальных
Средств аппаратной поддержки. Аппаратура компьютера должна поддерживать
как минимум два режима работы —пользовательский (user mode)
ипривилегированный, который также называютрежимом ядра (kernel mode),
илисупервизора (supervisor mode). Подразумевается, что операционная система
Или некоторые ее части работают в привилегированном режиме, а приложения
— в пользовательском режиме.
Очень важно, что механизмы защиты памяти используются операционной
Системой не только для защиты своих областей памяти от приложений, но
И для защиты областей памяти, выделенных ОС какому-либо приложению, от
остальных приложений. Говорят, что каждое приложение работает в своемадресном
пространстве. Это свойство позволяет локализовать некорректно работающее
приложение в собственной области памяти, так что его ошибки не оказывают
Влияния на остальные приложения и операционную систему
.Свойство архитектуры ОС, основанной на ядре, отвечающее за возможность защиты кодов и данных ОС за счет выполнения функций ядра в привилегированном режиме. Для того, чтобы приложения не вмешивались в работу системы, сама ОС должна отслеживать, какие приложения должны получать те или иные ресурсы. ОС обладает привилегиями. Но это невозможно без аппаратной поддержки. Аппаратура должна поддерживать 2 режима, минимум: пользовательский и привилегированный (или режим ядра). Подразумевается, что ОС или ее часть работает в режиме ядра, а приложения в пользовательском режиме. Т.к. основные функции выполняет ядро, то именно оно чаще всего и работает в привилегированном режиме. Приложения ставятся в подчиненное положение за счет запрета некоторых критичных команд, например переключение процессора с задачи на задачу, управление устройствами ввода/вывода, доступом к механизмам распределения и защиты памяти.
10.
Вычислительную систему, работающую под управлением ОС на основе ядра,
Можно рассматривать как состоящую из трех иерархически расположенных
Слоев: нижний слой образует аппаратура, промежуточный — ядро, а утилиты,
Обрабатывающие программы и приложения, составляют верхний слой системы
Многослойный подход является универсальным и эффективным способом
Декомпозиции сложных систем любого типа, в том числе программных. В соответствии
С этим подходом система состоит из иерархии слоев. Каждый слой обслуживает
Вышележащий слой, выполняя для него некоторый набор функций,
Которые образуют межслойный интерфейс
Поскольку ядро представляет собой сложный многофункциональный комплекс,
То многослойный подход обычно распространяется и на структуру ядра.
Ядро может состоять из следующих слоев
Средства аппаратной поддержки ОС.
Машинно-зависимые компоненты ОС
Базовые механизмы ядра
Менеджеры ресурсов
Интерфейс системных вызовов.
Ядро также многослойная схема: аппаратура, средства аппаратной поддержки (система прерываний, защита областей памяти), машинно-зависимые компоненты (этот слой экранирует верхние от особенностей аппаратуры, позволяет разрабатывать верхние на основе машинно-независимых модулей), базовые механизмы ядра (примитивные команды ядра, переключение процессов, диспетчеризация прерываний, ВЫПОЛНЕНИЕ, НЕ РЕШЕНИЕ), менеджеры ресурсов (решает какие страницы загрузить на диск, какие процессы переключить), интерфейс системных вызовов(Непосредственное взаимодействие с программами пользователя API, open – открывает файл в UNIX, read – читает некоторое количество байтов).
11.
Многие операционные системы успешно работают на различных аппаратных
платформах без существенных изменений в своем составе. Во многом это объясняется
тем, что, несмотря на различия в деталях, средства аппаратной поддержки
ОС большинства компьютеров приобрели сегодня много типовых черт,
а именно эти средства в первую очередь влияют на работу компонентов операционной
системы. В результате в ОС можно выделить достаточно компактный
слой машинно-зависимых компонентов ядра и сделать остальные слои ОС общими
дляразных аппаратных платформ.
Во многом это объясняется тем, что, несмотря на различия в деталях, средства аппаратной поддержки ОС большинства компьютеров приобрели сегодня много типовых черт, а именно эти средства в первую очередь влияют на работу компонентов операционной системы. В результате в ОС можно выделить достаточно компактный слой машинно-зависимых компонентов ядра и сделать остальные слои ОС общими для разных аппаратных платформ. Переносимость –должен легко переноситься с одного типа процессора на другой (или способ организации всей аппаратуры компьюьтера).
13.Одна и та же ОС не может без изменений устанавливаться на систему со значительными различиями в организации ПК. Однако ядро можно спроектировать так, чтобы только часть модулей были машинно-зависимые.Объем таких модулей зависит от отличий в аппаратных платформах (32 и 16 разрядные вынуждают переписывать код полностью). Однопроцессорные и много процессорные ПК требуют разных алгоритмов распределения памяти. Для уменьшения машинно-зависимых модулей производители ОС обычно ограничивают универсальность модулей. Независимость носит условный характер и распространяется на несколько типов процессора. Но сюда также можно отнести низкоуровневые драйвера, которые отражают особенности управляемых внешних устройств, но они входят в состав менеджера ввода-вывода. Наблюдается двойственность. Может использоваться BIOS как помощь разработчикам, но они могут полностью его заменить компонентами ОС.
12.Четкой границы между программной и аппаратной реализацией функций ОС не существует — решение о том, какие функции ОС будут выполняться программно, а какие аппаратно, принимаются разработчиками аппаратного и программного обеспечения компьютера. Тем не менее практически все современные аппаратные платформы имеют некоторый типичный набор средств аппаратной
поддержки ОС, в который входят следующие компоненты:
■ средства поддержки привилегированного режима; (какой режим текущий, проверка допустимости выполнения команды при текущем уровне привилегий).
■ средства трансляции адресов; (Преобразовывает виртуальные адреса в физические).
■ средство переключения процессов; (Для быстрого сохранения приостанавливаемого процесса и восстановления другого процесса).
■ система прерываний;(Позволяет компьютеру реагировать на внешние события, синхронизировать выполнение процессов и работу устройств ввода-вывода, быстрое переключение программ).
■ системный таймер; (Выдерживает интервалы времени, при значении 0 делает прерывание).
■ средства защиты областей памяти.(Обеспечивает на аппаратном уровне проверку возможности программного кода взаимодействовать с данным участком кода).
14.В микроядерных ОС в привилегированном режиме остается работать только очень небольшая часть ОС, называемая микроядром. Все остальные высокоуровневые функции ядра оформляются в виде приложений, работающих в пользовательском режиме. Микроядро защищено от остальных частей ОС и приложений. В состав микроядра обычно входят Машинно-зависимые модули, а также модули, выполняющие базовые (но не все!) функции ядра по управлению процессами, обработке прерываний, управлению виртуальной памятью.
Так как часть ОС оформлена в виде приложений в пользовательском режиме, то они выстпупают в роли серверов, к которым обращаются приложения пользователя. Таким образом, работа микроядерной операционной системы соответствует известной модели клиент-сервер, в которой роль транспортных средств исполняет микроядро.
15.Плюсы: высокая степень переносимости (большая часть машинно-зависимого кода изолирована в микроядре), расширяемость (позволяет добавлять и сокращать компоненты ОС), надежность (каждый сервер выполняется в виде отдельного процесса в своей собственной памяти, защищен от других серверов ОС). Подходит для распределенных вычислений (серверы могут находиться на разных ПК, а ОС сама решает оставить задачу здесь или передать ее дальше).
Минусы: производительность (Всегда менее производительна чем обычное ядро т.к. схемы при ядре: приложение – ядро – приложение, а при микроядре: приложение – микроядро – сервер – микроядро – приложение.)
16.
При использовании мультипрограммирования для повышения пропускной
способности компьютера главной целью является минимизация простоев веех
устройств компьютера и, прежде всего, центрального процессора.
В системах пакетной обработки переключение процессора с выполнения одной
задачи на выполнение другой происходит по инициативе самой активной
задачи, например, когда она отказывается от процессора из-за необходимости
выполнить операцию ввода-вывода. Поэтому существует высокая вероятность того,
что одна задача может надолго занять процессор, и выполнение интерактивных задач станет невозможным. Взаимодействие пользователя с вычислительной