Подпишитесь на наши новости
Вернуться к началу с статьи up
 

ОПЕРАЦИО́ННАЯ СИСТЕ́МА

  • рубрика
  • родственные статьи
  • image description

    В книжной версии

    Том 24. Москва, 2014, стр. 241

  • image description

    Скопировать библиографическую ссылку:




Авторы: А. В. Хорошилов

ОПЕРАЦИО́ННАЯ СИСТЕ́МА (ОС), ком­плекс про­грамм, обес­пе­чи­ваю­щий воз­мож­ность удоб­но­го ис­поль­зо­ва­ния ап­па­рат­но-про­грамм­ных ре­сур­сов ЭВМ при­клад­ны­ми про­грам­ма­ми и поль­зо­ва­те­лем в со­от­вет­ст­вии с за­дан­ной по­ли­ти­кой без­о­пас­но­сти и раз­де­ле­ния ре­сур­сов; за­гру­жа­ет­ся обыч­но при вклю­че­нии ЭВМ. ОС ре­ша­ет две взаи­мо­до­пол­няю­щие за­да­чи: пре­дос­тав­ля­ет на­бор функ­ций с це­лью соз­да­ния удоб­ной сре­ды для ра­бо­ты поль­зо­ва­те­ля и при­клад­ных про­грамм; ор­га­ни­зу­ет про­цесс ра­бо­ты мн. при­ло­же­ний на од­ной ЭВМ, за­щи­щая при­ло­же­ния друг от дру­га, а так­же управ­ляя раз­де­ле­ни­ем ре­сур­сов ЭВМ в со­от­вет­ст­вии с за­дан­ны­ми рег­ла­мен­та­ми.

Основные функции, состав, архитектура ОС

Эф­фек­тив­ная реа­ли­за­ция мн. функ­ций ОС воз­мож­на толь­ко при на­ли­чии со­от­вет­ст­вую­щей под­держ­ки со сто­ро­ны ап­па­рат­ных средств ЭВМ, в пер­вую оче­редь уров­ней при­ви­ле­ги­ров. вы­пол­не­ния ко­манд, пре­ры­ва­ний, средств за­щи­ты па­мя­ти. Уров­ни при­ви­ле­ги­ров. вы­пол­не­ния ко­манд оп­ре­де­ля­ют неск. ре­жи­мов ра­бо­ты про­цес­со­ра. При ра­бо­те в не­при­ви­ле­ги­ров. ре­жи­ме про­цес­сор мо­жет вы­пол­нять ко­ман­ды, не­об­хо­ди­мые для при­клад­ных вы­чис­ле­ний, но ему не­дос­ту­пен на­бор ко­манд, пред­на­зна­чен­ных для управ­ле­ния ЭВМ. Пре­ры­ва­ния при­ос­та­нав­ли­ва­ют вы­пол­не­ние те­ку­щей про­грам­мы в про­цес­со­ре, пе­ре­клю­ча­ют его в при­ви­ле­ги­ров. ре­жим и пе­ре­да­ют управ­ле­ние ОС (со­об­щая ей о на­сту­п­ле­нии не­ко­то­ро­го со­бы­тия, тре­бую­ще­го со­от­вет­ст­вую­щей об­ра­бот­ки). Пре­ры­ва­ния де­лят­ся на внеш­ние и внут­рен­ние. Внеш­ние пре­ры­ва­ния из­ве­ща­ют ОС о со­бы­ти­ях, ко­то­рые про­ис­хо­дят в обо­ру­до­ва­нии ЭВМ (напр., на­жа­тие кла­ви­ши на кла­виа­ту­ре). Внутр. пре­ры­ва­ния ин­фор­ми­ру­ют ОС о со­бы­ти­ях, воз­ни­каю­щих в хо­де вы­пол­не­ния те­ку­щей про­грам­мы, напр. по­пыт­ка вы­пол­нить при­ви­ле­ги­ров. ко­ман­ду в не­при­ви­ле­ги­ров. ре­жи­ме, не­воз­мож­ность вы­пол­не­ния те­ку­щей ко­ман­ды (напр., де­ле­ние на ноль) про­цес­со­ром. Сред­ст­ва за­щи­ты па­мя­ти пред­на­зна­че­ны для фор­ми­ро­ва­ния со­во­куп­но­сти не­за­ви­си­мых ад­рес­ных про­странств (так, про­грам­ма, ра­бо­таю­щая в од­ном ад­рес­ном про­стран­ст­ве, не мо­жет об­ра­щать­ся к ячей­кам па­мя­ти, при­над­ле­жа­щим дру­го­му ад­рес­но­му про­стран­ст­ву па­мя­ти). Наи­бо­лее рас­про­стра­нён­ный спо­соб реа­ли­за­ции за­щи­ты па­мя­ти в совр. про­цес­со­рах со­сто­ит в том, что ад­ре­са па­мя­ти, ко­то­рые ука­зы­ва­ют­ся в ко­ман­дах про­цес­со­ра, ин­тер­пре­ти­ру­ют­ся как т. н. ло­гич. ад­ре­са. При вы­пол­не­нии ко­ман­ды про­цес­сор ав­то­ма­ти­че­ски транс­ли­ру­ет ло­гич. ад­рес в фи­зич. ад­рес ячей­ки па­мя­ти ЭВМ в со­от­вет­ст­вии с таб­ли­ца­ми транс­ля­ции, ко­то­рые на­страи­ва­ют­ся ОС при по­мо­щи со­от­вет­ст­вую­щих при­ви­ле­ги­ров. ко­манд.

Рас­смот­рен­ные вы­ше ме­ха­низ­мы по­зво­ля­ют ОС пе­ре­ло­жить кон­троль над ра­бо­той при­клад­ных про­грамм на ап­па­рат­ные сред­ст­ва; они так­же слу­жат ос­но­вой для по­строе­ния эф­фек­тив­ной за­щи­ты ОС от при­клад­ных про­грамм и при­клад­ных про­грамм друг от дру­га.

Од­ной из осн. за­дач ОС яв­ля­ет­ся уп­рав­ле­ние ре­сур­са­ми ЭВМ (про­цес­со­ра­ми, опе­ра­тив­ной и внеш­ней па­мя­тью, уст­рой­ст­ва­ми вво­да-вы­во­да, ка­на­ла­ми свя­зи и др.). Клю­че­вы­ми по­ня­тия­ми в ор­га­ни­за­ции управ­ле­ния ре­сур­са­ми слу­жат про­цес­сы, вир­ту­аль­ная па­мять и фай­лы. Про­цесс рас­смат­ри­ва­ет­ся ОС в ка­че­ст­ве по­тре­би­те­ля ре­сур­сов ЭВМ (т. е. уча­ст­ву­ет в их рас­пре­де­ле­нии). Так­же в боль­шин­ст­ве ОС ка­ж­до­му про­цес­су ста­вит­ся в со­от­вет­ст­вие собств. ад­рес­ное про­стран­ст­во (как пра­ви­ло, ад­рес­ные про­стран­ст­ва про­цес­сов не пе­ре­се­ка­ют­ся). Мно­гие ОС под­дер­жи­ва­ют вы­пол­не­ние не­сколь­ких по­то­ков управ­ле­ния в рам­ках од­но­го ад­рес­но­го про­стран­ст­ва про­цес­са. Ино­гда го­во­рят о про­цес­сах как о пред­став­ле­нии при­клад­ных про­грамм в хо­де их вы­пол­не­ния на ЭВМ, од­на­ко сле­ду­ет учи­ты­вать, что в ря­де слу­ча­ев од­ной при­клад­ной про­грам­ме мо­жет со­от­вет­ст­во­вать неск. про­цес­сов, а так­же не­ск. про­грамм мо­гут быть пред­став­ле­ны од­ним про­цес­сом. Вир­ту­аль­ная па­мять слу­жит для по­вы­ше­ния эф­фек­тив­но­сти ис­поль­зо­ва­ния опе­ра­тив­ной па­мя­ти ЭВМ и уве­ли­че­ния объ­ё­ма ад­рес­но­го про­стран­ст­ва про­цес­са. Реа­ли­за­ция вир­ту­аль­ной па­мя­ти так­же ба­зи­ру­ет­ся на ап­па­рат­ной под­держ­ке ЭВМ в ви­де таб­лиц транс­ля­ции ло­гич. ад­ре­сов в фи­зи­че­ские. По­ня­тие фай­ла (под ко­то­рым обыч­но по­ни­ма­ют по­име­но­ван­ный на­бор дан­ных, яв­ляю­щий­ся еди­ни­цей хра­не­ния ин­фор­ма­ции) по­зво­ля­ет еди­но­об­раз­но ра­бо­тать с ин­фор­ма­ци­ей не­за­ви­си­мо от то­го, где и как она хра­нит­ся – в опе­ра­тив­ной па­мя­ти, во внеш­ней па­мя­ти или на уда­лён­ной ЭВМ.

ОС со­сто­ит из яд­ра и на­бо­ра сис­тем­ных биб­лио­тек и ути­лит. К яд­ру обыч­но от­но­сят ком­по­нен­ты ОС, ко­то­рые вы­пол­ня­ют­ся в при­ви­ле­ги­ров. ре­жи­ме ра­бо­ты про­цес­со­ра. Осн. функ­цио­наль­ные ком­по­нен­ты яд­ра ОС: под­сис­те­ма управ­ле­ния па­мя­тью; под­сис­те­ма управ­ле­ния про­цес­са­ми; фай­ло­вые сис­те­мы; драй­ве­ры, или про­грам­мы управ­ле­ния внеш­ни­ми уст­рой­ст­ва­ми ЭВМ (прин­те­ра­ми, за­по­ми­наю­щи­ми уст­рой­ст­ва­ми и др.); под­сис­те­ма ор­га­ни­за­ции меж­про­цесс­но­го взаи­мо­дей­ст­вия. Наи­боль­шее рас­про­стра­не­ние по­лу­чи­ли два ти­па ар­хи­тек­ту­ры яд­ра ОС – мо­но­лит­ный и мик­ро­ядер­ный. В мо­но­лит­ных яд­рах все ком­по­нен­ты ра­бо­та­ют в еди­ном ад­рес­ном про­стран­ст­ве и ни­как не за­щи­ще­ны друг от дру­га, т. е. лю­бой ком­по­нент мо­жет из­ме­нить дан­ные др. ком­по­нен­та. При мик­ро­ядер­ной ар­хи­тек­ту­ре ком­по­нен­ты чёт­ко раз­де­ле­ны, ра­бо­та­ют в не­пе­ресе­каю­щих­ся ад­рес­ных про­стран­ст­вах и взаи­мо­дей­ст­ву­ют ме­ж­ду со­бой пу­тём пе­ре­да­чи со­об­ще­ний. Боль­шин­ст­во совр. ОС, по­лу­чив­ших ши­ро­кое рас­про­стра­не­ние, име­ют мо­но­лит­ную ар­хи­тек­ту­ру (Linux, Windows), од­на­ко су­ще­ст­ву­ют ком­мер­че­ски ус­пеш­ные ва­ри­ан­ты ОС с мик­ро­ядер­ной (QNX, PikeOS, Integrity) и гиб­рид­ной (Symbian, Mac OS X) ар­хи­тек­ту­рой.

Сис­тем­ные биб­лио­те­ки со­дер­жат на­бор час­то ис­поль­зуе­мых под­про­грамм, та­ких как опе­ра­ции вво­да-вы­во­да, ма­тема­тич. функ­ции, при­ми­ти­вы гра­фич. ин­тер­фей­са поль­зо­ва­те­ля и т. п. Ути­ли­ты – это про­грам­мы (реа­ли­зую­щие не­ко­то­рые функ­ции ОС), ко­то­рые вы­пол­ня­ют­ся в не­при­ви­ле­ги­ров. ре­жи­ме.

Вы­де­ля­ют ОС об­ще­го на­зна­че­ния и спе­циа­ли­зи­ро­ван­ные. Совр. вер­сии рас­про­стра­нён­ных ОС об­ще­го на­зна­че­ния – это круп­ные про­грамм­ные ком­плек­сы, где толь­ко яд­ро со­сто­ит из не­сколь­ких млн. опе­ра­то­ров ас­семб­ле­ра и/или др. язы­ков про­грам­ми­ро­ва­ния, а раз­мер биб­лио­тек и ути­лит до­хо­дит до со­тен млн. строк. Спе­циа­ли­зир. ОС при­ме­ня­ют­ся в ЭВМ, ко­то­рые ори­ен­ти­ро­ва­ны на ре­ше­ние оп­ре­де­лён­но­го клас­са за­дач. В пер­вую оче­редь к та­ким за­да­чам от­но­сят­ся управ­ле­ние к.-л. про­цес­са­ми (напр., под­дер­жа­ния оп­ре­де­лён­но­го тем­пе­ра­тур­но­го ре­жи­ма) или ме­ха­низ­ма­ми. ЭВМ, при­ме­няе­мые для этих це­лей, по­лу­чи­ли назв. управ­ляю­щих; как пра­ви­ло, они яв­ля­ют­ся встро­ен­ны­ми. У встро­ен­ных ОС раз­мер яд­ра час­то не пре­выша­ет 10 тыс. строк ко­да. Клю­че­вые ха­рак­те­ри­сти­ки ОС для встро­ен­ных ЭВМ – по­вы­шен­ная на­дёж­ность, ком­пакт­ность и эф­фек­тив­ность управ­ле­ния ре­сур­са­ми в ус­ло­ви­ях ог­ра­ни­чен­но­го и за­ра­нее из­вест­но­го на­бо­ра за­дач. Встро­ен­ные ЭВМ час­то осу­ще­ст­в­ля­ют управ­ле­ние в ре­жи­ме ре­аль­но­го вре­ме­ни, что тре­бу­ет со­от­вет­ст­вую­щей под­держ­ки со сто­ро­ны ОС (та­кие ОС на­зы­ва­ют­ся ОС ре­аль­но­го вре­ме­ни).

Историческая справка

Про­то­ти­па­ми ОС на пер­вых ЭВМ бы­ли спец. про­грам­мы, на­зы­вае­мые дис­пет­че­ра­ми, мо­ни­тора­ми, управ­ляю­щи­ми про­грам­ма­ми и т. п., ко­то­рые в пер­вую оче­редь под­дер­жи­ва­ли за­груз­ку под­про­грамм из биб­лио­тек стан­дарт­ных под­про­грамм. Отеч. сис­те­ма ИС-2 – зна­чи­мое дос­ти­же­ние в этом клас­се про­грамм­ных сис­тем. В пер­вых раз­ви­тых ОС поя­ви­лась воз­мож­ность пре­дос­тав­лять под­держ­ку т. н. па­кет­ной об­ра­бот­ке, по­зво­лив­шей ав­то­ма­ти­зи­ро­вать по­сле­до­ва­тель­ный про­пуск за­дач на ЭВМ (GM-NAA I/O, США, 1956). Сле­дую­щий шаг эво­лю­ции ОС – под­держ­ка ре­жи­ма мно­го­за­дач­но­сти (Bur­roughs Master Control Program, 1961, США; ОС ЭВМ Урал-11, СССР, 1963–1965), что спо­соб­ст­во­ва­ло по­вы­шению эф­фек­тив­но­сти ис­поль­зо­ва­ния центр. про­цес­со­ра; так, ес­ли вы­пол­не­ние те­ку­щей за­да­чи ос­та­нав­ли­ва­лось, напр. ожи­дая за­вер­ше­ния опе­ра­ции вво­да-вы­во­да, ОС пе­ре­клю­ча­ла про­цес­сор на вы­пол­не­ние др. за­да­чи. При реа­ли­за­ции ре­жи­ма раз­де­ле­ния вре­ме­ни мн. поль­зо­ва­те­лям пре­дос­тав­ля­лась воз­мож­ность од­но­вре­мен­но ра­бо­тать на од­ной ЭВМ, при этом у ка­ж­до­го из них соз­да­ва­лась ил­лю­зия то­го, что все ре­сур­сы ЭВМ на­хо­дят­ся в его пол­ном рас­по­ря­же­нии. Осн. прин­ци­пы раз­де­ле­ния вре­ме­ни сло­жи­лись в ОС CTSS (1961, США). До­ми­ни­рую­щее по­ло­же­ние ря­да ЭВМ IBM System/360 (США) в 1960–70-е гг. при­ве­ло к по­яв­ле­нию пер­вой ши­ро­ко ис­поль­зуе­мой ОС OS/360. 

В СССР су­ще­ст­вен­ный про­гресс в раз­ра­бот­ке ОС свя­зан с соз­да­ни­ем ЭВМ, имею­щих раз­ви­тые ме­ха­низ­мы об­ра­бот­ки пре­ры­ва­ний и управ­ле­ния па­мя­тью. Пио­нер­ской ста­ла ОС на ЭВМ «Вес­на», од­на­ко ши­ро­кое ис­поль­зо­ва­ние но­вых воз­мож­но­стей ОС свя­за­но с по­яв­ле­ни­ем ЭВМ БЭСМ-6 (1967). Пер­вой ОС для БЭСМ-6 был дис­пет­чер Д-68; для ре­ше­ния за­дач в ре­жи­ме ре­аль­но­го вре­ме­ни соз­да­на ОС НД-70; при раз­ра­бот­ке ОС ИПМ пред­ло­же­но мно­го но­ва­тор­ских ре­ше­ний по ар­хи­тек­ту­ре ОС и сис­тем про­грам­ми­ро­ва­ния; ос­нов­ной ОС БЭСМ-6 ста­ла ОС «Дис­пак». Раз­ви­ты­ми ОС бы­ли снаб­же­ны са­мые мас­со­вые в СССР ЭВМ ср. клас­са «Минск-22» и «Минск-32». ОС на БЭСМ-6 и ЭВМ «Минск» обес­пе­чи­ва­ли па­кет­ную и мно­го­за­дач­ную об­ра­бот­ку, а так­же ре­жим раз­де­ле­ния вре­ме­ни, под­дер­жи­вая тем са­мым од­но­вре­мен­ную ра­бо­ту не­сколь­ких поль­зо­ва­те­лей в диа­ло­го­вом ре­жи­ме, не­сколь­ких фо­но­вых вы­чис­лит. за­дач и об­ра­бот­ку дан­ных в ре­жи­ме ре­аль­но­го вре­ме­ни. Ус­пеш­но раз­ви­ва­лись отеч. ОС для ЭВМ спе­ци­аль­но­го, в т. ч. во­ен­но­го, на­зна­че­ния. С пе­ре­хо­дом отеч. элек­трон­ной пром-сти на вы­пуск ма­шин ти­па ЕС ЭВМ и СМ ЭВМ уси­лия раз­ра­бот­чи­ков ОС пе­ре­клю­чи­лись на адап­та­цию за­ру­беж­ных ОС, а имен­но ОС ти­па OS 360/370, RT-1, RSX-11, Unix и др. Вме­сте с тем соз­да­ва­лись и ори­ги­наль­ные отеч. ОС, напр. ОС для со­вет­ских су­пер­ЭВМ (се­мей­ст­ва «Элек­тро­ни­ка» и «Эль­брус»).

Осн. совр. тен­ден­ции в раз­ви­тии ар­хи­тек­ту­ры ОС свя­за­ны с раз­ра­бот­кой ОС CP 67/CMS (1967, США), ОС Mul­tics (1968, США) и UNIX (1969, США), Sys­tem 1 (1983, США). CP-67/CMS впер­вые реа­ли­зо­ва­ла кон­цеп­цию вир­туа­ли­за­ции, за­клю­чаю­щую­ся в вы­де­ле­нии не­боль­шой ОС (позд­нее на­зван­ной ги­пер­ви­зо­ром), ко­то­рая бе­рёт на се­бя ба­зо­вые функ­ции по управ­ле­нию уст­рой­ст­ва­ми ЭВМ и рас­пре­де­ле­нию её ре­сур­сов. При этом от­вет­ст­вен­ность за ор­га­ни­за­цию сре­ды для при­клад­ных про­грамм пе­ре­кла­ды­ва­ет­ся на др. ОС, на­зы­вае­мую гос­те­вой. Под уп­рав­ле­ни­ем ги­пер­ви­зо­ра мо­жет од­но­вре­мен­но ра­бо­тать неск. гос­те­вых ОС, для ко­то­рых ги­пер­ви­зор соз­да­ёт ви­ди­мость еди­но­лич­ной ра­бо­ты на вир­ту­аль­ной ЭВМ.

В сер. 1960-х гг. учё­ные Мас­са­чу­сет­ско­го тех­но­ло­гич. ин-та пред­ло­жи­ли ряд но­вых кон­цеп­ций, ко­то­рые лег­ли в ос­но­ву ОС Multics: под­держ­ка ди­на­мич. свя­зы­ва­ния при­клад­ных при­ло­же­ний с биб­лио­те­ка­ми, воз­мож­ность (с по­мо­щью мо­ду­льной кон­ст­рук­ции эле­кт­рон­ных устройств) на­ра­щи­вать вы­чи­слит. воз­мож­но­сти си­сте­мы про­стой за­ме­ной её мо­ду­лей (центр. про­цес­со­ра, па­мя­ти, дис­ко­во­го про­ст­ран­ст­ва и др.) без пре­ры­ва­ния ра­бо­ты ОС, иерар­хи­че­ская фай­ло­вая сис­те­ма. Эти кон­цеп­ции ока­за­ли зна­чит. влия­ние на раз­ра­бот­ку боль­шин­ст­ва по­сле­дую­щих ОС.

В 1980-е гг. ли­ди­рую­щее по­ло­же­ние на рын­ке ОС за­ня­ли UNIX-сис­те­мы. Раз­ра­бот­чи­ки ОС UNIX про­из­ве­ли тща­тель­ный от­бор уже за­ре­ко­мен­до­вав­ших се­бя на прак­ти­ке прин­ци­пов по­строе­ния ОС, что в со­во­куп­но­сти с про­сто­той пе­ре­но­са этой ОС на разл. но­вые ви­ды ЭВМ при­ве­ло к её ши­ро­ко­му рас­про­стра­не­нию. Поя­ви­лось мно­же­ст­во ОС, ко­пи­рую­щих осн. прин­ци­пы ОС UNIX.

ОС System 1, соз­дан­ная для ЭВМ Apple Macintosh, со­вер­ши­ла пе­ре­во­рот в спо­со­бах взаи­мо­дей­ст­вия поль­зо­ва­те­ля с ЭВМ; были усо­вер­шен­ст­во­ва­ны гра­фич. ин­тер­фейс поль­зо­ва­те­ля, т. н. окон­ный ин­тер­фейс и управ­ле­ние с по­мо­щью ко­ор­ди­нат­ных уст­ройств вво­да (напр., мышь, трек­бол).

К кон. 1990-х гг. вслед­ст­вие рас­про­стра­не­ния ПК боль­шим спро­сом ста­ла поль­зо­вать­ся ОС Microsoft Windows (США), совр. вер­сия ко­то­рой в нач. 21 в. про­дол­жа­ет за­ни­мать гос­под­ствую­щее по­ло­же­ние сре­ди ОС для ПК. В нач. 2000-х гг. наи­боль­шее при­ме­не­ние на­шла ОС Linux, ко­то­рая в тех­нич. пла­не яв­ля­ет­ся на­след­ни­цей ОС UNIX. Во мно­гом ус­пех ОС Linux обу­слов­лен ис­поль­зо­ва­ни­ем прин­ци­пов сво­бод­но­го про­грамм­но­го обес­пе­че­ния. Ны­не ОС Li­nux ли­ди­ру­ет сре­ди ОС для су­пер­ЭВМ и сер­ве­ров, рас­ши­ря­ет­ся об­ласть её ис­поль­зо­ва­ния при соз­да­нии мо­биль­ных уст­ройств и встро­ен­ных ЭВМ.

Основные на­прав­ле­ния раз­ви­тия совр. ОС: по­вы­ше­ние на­дёж­но­сти, обес­пе­че­ние без­о­пас­но­сти и за­щи­ты дан­ных, оп­тим. энер­го­по­треб­ле­ние, эф­фек­тив­ная ра­бо­та на мно­го­ядер­ных и мно­го­про­цес­сор­ных ЭВМ, а так­же ис­сле­до­ва­ния в об­лас­ти но­вых ин­тер­фей­сов взаи­мо­дей­ст­вия с поль­зо­ва­те­лем.

Лит.: Кар­пов ВЕ., Конь­ков К. А . Ос­но­вы опе­ра­ци­он­ных сис­тем. Курс лек­ций. М., 2005; Та­нен­ба­ум Э. С., Вуд­халл АС. Опе­ра­ци­он­ные сис­те­мы: раз­ра­бот­ка и реа­ли­за­ция. СПб., 2007.

Вернуться к началу