Ядро и вспомогательные модули ОС





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

 

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

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

Ядро и вспомогательные модули ОС

 

Наиболее общим подходом к структуризации ОС является разделение всех её модулей на две группы:

· ядро – модули, выполняющие основные функции ОС( управление процессами, памятью, устройствами ввода-вывода и т.п.)

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

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

В состав ядра входят функции

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

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

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

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

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

Решение о том, является ли какая-либо программа частью ОС или нет, принимает производитель ОС. Среди многих фактов, способных повлиять на это решение, немало важными являются перспективы того, будет программа иметь массовый спрос у потенциальных пользователей данной ОС. Некоторая программа может существовать определенное время как пользовательское приложение, а потом стать частью ОС, или наоборот. Ярким примером такого изменения статуса программы является Web-браузер компании Microsoft, который сначала поставлялся как отдельное приложение, затем стал частью ОС Windows NT 4.0 и Windows 95/98,

 

             
   
 
   
     
 
 

 

 


             
 
 
 
     
 


dfd

 

                                             
   
       
 
     
 
       
     
 
 
         
 
     
 
   
 
 
   

 


- Вспомогательные модули ОС. - Пользовательские приложения.

Рис. 1. Нечеткость границы между ОС и приложениями.

Вспомогательные модули ОС обычно подразделяются на следующие группы:

· Утилиты – программы, решающие отдельные задачи управления и сопровождения компьютерной системы, например, программы сжатия дисков, архивирование данных

· Системные обрабатывающие программы – текстовые или графические редакторы, компиляторы, компоновщики, отладчики;

· Программы предоставления пользователю дополнительных услуг – специальный вариант пользовательского интерфейса, калькулятор и даже игры;

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

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

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

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

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

 






Дата добавления: 2016-06-05; просмотров: 955; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2017 год. Материал предоставляется для ознакомительных и учебных целей. | Обратная связь
Генерация страницы за: 0.01 сек.