Апэрацыйная сыстэма: розьніца паміж вэрсіямі

Змесціва выдалена Змесціва дададзена
Jauhienij (гутаркі | унёсак)
дапаўненьне крыніца — http://be.wikipedia.org/wiki/Аперацыйная_сістэма?oldid=575344
Jauhienij (гутаркі | унёсак)
дапаўненьне крыніца — http://be.wikipedia.org/wiki/Аперацыйная_сістэма?oldid=575344
Радок 57:
 
Некаторая колькасьць іншых апэрацыйных сыстэмаў выкарыстоўваюцца амаль выключна ў акадэмічным асяродзьдзі, пры выкладаньні апэрацыйных сыстэмаў, і для дасьледаваньняў канцэпцыяў разьвіцьця апэрацыйных сыстэмаў. Тыповым прыкладам сыстэмы, якая выконвае абедзьве ролі, зьяўляецца [[MINIX]], у той час як, напрыклад, [[Singularity]] выкарыстоўваецца выключна для навуковых дасьледаваньняў.
 
== Кампанэнты ==
 
Усе кампанэнты апэрацыйнай сыстэмы існуюць для таго, каб розныя часткі кампутара маглі працаваць разам. Усе праграмнае забесьпячэньне, ад фінансавых базаў дадзеных да рэдактараў фільмаў, павінна зьвяртацца да апэрацыйнай сыстэмы для таго, каб выкарыстаць любыя апаратныя сродкі, ці то простыя, як мыш або клявіятура, альбо складаныя, як падключэньне да Інтэрнэту.
 
=== Інтэрфэйс карыстальніка ===
 
Кожны кампутар, які атрымлівае нейкія запыты ад чалавека, павінен мець [[інтэрфэйс карыстальніка]], які дазваляе чалавеку ўзаемадзейнічаць з кампутарам. У той час як такія прылады, як [[клявіятура]], [[мыш]] і [[сэнсарны экран]], складаюць апаратныя частку гэтай задачы, карыстальніцкі інтэрфэйс складае праграмнага яго частку.
 
Дзьвюма самымі распаўсюджанымі формамі інтэрфэйсу карыстальніка гістарычна зьяўляюцца інтэрфэйс загаднага радка, дзе загады кампутару трэба набіраць радок за радком, і графічны інтэрфэйс карыстальніка, дзе прысутнічае візуальнае асяродзьдзе (часьцей за ўсё з вокнаў, кнопак і значкоў).
 
==== Графічны інтэрфейс карыстальніка ====
 
Большасьць сучасных кампутарных сыстэмаў падтрымліваюць графічны інтэрфэйс карыстальніка ({{lang-en|GUI}}, ад ''Graphical User Interface''), і звычайна ўключаюць яго. У некаторых апэрацыйных сыстэмах, такіх як Microsoft Windows і Mac OS , GUI убудаваны ў ядро. Іншыя апэрацыйныя сыстэмы маюць модульную канструкцыю, аддзяляючы графічную падсыстэму ад ядра АС. GNU/Linux і Mac OS X пабудаваны такім чынам.
 
Многія апэрацыйныя сыстэмы дазваляюць карыстальніку ўсталяваць або ствараць любы карыстальніцкі інтэрфэйс у адпаведнасьці зь іх пажаданьнямі. X Window System ў спалучэньні з GNOME ці KDE звычайна сустракаюцца на большасьці Unix і Unix-падобных (BSD, GNU/Linux, Solaris) сыстэмах. Шэраг заменаў абалонкі Windows, якія прапануюць альтэрнатывы ўбудаванай абалонцы, былі выпушчаныя, але ўбудаваная абалонка ня можа быць аддзеленай ад Windows. Існуюць шматлікія варыянты графічнага інтэрфэйсу для Unix і Unix-падобных АС, большасьць іх — вытворныя ад X11 (X Window System).
 
Графічныя інтэрфэйсы карыстальніка зьмянюцца зь цягам часу. Напрыклад, Windows зьмяняла свой карыстальніцкі інтэрфэйс амаль кожны раз, калі выходзіла новая вэрсія АС, а графічны інтэрфэйс Mac OS рэзка зьмяніўся са зьяўленьнем Mac OS X ў 1999 годзе.
 
=== Ядро ===
 
Ядро злучае прыкладное праграмнае забеспячэньне і абсталяваньня кампутара.
 
З дапамогай мікрапраграмаў у пастаяннай памяці прыстасаваньняў ({{lang-en|firmware}}) і драйвераў прыладаў ({{lang-en|device drivers}}), апэрацыйная сыстэма забясьпечвае базавы ўзровень кантролю над апаратнай часткай кампутара. Функцыі апэрацыйнай сыстэмы звычайна ўключаюць: вылучэньне памяці для праграмаў, кіраваньне доступам праграмаў да апаратных рэсурсаў, арганізацыю даных (сродкамі [[Файлавая сыстэма|файлавай сыстэмы]]) для іх доўгатэрміновага захоўваньня, і да т. п.
 
==== Выкананьне праграмы ====
 
Апэрацыйная сыстэма забясьпечвае набор паслугаў, якія спрашчаюць распрацоўку прыкладаньняў. Выкананне праграмы прадугледжвае стварэньне апэрацыйнай сыстэмай працэсу. Ядро стварае працэс, вылучае яму памяць і іншыя рэсурсы, задае прыярытэт (у шматзадачных сыстэмах), загружае праграмны код у памяць, і запускае выкананьне праграмы.
 
==== Перарываньні ====
 
Перарываньні маюць для апэрацыйнай сыстэмы вырашальнае значэньне, паколькі яны прадстаўляюць эфэктыўны спосаб рэагаваць на асяродзьдзе і ўзаемадзейнічаць зь ім з боку апэрацыйнай сыстэмы. Альтэрнатыўны падыход, калі АС сочыць за рознымі крыніцамі, якія патрабуюць рэакцыі (апытаньне), можа быць сустрэты ў сыстэмах зь вельмі малым стэкам.
 
Большасьць сучасных працэсараў прадстаўляе сродкі падтрымкі праграмаваньня з выкарыстаньнем перарываньняў. Па ўзьнікненьні перарываньня апаратная частка кампутара аўтаматычна прыпыняе усе праграмы, якія ў гэты момант працуюць, захоўвае свой статус, і запускае код, раней зьвязаных з перарываньнем. У сучасных апэрацыйных сыстэмах перарываньні апрацоўвае ядро апэрацыйнай сыстэмы. Перарываньні могуць паступаць яд апаратнай часткі кампутара, так і ад запушчаных праграмаў.
 
Калі кампутарная прылада выклікае перарываньне, ядро апэрацыйнай сыстэмы вырашае, што рабіць з гэтай падзеяй, як правіла, выконваючы нейкі код апрацоўкі перарываньня. Аб’ём коду, які будзе выкананы, залежыць ад прыярытэту перарываньня. Задачу апрацоўкі апаратнага перарываньня звычайна дэлегуюць праграме пад назвай «драйвэр прылады», які можа быць часткай ядра апэрацыйнай сыстэмы, часткай іншай праграмы, ці абодвух. Драйвэры прылад могуць потым перадаць інфармацыю запушчаным праграмам.
 
Праграма таксама можа стаць прычынай перарываньня. Калі праграма хоча атрымаць, напрыклад, доступ да абсталяваньня, яна можа выклікаць перарываньне, што прывядзе да перадачы кіраваньне назад у ядро. Далей ядро будзе апрацоўваць запыт. Калі праграме патрэбны дадатковыя рэсурсы (ці трэба вызваліць рэсурсы), напрыклад памяць, яна выкліча перарываньне, каб прыцягнуць увагу ядра.
 
==== Рэжымы ====
 
Сучасныя працэсары падтрымліваюць некалькі рэжымаў працы. Працэсар у такім выпадку рэалізуе як мінімум два рэжымы: абаронены рэжым і прывілеяваны рэжым. Прывілеяваны рэжым выкарыстоўвае ядро апэрацыйнай сыстэмы для задачаў зь нізкім узроўнем, для якіх неабходны неабмежаваны доступ да абсталяваньня, такіх як кантроль над запісам і сьціраньнем памяці, і зносіны з прыладамі, такімі як відэакарткі. Абаронены рэжым, наадварот, ужываецца амаль для ўсіх астатніх задач. Прыкладаньні працуюць у абароненым рэжыму, і могуць выкарыстоўваць апаратныя сродкі толькі праз узаемадзеяньне з ядром, якое кантралюе ўсё ў прывілеяваным рэжыме.
 
Працэсар можа таксама рэалізоўваць іншыя, падобныя на абаронены, рэжымы, напрыклад, віртуальны рэжым, каб эмуляваць стары тып працэсара, напрыклад, 16-разрадны працэсар у 32-разрадным, ці 32-бітны працэсар у 64-бітным.
 
Пры пачатковым запуску кампутара ён аўтаматычна працуе ў прывілеяваным рэжыме. Першыя некалькі праграмаў, неабходныя для працы кампутара — [[BIOS]], [[Загрузчык апэрацыйнай сыстэмы|загрузчык]] і апэрацыйная сыстэма — маюць неабмежаваны доступ да абсталяваньня, і гэта натуральна, бо ініцыялізацыя абароненага асяродзьдзя можа быць зроблена толькі па-за яго межамі.
 
У абароненым рэжыме, праграмы могуць мець доступ да абмежаванага набору інструкцый працэсара. Карыстальніцкая праграма можа пакінуць абаронены рэжым толькі выклікам перарываньня, у выніку чаго кіраваньне будзе перададзена ядру. Такім чынам апэрацыйная сыстэма захоўвае поўны кантроль над такімі рэчамі, як доступ да памяці і абсталяваньня.
 
==== Кіраваньне памяцьцю ====
 
Сярод іншага, ядро шматзадачнай і шматкарыстальніцкай апэрацыйнай сыстэмы павінна несьці адказнасць за кіраваньне ўсёй сыстэмнай памяцьцю, якую выкарыстоўваюць бягучыя праграмы. Гэта гарантуе, што праграма не ўмешвацца ў памяць, якую ўжо выкарыстоўвае другая праграма.
 
Каапэратыўная мадэль кіраваньня памяцьцю, якую можна было сустрэць у многіх раньніх апэрацыйных сыстэмах, мяркуе, што ўсе праграмы добраахвотна выкарыстоўваюць сыстэмны мэнэджар памяці, і не перавышаюць выдзелены ім абсяг памяці. Гэту сыстэму кіраваньня памяцьцю сёньня амаль немагчыма сустрэць. У рэальнасьці праграмы часта ўтрымліваюць памылкі, якія могуць прывесьці да перавышэньня выдзеленай памяці. Калі праграма «робіць памылку», гэта можа прывесьці да таго, што будзе закранута або перапісана памяць іншых праграмаў. Шкоднасныя праграмы, ці вірусы, могуць мэтанакіравана зьмяняць памяць другіх праграмаў, ці могуць паўплываць на працу самой апэрацыйнай сыстэмы. Пры каапэратыўным кіраваньні памяцьцю дастаткова толькі адной няспраўнай праграмы, каб парушыць працу ўсёй сыстэмы.
 
Абарона памяці дазваляе ядру абмежаваць доступ працэсаў да памяці кампутара. Існуюць розныя мэтады абароны памяці, у тым ліку сэгмэнтацыя памяці і пагінацыя. Усе мэтады патрабуюць пэўнага ўзроўню апаратнай падтрымкі (напрыклад, 80286 MMU), які забясьпечваюць ня ўсе кампутары.
 
І пры сэгмэнтацыі і пры пагінацыі, пэўныя рэгістры абароненага рэжыму паказваюць працэсару, які адрас памяці ён можа дазволіць бягучай праграме для доступу. Спробы атрымаць доступ па іншых адрасах выклічуць перарываньне, якое прымусіць працэсар перайсьці ў прывілеяваны рэжым і перадаць кіраваньне ядру. Такі выпадак называюць парушэньнем сэгмэнтацыі, і, паколькі, з аднаго боку, цяжка прызначыць асэнсаваны вынік для такой апэрацыі, а з другога, такія дзеяньні звычайна зьяўляюцца прыкметай памылкі ў праграме, ядро тыпова прымае рашэньне завершыць праграму, і паведаміць пра памылку.
 
==== Віртуальная памяць ====
 
Многія апэрацыйныя сыстэмы могуць «падмануць» праграмы, выкарыстоўваючы памяць на [[Цьвёрды дыск|цьвёрдым дыску]] і апэратыўную памяць быццам адзін бесперапынны кавалак памяці, які называюць віртуальнай памяцьцю. Выкарыстаньне віртуальнай адрасацыі памяці (такой як ''пагінацыя'' або ''сэгмэнтацыя'') азначае, што ядро можа вырашаць, якую памяць кожная праграма можа выкарыстоўваць у любы момант часу, і дазваляе апэрацыйнай сыстэме выкарыстоўваць адзін участак памяці для некалькіх задачаў.
 
У сучасных апэрацыйных сыстэмах, участак памяці, доступ да якога адбываецца радзей, можа быць часова запісаны на цьвёрды дыск ці іншы носьбіт, каб зрабіць гэту прастору даступнай для выкарыстаньня ў іншых праграмах. Гэта дзеяньне называюць ''падменай'' ({{lang-en|swapping}}), таму што пры выкарыстаньні нейкай вобласьці памяці некалькімі праграмамі, змест гэтай вобласці можа быць заменены ці вернуты па патрабаваньні.
 
==== Шматзадачнасьць ====
 
Шматзадачнасьць азначае выкананьне некалькіх незалежных кампутарных праграмаў на адным кампутары, ствараючы ўражаньне, што кампутар выконвае задачы адначасова. Так як большасць кампутараў можа рабіць не больш адной ці двух рэчаў у дадзены момант часу, шматзадачнасьць звычайна дасягаюць з дапамогай падзелу часу, што азначае, што кожная праграма выкарыстоўвае частку часу кампутара для выкананьня.
 
Ядро апэрацыйнай сыстэмы зьмяшчае частку праграмнага коду, так званы ''плянавальнік'' ({{lang-en|scheduler}}), які вызначае, колькі часу кожная праграма будзе займаць рэсурсы, і ў якім парадку кіраваньне будзе перададзена праграмам. Ядро перадае кіраваньне працэсу, яно ж дазваляе праграме доступ да працэсара і памяці. Потым кіраваньне вяртаецца ядру празь нейкі мэханізм, каб яно магло перадаць кіраваньне наступнай праграме. Гэты пераход кантролю паміж ядром і праграмамі называюць ''пераключэньнем кантэксту''.
 
Раньняя мадэль рэгуляваньня выдзялення часу для праграмаў — так званая каапэратыўная шматзадачнасьць. У гэтай мадэлі, калі ядро перадае кіраваньне праграме, яна можа выконвацца столькі часу, колькі пажадае, пакуль яўна не верне кіраваньне ядру. Гэта азначае, што шкоднасная праграмы або няспраўнасьць можа ня толькі забараніць іншым праграмам выкарыстаньне працэсара, але і павесіць ўсю сыстэму, калі ўвойдзе ў бясконцы цыкль.
 
Філязофія ''выцясьняльнай шматзадачнасьці'' заснавана на вылучэньні пэўнага адрэзка часу на цэнтральным працэсары для ўсіх праграмаў. Гэта азначае, што ўсе праграмы павінны быць абмежаваныя ў тым, колькі часу яны могуць займаць працэсар да таго, як адбудзецца перарываньне. Каб дасягнуць гэтага, ядры сучасных апэрацыйных сыстэмаў выкарыстоўваюць прымеркаваныя перарываньні. Ядро ўсталёўвае таймэр абароненага рэжыму, які выклікае вяртаньне ў прывілеяваны рэжым па заканчэньні вызначанага прамежку часу.
 
Сучасныя апэрацыйныя сыстэмы пашыраюць канцэпцыю выцясьняльнай шматзадачнасьці на драйверы прыладаў і код ядра, такім чынам апэрацыйная сыстэма мае папераджальны кантроль таксама і над ўнутраным кодам.
 
==== Доступ да дыска і файлавая сыстэма ====
 
Доступ да дадзеных, якія захоўваюцца на дысках, зьяўляецца цэнтральным элемэнтам ўсіх апэрацыйных сыстэмаў. Кампутары захоўваюць даныя на дысках з выкарыстаньнем файлаў, якія маюць спэцыфічную структуру у мэтах забесьпячэньня хуткага доступу, павышэньня надзейнасьці, а таксама эфэктыўнага выкарыстаньня даступнай дыскавай прасторы. Файлавая сыстэма — гэта спэцыфічны спосаб захоўваньня файлаў на дыску, яна дазваляе задаваць для файлаў назвы і атрыбуты (напр., правы доступу, памер, даты стварэньня і зьмяненьня, і г. д.). Яна таксама дазваляе захоўваць файлы ў герархіі каталёгаў (тэчак).
 
==== Драйвэры прыладаў ====
 
Драйвер прылады ({{lang-en|device driver}}) — спэцыфічны тып кампутарнага праграмнага забесьпячэньня, распрацаваны для ўзаемадзеяньня з прыладамі. Як правіла, ўяўляе сабой інтэрфэйс для сувязі з прыладай, праз канкрэтныя шыны кампутара ці падсыстэмы сувязі з апаратнай часткай даючы каманды прыладзе, а на другім канцы прадстаўляючы неабходныя інтэрфэйсы для апэрацыйнай сыстэмы і прыкладаньняў. Гэта спэцыялізаваны праграмны код, які залежыць ад абсталяваньня, а таксама спэцыфічны для апэрацыйнай сыстэмы, дазваляе іншай праграме, звычайна апэрацыйнай сыстэме альбо пакету прыкладнога праграмнага забесьпячэньня, празрыста ўзаемадзейнічаць з прыладай, і як правіла, прадстаўляе неабходную апрацоўку перарываньняў.
 
=== Сетка ===
 
У цяперашні час большасьць апэрацыйных сыстэмаў падтрымлівае шэраг сеткавых пратаколаў, апаратных сродкаў і прыкладаньняў для іх выкарыстаньня. Гэта азначае, што кампутары пад кіраваньнем разнастайных апэрацыйных сыстэмаў могуць далучацца да агульнай сеткі для сумеснага выкарыстаньня вылічальных рэсурсаў, файлаў, прынтараў і сканэраў з выкарыстаньнем праваднога альбо бесправаднога злучэньня. Істотна тое, што сетка можа дазваляць апэрацыйнай сыстэме кампутара атрымліваць доступ да рэсурсаў на іншым кампутары з прадстаўленнем тых жа функцый, якія можна атрымаць пры падлучэньні гэтых рэсурсаў непасрэдна да лякальнага кампутара. Гэта ўключае ў сябе ўсё ад простых зносін да выкарыстаньня сеткавых файлавых сыстэмаў ці нават графікі ці гукавога абсталяваньня іншага кампутара.
 
== Функцыі ==