Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Ядро может состоять из следующих слоев




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

· Машинно-зависимые компоненты ОС. Этот слой образуют программные мо­дули, в которых отражается специфика аппаратной платформы компьютера. В идеале этот слой полностью экранирует вышележащие слои ядра от осо­бенностей аппаратуры. Это позволяет разрабатывать вышележащие слои на основе машинно-независимых модулей, существующих в единственном эк­земпляре для всех типов аппаратных платформ, поддерживаемых данной ОС. Примером экранирующего слоя может служить слой HAL операционной сис­темы Windows NT.

· Базовые механизмы ядра. Этот слой выполняет наиболее примитивные опера­ции ядра, такие как программное переключение контекстов процессов, дис­петчеризацию прерываний, перемещение страниц из памяти на диск и обрат­но и т. п. Модули данного слоя не принимают решений о распределении ресурсов — они только отрабатывают принятые «наверху» решения, что и дает повод называть их исполнительными механизмами для модулей верхних слоев. Например, решение о том, что в данный момент нужно прервать вы­полнение текущего процесса А и начать выполнение процесса В, принимает­ся менеджером процессов на вышележащем слое, а слою базовых механизмов передается только директива о том, что нужно выполнить переключение с контекста текущего процесса на контекст процесса В.

· Менеджеры ресурсов. Этот слой состоит из мощных функциональных моду­лей, реализующих стратегические задачи по управлению основными ресурса­ми вычислительной системы. Обычно на данном слое работают менеджеры (называемые также диспетчерами) процессов, ввода-вывода, файловой систе­мы и оперативной памяти. Разбиение на менеджеры может быть и несколько иным, например менеджер файловой системы иногда объединяют с менедже­ром ввода-вывода, а функции управления доступом пользователей к системе в целом и ее отдельным объектам поручают отдельному менеджеру безопас­ности. Каждый из менеджеров ведет учет свободных и используемых ресур­сов определенного типа и планирует их распределение в соответствии с за­просами приложений. Например, менеджер виртуальной памяти управляет перемещением страниц из оперативной памяти на диск и обратно. Менеджер должен отслеживать интенсивность обращений к страницам, время пребыва­ния их в памяти, состояния процессов, использующих данные, и многие дру­гие параметры, на основании которых он время от времени принимает реше­ния о том, какие страницы необходимо выгрузить и какие — загрузить. Для исполнения принятых решений менеджер обращается к нижележащему слою базовых механизмов с запросами о загрузке (выгрузке) конкретных страниц. Внутри слоя менеджеров существуют тесные взаимные связи, отражающие тот факт, что для выполнения процессу нужен доступ одновременно к не­скольким ресурсам — процессору, области памяти, возможно, к определенно­му файлу или устройству ввода-вывода. Например, при создании процесса менеджер процессов обращается к менеджеру памяти, который должен выде­лить процессу определенную область памяти для его кодов и данных.

· Интерфейс системных вызовов. Этот слой является самым верхним слоем ядра и взаимодействует непосредственно с приложениями и системными утили­тами, образуя прикладной программный интерфейс операционной системы, функции API, обслуживающие системные вызовы, предоставляют доступ к ресурсам системы в удобной и компактной форме, без указания деталей их физического расположения. Например, в операционной системе UNIX с по­мощью системного вызова fd = open("/doc/a.txt", 0_RDONLY) приложение от­крывает файл a.txt, хранящийся в каталоге /doc, а с помощью системного вызова readCfd, buffer, count) читает из этого файла в область своего адрес­ного пространства, имеющую имя buffer, некоторое количество байт. Для осуществления таких комплексных действий системные вызовы обычно об­ращаются за помощью к функциям слоя менеджеров ресурсов, причем для выполнения одного системного вызова может понадобиться несколько та­ких обращений. Приведенное разбиение ядра ОС на слои является достаточно условным. В реальной системе количество слоев и распределение функций между ними может быть и иным. В системах, предназначенных для аппаратных платформ одного типа, например ОС NetWare, слой машинно-зависимых модулей обычно не выделяется, сливаясь со слоем базовых механизмов и, частично, со слоем менедже­ров ресурсов. Не всегда оформляются в отдельный слой базовые механизмы -в этом случае менеджеры ресурсов не только планируют использование ресур­сов, но и самостоятельно реализуют свои планы.

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

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

Выбор количества слоев ядра является ответственным и сложным делом: увели­чение числа слоев ведет к некоторому замедлению работы ядра за счет допол­нительных накладных расходов на межслойное взаимодействие, а уменьшение числа слоев ухудшает расширяемость и логичность системы. Обычно операци­онные системы, прошедшие долгий путь эволюционного развития, например многие версии UNIX, имеют неупорядоченное ядро с небольшим числом четко выделенных слоев, а у сравнительно «молодых» операционных систем, таких как Windows NT, ядро разделено на большее число слоев и их взаимодействие фор­мализовано в гораздо большей степени.

Домашнее задание: § конспект.

Закрепление материала:

Ответьте на вопросы:

1. Назовите группы вспомогательных модулей ОС ядра?

2. Какие функции выполняют модули ядра?

3. Назовите слои ядра ОС

Литература:

1. Богумирский Б. Энциклопедия Windows 98 (второе издание). — СПб.: Питер, 1999,896с.

2. Борланд Р. Знакомство с Windows 98. — М.: Microsoft Press Русская редакция,

3. 1997,376с.

4. Борланд Р. Эффективная работа с Word 97. - СПб.: Питер, 1998,960 с.

5. Коварт Р., Уотерс Б. Windows NT Server 4: Учебный курс. — СПб.: Питер, 1999, 448с.

6. Мэтьюз М. Windows 98: Книга ответов. - СПб.: Питер, 1999, 464 с.

7. Немнюгин С. Pascal: Учебный курс. — СПб.: Питер, 1999.

8. Новейший самоучитель работы на компьютере. Под ред. Симоновича С. — М.: Десс; Инфорком-Пресс, 1999,656 с.

9. Нортон П., Мюллер Дж. Windows 98: энциклопедия системных ресурсов. — СПб.: BHV-Санкт-Петербург, 1998,578 с.

 


Лекция №




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


Дата добавления: 2014-01-13; Просмотров: 1449; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.