Операційна система: відмінності між версіями

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Brabadu (обговорення | внесок)
мНемає опису редагування
Brabadu (обговорення | внесок)
мНемає опису редагування
Рядок 1: Рядок 1:
[[Зображення:Ubuntu.png|thumb|300px|Операційна система [[Linux] [[Ubuntu]]]]
[[Зображення:Ubuntu.png|thumb|300px|Операційна система [[Linux]] [[Ubuntu]]]]
'''Операці́йна систе́ма''' — комплекс [[програмне забезпечення|програм]], що забезпечує управління [[апаратне забезпечення|апаратними]] засобами [[комп'ютер]]а; організує роботу з [[файл]]ами і [[прикладне програмне забезпечення|прикладним програмним забезпеченням]]; здійснює введення і виведення даних.
'''Операці́йна систе́ма''' — комплекс [[програмне забезпечення|програм]], що забезпечує управління [[апаратне забезпечення|апаратними]] засобами [[комп'ютер]]а; організує роботу з [[файл]]ами і [[прикладне програмне забезпечення|прикладним програмним забезпеченням]]; здійснює введення і виведення даних.



Версія за 16:12, 7 вересня 2008

Операційна система Linux Ubuntu

Операці́йна систе́ма — комплекс програм, що забезпечує управління апаратними засобами комп'ютера; організує роботу з файлами і прикладним програмним забезпеченням; здійснює введення і виведення даних.

Поняття ОС

Деякі застосування обчислювальної техніки не потребують ОС. Наприклад, вбудовані мікрокомп'ютери, котрі на сьогоднішній день є в багатьох побутових приладах, автомобілях (іноді й до десяти в одному автомобілі), стільникових телефонах. Такий комп'ютер, як правило, з самого запуску виконує лише одну програму. Прості ігрові приставки також представляють собою спеціалізовані комп'ютери, котрі можуть обходитись без ОС, запускаючи при включенні програму, записану на картриджі чи компакт-диску. Проте більшість з таких вбудованих пристроїв (особливо це стосується сучасних стільникових телефонів та ігрових консолей) працюють під керуванням власних ОС.

В свою чергу ОС потрібні, якщо:

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

В свою чергу багатозадачність та розподілення ресурсів вимагають певної ієрархії привілегій компонентів ОС. В складі ОС виділяють три групи компонентів:

Переважна більшість програм — як системних (тих, що входять до складу ОС), так і прикладних, виконуються у непривілейованому (користувацькому) режимі роботи процесора і отримують доступ до обладнання чи інших ресурсів не напряму, а за посередництвом системних викликів. Ядро ж виконується в привілейованому режимі; саме в цьому сенсі ядро ОС керує обладнанням.

Поточна реалізація стандарту на ОС — POSIX — містить визначення близько тисячі системних викликів та інших бібліотечних підпрограм (частина котрих повинна бути реалізована лише в певних класах підпрограм, наприклад у системах реального часу) і близько 200 команд оболонки та утиліт ОС. Стандарт визначає лише функції викликів та команд і не містить вказівок щодо способу їхньої реалізації. Окрім того він визначає спосіб адресації файлів в системі, локалізацію (особливості національних налаштувань формату дати та часу, мови чи валюти), сумісний набір символів, синтаксис регулярних виразів, структуру каталогів в файловій системі, формат командного рядка та інші аспекти поведінки ОС.

Функції ОС

Керування процесами

Будь-яка запущена на комп'ютері програма, чи то фонова служба чи користувацька програма, є процесом. Оскільки сучасні комп'ютери базуються на архітектурі фон Неймана, то центральний процесор одночасно виконує лише один процес. Старі ОС штибу MS-DOS не намагались обійти це обмеження. В той же час операційні системи мейнфреймів ще на початку 1960-х років були багатозадачними. Сучасні ОС реалізують багатозадачність навіть на одному процесорі за допомогою дуже швидкого перемикання між процесами. В залежності від типу ОС кожному процесові виділяється більший чи менший квант процесорного часу. Більшість ОС дозволяють процесам змінювати пріоритет, що безпосередньо змінює час реакції програми на зовнішні події.

Керування пам'яттю

У сучасних комп'ютерах різні типи пам'яті розташовані на манер піраміди з найшвидшою і найдорожчою пам'яттю — регістрами центрального процесора — на вершині. Далі йдуть все дешевші та повільніші типи пам'яті — кеш центрального процесора, пам'ять з довільним доступом (оперативна пам'ять) і найповільніша але натомість найдешевша — дискова — у основі піраміди.

Керівник пам'яті операційної системи координує використання різних типів пам'яті відслідковуючи їх доступність та переміщуючи дані між ними. Переміщення блоків пам'яті з оперативної пам'яті до дискової в залежності від потреби часто називається віртуальною пам'яттю і дозволяє оперувати більшим, аніж фізично доступний, об'ємом пам'яті з довільним доступом.

Іншим важливим аспектом керування пам'яттю є віртуальна адресація. Якщо в пам'яті одночасно знаходяться кілька процесів, вони повинні бути захищені один від одного (відповідно й від доступу до пам'яті один одного). Це досягається розділенням адресних просторів — кожному процесу виділяється власний адресний простір, що починається з 0 й до максимального значення віртуальної пам'яті. Операційна система підтримує спеціальну таблицю сторінок пам'яті, котра містить відповідності між віртуальними та фізичними адресами. Ці розміщення пам'яті відстежуються таким чином, що, коли процес закінчується, вся пам'ять використовувана цим процесом може бути зроблена доступною для інших процесів.

Операційна система також може записувати неактивні сторінки пам'яті на вторинні пристрої. Цей процес називається пейджінгом (англ. paging) або свопінгом (англ. swapping — обмін) — в залежності від термінології конкретної ОС.

Файлова система

Необхідною частиною ОС є підтримка різноманітних файлових систем.

Сучасні файлові системи являють собою ієрархічні структури каталогів. Хоча загальна концепція всіх ФС, в принципі, однакова, в реалізації є деякі відмінності. Два вартих уваги приклади — це символи-розділювачі каталогів та чутливість до регістру. Юнікс-подібні ОС (BSD, Лінукс, MacOS X) та AmigaOS використовують у якості розділювача каталогів символ похилої риски (/), в той час як DOS використовує цей символ для завдавання додаткових опцій у командному рядку, а в якості розділювача прийнято вживати символ зворотної похилої риски (\). У Microsoft Windows прийнята та ж конвенція за винятком китайської та корейської версій, де розділювачем є знак запитання (?). Версії МакОС до Х використовували у якості розділювача двокрапку; RISC OS — дефіс.

У Юнікс-подібних ОС у назві файлу може використовуватись будь-який символ за винятком похилої риски і вони чутливі до регістру. Назви файлів у Microsoft Windows не є чутливими до регістру.

ФС можуть бути журнальними або нежурнальними. Журнальні файлові системи пишуть інформацію двічі: спершу до журналу дій файлової системи, потім до її належного місця в звичайній файловій системі. В разі аварії система може автоматично відновлювати свій вміст до узгодженого стану програючи частину журналу. В той же час нежурнальним файловим системам потрібно зробити перевірку усієї файлової системи спеціальними програмами, такими як fsck або scandisk.

Більшість дистрибутивів Лінукс підтримують більшість (або всі) перелічені ФС: ext2, ext3, ReiserFS, Reiser4, GFS, GFS2, OCFS, OCFS2, NILFS, XFS, JFS, заразом як і FAT та NTFS.

Microsoft Windows підтримує лише FAT12, FAT16, FAT32, та NTFS. Серед них NTFS є найефективнішою та єдиною, на котру може бути встановлена Windows Vista. Windows Embedded CE 6.0 включає також підтримку ExFAT, призначеної для роботи на портативних пристроях.

MacOS X підтримує HFS+ у якості первинної ФС та кілька інших як допоміжних.

На додачу всі ці (та інші) ОС підтримують файлові системи змінних носіїв — FAT12 для дискет, ISO 9660 та UDF (Universal Disk Format) для компакт-дисків та DVD відповідно. Windows Vista та Лінукс з ядром версії 2.6 підтримують розширення UDF котрі дозволяють перезаписувати вміст ДВД як у звичайних дискетах.

Робота в мережі

В більшості сучасних ОС реалізовано підтримку стеку протоколів TCP/IP. Це означає що вони можуть взаємодіяти в мережі, доступаючись до ресурсів одне одного.

Багато ОС також підтримують один чи кілька специфічних протоколів, як наприклад SNA на системах від IBM, DECnet на системах від Digital Equipment Corporation, та Microsoft-специфічні протоколи для Windows. Для певних задач виористовуються специфічні протоколи, як наприклад NFS для роботи з файлами через мережу.

Безпека

Безпека ОС базується на двох ідеях:

  1. ОС надає прямий чи непрямий доступ до ресурсів на кшталт файлів на локальному диску, привілейованих системних викликів, особистої інформації про користувачів та служб, представлених запущеними програмами;
  2. ОС може розділити запити ресурсів від авторизованих користувачів, дозволивши доступ, та неавторизованих, заборонивши його.

Запити, в свою чергу, також діляться на два типи:

  1. Внутрішня безпека — вже запущені програми. На деяких системах програма, оскільки вона вже запущена, не має ніяких обмежень, але все ж типово вона має ідентифікатор, котрий використовується для перевірки запитів до ресурсів.
  2. Зовнішня безпека — нові запити з-за меж комп'ютера, як наприклад реєстрація з консолі чи мережеве з'єднання. В цьому випадку відбувається процес авторизації за допомогою імені користувача та паролю, що його підтверджує, чи інших способів як наприклад магнітні картки чи біометричні дані.

На додачу до моделі дозволити/заборонити системи з підвищеним рівнем безпеки також слідкують за діяльністю користувачів, що дозволяє пізніше дати відповідь на питання штибу «Хто читав цей файл?»

Графічний інтерфейс користувача

Більшість сучасних операційних систем мають графічний інтерфейс користувача (ГІК, англ. Graphical User Interfaces, GUIs, вимовляється як «гуіз»). В деяких старіших ОС ГІК вбудований у ядро, як наприклад у оригінальних реалізаціях Microsoft Windows чи MacOS. Більшість сучасних ОС є модульними і графічна підсистема у них відділена від ядра (як наприклад у Лінукс, МакОС Х і частково у Віндовз).

Багато операційних систем дозволяють користувачеві встановити будь-який графічний інтерфейс на власний вибір. Типовим прикладом у більшості Юнікс-систем (BSD, Лінукс, Minix) є віконна система Х у поєднанні з графічним менеджером KDE чи Gnome. Для Юнікс-систем графічний інтерфейс не є необхідним.

Графічний інтерфейс користувача невпинно розвивається. Наприклад, інтерфейс Windows модифікується щоразу при випуску нової основної версії, а ГІК MacOS було кардинально змінено після випуску MacOS X у 2001 році.

Драйвери пристроїв

Драйвери — це особливий тип комп'ютерних програм, розроблених для коректної взаємодії з пристроями. Вони представляють інтерфейс для взаємодії з пристроєм через певну шину комп'ютера, до котрої даний пристрій під'єднано, за допомогою ряду команд що відправляють та отримують дані з пристрою. Ці програми залежні як від пристрою так і від операційної системи, тобто кожен пристрій потребує свого драйвера під кожну ОС.

Ключовим моментом проектування драйверів є абстрагування. Кожна модель пристрою (навіть якщо пристрої однакового класу) є унікальною. Новіші моделі часто працюють швидше чи продуктивніше і інакше контролюються. ОС не може знати, як контролювати кожен пристрій зараз і в майбутньому. Для вирішення цієї проблеми ОС лише задає правила поведінки класу пристроїв. Задачею драйвера є перетворення цих правил у специфічні для кожного пристрою команди керування.

Історія

Перші комп'ютери взагалі не мали ОС. На початку 1960-х вони лише комплектувались набором інструментів для розробки, планування та виконання завдань. Серед інших можна виділити системи від UNIVAC та Control Data Corporation.

До кінця 1960-х, проте, було розроблено цілий ряд операційних систем, в котрих були реалізовані всі або більшість з вищеперелічених фукнцій. До них можна віднести «Atlas» (Манчестерський університет), «CTTS» и «ITSS» (Массачусетський технологічний інститут (МТІ)), «THE» (Ейндховенський технологічний університет), «RS4000» (Університет Орхуса) та інші (на той момент їх налічувалось близько сотні)

Найбільш розвинуті ОС того часу, такі як «OS/360» (компанія «IBM»), «SCOPE» (компанія «CDC») та завершений вже в 1970-х роках «MULTICS» (МТІ та компанія «Bell Labs»), передбачали можливість використання багатопроцесорних системи.

Спонтанний характер розробки ОС призвів до наростання кризових явищ, пов'язаних, перш за все, зі складністю та великими розмірами розроблюваних систем. ОС погано масштабувались (простіші не використовували всіх можливостей потужних обчислювальних машин; складніші неоптимально виконувались або взагалі не виконувались на менш потужних системах) і були повністю несумісними між собою.

У 1969 році співробітники МТІ Кен Томпсон, Деніс Рітчі та Брайан Керніган з колегами розробили та реалізували ОС «Юнікс» («Unix»; первинно «UNICS», на противагу «MULTICS»), котра увібрала в себе багато рис попередниць, але на противагу їм мала цілий ряд переваг:

  • проста метафорика (два ключових поняття — процес та файл);
  • компонентна архітектура (принцип «одна програма — одна функція», або інакше «кожна програма має робити лише одну роботу, але робити її добре» плюс потужні засоби об'єднання цих програм для вирішення конкретних задач);
  • мінімізація ядра та кількості системних викликів;
  • незалежність від апаратної архітектури і реалізація на машинно незалежній мові програмування (для цього була розроблена мова програмування «C»;
  • уніфікація файлів (будь-що у системі є файлом, до котрого можна доступитись по спільних для всіх правилах).

Завдяки зручності перш за все в якості інструментального середовища «Юнікс» дуже тепло зустріли в університетах, а потім і в галузі в цілому і незабаром вона стала прототипом єдиної ОС, котру можна було використовувати у найрізноманітніших обчислювальних системах, і — більше того — швидко та з мінімумом зусиль перенести на іншу апаратну архітектуру.

В кінці 1970-х років співробітники Каліфорнійського університету в Берклі внесли ряд суттєвих вдосконалень у джерельні коди Юнікс, включно з реалізацією стеку мережевих протоколів TCP/IP. Їх розробка стала відомою під іменем BSD (англ. Berkeley Software Distribution).

Через конфлікт з «Bell Labs» Річард Столмен поставив задачу реалізувати повністю незалежну від авторських прав ОС на основі Юнікс, заснувавши проект «GNU» (англ. рекурсивсне скорочення «GNU's Not Unix» — «ГНЮ Не Юнікс»).

Незабаром «Юнікс» стала стандартом де-факто, а потім і юридичним — ISO/IEC 9945. ОС, що дотримувались цього стандарту чи опираються на нього, називають «відкритими» або «стандартними». До них відносяться системи, що базуються на останній версії «Юнікс», випущеної «Bell Labs» («System V»), на розробках Університету Берклі («FreeBSD», «OpenBSD», «NetBSD»), а також ОС «Linux», розроблена спільнотою на чолі з Лінусом Торвальдсом та в межах проекту «GNU» (основні системні інструменти).

Сьогодення

Сучасні операційні системи типово мають графічний інтерфейс користувача, котрий на додачу до клавіатури користується також вказівниковим пристроєм — мишею чи тачпадом. Старіші системи, та системи, що не призначені для частої безпосередньої взаємодії з користувачем (як наприклад сервери) типово використовують інтерфейс командного рядка. Обидва підходи так чи інакше реалізують оболонку, котра перетворює команди користувача — текстові з клавіатури, чи рухи мишки — на системні виклики.

При виборі ОС ключовим моментом є архітектура комп'ютера (зокрема центрального процесора), на котрій вона буде запускатись. На персональних комп'ютерах сумісних з ІВМ РС запускаються ОС сімейства «Майкрософт Віндовз», «Лінукс» та «БСД». На мейнфреймах Burroughs MCP — B5000, IBM OS/360 — IBM System/360, UNIVAC EXEC 8 — UNIVAC 1108. Крім того на більшості сучасних мейнфреймів запускаються різні варіанти Лінукс чи Юнікс, а на деяких — версія Datacenter Windows 2003 Server. На вбудованих системах використовується велика кількість вбудованих ОС.

Юнікс-подібні ОС

KDE запущений в Лінукс.

До юнікс-подібних ОС відноситься велика кількість операційних систем, котрі можна умовно поділити на три категорії — System V, BSD та Лінукс. Сама назва «Юнікс» є торговою маркою, що належить «The Open Group», котра власне й ліцензує кожну конкретну ОС на предмет того, чи відповідає вона стандарту. Тому через ліцензійні чи інші неузгодження деякі ОС, котрі фактично є Юнікс-подібними, не визнані такими офіційно.

Системи Юнікс запускаються на великій кількості процесорних архітектур. Вони широко використовуються як серверні системи у бізнесі, як стільничні системи у академічному та інжененому середовищі. Тут популярні вільні варіанти Юнікс, такі як Лінукс та БСД-системи. Окрім того, деякі з них останнім часом набувають широкого поширення в корпоративному середовищі, особливо це стосується орієнтованих на кінцевого користувача дистрибутивів Лінукс, в першу чергу Ubuntu, Mandriva та Suse. Лінукс також є популярною системою на стільницях розробників, системних адміністраторів та інших ІТ-спеціалістів.

Деякі варіанти Юнікс, як наприклад HP-UX компанії Хьюлет Пакард та AIX від IBM запускаються лише на апаратних системах своїх розробників. Інші, як наприклад Solaris, можуть запускатись на багатьох апаратних типах, включаючи сервери на базі x86 та ПК.

Сімейство Microsoft Windows

Windows XP

Первинно сімейство ОС Microsoft Windows проектувалось як графічна надбудова на старими середовищами DOS. Сучасні версії розроблені на базі нового ядра (англ. NT - New Technology, Нова технологія), що первинно з'явилось в OS/2, запозичене з VMS. Windows запускається на 32- та 64-бітних процесорах Інтел та AMD; попередні версії також могли запускатись на процесорах DEC Alpha, MIPS, Fairchild (пізніше Intergraph) Clipper та PowerPC. Проводились роботи на портування її на архітектуру SPARC.

Станом на 2006 рік Windows утримує монопольне становище (близько 94 %) світового ринку настільних систем, дещо втрачаючи позиції із-за зростання цікавості до систем з відкритими джерельними кодами. Вона також використовується на малих та середніх серверах мереж та баз даних. Останнім часом Microsoft проводить ряд маркетингових досліджень, котрі мають на меті показати привабливість сімейства Windows на ринку корпоративних систем.

Найбільше на сьогоднішній день поширена версія Microsoft Windows XP, випущена 25 жовтня 2001 року. Останній випуск Windows XP Service Pack 2 випущено 6 серпня 2004 року. Станом на 27 червня 2008 року операційні системи сімейства Microsoft Windows займають 91 % долі світового ринку ОС [1]

У листопаді 2006 року, після більш ніж 5 років розробки, корпорація Microsoft випустила ОС Windows Vista, що містить велику кількість нововведень та архітектурних змін в порівнянні з попередніми версіями Windows. Серед інших можна виділити новий інтерфейс користувача, названий Windows Aero, ряд вдосконалень безпеки, як наприклад Контроль реєстраційного запису користувача (User Account Control) та нові програми для мультимедія, як наприклад Windows DVD Maker.

Mac OS X

Робочий стіл Mac OS X «Тигр»

Mac OS X — це ряд графічних ОС, що розроблюються, продаються та підтримуються компанією Apple. Mac OS X — це наступниця оригінальної MacОС, що її розробляла Apple з 1984 року. На відміну від попередниці, Mac OS X є Юнікс-системою, що розроблена на основі FreeBSD.

Перші випуски Mac OS X були у 1999 році — Mac OS X Server 1.0, та в березні 2001 — Mac OS X 10.0. З того часу було випущено ще 5 версій Mac OS X у варіантах «кінцевий користувач» та «сервер». Остання версія, Mac OS X 10.5, випущена 15 листопада 2007 року. Випуски Mac OS X називаються іменами великих тварин з родини котячих; Остання версія (10.5) носить назву «Леопард».

Серверна версія Mac OS X Server архітектурно ідентична версії для кінцевого користувача, але запускається на серверах виробництва Apple. Вона містить програми для керування робочими групами та адміністрування ключових мережевих служб, включаючи поштові служби, сервери Samba, LDAP, DNS та ін.

Джерела

  1. Market Share. Operating System (англ.)

Література

  • Таненбаум, Эндрю (2007). Современные операционные системы. Издательский дом «Питер». с. 1040. ISBN 978-5-318-00299-1.

Дивись також

Шаблон:Link FA