Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Структура и состав ОС




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

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

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

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

· Модульная организация

· Функциональная избыточность

· Функциональная избирательность

· Параметрическая универсальность

· Концепция многоуровневой иерархической вычислительной системы, по которой ОС представляется многослойной структурой

· Разделение модулей на 2 группы по функциям: ядро — модули, выполняющие основные функции ОС, и модули, выполняющие вспомогательные функции ОС

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

· Реализация двух режимов работы вычислительной системы: привилегированного режима (или режима ядра — Kernel mode), или режима супервизора (supervisor mode), и пользовательского режима (user mode), или режима задачи (task mode)

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

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

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

Интерфейсом прикладного программирования (API, Application Programming Interface) называются функции ядра, которые могут вызываться приложениями и системными утилитами, предоставляющие доступ к ресурсам компьютерной системы в удобной форме, абстрагировано от деталей их физического расположения и специфики взаимодействия с ними [ресурсами].

Пример 1.1. Конкретная реализация многослойной структуры ядра ОС (по слоям) 1. Средства аппаратной поддержки ОС: система прерываний, средства поддержки виртуальной памяти, системный таймер, средство переключения контекста процессов, средства защиты областей памяти и т.д. 2. Машинно-зависимые модули ОС: слой, отражающий специфику аппаратной платформы компьютера. Назначение слоя заключается в абстрагировании вышележащих слоёв от особенностей аппаратуры. В ОС Windows 2000, XP этот слой — HAL (Hardware Abstraction Layer). 3. Базовые механизмы ядра. Этот слой выполняет наиболее примитивные операции ядра: переключение контекста процессов, диспетчеризацию прерываний, перемещение страниц между основной памятью и диском. Модули этого слоя не принимают никаких решений самостоятельно и служат лишь исполнителями. 4. Менеджер ресурсов. На этом слое происходит решение задач планирования ресурсов системы. 5. Интерфейс системных вызовов. Это слой ядра ОС, взаимодействующий с приложениями и системными утилитами, он образует прикладной программный интерфейс.

 

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

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

Преимущества и недостатки микроядерного проектирования операционных систем являются спорными. На данный момент технология развивается в сторону дальнейшего уменьшения микроядра. Если типичное ядро первого поколения микроядерных ОС занимало порядка 300 Кбайт кода и включало до 140 интерфейсов системных вызовов, то типичное микроядро второго поколения — занимает 12 Кбайт кода и 7 интерфейсов системных вызовов[6].


Поделиться:

Дата добавления: 2015-09-13; просмотров: 182; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты