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

лекции СПО

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

3 Назначение и функции операционной системы

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

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

3.1 Операционные системы для автономного компьютера

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

компьютер предст вляет со ой комплекс

вз имосвяз нных про р мм,

который действует

к к интерфейс между

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

пп р турой компьютер с

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

- предост вление пользов телю или про р ммисту вместо ре льной пп р туры компьютер р сширенной вирту льной м шины, с которой удо ней р от ть и которую ле че про р ммиров ть;

- повышение эффективности использов ния компьютер путем р цион льно о упр вления е о ресурс ми в соответствии с некоторым критерием.

3.1.1 ОС как виртуальная машина

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

функционируют р зличные электронные локи и электромех нические узлы компьютер . Более то о, очень ч сто пользов тель может не зн ть д же системы ком нд процессор . Пользов тель-про р ммист привык иметь дело с

мощными

высокоуровневыми

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

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

 

Т к,

н пример, при р

оте с диском про р ммисту, пишущему

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

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

чтения или

з писи,

з тем

в

з крытии ф йл .

Т кие

ч стности,

к к

используем я

при

з писи

ч стотн я

модуляция

или

текущее состояние

дви теля мех низм

перемещения м

нитных

оловок чтения/з писи,

не

должны волнов ть про р ммист .

менно опер ционн я систем

скрыв ет от

про р ммист

ольшую

ч сть

осо енностей

пп р туры

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

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

 

 

 

Если

ы

про р ммист

р

от л

непосредственно

с

пп р турой

компьютер ,

ез уч стия ОС, то для ор

низ ции чтения

лок

д нных с диск

про р ммисту пришлось

ы использов ть

олее десятк

ком нд с ук з нием

множеств п р метров: номер

лок

н

диске,

номер

сектор

н

дорожке и т.

п. А после з вершения опер ции

о мен

с

диском

он должен

ыл

ы

предусмотреть в своей про р мме

н лиз результ т

выполненной опер ции.

Учитыв я, что

контроллер

диск

спосо ен

р спозн в ть

олее

дв дц ти

р зличных в ри нтов з вершения опер ции, можно счит ть про р ммиров ние

о мен с диском н

уровне

пп р туры не с мой триви льной з д чей.

Не

менее о ременительной вы лядит и

р

от

пользов теля,

если

ы ему для

чтения ф йл с термин л потре ов лось з д в ть числовые

дрес

дорожек и

секторов.

 

 

 

 

 

 

 

 

Опер ционн я

систем

из

вляет

про р ммистов

не

только

от

нео ходимости н прямую р

от ть

с

пп р турой дисково о

н копителя,

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

ерет н се я все

дру ие

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

дру ими пп р

тными

устройств ми компьютер : физической п мятью, т ймер ми, принтер ми и т. д.

 

В результ те ре льн я м шин ,

спосо н я выполнять только не ольшой

н

ор

элемент рных действий,

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

ее

системой

ком нд,

превр щ ется в вирту льную м шину, выполняющую широкий н

ор

ор здо

олее мощных функций. Вирту льн я м шин

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

это

уже ком нды

дру о о, олее

высоко о

уровня:

уд лить

ф йл с

определенным именем, з пустить н

выполнение

некоторую

прикл дную

про р мму, повысить приоритет з д чи,

вывести текст из ф йл

н

печ ть.

Т ким

о р зом,

н зн чение

 

ОС

состоит

в

 

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

пользов телю/про р ммисту некоторой

р сширенной вирту льной м шины,

которую

ле че

про р ммиров ть

и

с

которой

ле че

р

от ть,

чем

непосредственно

с

пп р турой,

сост вляющей

ре льный

компьютер

или

ре льную сеть.

 

 

 

 

 

 

 

 

 

 

 

 

 

3.1.2 ОС как система управления ресурсами

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

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

К числу основных ресурсов современных вычислительных систем мо ут

ыть отнесены т кие ресурсы, к к

процессоры, основн я п мять, т ймеры,

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

нитных лент х, принтеры, сетевые

устройств

и некоторые дру ие. Ресурсы р спределяются между процесс ми.

Процесс

(з д ч )

предст вляет

со ой

зовое понятие

ольшинств

современных ОС и

ч сто кр тко

определяется к к про р мм

в ст дии

выполнения. Про р мм — это ст тический о ъект, предст вляющий со ой ф йл с код ми и д нными. Процесс — это дин мический о ъект, который возник ет в опер ционной системе после то о, к к пользов тель или с м опер ционн я систем реш ет «з пустить про р мму н выполнение», то есть

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

процесс в ответ н

ком нду пользов теля run prgl. exe, де prgl. exe — это имя

ф йл , в котором хр нится код про р ммы.

Упр вление

ресурс ми вычислительной системы с целью н и олее

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

Н пример,

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

опер ционн я

систем

ор низует

одновременное выполнение ср зу нескольких процессов н

одном компьютере,

поочередно переключ я процессор с одно о процесс

н

дру ой, исключ я

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

ОС ор низует упр вление ресурс ми компьютер ,

может

ыть р зличным.

Н пример, в

одних систем х в жен

т кой критерий,

к к

пропускн я

спосо ность

вычислительной системы,

в дру их

— время

ее ре кции.

Соответственно вы р нному критерию эффективности опер ционные системы

по-р зному ор низуют вычислительный процесс.

 

Упр вление

ресурс ми включ ет решение следующих о щих,

не

з висящих от тип

ресурс з д ч:

 

- пл ниров ние ресурс — то есть определение, к кому процессу, ко д

и в

к ком количестве (если ресурс может выделяться ч стями) следует выделить д нный ресурс;

- удовлетворение з просов н

ресурсы;

- отслежив ние состояния

и учет использов ния ресурс — то есть

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

- р зрешение конфликтов между процесс ми.

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

о л сть

применения

и

д же пользов тельский интерфейс. Н пример,

применяемый

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

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

определяет, может ли ОС использов ться к к систем

р зделения времени,

систем

п кетной о р

отки или систем ре льно о времени.

З д ч

ор низ ции эффективно о совместно о использов ния ресурсов

несколькими

процесс ми

является

весьм сложной,

и сложность эт

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

потре ление ресурсов. В мультипро р ммной системе о р зуются очереди

з явок от одновременно выполняемых про р мм к р зделяемым ресурс м компьютер : процессору, стр нице п мяти, к принтеру, к диску. Опер ционн я

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

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

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

о служив ния. Эт теория ино д используется для оценки эффективности тех

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

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

прошедшие проверку пр ктикой.

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

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

3.2 Функциональные компоненты операционной системы автономного компьютера

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

применимыми ко всем ресурс м. но д т кие руппы функций н зыв ют

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

дминистриров ния.

3.2.1 Управление процессами

В жнейшей ч стью опер ционной системы, непосредственно влияющей

н функциониров ние вычислительной м шины,

является

подсистем

упр вления процесс ми.

 

 

 

Для к ждо о вновь созд в емо о процесс

ОС

енерирует системные

информ ционные структуры, которые содерж т

д нные о

потре ностях

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

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

к к некоторую з явку н

потре ление системных ресурсов.

Что ы процесс

мо ыть выполнен, опер ционн я систем должн

н

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

д

нные процесс ,

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

процессорно о времени. Кроме то о, процессу может пон до иться доступ к

т ким ресурс м, к к ф йлы и устройств ввод -вывод .

 

 

 

В

информ ционные

структуры

процесс

ч сто

включ ются

вспомо

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

системе (н пример, к кую долю времени процесс потр тил н

опер ции ввод -

вывод ,

к кую н

вычисления), е о

текущее состояние

(

ктивное или

з локиров нное),

степень

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

процесс

(зн чение

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

В мультипро р ммной опер ционной системе одновременно может существов ть несколько процессов. Ч сть процессов порожд ется по

иници тиве пользов телей и их приложений, т кие процессы о ычно н зыв ют

пользов тельскими. Дру ие процессы, н зыв емые системными,

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

функций.

Поскольку процессы ч сто одновременно претендуют н одни и те же

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

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

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

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

тщ тельно

з щищ емых ресурсов

процесс являются о л сти опер тивной

п мяти, в

которой хр нятся коды

и д нные процесс . Совокупность всех

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

н зыв ется

е о

дресным простр нством.

Говорят, что к ждый процесс

р от ет в

своем

дресном простр нстве,

имея в виду з щиту дресных

простр нств, осуществляемую ОС. З щищ ются и дру ие типы ресурсов, т кие

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

может не только

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

низовыв ть их

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

пмяти нескольким процесс м.

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

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

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

код ми оши ок выполняемых д нным процессом системных вызовов и т. д. Эт

информ ция

н зыв ется

контекстом

про ресс . Говорят,

что при смене

процесс происходит переключение контекстов.

 

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

се я т кже функции синхрониз ции

процессов,

позволяющие

процессу приост н влив ть свое

выполнение до

н ступления к ко о-ли о со ытия в системе, н пример з вершения опер ции

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

В опер ционной системе нет однозн чно о соответствия между

процесс ми и про р мм ми. Один и тот же про р ммный ф йл может породить

несколько п р ллельно выполняемых процессов,

процесс может в ходе свое о

выполнения

сменить

про р ммный

ф йл и

н ч ть выполнять

дру ую

про р мму.

 

 

 

 

 

Для

ре лиз ции

сложных про р ммных

комплексов полезно

ыв ет

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

которые

периодически вз имодействуют дру

с дру ом и о менив ются некоторыми

д нными. Т к к к опер ционн я систем з щищ ет ресурсы процессов и не

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

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

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

системными ресурс ми, поддержив ет синхрониз цию процессов,

т кже

о еспечив ет вз имодействие между процесс ми.

 

3.2.2 Управление памятью

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

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

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

дресно-з висимых ч стей кодов процесс

н физические дрес

выделенной

о л сти,

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

 

Существует

ольшое р зноо р зие

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

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

п мяти

(в одних

случ ях п мять

выделяется процессу в

виде одной

непрерывной о л сти, в дру их — в виде нескольких несмежных о л стей),

степенью сво оды

р ницы о л стей (он может ыть жестко з фиксиров н н

все время существов ния процесс

или же дин мически перемещ ться при

выделении процессу дополнительных о ъемов п мяти). В некоторых систем х

р спределение п мяти выполняется стр ниц ми фиксиров нно о р змер ,

в

дру их — се мент ми переменной длины.

 

 

 

Одним

из н и олее

популярных спосо ов

упр вления

п мятью

в

современных

опер ционных

систем х является т к

н зыв ем я

вирту льн я

п мять. Н личие в ОС мех низм вирту льной п мяти позволяет про р ммисту

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

опер тивн я п мять ольшо о о ъем , ч сто существенно превыш юще о

о ъем имеющейся физической п мяти. В действительности все д нные,

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

(се мент ми или стр ниц ми) ото р ж ются в физическую п мять. При

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

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

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

дрес ячеек опер тивной п мяти. Очень в жно, что все опер ции по

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

З щит п мяти — это из иpaтeльнaя спосо ность предохр нять

выполняемую з д чу от з писи или чтения п мяти, н зн ченной дру ой з д че.

Пр вильно н пис нные про р ммы не пыт ются о р щ ться к п мяти,

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

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

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

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

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

осво ождение п мяти при з вершении процессов; з щит п мяти; вытеснение

процессов из опер тивной п мяти н диск, ко д р змеры основной п

мяти

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

их в

опер тивную п мять,

ко д в ней осво ожд ется место, т кже н стройк

дресов про р ммы н

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

 

3.2.3 Управление файлами и внешними устройствами

Спосо ность ОС к «экр ниров нию» сложностей ре льной пп р туры

очень ярко проявляется в одной из основных подсистем ОС — ф йловой

системе. Опер ционн я систем вирту лизирует

отдельный н

ор

д нных,

хр нящихся

н

внешнем

н копителе,

в виде ф йл

простой

неструктуриров нной последов тельности

йтов,

имеющей символьное имя.

Для удо ств

р

оты с д нными ф йлы

руппируются в к т ло и, которые, в

свою очередь,

о р зуют

руппы —

к т ло и

олее высоко о

уровня.

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

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

виде хорошо всем зн комой и удо ной иер рхической структуры ф йлов и

к т ло ов, опер ционн я систем должн решить множество з д ч. Ф йлов я

систем ОС выполняет прео р зов ние символьных имен ф йлов, с которыми

р

от ет

пользов тель

или прикл дной про р ммист, в физические дрес

д

нных н

диске, ор

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

нес нкциониров нно о доступ .