Top-office11.ru

IT и мир ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Архитектура операционной системы кратко

Ядро операционной системы, его виды и его архитектура

Ядро́ (kernel) — центральная часть ОС, обеспечивающая приложениям координированный доступ к ресурсам компьютера, таким как процессорное время, память, внешнее аппаратное обеспечение, внешнее устройство ввода и вывода информации. Также обычно ядро предоставляет сервисы файловой системы и сетевых протоколов.

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

Виды архитектур ядер операционных систем:

Монолитное ядро ОС
Представляет богатый набор оборудования. Все компоненты монолитного ядра находятся в одном адресном пространстве. Эта схема ОС, когда все части ее ядра — это составные части одной программы. Монолитное ядро — самый старый способ организации ОС.
Достоинства: высокая скорость работы, простая разработка модулей.
Недостатки: Ошибка работы одного из компонентов ядра нарушает работу всей системы.
Модульное ядро ОС
Это современная модификация монолитных ядер ОС, но в отличие от них модульное ядро не требует полной перекомпиляции ядра при изменения аппаратного обеспечения компьютера. Более того модульные ядра имеют механизм погрузки модулей ядра. Погрузка бывает статической- с перезагрузкой ОС, и динамической — без перезагрузки ОС.
Микроядро ОС
Представляет только основные функции управления процессами и минимальный набор для работы с оборудованием.
Достоинства: устойчивость к сбоям и ошибкам оборудования и компонентов системы, высокая степень ядерной модульности, что упрощает добавление в ядро новых компонентов и процесс отладки ядра.
Недостатки: Передача информации требует больших расходов и большого количества времени.
Экзоядро ОС
Такое ядро ОС, которое предоставляет лишь функции взаимодействия процессов, безопасное выделение и распределение ресурсов. Доступ к устройствам на уровне контроллеров позволяет решать задачи, которые нехарактерны для универсальной ОС.
Наноядро ОС
Такое ядро выполняет только единственную задачу- обработку аппаратных прерываний, образуемых устройствами ПК. После обработки наноядро посылает данные о результатах обработки далее идущему в цепи программному обеспечения при помощи той же системы прерываний.
Гибридное ядро ОС
Модификация микроядер, позволяющая для ускорения работы впускать несущественные части в пространство ядра. На архитектуре гибкого ядра построены последние операционные системы от Windows, в том числе и Windows 7-10.

Архитектура операционных систем

Архитектура операционных систем

ОС – сложная программно-аппаратная система.

Архитектура система – фундаментальный способ организации системы, включая:

    состав и взаимоотношения компонентов, а также компонентов и окружающей среды, принципы проектирования и развития системы. (Стандарт ANSI/IEEE )

Общие тенденции в реализации архитектуры ОС

Ос состоит из множества программных модулей. Модуль ОС – функционально законченный элемент системы, выполненный в соответствии с принятыми межмодульными интерфейсами.

Во всех ОС модули делятся на две группы:

    Ядро операционной системы – модули, исполняющие базовые функции. Это наиболее часто используемые системные модули (как правило, модуль управления системой прерываний, модуль управления процессами, модуль управления файловой системой, модуль управления памятью).

Модули ядра постоянно располагаются а памяти (резидентные модули), оформлены в виде модулей специального формата.

    Вспомогательные модули – модули, загружаемые в память только при необходимости (транзитные модули): утилиты обслуживания диска, системы инструментальные, текстовые и графические редакторы ОС, графические пользовательские интерфейсы, библиотеки API и др.

2. Поддержка специального режима работы

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

Поддержка привилегированного и пользовательского режимов невозможна без специальных аппаратных решений процессора. Процессор Intel Pentium поддерживает 4 уровня привилегий (4 кольца: 0 ‑ самый высокий уровень привилегий, 3 – самый низкий), но операционные системы Windows и Unix используют только два.

Процессы, работающие в режиме ядра (привилегированный режим)

— имеют прямой доступ к аппаратному обеспечению;

— имеют доступ ко всей памяти компьютера;

— не могут быть вытеснены в страничный файл на жестком диске;

— выполняются с большим приоритетом, чем процессы режима пользователя.

Компоненты режима ядра защищены архитектурно: процессор предотвращает их изменение другой программой.

Процессы режима пользователя

— не имеют прямого доступа к аппаратуре, это защищает систему от неисправных приложений или неавторизированного доступа;

— ограничены выделенным им адресным пространством. Этим обеспечивается целостность ОС;

Читать еще:  Ускорение браузера хром

— могут быть вытеснены из физической памяти в страничный файл на жестком диске.

— выполняются с меньшим приоритетом, чем процессы режима ядра.

Процессор не должен позволять обращаться пользовательским программам к своим специальным системным регистрам. Попытка вызвать запрещенную команду или обратиться к запрещенному регистру должна вызывать прерывание (исключение).

Прикладные программы обращаются к модулям ядра операционной системы с соответствующим запросом (вызов функций API). При этом процессор переключается в привилегированный режим.

Недостаток: дополнительные затраты времени на переключение режимов.

3. Реализация многослойной структуры ОС

Все модули ОС и модули ядра работают как множество слоев (уровней иерархии). Самый нижний уровень – аппаратный (машинно-зависимый). Он пишется на языке ассемблера и ориентирован на работу с конкретной аппаратной реализацией. Это позволяет обеспечить переносимость ОС на новую платформу, не изменяя содержимого остальных модулей. Другие модули ядра обращаются с аппаратурой только через модуль аппаратной поддержки.

Модули одного слоя общаются друг с другом непосредственно, модули более высокого слоя обращаются только к модулям ближайшего нижнего слоя через межмодульный интерфейс.

«Молодые» (развивающиеся) ОС (например, Linux) имеют более многослойное ядро, чем «старые» (Unix).

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

4. Совместимость с другими ОС и поддержка множественных прикладных сред

Современные операционные системы поддерживают как приложения, оптимизированные для работы в них, так и приложения, написанные для реализации в других ОС.

Прикладная среда – совокупность средств ОС, предназначенных для организации выполнения приложений, использующих

    определенную систему команд, определенный тип API, определенный формат исполняемой программы.

Способы построения множественных прикладных средств:

    эмуляция (моделирование выполнения каждой команды), например, режим эмуляции MS DOS в операционных системах Windows; трансляция системных вызовов. В пользовательском режиме запускается транслятор, переводящий каждую функцию обращения «чужого» приложения к «чужому» API в обращение к функции «родного» API; встраивание в ядро ОС множества прикладных средств. Так реализована работа с множественными прикладными средами в OS2.

Микроядерные ОС – ОС, в состав ядра которых включено минимально необходимое количество модулей. Как правило, это 5 сервисов (сервис – совокупность клиента и сервера):

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

Другие подсистемы и функции операционной системы оформляются как обычные пользовательские системы или как системные сервисы, работающие в режиме пользователя. По этому принципу организована ОС QNX.

Микроядерные ОС поддерживают модель клиент-сервер при организации обращения пользовательских программ к системным модулям, работающим в режиме пользователя, и для поддержки механизма вызова между серверами ОС. Микроядро при этом исполняет роль транспортных средств (рис. 1). Защита системных модулей, работающих в режиме пользователя, реализуется на уровне процессора (все приложения в многопроцессорной операционной системе изолированы!).

    простое и оптимизированное ядро (например, для работы в реальном времени), возможность наращивания и изменения функций ОС без изменения ядра, надежность организации, так как запуск или остановка каждого компонента, который представляет собой независимый процесс системы не отражается на работоспособности остальных процессов.

Монолитные (макроядерные) ОС – ОС, ядро которых не делится на центральную часть и периферийные модули (Unix).

Добавление новых функций и изменение существующих для монолитных ОС требует хорошего знания всей архитектуры операционной системы и больших усилий.

Операционная система Windows NT не является настоящей микроядерной ОС, но в ней реализован принцип клиент-сервер во взаимодействиях между модулями управляющей части.

Архитектура Windows 2000

Большинство операционных систем (ОС) представляют собой хорошо структурированные модульные системы. Обычно модули делятся на две группы:

· ядро – модули, выполняющие основные функции ОС,

· модули, выполняющие вспомогательные функции.

Для надежного и безопасного управления ходом выполнения приложений ОС должна иметь по отношению к приложениям определенные привилегии. Средства аппаратной поддержки (архитектура процессора) позволяют поддерживать два режима работы – поль­зовательский и привилегированный, который также называется режимом ядра.

Наиболее важные части ОС выполняются в режиме ядра. Программы, работающие в ре­жиме ядра имеют доступ к системным данным и к аппаратному обеспечению. Программы пользовательского режима имеют ограниченный доступ к системным данным.

На рис. 1 представлена общая структура ОС Windows 2000.

API (Application Programming Interface) – стандартизованная библиотека программных средств, используемая разработчиками прикладных программ для создания приложений, совместимых с определенной ОС и принятым графическим интерфейсом и для доступа к сервисам ОС.

Читать еще:  Температура полиморфного превращения железа

Рис. 1. Архитектура операционной системы Windows 2000

Для обеспечения аппаратной независимости (возможности работы ОС на разных аппарат­ных платформах) большая часть модулей ОС общается с аппаратурой как с абстрактными данными, которые связывают с конкретными аппаратными модулями через такие программные модули, как HAL (Hardware Abstraction Layer), микроядро и драйверы устройств.

Назначение и имена системных файлов представлены в таблицах 1 и 2.

Таблица 2. Системные модули режима пользователя

Типы архитектур ядер операционных систем

Монолитное ядро предоставляет богатый набор абстракций оборудования. Все части монолитного ядра работают в одном адресном пространстве.

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

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

Недостатки: Поскольку всё ядро работает в одном адресном пространстве, сбой в одном из компонентов может нарушить работоспособность всей системы.

В этом случае компоненты ОС являются не самостоятельными модулями, а составными частями одной большой программы. Такая структура операционной системы называется монолитным ядром (monolithic kernel). Монолитное ядро представляет собой набор процедур, каждая из которых может вызвать каждую. Все процедуры работают в привилегированном режиме.

Таким образом, монолитное ядро — это такая схема операционной системы, при которой все её компоненты являются составными частями одной программы, используют общие структуры данных и взаимодействуют друг с другом путём непосредственного вызова процедур. Для монолитной операционной системы ядро совпадает со всей системой.

Примеры: Традиционные ядра UNIX(такие как BSD), Linux; ядро MS-DOS.

Модульное ядро — современная, усовершенствованная модификация архитектуры монолитных ядер операционных систем компьютеров.

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

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

Примером может служить VFS — «виртуальная файловая система», совместно используемая многими модулями файловых систем в ядре Linux.

Микроядро предоставляет только элементарные функции управления процессами и минимальный набор абстракций для работы с оборудованием. Большая часть работы осуществляется с помощью специальных пользовательских процессов, называемых сервисами.

Достоинства: Устойчивость к сбоям оборудования, ошибкам в компонентах системы.

Недостатки: Передача данных между процессами требует накладных расходов.

Современная тенденция в разработке операционных систем состоит в перенесении значительной части системного кода на уровень пользователя и одновременной минимизации ядра. Речь идет о подходе к построению ядра, называемом микроядерной архитектурой (microkernel architecture) операционной системы, когда большинство ее составляющих являются самостоятельными программами. В этом случае взаимодействие между ними обеспечивает специальный модуль ядра, называемый микроядром. Микроядро работает в привилегированном режиме и обеспечивает взаимодействие между программами, планирование использования процессора, первичную обработку прерываний, операции ввода-вывода и базовое управление памятью.

Остальные компоненты системы взаимодействуют друг с другом путем передачи сообщений через микроядро.

Примеры: Symbian OS; Mach, используемый в GNU/Hurd и Mac OS X; Windows CE; QNX; AIX; Minix ; ChorusOS ; AmigaOS; MorphOS.

Экзоядро — ядро ОС компьютеров, предоставляющее лишь функции для взаимодействия между процессами и безопасного выделения и освобождения ресурсов. Предполагается, что API для прикладных программ будут предоставляться внешними по отношению к ядру библиотеками (откуда и название архитектуры).

Возможность доступа к устройствам на уровне контроллеров позволит эффективней решать некоторые задачи, которые плохо вписываются в рамки универсальной ОС, например реализация СУБД будет иметь доступ к диску на уровне секторов диска, а не файлов и кластеров, что положительно скажется на быстродействии.

Читать еще:  Программа для ускорения работы телефона на андроид

Наноядро — архитектура ядра операционной системы компьютеров, в рамках которой крайне упрощённое и минималистичное ядро выполняет лишь одну задачу — обработку аппаратных прерываний, генерируемых устройствами компьютера. После обработки прерываний от аппаратуры наноядро, в свою очередь, посылает информацию о результатах обработки (например, полученные с клавиатуры символы) вышележащему программному обеспечению при помощи того же механизма прерываний. Примером является KeyKOS — самая первая ОС на наноядре. Первая версия вышла ещё в 1983-ем году.

Гибридные ядра это модифицированные микроядра, позволяющие для ускорения работы запускать «несущественные» части в пространстве ядра.

Смешанное ядро, в принципе, должно объединять преимущества монолитного ядра и микроядра: казалось бы, микроядро и монолитное ядро — крайности, а смешанное — золотая середина. В них возможно добавлять драйвера устройств двумя способами: и внутрь ядра, и в пользовательское пространство. Но на практике концепция смешанного ядра часто подчёркивает не только достоинства, но и недостатки обоих типов ядер (тот же NT со смешанным ядром не может видеть жесткие диски большого объёма в обход BIOS (источник?), в то время как GNU/Linux с его монолитным ядром обеспечивает такую возможность, поскольку возможность видеть жесткие диски в обход BIOS встроена в его ядро).

Примеры: Windows NT, DragonFlyBSD.

Файловая система

Файловая система — это часть операционной системы, назначение которой состоит в том, чтобы обеспечить пользователю удобный интерфейс при работе с данными, хранящимися на диске, и обеспечить совместное использование файлов несколькими пользователями и процессами.

В широком смысле понятие «файловая система» включает:

— совокупность всех файлов на диске;

— наборы структур данных, используемых для управления файлами, такие, например, как каталоги файлов, таблицы распределения свободного и занятого пространства на диске;

— комплекс системных программных средств, реализующих управление файлами, в частности: создание, уничтожение, чтение, запись, именование, поиск и другие операции над файлами.

Дата добавления: 2014-01-07 ; Просмотров: 3286 ; Нарушение авторских прав?

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

Ядро операционной системы, его виды и его архитектура

Ядро́ (kernel) — центральная часть ОС, обеспечивающая приложениям координированный доступ к ресурсам компьютера, таким как процессорное время, память, внешнее аппаратное обеспечение, внешнее устройство ввода и вывода информации. Также обычно ядро предоставляет сервисы файловой системы и сетевых протоколов.

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

Виды архитектур ядер операционных систем:

Монолитное ядро ОС
Представляет богатый набор оборудования. Все компоненты монолитного ядра находятся в одном адресном пространстве. Эта схема ОС, когда все части ее ядра — это составные части одной программы. Монолитное ядро — самый старый способ организации ОС.
Достоинства: высокая скорость работы, простая разработка модулей.
Недостатки: Ошибка работы одного из компонентов ядра нарушает работу всей системы.
Модульное ядро ОС
Это современная модификация монолитных ядер ОС, но в отличие от них модульное ядро не требует полной перекомпиляции ядра при изменения аппаратного обеспечения компьютера. Более того модульные ядра имеют механизм погрузки модулей ядра. Погрузка бывает статической- с перезагрузкой ОС, и динамической — без перезагрузки ОС.
Микроядро ОС
Представляет только основные функции управления процессами и минимальный набор для работы с оборудованием.
Достоинства: устойчивость к сбоям и ошибкам оборудования и компонентов системы, высокая степень ядерной модульности, что упрощает добавление в ядро новых компонентов и процесс отладки ядра.
Недостатки: Передача информации требует больших расходов и большого количества времени.
Экзоядро ОС
Такое ядро ОС, которое предоставляет лишь функции взаимодействия процессов, безопасное выделение и распределение ресурсов. Доступ к устройствам на уровне контроллеров позволяет решать задачи, которые нехарактерны для универсальной ОС.
Наноядро ОС
Такое ядро выполняет только единственную задачу- обработку аппаратных прерываний, образуемых устройствами ПК. После обработки наноядро посылает данные о результатах обработки далее идущему в цепи программному обеспечения при помощи той же системы прерываний.
Гибридное ядро ОС
Модификация микроядер, позволяющая для ускорения работы впускать несущественные части в пространство ядра. На архитектуре гибкого ядра построены последние операционные системы от Windows, в том числе и Windows 7-10.

Ссылка на основную публикацию
Adblock
detector
×
×