回老家种田《牧场物语:小小农场主》下月推出
![]() | Ця стаття ма? к?лька недол?к?в. Будь ласка, допомож?ть удосконалити ?? або обговор?ть ц? проблеми на стор?нц? обговорення.
|
Операц?йна система |
---|
![]() |
Загальн? риси |
Операц??йна систе?ма, скорочено ОС (англ. operating system, OS) — це базовий комплекс програм, що викону? керування апаратною складовою комп'ютера або в?ртуально? машини; забезпечу? керування обчислювальним процесом ? орган?зову? вза?мод?ю з користувачем.
Операц?йна система звичайно склада?ться з ядра операц?йно? системи та базового набору прикладних програм.
Головн? функц??:
- Виконання на вимогу користувача тих елементарних (низькор?вневих) д?й, як? ? сп?льними для б?льшост? програм ? часто зустр?чаються майже в ус?х програмах (введення та виведення даних, запуск ? зупинка ?нших програм, вид?лення та вив?льнення додатково? пам'ят? тощо).
- Стандартизований доступ до перифер?йних пристро?в (пристро? введення-виведення).
- Завантаження програм в оперативну пам'ять ? ?х виконання.
- Керування оперативною пам'яттю (розпод?л м?ж процесами, орган?зац?я в?ртуально? пам'ят?).
- Керування доступом до даних енергонезалежних нос??в (жорсткий диск, оптичн? диски тощо), орган?зованим у т?й чи ?нш?й файлов?й систем?.
- В?дтворення ?нтерфейсу користувача.
- Мережев? операц??, п?дтримка стеку мережевих протокол?в.
- Паралельне або псевдопаралельне виконання задач (багатозадачн?сть).
- Розпод?л ресурс?в обчислювально? системи м?ж процесами.
- Орган?зац?я над?йних обчислень (неможливост? впливу процесу на переб?г ?нших), основана на розмежуванн? доступу до ресурс?в.
- Вза?мод?я м?ж процесами: обм?н даними, синхрон?зац?я.
- Захист само? системи, а також даних користувача ? програм в?д д?й користувача або ?нших програм.
- Багатокористувацький режим роботи та розпод?лення прав доступу (автентиф?кац?я, авторизац?я).
Поняття операц?йно? системи напряму пов'язане з такими поняттями, як:
- Файл — ?менований впорядкований наб?р даних на пристро? збер?гання ?нформац??; операц?йна система забезпечу? орган?зац?ю файл?в в файлов? системи.
- Файлова система — наб?р файл?в (можливо порожн?й), орган?зованих за заздалег?дь визначеними правилами. Якщо орган?зац?я файл?в в файлову систему в?дбува?ться з використанням каталог?в, то така файлова система назива?ться ??рарх?чною.
- Програма — файл, що м?стить наб?р ?нструкц?й для виконання. Виконавцем ?нструкц?й програми може бути:
- центральний процесор — якщо програма м?стить машинний код (звичайно отримують шляхом комп?ляц?? початкового тексту програми, написаного одн??ю з комп?льованих мов);
- ?нтерпретатор — ?нша програма, яка забезпечу? розп?знавання ? виконання ?нструкц?й (в окремих випадках ?нтерпретатор також називають в?ртуальною машиною).
- Завдання — програма в процес? виконання (в терм?нолог?? операц?йних систем UNIX використовують терм?н ?процес?).
- Команда — ?м'я, яке використову? користувач ОС або ?нша програма для виконання вказано? програми (може зб?гатися з назвою файлу, який м?стить програму) або по?меновано? д?? (вбудовано? команди).
- Командний ?нтерпретатор — середовище, яке забезпечу? ?нтерфейс з користувачем ? виконання команд.
В?дносно свого призначення, операц?йн? системи бувають[1]:
- ун?версальн? (для загального використання);
- спец?альн? (для розв'язання спец?альних задач);
- спец?ал?зован? (виконуються на спец?альному обладнанн?);
- однозадачн? (в окремий момент часу можуть виконувати лише одну задачу);
- багатозадачн? (в окремий момент часу здатн? виконувати б?льше одн??? задач?);
- однокористувацьк? (в систем? в?дсутн? механ?зми обмеження доступу до файл?в та на використання ресурс?в системи);
- багатокористувацьк? (система впроваджу? поняття ?власник файлу? та забезпечу? механ?зми обмеження на використання ресурс?в системи (квоти)), вс? багатокористувацьк? операц?йн? системи також ? багатозадачними;
- реального часу (система п?дтриму? механ?зми виконання задач реального часу, тобто так?, для яких будь-як? операц?? завжди виконуються за заздалег?дь передбачуваний ? незм?нний при наступних виконаннях час).
В?дносно способу встановлення (?нсталяц??) операц?йно? системи, операц?йн? системи бувають[джерело?]:
- вмонтован? (так?, що збер?гаються в енергонезалежн?й пам'ят? обчислювально? машини або пристрою без можливост? зам?ни в процес? експлуатац?? обладнання);
- невмонтован?[джерело?] (так?, що ?нсталюються на один з пристро?в збер?гання ?нформац?? обчислювально? машини з можлив?стю подальшо? зам?ни в процес? експлуатац??).
В?дносно в?дпов?дност? стандартам операц?йн? системи бувають:
- стандартн? (в?дпов?дають одному з загальноприйнятих в?дкритих стандарт?в, найчаст?ше POSIX);
- нестандартн? (в тому числ? так?, що розробляються в?дпов?дно до корпоративних стандарт?в).
В?дносно л?ценз??, можливостей розширення та можливостей внесення зм?н до вих?дного коду операц?йн? системи бувають:
- в?льн? — з в?льними програмним кодом (GNU, BSD, MIT)
- в?дкрит? (англ. open source) — з в?дкритим програмним кодом;
- власницьк? (англ. proprietary) — комерц?йн? з закритим кодом.
До складу операц?йно? системи входять:
- ядро операц?йно? системи, що забезпечу? розпод?л та керування ресурсами обчислювально? системи;
- базовий наб?р прикладних програм, системн? б?бл?отеки та програми обслуговування.
Ядро системи — це наб?р функц?й, структур даних та окремих програмних модул?в, як? завантажуються в пам'ять комп'ютера при завантаженн? операц?йно? системи та забезпечують три типи системних серв?с?в:
- керування введенням-виведенням ?нформац?? (п?дсистема вводу-виводу ядра ОС);
- керування оперативною пам'яттю (п?дсистема керування оперативною пам'яттю ядра ОС);
- керування процесами (п?дсистема керування процесами ядра ОС).
Кожна з цих п?дсистем представлена в?дпов?дними функц?ями ядра системи.
Багатозадачн? операц?йн? системи також включають ще одну обов'язкову складову — механ?зм п?дтримки багатозадачност?. Ця складова не нада?ться як системний серв?с ? тому не може бути в?днесена до жодно? з п?дсистем.
?сну? три основних механ?зми забезпечення багатозадачност? (планування задач):
- шляхом надання процесора окрем?й задач? на квант часу, який визнача?ться самою задачею (кооперативна багатозадачн?сть; останн?м часом[коли?] практично не використову?ться або область використання значно обмежена всередин? процес?в);
- шляхом надання процесора окрем?й задач? на квант часу, який визнача?ться обладнанням обчислювально? системи — ?нтервальним таймером;
- вид?лення п?д окрему задачу окремого процесора в багатопроцесорних системах.
У перших двох випадках на кожному з процесор?в в окремо взятий момент часу обрахову?ться лише одна задача, але за рахунок достатньо малого кванта часу (в межах м?л?секунд), що почергово нада?ться кожн?й з задач, виника? ?люз?я одночасного виконання в систем? багатьох задач.
В сучасних[коли?] системах, як правило комб?нуються методи 2 ? 3.[джерело?]
Окрема операц?йна система зазвичай може виконуватись на обмеженому перел?ку обладнання, яке забезпечу? потр?бн? ?й механ?зми. Сучасн? ун?версальн? (? не т?льки) операц?йн? системи зазвичай вимагають апаратно? п?дтримки наступних механ?зм?в:
- п?дтримка стор?нкового под?лу оперативно? пам'ят? з можлив?стю апаратного захисту стор?нок в?д модиф?кац?? даних окремими задачами (процесами);
- п?дтримка захищеного режиму виконання процесора (режиму ядра ОС), який передбача? можлив?сть виконання команд вводу/виводу (та ?нших прив?лейованих ?нструкц?й для керування апаратурою), при цьому спроба виконати под?бну операц?ю в прикладн?й програм? блоку?ться апаратно.
Можуть ?снувати ? ?нш? вимоги.
Функц?? ядра операц?йно? системи можуть бути виконан? внасл?док виконання в прикладних програмах спец?альних функц?й — системних виклик?в. Призначення системного виклику поляга? в тому, що прикладн? програми не в змоз? самотужки визначити, за якими адресами знаходяться функц?? ядра.
- Системний виклик в один з машинно-залежних способ?в реал?зу? механ?зм отримання адрес функц?й ядра та передачу в ц? функц?? необх?дних параметр?в системного виклику, а також отримання результату системного виклику. Найчаст?ше системн? виклики забезпечуються через систему переривань, завдяки чому адреса функц?? ядра не т?льки обрахову?ться апаратно (в процес? обробки переривання), але й забезпечу?ться захист ?нформац?йних ресурс?в ядра.
- Системн? виклики найчаст?ше мають синтаксис функц?? мови програмування, на як?й написано ядро ОС.
П?дсистема керування введенням-виведенням реал?зу? базов? механ?зми обм?ну даними м?ж пристроями введення-виведення та оперативною пам'яттю обчислювально? машини та забезпечу? орган?зац?ю файл?в в файлов? системи.
Операц?я введення викону?ться як читання даних з зовн?шнього пристрою в оперативну пам'ять, операц?я виведення — як запис даних з оперативно? пам'ят? на зовн?шн?й пристр?й.
При робот? з файлами система введення-виведення впроваджу? спец?альну абстракц?ю — пот?к вводу-виводу, що дозволя? програмам, як? звертаються за серв?сами введення-виведення, використовувати одноман?тний перел?к функц?й роботи з файлами незалежно в?д типу пристрою, на якому знаходиться файл, та типу файлово? системи, яка м?стить цей файл. В?дм?нност? доступу до р?зних пристро?в та файлових систем забезпечуються додатковими програмними модулями — драйверами пристро?в та файлових систем.
В окремих операц?йних системах п?дсистема керування введенням-виведенням також може впроваджувати механ?зми, як? призван? п?двищити швидк?сть обм?ну даними м?ж задачами та файлами. Найчаст?ше використову?ться механ?зм буферизац?? (кешування) даних, який поляга? в тому, що при читанн? даних з файлу п?дсистема намага?ться за одну операц?ю введення читати дан? блоками зручного (звичайно досить великого) розм?ру, а не порц?ями, як? запиту? задача. Завдяки цьому за одну операц?ю введення в оперативну пам'ять потрапляють також додатков? дан?, як? збер?гаються в кеш? ? надал? передаються в програму без додаткових звернень до пристрою. Под?бним чином цей механ?зм працю? ? при виконанн? операц?й запису.
Будь-яка програма може виконуватись лише тод?, коли вона завантажена в оперативну пам'ять, так само, будь-як? дан? з файл?в можуть оброблятись лише тод?, коли вони завантажен? в оперативну пам'ять. Завантаження програми та даних в оперативну пам'ять призводить до того, що в оперативн?й пам'ят? одночасно знаходяться одразу к?лька компонент?в: ядро операц?йно? системи, командний ?нтерпретатор, програма, що викону?ться, та дан?, що обробляються. Кр?м того, програма в процес? свого виконання може звертатись до п?дсистеми керування оперативною пам'яттю з запитами на вид?лення додатково? — динам?чно? — оперативно? пам'ят?.
В багатозадачних операц?йних системах к?льк?сть компонент?в, що одночасно можуть знаходитись в оперативн?й пам'ят? зроста? пропорц?йно к?лькост? задач ? може сягати сотень.
П?дсистема керування оперативною пам'яттю забезпечу? розпод?л оперативно? пам'ят? м?ж р?зними компонентами, а також розпод?ля? пам'ять п?д кеш системи введення-виведення.
В окремих багатозадачних операц?йних системах п?дсистема керування оперативною пам'яттю також забезпечу? в?ртуал?зац?ю оперативно? пам'ят?, завдяки чому кожна задача (процес) отриму? власну в?ртуальну пам'ять, причому таким чином, що нестача реально? (ф?зично?) пам'ят? покрива?ться за рахунок перерозпод?лу даних м?ж оперативною пам'яттю та зовн?шн?м накопичувачем ? перем?щення даних м?ж ф?зичною оперативною пам'яттю ? зовн?шн?м накопичувачем прихову?ться в?д задач. Це перем?щення назива?ться п?дкачуванням стор?нок (англ. paging) або своп?нгом (англ. swapping — обм?н) — в залежност? в?д терм?нолог?? конкретно? ОС.
Запровадження механ?зму в?ртуал?зац?? оперативно? пам'ят? дозволя? отримати два корисних насл?дки:
- кожна задача фактично викону?ться у власному адресовому простор?, тобто таким чином, якби вона виконувалась в однозадачн?й операц?йн?й систем?, завдяки чому значно зменшу?ться вплив окремих задач одн??ю на одну та на ядро системи, а завдяки цьому — ? над?йн?сть системи;
- кожна задача отриму? ст?льки в?ртуально? оперативно? пам'ят?, ск?льки потр?бно, а не ст?льки, ск?льки ? наявно? ф?зично? оперативно? пам'ят?.
В?ртуал?зац?я оперативно? пам'ят? вимага? апаратно? п?дтримки ? звичайно забезпечу?ться через спец?альну таблицю стор?нок пам'ят?, що м?стить в?дпов?дност? м?ж в?ртуальними та ф?зичними адресами.
П?дсистема керування задачами (процесами) забезпечу? створення задач? (процесу), завантаження програмного коду ? його виконання та завершення задач? (процесу).
В багатозадачних системах п?дсистема керування задачами (процесами) також забезпечу? механ?зми залежностей м?ж задачами, в тому числ?: синхрон?зац?ю задач та успадкування властивостей.
Вза?мод?я процес?в дозволя? процесам синхрон?зувати свою роботу, сум?сно ? узгоджено використовувати сп?льн? ресурси та сп?льно виконувати обробку даних.
Вза?мод?я процес?в забезпечу?ться вс?ма п?дсистемами ядра ОС: п?дсистема керування введенням-виведенням забезпечу? передачу даних м?ж процесами; п?дсистема керування оперативною пам'яттю розпод?ля? п?д процеси сп?льну оперативну пам'ять, п?дсистема керування процесами забезпечу? синхрон?зац?ю виконання процес?в та впроваджу? механ?зм обм?ну сигнал?в, за допомогою якого процеси пов?домляються про виникнення в систем? надзвичайних под?й.
Безпека ОС базу?ться на двох ?деях:
- ОС нада? прямий чи непрямий доступ до ресурс?в на кшталт файл?в на локальному диску, прив?лейованих системних виклик?в, особисто? ?нформац?? про користувач?в та служб, представлених запущеними програмами;
- ОС може розд?лити запити ресурс?в в?д авторизованих користувач?в, дозволивши доступ, та неавторизованих, заборонивши його.
Запити, в свою чергу, також д?ляться на два типи:
- Внутр?шня безпека — вже запущен? програми. На деяких системах програма, оск?льки вона вже запущена, не ма? н?яких обмежень, але все ж типово вона ма? ?дентиф?катор, котрий використову?ться для перев?рки запит?в до ресурс?в.
- Зовн?шня безпека — нов? запити з-за меж комп'ютера, як наприклад ре?страц?я з консол? чи мережеве з'?днання. В цьому випадку в?дбува?ться процес авторизац?? за допомогою ?мен? користувача та паролю, що його п?дтверджу?, чи ?нших способ?в як наприклад магн?тн? картки чи б?ометричн? дан?.
На додачу до модел? дозволити/заборонити системи з п?двищеним р?внем безпеки також сл?дкують за д?яльн?стю користувач?в, що дозволя? п?зн?ше дати в?дпов?дь на питання типу ?Хто читав цей файл??
Б?льш?сть сучасних операц?йних систем мають граф?чний ?нтерфейс користувача (Г?К, англ. graphical user interfaces, GUI, вимовля?ться як ?гу??). В деяких стар?ших ОС Г?К вбудований у ядро, як, наприклад, в ориг?нальних реал?зац?ях Microsoft Windows чи MacOS. Б?льш?сть сучасних ОС ? модульними ? граф?чна п?дсистема у них в?дд?лена в?д ядра (як, наприклад, у Л?нукс, МакОС Х ? частково у В?ндовс).
Багато операц?йних систем дозволяють користувачев? встановити будь-який граф?чний ?нтерфейс на власний виб?р. Типовим прикладом у б?льшост? Unix-под?бних систем (BSD, Linux, Minix) ? в?конна система Х у по?днанн? з граф?чним менеджером KDE чи Gnome. Для Unix-под?бних-систем граф?чний ?нтерфейс не ? необх?дним.
Граф?чний ?нтерфейс користувача невпинно розвива?ться. Наприклад, ?нтерфейс Windows модиф?ку?ться щоразу при випуску ново? основно? верс??, а Г?К MacOS було кардинально зм?нено п?сля випуску Mac OS X у 2001 роц?.
Драйвери — це особливий тип комп'ютерних програм, розроблених для коректно? вза?мод?? з пристроями. Вони представляють ?нтерфейс для вза?мод?? з пристро?м через певну шину комп'ютера, до котро? даний пристр?й п?д'?днано, за допомогою ряду команд що в?дправляють та отримують дан? з пристрою. Ц? програми залежн? як в?д пристрою так ? в?д операц?йно? системи, тобто кожен пристр?й потребу? свого драйвера п?д кожну ОС.
Ключовим моментом про?ктування драйвер?в ? абстрагування. Кожна модель пристрою (нав?ть якщо пристро? однакового класу) ? ун?кальною. Нов?ш? модел? часто працюють швидше чи продуктивн?ше ? ?накше контролюються. ОС не може знати, як контролювати кожен пристр?й зараз ? в майбутньому. Для вир?шення ц??? проблеми ОС лише зада? правила повед?нки класу пристро?в. Задачею драйвера ? перетворення цих правил у специф?чн? для кожного пристрою команди керування.
В б?льшост? сучасних ОС реал?зовано п?дтримку стеку протокол?в TCP/IP. Це означа? що вони можуть вза?мод?яти в мереж?, доступаючись до ресурс?в одне одного.
Багато ОС також п?дтримують один чи к?лька специф?чних протокол?в, як, наприклад, SNA на системах в?д IBM, DECnet на системах в?д Digital Equipment Corporation, та Microsoft-специф?чн? протоколи для Windows. Для певних задач використовуються специф?чн? протоколи, як, наприклад, NFS для роботи з файлами через мережу.
Перш? комп'ютери взагал? не мали ОС. На початку 1960-х вони лише комплектувались набором ?нструмент?в для розробки, планування та виконання завдань. Серед ?нших можна вид?лити системи в?д Remington Rand (UNIVAC) та Control Data Corporation.[2]
До к?нця 1960-х, проте, було розроблено ц?лий ряд операц?йних систем, в котрих були реал?зован? вс? або б?льш?сть з вищеперел?чених функц?й. До них можна в?днести ?Atlas? (Манчестерський ун?верситет), ?CTTS? та ?ITSS? (Массачусетський технолог?чний ?нститут (MIT)), ?THE? (Техн?чний ун?верситет Ейндговена), ?RS4000? (Оргуський ун?верситет) та ?нш? (на той момент ?х нал?чувалось близько сотн?).[3]
Найб?льш розвинут? ОС того часу, так? як OS/360 (компан?я IBM), SCOPE (компан?я CDC) та завершений вже в 1970-х роках MULTICS (МТ? та компан?я Bell Labs), передбачали можлив?сть використання багатопроцесорних системи.
Спонтанний характер розробки ОС призв?в до наростання кризових явищ, пов'язаних, перш за все, з? складн?стю та великими розм?рами розроблюваних систем. ОС погано масштабувались (прост?ш? не використовували вс?х можливостей потужних обчислювальних машин; складн?ш? неоптимально виконувались або взагал? не виконувались на менш потужних системах) ? були повн?стю несум?сними м?ж собою.
У 1969 роц? сп?вроб?тники МТ? Кен Томпсон, Ден?с Р?тч? та Браян Керн?ган з колегами розробили та реал?зували ОС UNIX (первинно ?UNICS?, на противагу ?MULTICS?). Нова ОС ув?брала в себе багато рис попередниць, але на противагу ?м мала ц?лий ряд переваг:
- проста метафорика (два ключових поняття — процес та файл);
- компонентна арх?тектура (принцип ?одна програма — одна функц?я?, або ?накше ?кожна програма ма? робити лише одну роботу, але робити ?? добре? плюс потужн? засоби об'?днання цих програм для розв'язання конкретних задач);
- м?н?м?зац?я ядра та к?лькост? системних виклик?в;
- незалежн?сть в?д апаратно? арх?тектури ? реал?зац?я на машинно незалежн?й мов? програмування (для цього була розроблена мова програмування ?C?);
- ун?ф?кац?я файл?в (будь-що у систем? ? файлом, до якого можна доступитись за сп?льними для вс?х правилами).
Завдяки зручност? перш за все як ?нструментального середовища Unix дуже тепло зустр?ли в ун?верситетах, а пот?м ? в галуз? в ц?лому ? незабаром вона стала прототипом ?дино? ОС, котру можна було використовувати у найр?зноман?тн?ших обчислювальних системах, ? — б?льше того — швидко та з м?н?мумом зусиль перенести на ?ншу апаратну арх?тектуру.
Наприк?нц? 1970-х рок?в сп?вроб?тники Кал?форн?йського ун?верситету в Беркл? внесли ряд сутт?вих вдосконалень у джерельн? коди Unix, включно з реал?зац??ю стеку мережевих протокол?в TCP/IP. ?х розробка стала в?домою п?д ?менем BSD (англ. Berkeley Software Distribution).
Через конфл?кт з Bell Labs Р?чард Столмен поставив задачу реал?зувати повн?стю незалежну в?д авторських прав ОС на основ? ?дей Unix, заснувавши про?кт GNU (рекурсивне скорочення англ. GNU's Not Unix)[3].
Незабаром Unix стала стандартом де-факто, а пот?м ? юридичним — ISO/IEC 9945. ОС, що дотримувались цього стандарту чи опираються на нього, називають ?в?дкритими? або ?стандартними?. До них належать системи, що базуються на останн?й верс?? Unix, випущен?й Bell Labs (UNIX System V), на розробках Ун?верситету Беркл? (FreeBSD, OpenBSD, NetBSD), а також ОС Linux, розроблена сп?льнотою на чол? з Л?нусом Торвальдсом та в межах про?кту GNU (основн? системн? ?нструменти).
В 2023 роц?, з метою знизити залежн?сть в?д технолог?й США, в Кита? було розроблено першу нац?ональну операц?йну систему з в?дкритим кодом, яка отримала назву OpenKylin. Зг?дно пов?домлення агентства Reuters, нова операц?йна система заснована на Linux та п?дтриму?ться сп?льнотою з 4000 розробник?в. ?? можна використовувати на комп'ютерах та планшетах з арх?тектурами x86, ARM та RISC-V. Платформа використовуватиметься у китайськ?й косм?чн?й програм?, а також у ф?нансов?й та енергетичн?й галузях кра?ни[4].
Сучасн? операц?йн? системи типово мають граф?чний ?нтерфейс користувача, котрий на додачу до клав?атури користу?ться також вказ?вниковим пристро?м — мишею чи тачпадом. Стар?ш? системи, та системи, що не призначен? для часто? безпосередньо? вза?мод?? з користувачем (як, наприклад, сервери) типово використовують ?нтерфейс командного рядка. Обидва п?дходи так чи ?накше реал?зують оболонку, котра перетворю? команди користувача — текстов? з клав?атури, чи рухи мишки — на системн? виклики.
При вибор? ОС ключовим моментом ? арх?тектура комп'ютера (зокрема центрального процесора), на котр?й вона буде запускатись. На персональних комп'ютерах, сум?сних з ?ВМ РС, запускаються ОС с?мейства Microsoft Windows, Linux, BSD, iOS. На мейнфреймах IBM Z основними ОС ? z/OS ? Linux. На вбудованих системах використовуються р?зноман?тн? вбудован? ОС, а також ОС реального часу, так? як QNX або VxWorks.

До Unix-под?бних ОС в?дноситься велика к?льк?сть операц?йних систем, котр? можна умовно под?лити на три категор?? — System V, BSD та Linux. Сама назва ?UNIX? ? торговою маркою, що належить The Open Group[en], котра л?цензу? кожну конкретну ОС на предмет того, чи в?дпов?да? вона стандарту. Тому через л?ценз?йн? чи ?нш? неузгодження деяк? ОС, котр? фактично ? Unix-под?бними, не визнан? такими оф?ц?йно.
Unix-под?бн? ОС запускаються на велик?й к?лькост? процесорних арх?тектур. Вони широко використовуються як серверн? системи у б?знес?, як ст?льничн? системи в академ?чному та ?нженерному середовищ?. Тут популярн? Linux та BSD-системи; деяк? вар?анти Linux (так?, як Ubuntu, Red Hat Enterprise Linux та Suse) набувають широкого поширення в корпоративному середовищ?. Linux також ? популярною системою на ст?льницях розробник?в, системних адм?н?стратор?в та ?нших ?Т-спец?ал?ст?в.
Деяк? вар?анти Unix, як, наприклад, HP-UX компан?? Hewlett-Packard та AIX в?д IBM, запускаються лише на апаратних системах сво?х розробник?в. ?нш?, як, наприклад, Solaris, можуть запускатись на багатьох апаратних типах, включаючи сервери на баз? x86 та ПК.

Спочатку родина ОС Microsoft Windows про?ктувалась як граф?чна надбудова над старими середовищами DOS. Сучасн? верс?? розроблен? на баз? нового ядра NT(англ. New Technology, нова технолог?я), яке з'явилось в OS/2, запозичене[джерело?] з VMS. Windows запуска?ться на 32- та 64-б?тних процесорах арх?тектур IA-32 та x86-64 (Intel та AMD); а також ARM. Попередн? верс?? також могли запускатись на процесорах DEC Alpha, MIPS та PowerPC.
Станом на 2006 р?к Windows утриму? монопольне становище (близько 94 %) св?тового ринку наст?льних систем, дещо втрачаючи позиц?? через зростання популярност? систем з в?дкритими джерельними кодами. Вона також використову?ться на малих та середн?х серверах мереж та баз даних.
Станом на 27 червня 2008 року операц?йн? системи с?мейства Microsoft Windows займають 91 % частки св?тового ринку ОС[5]
У листопад? 2006 року, п?сля б?льш н?ж 5 рок?в розробки, корпорац?я Microsoft випустила ОС Windows Vista, що м?стить велику к?льк?сть нововведень та арх?тектурних зм?н в пор?внянн? з попередн?ми верс?ями Windows. Серед ?нших можна вид?лити новий ?нтерфейс користувача, названий Windows Aero, ряд вдосконалень безпеки, як, наприклад, Контроль ре?страц?йного запису користувача (User Account Control) та нов? програми для мультимед?а, як, наприклад, Windows DVD Maker.
Windows 8 представив користувацький ?нтерфейс Metro з п?дтримкою сенсорних екран?в. Верс?я Windows 8.1 б?льш зручна для користувач?в, як? не мають сенсорного екрана[джерело?].
Дв? найважлив?ш? функц?? операц?йних систем Windows — це контроль за доступом до апаратних засоб?в ? керування застосунками. Керування апаратними засобами зд?йсню?ться за допомогою драйвер?в пристро?в, як? ? або стандартними компонентами ОС, або присутн? на нос??, що постача?ться разом з апаратним пристро?м, або доступн? на вебсайт? виробника пристрою.
Сучасн? верс?? Windows ? багатозадачними ? п?дтримують багатопроцесорн?сть. Основним компонентом граф?чно? п?дситеми ? DirectX.[джерело?]
Mac OS X — це ряд граф?чних ОС, що розроблюються, реал?зуються та п?дтримуються компан??ю Apple. Mac OS X — це наступниця ориг?нально? MacOS, що ?? розробляла Apple з 1984 року. На в?дм?ну в?д попередниц?, Mac OS X ? Юн?кс-системою, що розроблена на основ? NEXTSTEP, близько? до г?лки BSD.
Перш? випуски Mac OS X були у 1999 роц? — Mac OS X Server 1.0, та в березн? 2001 — Mac OS X 10.0. З того часу було випущено ще багато верс?й Mac OS X у вар?антах ?к?нцевий користувач? та ?сервер?. Остання верс?я macOS Catalina (альтернативна назва: OS X 10.15)], випущена 7 жовтня 2019 року.
Серверна верс?я Mac OS X Server арх?тектурно ?дентична верс?? для к?нцевого користувача, але м?стить програми для керування робочими групами та адм?н?стрування ключових мережевих служб, включаючи поштов? служби, сервери каталогу, доступу до файл?в, веб, календар?в, в?к? Samba, LDAP, DNS, Apache та ?н. У верс?? 10.7 серверн? компоненти встановлюються просто як додатковий наб?р програм в середовищ? робочо? станц??.
Основна ?дея тако? системи — легкий перех?д в?д одного комп'ютера до ?ншого.[джерело?]
Прикладом хмарно? ОС ? JoliOS (розробка припинена 2016 року)[6].
![]() | Цей розд?л потребу? доповнення. |
- ↑ Lorch, Jacob R.; Smith, Alan Jay (1996). Reducing processor power consumption by improving processor time management in a single-user operating system. Proceedings of the 2nd annual international conference on Mobile computing and networking - MobiCom '96. ACM Press. doi:10.1145/236387.236437. Процитовано 28 с?чня 2022.
- ↑ Hansen, Per Brinch (10 с?чня 2001). Classic Operating Systems: From Batch Processing to Distributed Systems (англ.). Springer Science & Business Media. ISBN 978-0-387-95113-3.
- ↑ а б British Computer Society, S. H. (1998). A history of Manchester computers (вид. 2nd ed). Swindon: British Computer Society. ISBN 1-902505-01-8. OCLC 156380308.
- ↑ Артем Житкевич (6 липня 2023). У Кита? вийшла перша в?дкрита ОС OpenKylin.
- ↑ Market Share. Operating System (англ.)
- ↑ Облачная операционная система Jolicloud (рос.). 5 грудня 2010. Арх?в ориг?налу за 5 грудня 2010. Процитовано 30 вересня 2019.
- Шеховцов В. А. Операц?йн? системи К.; Видавнича група BHV.2005. ISBN 966-552-157-8
- Andrew S. Tanenbaum, Herbert Bos. Modern Operating Systems на ?Google Books? (3rd edition), 2015. 1101 pp.
- Multics History and the history of operating systems(англ.)
- How Stuff Works — Operating Systems(англ.)
- DynaOS — Description of a conceptual Distributed Operating System(англ.)
- Operating System Documentation Project(англ.)
- Google Directory for Operating System(англ.)