лекции СПО
.pdf3 Назначение и функции операционной системы
Се одня существует ольшое количество р зных типов опер ционных систем, отлич ющихся о л стями применения, пп р тными пл тформ ми и метод ми ре лиз ции. Естественно, это о усл влив ет и зн чительные функцион льные р зличия этих ОС. Д же у конкретной опер ционной системы н ор выполняемых функций з ч стую определить не т к просто — т
функция, котор я се одня выполняется внешним по отношению к ОС компонентом, з втр может ст ть ее неотъемлемой ч стью и н о орот. Поэтому при изучении опер ционных систем очень в жно из все о мно оо р зия выделить те функции, которые присущи всем опер ционным систем м к к кл ссу продуктов.
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 Управление файлами и внешними устройствами
Спосо ность ОС к «экр ниров нию» сложностей ре льной пп р туры
очень ярко проявляется в одной из основных подсистем ОС — ф йловой
системе. Опер ционн я систем вирту лизирует |
отдельный н |
ор |
д нных, |
|||||
хр нящихся |
н |
внешнем |
н копителе, |
в виде ф йл |
— |
простой |
||
неструктуриров нной последов тельности |
йтов, |
имеющей символьное имя. |
||||||
Для удо ств |
р |
оты с д нными ф йлы |
руппируются в к т ло и, которые, в |
|||||
свою очередь, |
о р зуют |
руппы — |
к т ло и |
олее высоко о |
уровня. |
Пользов тель может с помощью ОС выполнять н д ф йл ми и к т ло ми т кие действия, к к поиск по имени, уд ление, вывод содержимо о н внешнее устройство (н пример, н дисплей), изменение и сохр нение содержимо о.
Что ы предст вить ольшое количество н оров д нных, р з рос нных случ йным о р зом по цилиндр м и поверхностям дисков р зличных типов, в
виде хорошо всем зн комой и удо ной иер рхической структуры ф йлов и
к т ло ов, опер ционн я систем должн решить множество з д ч. Ф йлов я
систем ОС выполняет прео р зов ние символьных имен ф йлов, с которыми
р |
от ет |
пользов тель |
или прикл дной про р ммист, в физические дрес |
д |
нных н |
диске, ор |
низует совместный доступ к ф йл м, з щищ ет их от |
нес нкциониров нно о доступ .