Аперацы́йная сістэ́ма (АС) — комплекс камп’ютарных праграм, які кіруе апаратнымі і праграмнымі рэсурсамі камп’ютара. Галоўны складнік сістэмнага праграмнага забеспячэння. Выконвае найпрасцейшыя заданні, напрыклад, кіруе размеркаваннем памяці, выконвае праграмныя інструкцыі згодна з пэўнай сістэмай прыярытэтаў, кіруе прыладамі ўводу/вываду, забяспечвае праграмы карыстальніка магчымасцю выкарыстання сеткавых пратаколаў, дае прыкладным праграмам просты інтэрфейс работы з файламі і іншае.

Аперацыйная сістэма можа разглядацца як прамежкавы слой паміж апаратным забеспячэннем і прыкладнымі праграмамі. Асноўныя задачы аперацыйнай сістэмы ў тым, каб не дапусціць няправільнага выкарыстання прыкладнымі праграмамі апаратных кампанентаў, такіх як працэсар, памяць, прылады ўводу і вываду, а таксама стварыць аднастайны інтэрфейс узаемадзеяння з апаратным забеспячэннем для прыкладных праграм. Гэтыя мэты дасягаюцца з дапамогай абстракцый, такіх як працэсы, віртуальная памяць і файлы.

Прыклады сучасных аперацыйных сістэм

Microsoft Windows

Microsoft Windows — сямейства прыватнаўласнісцкіх аперацыйных сістэм. Гэта найбольш распаўсюджаная аперацыйная сістэма для персанальных камп’ютараў. Яна зарадзілася ў 1981 годзе ў якасці дапаўнення да аперацыйнай сістэмы MS-DOS для IBM-сумяшчальных персанальных камп’ютараў. Упершыню апублікавана ў 1985 годзе.

Пачынаючы з Windows 2000, усе сучасныя версіі зроблены на аснове ядра Windows NT.

Windows таксама выкарыстоўваецца на серверах, якія выкарыстоўваюцца ў якасці вэб-сервера або сервера баз даных.

Unix і Unix-падобныя аперацыйныя сістэмы

Кен Томпсан напісаў мову праграмавання B, галоўным чынам, на аснове BCPL, якую ён выкарыстаў, каб напісаць Unix, на аснове яго досведу працы ў праекце MULTICS. Мова B была заменена на C, і з цягам часу Unix пераўтварылася ў вялікае, складанае сямейства ўзаемазвязаных аперацыйных сістэм, якое паўплывала на ўсе сучасныя АС.

Назва «UNIX» з’яўляецца гандлёвай маркай The Open Group. Для абазначэння доўгага шэрагу аперацыйных сістэм, якія падобныя на арыгінальны Unix, але не маюць ліцэнзіі The Open Group, ужываецца назва «Unix-падобныя».

Некаторыя варыянты Unix, такія як HP-UX ад Hewlett-Packard і AIX ад IBM, прызначаны для выкарыстання толькі на абсталяванні вытворцы. Іншыя, такія як Solaris ад Sun Microsystems, могуць працаваць на розных тыпах апаратных платформ, уключаючы x86 серверы і ПК. Сучасная АС Mac OS X ад Apple мае гібрыднае ядро на аснове варыянта BSD, атрыманае ад NeXTSTEP, Mach, і FreeBSD.

Сумяшчальнасць Unix дасягаецца шляхам падтрымкі стандартаў POSIX. Стандарты POSIX можна прымяняць да любой аперацыйнай сістэмы, хаця пачаткова яны былі створаны для розных варыянтаў Unix.

BSD і нашчадкі

Падгрупу сям’і Unix утварае сямейства Berkeley Software Distribution, якое ўключае FreeBSD, NetBSD і OpenBSD. Гэтыя аперацыйныя сістэмы найбольш часта сустракаюцца на вэб-серверах, хоць яны могуць таксама працаваць у якасці аперацыйнай сістэмы персанальнага камп’ютара.

Сеціва шмат у чым абавязана сваім існаваннем АС BSD, таму што многія з пратаколаў, якія ў цяперашні час шырока выкарыстоўваюцца для падключэння камп’ютараў, перадачы і атрымання інфармацыі па сетцы, былі ў значнай ступені распрацаваны і ўдасканалены менавіта ў BSD. World Wide Web быў упершыню прадэманстраваны на некалькіх камп’ютарах пад кіраваннем NextStep, АС на аснове BSD.

Карані сістэмы BSD ідуць у Unix. У 1974 годзе Каліфарнійскі ўніверсітэт у Берклі ўстанавіў свае першыя сістэмы Unix. З цягам часу, студэнты і выкладчыкі ўніверсітэта пачалі дадаваць новыя праграмы, такія як тэкставыя рэдактары, каб палегчыць сваю працу. Калі ўніверсітэт Берклі атрымаў новы камп’ютар VAX у 1978 годзе з устаноўленым Unix, студэнты змянілі Unix нават больш, для таго, каб выкарыстоўваць апаратныя магчымасці камп’ютара. Агенцтва перспектыўных абаронных даследаванняў (DARPA) Міністэрства абароны ЗША праявіла цікавасць, і прыняло рашэнне аб фінансаванні праекта. Многія школы, карпарацыі і ўрадавыя арганізацыі звярнулі ўвагу і сталі выкарыстоўваць версію Unix ад Берклі, замест той, якую афіцыйна распаўсюджвала AT&T. Стыў Джобс, пасля выхаду з карпарацыі Apple у 1985 годзе, заснаваў NeXT Inc, кампанію, якая вырабляла камп’ютары, якія працуюць на змененым BSD пад назвай NeXTSTEP. Адна з гэтых машын была выкарыстана Цімам Бернерс-Лі як першы вэб-сервер для стварэння World Wide Web.

Mac OS X

Mac OS X — гэта лінейка часткова прыватнаўласніцкіх графічных аперацыйных сістэм, якія распрацоўвае, прасоўвае і прадае карпарацыя Apple. Апошнюю версію гэтай АС устанаўліваюць на ўсе камп’ютары Macintosh. Mac OS X з’яўляецца пераемнікам арыгінальнай Mac OS, якая была асноўнай аперацыйнай сістэмай камп’ютараў Apple, пачынаючы з 1984 г. У адрозненне ад свайго папярэдніка, Mac OS X — гэта UNIX, пабудаваная па тэхналогіі, якая была распрацавана ў NeXT цягам другой паловы 1980-х гадоў і да пачатку 1997 года, калі кампанію набыла карпарацыя Apple.

Упершыню аперацыйная сістэма была выпушчана ў 1999 годзе як Mac OS X Server 1.0, затым з’явілася арыентаваная на персанальны камп’ютар версія (Mac OS X 10.0) у сакавіку 2001 года.

Plan 9

У свой час Кен Томпсан, Дэніс Рычы і Дуглас Макілрой у Bell Labs распрацавалі мову праграмавання C для стварэння аперацыйнай сістэмы Unix. Наступныя распрацоўкі праграмістаў Bell Labs уключаюць Plan 9 і Inferno, аперацыйныя сістэмы для сучасных размеркаваных вылічальных асяроддзяў. Plan 9 зараз выпушчана пад Lucent Public License. Inferno была прададзена Vita Nuova Holdings і выпушчана пад GPL і MIT ліцэнзіямі.

Linux і GNU

Linux — агульная назва UNIX-падобных аперацыйных сістэм, якія можна выкарыстоўваць на самых разнастайных прыладах ад суперкамп’ютараў да наручных гадзіннікаў. Ядро Linux выпускаецца пад ліцэнзіяй GNU GPL, таму кожны можа чытаць і змяняць яго зыходны код.

Праект GNU — гэта масавае супрацоўніцтва праграмістаў, якія імкнуцца стварыць абсалютна свабодную і адкрытую аперацыйную сістэму, якая была б падобная на Unix, але мела цалкам незалежны ад Unix зыходны код. Праект быў распачаты у 1983 годзе Рычардам Столманам. У рамках гэтага праекта распрацоўваюцца значная частка складнікаў для большасці варыянтаў Linux. Па гэтай прычыне, Linux часта называюць GNU/Linux.

Тысячы праграм практычна для любой аперацыйнай сістэмы распаўсюджваюцца на ўмовах GNU General Public License — ліцэнзіі, створанай Рычардам Столманам для праекта GNU.

Google Chrome OS

Chrome OS — аперацыйная сістэма, створаная кампаніяй Google на аснове ядра Linux. Мэтавая аўдыторыя Chrome — камп’ютарныя карыстальнікі, якія трацяць большую частку свайго часу на сеціва. З тэхнічнага боку гэта адзіны вэб-браўзер, у якім выкарыстоўваюцца сеткавыя праграмы для выканання такіх задач, як апрацоўка тэкстаў і прагляд мультымедыя.

Іншыя

Старыя аперацыйныя сістэмы, якія да гэтага часу займаюць пэўныя невялікія нішы рынку, ўключаюць OS/2 ад IBM і Microsoft; Mac OS, папярэднік сучаснай Mac OS X; BeOS; XTS-300. Некаторыя з іх, перш за ўсё RISC OS, MorphOS і AmigaOS 4 працягваюць развівацца як вузкія платформы для суполак энтузіястаў, або ў адмысловых мэтах. OpenVMS, першапачаткова ад DEC, да гэтага часу ў стадыі актыўнай распрацоўкі ў Hewlett-Packard.

Некаторая колькасць іншых аперацыйных сістэм выкарыстоўваюцца амаль выключна ў акадэмічным асяроддзі, пры выкладанні аперацыйных сістэм, і ў даследаваннях магчымасцяў развіцця аперацыйных сістэм. Тыповым прыкладам сістэмы, якая выконвае абедзьве ролі, з’яўляецца MINIX, у той час як, напрыклад, Singularity выкарыстоўваецца выключна для навуковых даследаванняў.

Кампаненты Усе кампаненты аперацыйнай сістэмы існуюць для таго, каб розныя часткі камп’ютара маглі працаваць разам. Усе праграмнае забеспячэнне, ад фінансавых баз даных да рэдактараў фільмаў, павінна звяртацца да аперацыйнай сістэмы для таго, каб выкарыстаць любыя апаратныя сродкі, ці то простыя, як мыш або клавіятура, ці складаныя, як падключэнне да Сеціва.

Інтэрфейс карыстальніка

Кожны камп’ютар, які атрымлівае нейкія запыты ад чалавека, павінен мець інтэрфейс карыстальніка, які дазваляе чалавеку ўзаемадзейнічаць з камп’ютарам. У той час як прылады, падобныя да клавіятуры, мышы і сэнсарнага экрана, складаюць апаратную частку гэтай задачы, карыстальніцкі інтэрфейс складае праграмную яго частку.

Дзвюма самымі распаўсюджанымі формамі інтэрфейсу карыстальніка гістарычна з’яўляюцца інтэрфейс каманднага радка, дзе каманды камп’ютару трэба набіраць радок за радком, і графічны інтэрфейс карыстальніка, дзе прысутнічае візуальнае асяроддзе (часцей за ўсё з выглядзе вокнаў, кнопак і значкоў).

Графічны інтэрфейс карыстальніка

Большасць сучасных камп’ютарных сістэм падтрымлівае графічны інтэрфэйс карыстальніка (, ад Graphical User Interface), і звычайна ўключае яго ў сябе. У некаторых аперацыйных сістэмах, такіх як Microsoft Windows і Mac OS, GUI убудаваны ў ядро. Іншыя аперацыйныя сістэмы маюць модульную канструкцыю, аддзяляючы графічную падсістэму ад ядра АС. GNU/Linux, BSD і 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 годзе.

Ядро

Ядро злучае прыкладное праграмнае забеспячэнне і абсталяванне камп’ютара.

З дапамогай мікрапраграм у пастаяннай памяці прыстасаванняў () і драйвераў прылад (), аперацыйная сістэма забяспечвае базавы ўзровень кантролю над апаратнай часткай камп’ютара. Функцыі аперацыйнай сістэмы звычайна ўключаюць: выдзяленне памяці для праграм, кіраванне доступам праграм да апаратных рэсурсаў, упарадкаванне даных (сродкамі файлавай сістэмы) для іх доўгатэрміновага захоўвання, і да т.п.

Выкананне праграмы

Аперацыйная сістэма забяспечвае набор паслуг, якія спрашчаюць распрацоўку праграм. Выкананне праграмы прадугледжвае стварэнне аперацыйнай сістэмай працэсу. Ядро стварае працэс, выдзяляе яму памяць і іншыя рэсурсы, задае прыярытэт (у шматзадачных сістэмах), загружае праграмны код у памяць, і запускае выкананне праграмы.

Перарыванні

Перарыванні маюць для аперацыйнай сістэмы вырашальнае значэнне, бо яны дазваляюць аперацыйнай сістэме дзейсна адказваць на падзеі ў асяроддзі і ўзаемадзейнічаць з ім. Альтэрнатыўны падыход, калі АС сочыць за рознымі крыніцамі, якія патрабуюць рэакцыі (апытанне), сустракаецца ў сістэмах з вельмі малым стэкам.

Большасць сучасных працэсараў прадастаўляе сродкі падтрымкі праграмавання з выкарыстаннем перарыванняў. Па ўзнікненні перарывання апаратная частка камп’ютара аўтаматычна прыпыняе ўсе праграмы, якія ў гэты момант працуюць, захоўвае свой статус, і запускае код, раней звязаны з перарываннем. У сучасных аперацыйных сістэмах перарыванні апрацоўвае ядро аперацыйнай сістэмы. Перарыванні могуць паступаць як ад апаратнай часткі камп’ютара, так і ад запушчаных праграм.

Калі камп’ютарная прылада выклікае перарыванне, ядро аперацыйнай сістэмы вырашае, што рабіць з гэтай падзеяй, як правіла, выконваючы нейкі код апрацоўкі перарывання. Аб’ём кода, які будзе выканан, залежыць ад прыярытэту перарывання. Задачу апрацоўкі апаратнага перарывання звычайна накіроўваюць праграме пад назвай «драйвер прылады», які можа быць часткай ядра аперацыйнай сістэмы, часткай іншай праграмы, ці абодвух. Драйверы прылад могуць потым перадаць інфармацыю запушчаным праграмам.