Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лекции СПО

.pdf
Скачиваний:
30
Добавлен:
03.06.2015
Размер:
2.4 Mб
Скачать

сердцевину опер ционной системы,

ез не о ОС

является полностью

нер

отоспосо ной и не сможет выполнить ни одну из своих функций.

 

В

сост в

ядр

входят

функции,

реш ющие внутрисистемные з д чи

ор

низ ции вычислительно о процесс ,

т кие к к переключение контекстов,

з рузк /вы рузк ст ниц, о р

отк прерыв ний. Эти функции недоступны для

приложений. Дру ой кл сс функций ядр

служит для поддержки приложений,

созд в я

для

них

т к н зыв емую

прикл дную

про р ммную среду.

Приложения мо ут о р щ ться к ядру с з прос ми — системными вызов ми — для выполнения тех или иных действий, н пример для открытия и чтения

ф йл , вывод

р фической информ ции н

дисплей, получения системно о

времени и т. д.

Функции ядр , которые мо ут вызыв ться

приложениями,

о р зуют интерфейс прикл дно о про р ммиров ния — API.

 

Функции,

выполняемые модулями

ядр , являются

н и олее ч сто

используемыми функциями опер ционной системы, поэтому скорость их

выполнения определяет производительность

всей системы

в

целом. Для

о еспечения высокой скорости р

оты ОС все модули ядр

или

ольш я их

ч сть постоянно н ходятся в

опер тивной

п мяти, то

есть являются

резидентными.

 

 

 

 

Ядро является движущей

силой всех

вычислительных

процессов в

компьютерной системе, и кр х ядр р вносилен кр ху всей системы. Поэтому

р зр отчики опер ционной системы уделяют осо ое вним ние н дежности

кодов ядр , в результ те процесс их отл дки может р стя ив ться н мно ие

месяцы.

О ычно ядро оформляется в виде про р ммно о модуля некоторо о

специ льно о форм т ,

отлич юще ося от

форм т пользов тельских

приложений.

 

 

Ост льные модули

ОС выполняют

весьм полезные, но менее

о яз тельные функции. Н пример, к т ким вспомо тельным модулям мо ут ыть отнесены про р ммы рхивиров ния д нных н м нитной ленте,

дефр мент ции диск , текстово о ред ктор . Вспомо тельные модули ОС

оформляются ли о в виде приложений, ли о в виде и лиотек процедур.

Поскольку некоторые компоненты ОС оформлены к к о ычные

приложения, то есть в виде исполняемых модулей ст нд ртно о для д нной ОС форм т , то ч сто ыв ет очень сложно провести четкую р нь между

опер ционной системой и приложениями (рис. 3.1).

Решение о том, является ли к к я-ли о про р мм ч стью ОС или! нет,

приним ет производитель ОС. Среди мно их ф кторов, спосо ных повлиять н это решение, нем лов жными являются перспективы то о, удет ли про р мм

иметь м ссовый спрос у потенци льных пользов телей д нной ОС.

Некотор я

про р мм может существов ть определенное время к к

пользов тельское приложение,

потом ст ть ч стью ОС, или н о орот. Ярким

примером т ко о

изменения

ст тус про р ммы является Web- р узер

комп нии Microsoft, который сн ч л пост влялся к к отдельное приложение,

з тем ст л ч стью опер ционных систем Windows NT 4.0 и Windows 95/98,

се одня

существует ольш я вероятность то о, что по решению суд этот

р узер

снов превр тится в с мостоятельное приложение.

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

 

Вспомо

тельные модули ОС о ычно подр зделяются н

следующие

руппы:

 

 

 

 

 

 

 

 

утилиты —

про р ммы, реш ющие

отдельные з д чи

упр вления

и

сопровождения

компьютерной

системы,

т кие,

н пример,

к к

про р ммы

сж тия дисков,

рхивиров ния д нных н м

нитную ленту;

 

 

 

 

системные о р тыв ющие

про р ммы — текстовые или

р фические

ред кторы, компиляторы, компоновщики, отл дчики;

 

 

 

 

про р ммы

предост вления

пользов телю

дополнительных

услу

специ льный в ри нт пользов тельско о интерфейс , к лькулятор и д же и ры;

 

и лиотеки

процедур р злично о н зн чения, упрощ ющие р зр

отку

приложений, н пример

и лиотек

м тем тических функций,

функций ввод -

вывод и т. д.

 

 

 

 

 

 

 

 

К к и о ычные

приложения, для выполнения своих

з д ч утилиты,

о р

тыв ющие про р ммы и и лиотеки ОС,

о р щ ются к функциям ядр

посредством системных вызовов (рис. 3.2).

 

 

 

 

 

Р зделение опер ционной

системы

н

ядро и модули-приложения

о еспечив ет

ле кую

р сширяемость

ОС.

Что ы до

вить

новую

высокоуровневую функцию, дост точно р зр от ть новое приложение, и при

этом не тре уется модифициров ть ответственные функции, о р зующие ядро системы. Одн ко внесение изменений в функции ядр может ок з ться ор здо сложнее, и сложность эт з висит от структурной ор низ ции с мо о ядр . В

некоторых случ ях к ждое испр вление ядр может потре ов ть е о полной перекомпиляции.

Рис. 3.2. Вз имодействие между ядром и вспомо тельными модулями ОС

Модули

ОС, оформленные в виде утилит, системных о р тыв ющих

про р мм и и

лиотек, о ычно з руж ются в опер тивную п мять только н

время выполнения своих функций, то есть являются тр нзитными. Постоянно в

опер тивной

п мяти

р спол

ются только с мые нео ходимые коды

ОС,

сост вляющие ее ядро. Т к я ор

низ ция ОС экономит опер тивную п мять

компьютер .

 

 

 

 

 

 

 

В жным свойством рхитектуры ОС, основ нной

н ядре,

является

возможность

з щиты

кодов

и

д нных опер ционной

системы

з

счет

выполнения функций ядр в привиле иров нном режиме.

 

 

 

4.2 Ядро в привилегированном режиме

Для

н дежно о

упр вления

ходом

выполнения

приложений

опер ционн я

систем

должн иметь

по отношению к

приложениям

определенные привиле ии. н че некорректно р

от ющее приложение может

вмеш ться в р оту ОС и, н пример, р зрушить ч сть ее кодов. Все усилия

р зр

отчиков опер ционной системы ок жутся н пр сными,

если их решения

воплощены в нез щищенные от приложений модули системы, к кими

ы

эле нтными и эффективными эти решения ни

ыли. Опер ционн я систем

должн

о л д ть исключительными полномочиями т кже

для то о, что ы

и р ть

роль р итр

в споре приложений

з ресурсы

компьютер

в

мультипро р ммном

режиме. Ни одно приложение не

должно иметь

возможности ез ведом ОС получ ть дополнительную о л сть п мяти,

з ним ть процессор дольше р зрешенно о опер ционной системой период времени, непосредственно упр влять совместно используемыми внешними

устройств ми.

О еспечить привиле ии опер ционной системе невозможно ез

специ льных средств пп р тной поддержки. Апп р тур компьютер должн поддержив ть к к минимум дв режим р оты — пользов тельский режим

(user mode) и привиле иров нный режим, который т кже н зыв ют режимом

ядр

(kernel

mode), или

режимом

супервизор

(supervisor

mode).

Подр зумев ется, что опер ционн я систем

или некоторые ее ч сти р

от ют

в привиле иров нном режиме,

приложения — в пользов тельском режиме.

 

Т к к к

ядро выполняет все основные функции ОС, то ч ще все о

именно ядро ст новится той ч стью ОС, котор я р от ет в привиле иров нном режиме (рис. 3.3). но д это свойство — р от в привиле иров нном режиме

— служит основным определением понятия «ядро».

Рис. 3.3. Архитектур опер ционной системы с ядром в привиле иров нном режиме

Приложения ст вятся в подчиненное положение з счет з прет выполнения в пользов тельском режиме некоторых критичных ком нд,

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

з прещ ется

езусловно

(очевидно, что к т ким инструкциям относится

инструкция

переход в

привиле иров нный режим), то д

к к дру ие

з прещ ется

выполнять

только

при определенных условиях.

Н пример,

инструкции ввод -вывод

мо ут

ыть з прещены приложениям при доступе к

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

контролем ОС и этот контроль о еспечив ется з счет н ор инструкций,

езусловно з прещенных для пользов тельско о режим .

Ан ло ичным о р зом о еспечив ются привиле ии ОС при доступе к

п мяти. Н пример, выполнение инструкции доступ к п мяти для приложения р зреш ется, если инструкция о р щ ется к о л сти п мяти, отведенной

д нному приложению опер ционной системой, и з прещ ется при о р щении к

о л стям п мяти, з ним емым ОС или дру ими приложениями. Полный контроль ОС н д доступом к п мяти дости ется з счет то о, что инструкция

или инструкции конфи уриров ния мех низмов з щиты п мяти (н пример,

изменения ключей з щиты п мяти в мэйнфрейм х IBM или ук з теля т лицы дескрипторов п мяти в процессор х Pentium) р зреш ется выполнять только в

привиле иров нном режиме.

Очень в жно, что мех низмы з щиты п мяти используются

опер ционной системой не только для з щиты своих о л стей п мяти от приложений, но и для з щиты о л стей п мяти, выделенных ОС к кому-ли о

приложению, от ост льных приложений. Говорят, что к ждое приложение

р от ет в своем дресном простр нстве. Это свойство позволяет лок лизов ть

некорректно р

от ющее приложение в со ственной о л сти п мяти, т к что

е о оши ки не ок зыв ют влияния н

ост льные приложения и опер ционную

систему.

 

 

 

 

Между количеством уровней

привиле ий,

ре лизуемых

пп р тно, и

количеством

уровней привиле ий,

поддержив

емых ОС,

нет прямо о

соответствия. Т к, н зе четырех уровней, о еспечив емых процессор ми комп нии Intel, опер ционн я систем OS/2 строит трехуровневую систему привиле ий, опер ционные системы Windows NT, UNIX и некоторые дру ие

ор ничив ются двухуровневой системой.

Сдру ой стороны, если пп р тур поддержив ет хотя ы дв уровня

привиле ий, то ОС может н этой основе созд ть про р ммным спосо ом сколь у одно р звитую систему з щиты.

Эт систем может, н пример, поддержив ть несколько уровней

привиле ий, о р зующих иер рхию. Н личие нескольких уровней привиле ий

позволяет олее тонко р спределять полномочия к к между модулями

опер ционной системы, т к и между с мими приложениями. Появление внутри

опер ционной системы олее привиле иров нных и менее привиле иров нных

ч стей позволяет повысить

устойчивость

ОС

к внутренним оши к м

про р ммных кодов, т к к к

т кие оши ки

удут

р спростр няться только

внутри модулей с определенным уровнем привиле ий. Дифференци ция

привиле ий в среде прикл дных модулей позволяет строить сложные

прикл дные комплексы, в которых ч сть

олее привиле иров нных модулей

может, н пример, получ ть доступ к

д нным менее

привиле иров нных

модулей и упр влять их выполнением.

 

 

Н основе двух режимов привиле ий процессор

ОС может построить

сложную систему индивиду льной з щиты ресурсов, примером которой

является

типичн я

систем з щиты ф йлов и

к т ло ов. Т к я

систем

позволяет

з д ть для лю о о

пользов теля определенные

пр в

доступ

к

к ждому из ф йлов и к т ло ов.

 

 

 

 

 

 

 

 

Повышение

устойчивости

опер ционной

системы,

о еспечив емое

переходом ядр

в привиле иров нный режим, дости

ется з

счет некоторо о

з медления

выполнения

системных

вызовов.

Системный

вызов

привиле иров нно о

ядр

инициирует

переключение

процессор

из

пользов тельско о

'режим

в- привиле иров нный,

при

возвр те

к

приложению

переключение

из

привиле иров нно о

режим

в

пользов тельский (рис. 3.4). Во всех тип х процессоров из-з дополнительной двукр тной з держки переключения переход н процедуру со сменой режим выполняется медленнее, чем вызов процедуры ез смены режим .

Рис. 3.4. Смен режимов при выполнении системно о вызов

к

 

привиле иров нному ядру

 

Архитектур

ОС, основ нн я н

привиле иров нном

ядре и

приложениях пользов тельско о режим , ст л , по существу, кл ссической. Ее

используют мно ие

популярные опер ционные

системы,

в

том

числе

мно очисленные версии UNIX, VAX VMS, IBM OS/390, OS/2, и с

определенными модифик циями — Windows NT.

 

 

 

 

В некоторых

случ ях р зр

отчики ОС отступ ют

от

это о

кл ссическо о в ри нт

рхитектуры,

ор низуя р

оту ядр

и приложений в

одном и том же режиме.

4.3 Многослойная структура ОС

Вычислительную систему, р от ющую под упр влением ОС н основе ядр , можно р ссм трив ть к к систему, состоящую из трех иер рхически

р сположенных слоев: нижний слой о р зует пп р тур , промежуточный —

ядро, утилиты, о р тыв ющие про р ммы и приложения, сост вляют

верхний слой системы (рис. 3.6). Слоистую структуру вычислительной системы

принято изо р ж ть в виде системы концентрических окружностей,

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

Рис. 3.6. Трехслойн я схем вычислительной системы

Мно ослойный подход является универс льным

и

эффективным

спосо ом декомпозиции сложных систем лю о о тип ,

в

том числе и

про р ммных. В соответствии с этим подходом систем состоит из иер рхии

слоев. К ждый слой о служив ет вышележ щий слой, выполняя для не о

некоторый н ор функций, которые о р зуют межслойный интерфейс (рис. 3.7). Н основе функций нижележ ще о слоя следующий (вверх по иер рхии)

слой строит свои функции — олее сложные и олее мощные, которые, в свою

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

вышележ ще о слоя. Стро ие пр вил к с ются только вз имодействия между

слоями системы,

между

модулями внутри слоя

связи

мо ут

ыть

произвольными.

Отдельный

модуль

может выполнить

свою

р оту

ли о

с мостоятельно,

ли о

о р титься к

дру ому модулю

свое о

слоя,

ли о

о р титься з помощью к нижележ щему слою через межслойный интерфейс.

Т к я ор

низ ция системы имеет мно о достоинств. Он существенно

упрощ ет р зр

отку системы, т к к к позволяет сн ч л определить «сверху

вниз» функции

слоев и межслойные интерфейсы,

з тем при дет льной

ре лиз ции постепенно н р щив ть мощность функций слоев, дви ясь «снизу вверх». Кроме то о, при модерниз ции системы можно изменять модули внутри слоя ез нео ходимости производить к кие-ли о изменения в ост льных слоях,

если при этих внутренних изменениях межслойные интерфейсы ост ются в силе.

Рис. 3.7. Концепция мно ослойно о вз имодействия Поскольку ядро предст вляет со ой сложный мно офункцион льный

комплекс, то мно ослойный подход о ычно р спростр няется и н структуру ядр .

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

Средства аппаратной поддержки ОС. До сих пор о опер ционной системе оворилось к к о комплексе про р мм, но, воо ще оворя, ч сть

функций ОС может выполняться и пп р тными средств ми. Поэтому ино д

можно встретить

определение

опер ционной

системы

к к

совокупности

про р ммных

и

пп р тных средств, что

и

отр жено

н

рис. 3.8. К

опер ционной

системе относят,

естественно,

не

все пп р тные устройств

компьютер ,

только средств

пп р тной поддержки ОС, то есть те, которые