Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
os_polnaya.doc
Скачиваний:
8
Добавлен:
17.09.2019
Размер:
2.3 Mб
Скачать

8. Етапи розвитку ос

Особливості сучасного етапу розвитку ОС

У 90-ті роки практично всі ОС, що займають помітне місце на ринку, стали мережевими. Мережеві функції сьогодні вбудовуються в ядро ОС, будучи її невід'ємною частиною. ОС дістали кошти для роботи з всіма основними технологіями локальних (Ethernet, Fast Ethernet, Gigabit Ethernet, Token Ring, FDDI, ATM) і глобальних (Х.25, frame relay, ISDN, ATM) мереж, а також засобу для створення складених мереж (IP, IPX, AppleTalk, RIP, OSPF, NLSP). В ОС використовуються засоби мультиплексування декількох стеків протоколів, за рахунок яких комп'ютери можуть підтримувати одночасну мережну роботу з різнорідними клієнтами і серверами. З'явилися спеціалізовані ОС, що призначені винятково для виконання комунікаційних задач. Наприклад, мережева ОС IOS компанії Cisco Systems, що працює в маршрутизаторах, організує в мультипрограмному режимі виконання набору програм, кожна з який реалізує один з комунікаційних протоколів.

Особлива увага протягом всього останнього десятиліття приділялася корпоративним мережевим ОС. Корпоративна ОС відрізняється здатністю добре і стійко працювати у великих мережах, що характерні для великих підприємств, що мають відділення в десятках міст і, можливо, у різних країнах. До дійсного часу досить явно визначилася трійка лідерів у класі корпоративних ОС — це Novell NetWare 4.x і 5.0, Microsoft Windows NT 4.0 і Windows 2000, а також UNIX-системи різних виробників апаратних платформ.

Сучасним ОС властива багатоплатформенністъ, тобто здатність працювати на зовсім різних типах комп'ютерів. Багато ОС мають спеціальні версії для підтримки кластерних архітектур, що забезпечують високу продуктивність. Виключенням поки є ОС NetWare, усі версії якої розроблені для платформи Intel, а реалізації функцій NetWare у вигляді оболонки для інших ОС, наприклад NetWare for AIX, успіху не мали.

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

Перші комп'ютери взагалі не мали ОС. На початку 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» (основні системні інструменти).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]