лекции СПО
.pdfмикроядерной опер ционной системы соответствует известной модели клиент-
сервер, в которой роль тр нспортных средств выполняет микроядро.
Рис. 3.11. Ре лиз ция системно о вызов в микроядерной рхитектуре
4.5.2 Преимущества и недостатки микроядерной архитектуры
Опер ционные системы, основ нные н концепции микроядр , в
высокой степени удовлетворяют ольшинству тре ов ний, предъявляемых к
современным ОС, о л д я переносимостью, р сширяемостью, н дежностью и созд в я хорошие предпосылки для поддержки р спределенных приложений.
З эти достоинств |
приходится пл тить снижением производительности, и это |
|||
является основным недост тком микроядерной рхитектуры. |
|
|||
Высок я степень переносимости о |
условлен |
тем, что весь м шинно- |
||
з висимый код изолиров н в микроядре, |
поэтому для перенос |
системы н |
||
новый процессор |
тре уется меньше изменений |
и все они |
ло ически |
сруппиров ны вместе.
Рсширяемость присущ микроядерной ОС в очень высокой степени. В
тр диционных систем х д же при н личии мно ослойной структуры неле ко уд лить один слой и поменять е о н дру ой по причине множественности и р змытости интерфейсов между слоями. До вление новых функций и изменение существующих тре ует хороше о зн ния опер ционной системы и
ольших з тр т времени. В то же время о р ниченный н ор четко
определенных интерфейсов микроядр открыв ет путь к упорядоченному росту
и эволюции ОС. До вление новой подсистемы тре ует р зр |
отки ново о |
||||
приложения, что ник к не з тр |
ив ет целостность микроядр . |
Микроядерн я |
|||
структур |
позволяет не только до |
влять, но и сокр щ ть число компонентов |
|||
опер ционной системы, что т кже |
ыв ет очень полезно. Н пример, не всем |
||||
пользов телям нужны средств |
езоп сности или поддержки р спределенных |
||||
вычислений, уд ление их из тр диционно о ядр |
ч ще все о невозможно. |
||||
О ычно |
тр диционные опер ционные системы |
позволяют |
дин мически |
до влять в ядро или уд лять из ядр только |
др йверы внешних устройств — |
||||
ввиду ч стых изменений в конфи ур ции |
подключенных к компьютеру |
||||
внешних устройств подсистем ввод -вывод ядр |
допуск ет з |
рузку |
и |
||
вы рузку др йверов «н |
ходу», но для это о он |
р зр тыв ется |
осо ым |
||
о р зом (н пример, сред |
STREAMS в UNIX или менеджер ввод -вывод |
в |
Windows NT). При микроядерном подходе конфи урируемость ОС не вызыв ет ник ких про лем и не тре ует осо ых мер — дост точно изменить ф йл с н стройк ми н ч льной конфи ур ции системы или же ост новить не нужные
ольше серверы в |
ходе р оты о ычными |
для ост новки приложений |
средств ми. |
|
|
спользов ние |
микроядерной модели |
повыш ет н дежность ОС. |
К ждый сервер выполняется в виде отдельно о процесс в своей со ственной о л сти п мяти и т ким о р зом з щищен от дру их серверов опер ционной
системы, что не н люд ется в тр диционной ОС, де все модули ядр мо ут влиять дру н дру . если отдельный сервер терпит кр х, то он может ыть перез пущен ез ост нов или повреждения ост льных серверов ОС. Более
то о, поскольку серверы выполняются в пользов тельском режиме, они не
имеют непосредственно о доступ |
к пп р туре и не мо ут модифициров ть |
п мять, в которой хр нится и р |
от ет микроядро. Дру им потенци льным |
источником повышения н дежности ОС является уменьшенный о ъем код
микроядр по ср внению с тр диционным ядром — это сниж ет вероятность
появления оши ок про р ммиров ния.
Модель с микроядром хорошо подходит для поддержки р спределенных
вычислений, т к к к |
использует |
мех низмы, |
н ло ичные |
сетевым: |
вз имодействие клиентов |
и серверов путем о мен |
соо щениями. |
Серверы |
|
микроядерной ОС мо ут р |
от ть к к н |
одном, т к и н р зных компьютер х. |
В этом случ е при получении соо щения от приложения микроядро может
о р от ть |
е о |
с мостоятельно |
и |
перед ть |
лок льному серверу |
или |
же |
|||||
пересл ть по сети микроядру, р |
от ющему н |
дру ом компьютере. Переход к |
||||||||||
р спределенной |
о р |
отке тре ует миним льных |
изменений |
в |
р |
оте |
||||||
опер ционной системы — просто лок льный тр нспорт з меняется н |
сетевой. |
|||||||||||
Производительность. При кл ссической ор |
низ ции ОС (рис. 3.12, ) |
|||||||||||
выполнение |
системно о вызов |
|
сопровожд ется |
двумя |
переключениями |
|||||||
режимов, |
при микроядерной ор |
низ ции (рис. 3.12, 6) — четырьмя. Т ким |
||||||||||
о р зом, опер ционн я |
систем |
н |
основе микроядр |
при |
прочих |
р вных |
||||||
условиях все д |
удет менее производительной, чем ОС с кл ссическим ядром. |
менно по этой причине микроядерный подход не получил т ко о широко о р спростр нения, которое ему предрек ли.
Рис. 3.12. Смен режимов при выполнении системно о вызов
Серьезность это о недост тк хорошо иллюстрирует история р звития
Windows NT. В версиях 3.1 и 3.5 диспетчер окон, р фическ я и лиотек и
высокоуровневые др йверы р фических устройств входили в сост в сервер
пользов тельско о режим , и вызов функций этих модулей осуществлялся в
соответствии с микроядерной схемой. Одн ко очень скоро р зр отчики
Windows NT поняли, что т кой мех низм о р щений к ч сто используемым
функциям р фическо о интерфейс существенно з медляет р оту
приложений и дел ет д нную опер ционную систему уязвимой в условиях
острой конкуренции. В результ те в версию Windows NT 4.0 ыли внесены
существенные изменения — все перечисленные выше модули ыли перенесены в ядро, что отд лило эту ОС от иде льной микроядерной рхитектуры, но з то
резко повысило ее производительность.
Этот пример иллюстрирует л вную про лему, с которой ст лкив ются
р зр отчики опер ционной системы, решившие применить микроядерный подход, — что включ ть в микроядро, что выносить в пользов тельское
простр нство. В иде льном случ е микроядро может состоять только из средств
перед чи соо щений, средств вз имодействия с |
пп р турой, |
в том числе |
|
средств доступ |
к мех низм м привиле иров нной з щиты. Одн ко мно ие |
||
р зр отчики не |
все д жестко придержив ются |
принцип |
минимиз ции |
функций ядр , ч сто жертвуя этим р ди повышения производительности. В
результ те ре лиз ции ОС |
о р зуют некоторый спектр, н одном |
кр ю |
которо о н ходятся системы |
с миним льно возможным микроядром, |
н |
дру ом — системы, подо ные Windows NT, в которых микроядро выполняет дост точно ольшой о ъем функций.
4.6 Выводы
Простейш я структуриз ция ОС состоит в р зделении всех компонентов ОС н модули, выполняющие основные функции ОС (ядро), и
модули, выполняющие вспомо тельные функции ОС. Вспомо тельные модули ОС оформляются ли о в виде приложений (утилиты и системные
о р тыв ющие про р ммы), ли о в виде и лиотек процедур.
Вспомо тельные модули з руж ются в опер тивную п мять только н время
выполнения своих функций, то есть являются тр нзитными. Модули ядр постоянно н ходятся в опер тивной п мяти, то есть являются резидентными.
При |
н личии пп р тной поддержки режимов с |
р зными уровнями |
|
полномочий |
устойчивость ОС может ыть |
повышен |
путем выполнения |
функций ядр |
в привиле иров нном режиме, |
вспомо тельных модулей ОС и |
приложений — в пользов тельском. Это д ет возможность з щитить коды и д нные ОС и приложений от нес нкциониров нно о доступ . ОС может выступ ть в роли р итр в спор х приложений з ресурсы.
Ядро, являясь структурным элементом ОС, в свою очередь, может ыть ло ически р зложено н следующие слои (н чин я с с мо о нижне о):
м шинно-з висимые компоненты ОС;
зовые мех низмы ядр ;
менеджеры ресурсов;
интерфейс системных вызовов.
Вмно ослойной системе к ждый слой о служив ет вышележ щий слой, выполняя для не о некоторый н ор функций, которые о р зуют межслойный интерфейс. Н основе функций нижележ ще о слоя следующий вверх по иер рхии слой строит свои функции — олее сложные и олее мощные, которые, в свою очередь, ок зыв ются примитив ми для созд ния еще
олее мощных функций вышележ ще о слоя. Мно ослойн я ор низ ция ОС
существенно упрощ ет р зр отку и модерниз цию системы.
Лю я ОС для решения своих з д ч вз имодействует с пп р тными
средств ми компьютер , именно: средств ми поддержки привиле иров нно о
режим и тр нсляции дресов, средств ми переключения процессов и з щиты
о л стей п мяти, системой прерыв ний и системным т ймером. Это дел ет ОС
м шинно-з висимой, привяз нной к определенной пп р тной пл тформе.
Микроядерн я рхитектур является льтерн тивой кл ссическому спосо у построения опер ционной системы, в соответствии с которым все основные функции опер ционной системы, сост вляющие мно ослойное ядро,
выполняются в привиле иров нном режиме. В микроядерных ОС в
привиле иров нном режиме ост ется р от ть только очень не ольш я ч сть
ОС, н зыв ем я микроядром. Все ост льные высокоуровневые функции ядр оформляются в виде приложений, р от ющих в пользов тельском режиме.
Микроядерные ОС удовлетворяют ольшинству тре ов ний,
предъявляемых к современным ОС, о л д я переносимостью, р сширяемостью,
н дежностью и созд в я хорошие предпосылки для поддержки р спределенных
приложений. З эти достоинств приходится пл тить снижением производительности, что является основным недост тком микроядерной
рхитектуры.
5 |
Процессы и потоки |
|
|
|
|
В жнейшей функцией |
опер ционной системы |
является ор |
низ ция |
||
р цион льно о использов ния |
всех ее |
пп р тных |
и информ ционных |
||
ресурсов. |
К основным ресурс м мо ут |
ыть отнесены процессоры, |
п мять, |
внешние устройств , д нные и про р ммы. Р спол ющ я одними и теми же
пп р тными ресурс ми, но упр вляем я р зличными ОС, вычислительн я
систем может р от ть с р зной степенью эффективности. Поэтому зн ние
внутренних мех низмов опер ционной системы позволяет косвенно судить о ее
эксплу т ционных |
возможностях |
и х р ктеристик х. |
Хотя |
и в |
|
однопро р ммной |
ОС нео ходимо |
реш ть |
з д чи упр вления ресурс ми |
||
(н пример, р спределение п мяти |
между |
приложением и |
ОС), |
л вные |
сложности н |
этом пути возник ют в мультипро р ммных ОС, в которых з |
|
ресурсы конкурируют ср зу несколько приложений. |
менно поэтому ольш я |
|
ч сть всех |
про лем, р ссм трив емых в этой |
л ве, относится к |
мультипро р ммным систем м. |
|
5.1 Мультипрограммирование
Мультипро р ммиров ние, или мно оз д чность (multitasking), — это
спосо ор низ ции вычислительно о процесс , при котором н одном процессоре попеременно выполняются ср зу несколько про р мм. Эти
про р ммы совместно используют не только процессор, но и дру ие ресурсы
компьютер : опер тивную и внешнюю п мять, |
устройств |
ввод -вывод , |
д нные. Мультипро р ммиров ние призв но |
повысить |
эффективность |
использов ния вычислительной системы, одн ко эффективность может |
поним ться по-р зному. Н и олее х р ктерными критериями эффективности вычислительных систем являются:
пропускн я спосо ность — количество з д ч, выполняемых вычислительной системой в единицу времени;
удо ство р оты пользов телей, з ключ ющееся, в ч стности, в том, что они имеют возможность интер ктивно р от ть одновременно с несколькими приложениями н одной м шине;
ре ктивность системы — спосо ность системы выдержив ть з р нее
з д нные (возможно, очень короткие) интерв лы времени между з пуском про р ммы и получением результ т .
В з висимости от вы р нно о критерия эффективности ОС делятся н
системы |
п кетной |
о р отки, |
системы |
р зделения времени |
и системы |
ре льно о |
времени. |
К ждый |
тип ОС |
имеет специфические |
внутренние |
мех низмы и осо ые о л сти применения. Некоторые опер ционные системы мо ут поддержив ть одновременно несколько режимов, н пример ч сть з д ч
может выполняться в режиме п кетной о р отки, |
ч сть — в режиме |
ре льно о времени или в режиме р зделения времени. |
|
5.1.1 Мультипрограммирование в системах пакетной обработки
При использов нии мультипро р ммиров ния для повышения
пропускной спосо ности компьютер л вной целью является минимиз ция простоев всех устройств компьютер , и прежде все о центр льно о
процессор ., Т кие простои мо ут возник ть из-з приост новки з д чи по ее
внутренним причин м, связ нным, н пример, с ожид нием ввод д нных для
о р отки. Д нные мо ут |
хр ниться |
н диске или |
же |
поступ ть |
от |
|||
пользов теля, |
р от юще о |
з |
термин лом, |
т кже |
от |
измерительной |
||
пп р туры, |
уст новленной |
н |
внешних |
технических |
о ъект х. |
При |
||
возникновении т ко о род |
локировки |
выполняемой з д чи естественным |
решением, ведущим к повышению эффективности использов ния процессор ,
является переключение процессор н выполнение дру ой з д чи, у которой есть д нные для о р отки. Т к я концепция мультипро р ммиров ния положен в основу т к н зыв емых п кетных систем.
Системы |
п кетной о р |
отки предн зн ч лись для |
решения з д ч в |
||||
основном вычислительно о |
х р ктер , не |
тре ующих |
ыстро о |
получения |
|||
результ тов. Гл вной целью |
и |
критерием |
эффективности |
систем |
п кетной |
||
о р отки является м ксим льн я пропускн я спосо ность, |
то есть решение |
||||||
м ксим льно о числ з д ч в единицу времени. |
|
|
|
||||
Для достижения этой цели в систем х п кетной о р |
отки используется |
||||||
следующ я схем |
функциониров ния: в н ч ле р оты |
формируется п кет |
з д ний, к ждое з д ние содержит тре ов ние к системным ресурс м; из это о
п кет з д ний формируется мультипро р ммн я смесь, то есть множество одновременно выполняемых з д ч. Для одновременно о выполнения
вы ир ются з д чи, предъявляющие р зные тре ов ния к ресурс м, т к, что ы о еспечив л сь с л нсиров нн я з рузк всех устройств вычислительной
м шины. Н пример, в мультипро р ммной смеси жел тельно одновременное присутствие вычислительных з д ч и з д ч с интенсивным вводом-выводом.
Т ким о р зом, вы ор ново о з д ния из п кет з д ний з висит от внутренней ситу ции, скл дыв ющейся в системе, то есть вы ир ется «вы одное» з д ние.
Следов тельно, в вычислительных систем х, р от ющих под упр влением
п кетных ОС, невозможно р нтиров ть выполнение то о или ино о з д ния в течение определенно о период времени.
Р ссмотрим олее дет льно совмещение во времени опер ций ввод -
вывод и вычислений.
Т кое совмещение может дости ться р зными спосо ми. Один из них
х р ктерен для компьютеров, имеющих специ лизиров нный процессор ввод -
вывод . В компьютер х кл сс мэйнфреймов т кие процессоры н зыв ют
к н л ми. О ычно к н л имеет систему ком нд, отлич ющуюся от системы ком нд центр льно о процессор . Эти ком нды специ льно предн зн чены для
упр вления |
внешними |
устройств ми, н пример |
«проверить |
состояние |
|||
устройств », |
«уст новить |
м нитную оловку», |
«уст новить н ч ло |
лист », |
|||
«н печ т ть |
строку». |
К н льные про р ммы |
мо ут |
хр ниться |
в |
той же |
|
опер тивной п мяти, |
что и про р ммы центр льно о процессор . |
В |
системе |
ком нд центр льно о процессор предусм трив ется специ льн я инструкция, с
помощью которой к н лу перед ются п р метры и ук з ния |
н то, к кую |
|
про р мму ввод -вывод он должен выполнить. Н чин я с |
это о |
момент |
центр льный процессор и к н л мо ут р от ть п р ллельно (рис. 4.1, |
). |
Рис. 4.1. П р ллельное выполнение вычислений и опер ций ввод -вывод
Дру ой спосо совмещения вычислений с опер циями ввод -вывод
ре лизуется в компьютер х, в которых внешние устройств |
упр вляются не |
|||||
процессором ввод -вывод , |
контроллер ми. К ждое внешнее устройство (или |
|||||
рупп внешних устройств одно о тип ) |
имеет свой со ственный контроллер, |
|||||
который втономно отр |
тыв ет ком нды, поступ ющие |
от центр льно о |
||||
процессор . При этом контроллер и |
центр льный процессор |
р от ют |
||||
синхронно. |
Поскольку |
мно ие |
внешние |
устройств |
включ ют |
электромех нические узлы, контроллер выполняет свои ком нды упр вления устройств ми существенно медленнее, чем центр льный процессор — свои.
Это о стоятельство используется для ор низ ции п р ллельно о выполнения вычислений и опер ций ввод -вывод : в промежутке между перед чей ком нд,
контроллеру центр льный процессор может выполнять вычисления (рис. 4.1, ).
Контроллер может соо щить центр льному процессору о том, что он отов