Тема 2. Огляд операційних систем
Лекція 3. Сімейство операційних систем ПК: DOS, Macintosh, UNIX, OS/2, BeOS
На сьогодні відомо багато типів ОС: MS DOS, OS/2, Unix,
Linux, Windows NT/2000/ХР, Windiws7/8/10 і т.д. Кожна
має свої недоліки та переваги, бо універсальних ОС не існує. Одні більш вигідні
для програмістів, інші - для користування в домашніх умовах, ще інші - для
роботи в мережі. Саме тому знання однієї ОС в наш час недостатнє.
Сімейство DOS
Операційні системи DOS беруть початок з 1981 року з
історичної угоди між IBM та Microsoft. Найбільш відомою ОС даного сімейства
стала MS-DOS (абревіатура словосполучення Microsoft Disk Operating System), розроблена в рамках угоди для постачання з
комп'ютерами IBM PC (хоча спочатку IBM надавала перевагу іншій ОС за назвою
СР/М). До речі, деякі сьогодні пам'ятають, що MS-DOS аж ніяк не була
оригінальною розробкою самої Microsoft: компанія Білла Гейтса лише доробила «операційку» за назвою QDOS (Quick
and Dirty Operating System), створену
компанією Seattle Computer Products. QDOS, у свою чергу, була прототипною
розробкою, яка реалізовувала переробку ОС за назвою СР/М під процесор
Intel-8086. MS-DOS була розвинута до версії 6.22, на яку рекомендувалося
ставити Windows 95, після чого начебто розробка була припинена. Але спеціалісти
стверджують, що в основі Windows 98 також лежить версія MS-DOS 7.0.
16-розрядна однозадачна
операційна система DOS володіла «інтерфейсом командного рядка», тобто всі
команди користувачу доводилося набирати на клавіатурі вручну, у командному рядку
ОС. DOS процвітала протягом 10 років, удосконалювалася і поповнювалася новими
програмами. З кожною новою версією вона підтримувала усе більше типів
пристроїв. Однак головні її недоліки не були, та й не могли бути усунуті.
Головним уразливим місцем DOS залишалася робота з
оперативною пам'яттю. Справа в тім, що в епоху створення MS-DOS оперативна
пам'ять більшості комп'ютерів не перевищувала 256 кілобайт. DOS могла працювати
з 640 кілобайтами оперативної пам'яті. З'явилися програми, яким був потрібний для
роботи весь обсяг оперативної пам'яті. Стандартний же сервіс DOS цієї
можливості не надавав.
Другим недоліком DOS була неможливість роботи в
повноцінному графічному режимі. DOS практично не дозволяла працювати з
драйверами різних відеокарт.
Тим часом наприкінці 80-х років графічний режим
став уже стандартним для таких комп'ютерів, як Apple
Macintosh — завдяки чому ці комп'ютери перетворилися на стандарт «видавничого»
комп'ютера.
Нарешті, третьою перешкодою на шляху MS-DOS стала однозадачність.
У результаті, з появою Windows 95, DOS практично не
використовується, хоча дотепер установлена на наших комп'ютерах як складове
ядро Windows.
Паралельно з Microsoft IBM вела роботу власними
силами над подібною ОС, назвавши нову версію PC-DOS. Проте невдала
маркетингова політика завадила поширенню даної ОС. Але в 1999 році IBM навіть
випустила нову версію — DOS 2000.
У 1988 році фірма Digital
Research випускає DR-DOS, яка, за думкою
преси, має серйозні переваги перед MS-DOS через більш потужні утиліти. Однак
подальшому розвитку завадила необхідність внесення змін для сумісності з
Windows, і DR-DOS так ніколи і не завоювала значної долі ринку. В 1993 році
фірма Novell купує DR-DOS і, додавши в неї більш
розвинені мережеві функції, повторно випускає її на ринок як Novell DOS 7.0. Але дана спроба була марною, бо значення
операційних систем DOS залишилося в минулому.
У 1994 році було випущено відкриту реалізацію FreeDOS. А трохи пізніше з'явилася версія FreeDOS32 -
вільна та повністю 32-бітна ДОС, яка не потребує
розширень для запуску 32-бітних програм.
Сімейство Macintosh
Конкурентом лінії Windows цю ОС не назвеш — хоча б
тому, що на PC-сумісні комп'ютери вона не встановлюється. Вотчина MacOS — комп'ютери Macintosh, що випускаються корпорацією Apple.
На початку 1983 року Apple
випускає Lisa, один з перших мікрокомп'ютерів з графічним
інтерфейсом користувача. Ненадійність апаратних засобів та середня ціна в 10
тис. дол. визначили загальну невдачу цих комп'ютерів, але вони проклали дорогу
більш доступній та надійній моделі Macintosh, що з'явилася на рік пізніше. Особливими рисами Lisa і Мас стало те, що прибічники DOS глузливо називали
WIMP-інтерфейсом (wimp — нудний; WIMP — windows, icons, mice, pointers — вікна,
піктограми, мишка, вказівники), а також папки та довгі імена файлів - ці
компоненти почали з'являтися у Windows, починаючи з версії 2.0, а повною мірою
реалізовані лише в Windows 95.
З 1999 року, подолавши фінансові труднощі,
Macintosh перебазувався на unix-подібне ядро Mach та
змінив назву на MacOS X (між іншим, на тому ж ядрі базується операційна
система OpenDarwin та деякі інші).
У свій час Macintosh вважався лідером ринку ПК. Ще
на початку 80-х комп'ютери Macintosh упевнено працювали з могутніми графічними
пакетами і не відчували підступного «бар'єра 640 кбайт».
І сьогодні, в епоху розквіту Windows, MacOS як і раніше за стабільністю і зручністю їй дотепер
немає рівних. MacOS (рис. 2.3) може раціонально
використовувати ресурси комп'ютера — адже написані для неї програми працюють
удвічі швидше, ніж їхні конкуренти на PC
аналогічної конфігурації!
Усе було б добре... так от тільки якщо в США саме
«Маки» складають левину частку парку домашніх ПК, то на теренах колишнього СНД
вони так і залишилися шановними і популярними інструментами... для
професіоналів.
Сьогодні Macintosh і MacOS
широко використовують у процесі виготовлення паперової продукції — книг,
ілюстрованих журналів, газет. Такі програми, як Adobe
Photoshop, Adobe Illustrator, Adobe PageMaker споконвічно були призначені для MacOS, і лише потім переведені під Windows.
Сімейство UNIX
Сімейство UNIX (POSIX-подібні
ОС) одне з багаточисельних. Серед інших вирізняється
не лише еволюціонуванням однієї гілки, але й великим розвитком цілком окремих
операційних систем. Історія Unix (а від
початку це була одна операційна система) почалася в 1969 році, коли фірма Bell Labs (в той час підрозділ
корпорації AT&T) у співпраці з General Electric та Массачусетським
технологічним інститутом розробляла дуже прогресивну на той час ОС під назвою Multics, багатокористувацьку та багатозадачну,
як легко здогадатися з назви. В той же рік цей проект було припинено, але деякі
його розробники Кен Томпсон
та Денис Ритчи самотужки продовжили роботу, назвавши
нове творіння Unix. Система була повністю переписана мовою високого
рівня Сі, спеціально для неї написаній, для досягнення легкого перенесення на
різні апаратні платформи. Всі нововведення в початковий Unix
знаходили відображення в його титулатурі. Спочатку
вони знаменувалися зміною версій – було їх майже 10. Потім кількість перейшла в
якість, і версії стали системами – наприклад, System
III, потім System V, яка, до речі, стала останньою.
Подальші модифікації в середині системи почали називатися реалізаціями – System V Release 3, System V Release 4. Остання також
виявилася знаковою – вона (під ідеограмою SVR4 в 1989р.) лягла в основу
більшості сучасних комерційних Unix.
Оскільки перші версії новоствореної ОС, в силу
накладених на AT&T судових обмежень, не могли ставитися та продаватися на
її комп'ютерах, їх почали за досить символічну плату продавати в університети у
вигляді вихідних програмних кодів з можливістю вивчення та модифікації.
Університетське середовище із захватом зустріло нову ОС та почало модернізовувати. Найбільших досягнень на даному поприщі
досягли в університеті Берклі (штат Каліфорнія).
Власну реалізацію вони почали розповсюджувати під назвою BSD Unix (Berkely Software Distribution). За
рахунок того, що всі нововведення розповсюджувалися на загальних принципах
академічних видань і не становили таємниці, вони швидко перекочовували в
комерційні версії, якщо не на рівні коду, то на рівні реалізації ідей. В 1984
році була випущена версія 4.2BSD, яка ставши останньою, дала розвиток напрямку
інших. На той час AT&T звинуватили університет Берклі
в порушенні ліцензійних прав на код Unix у частині
його розповсюдження. В результаті була створена комерційна організація, яка
вирішивши всі ліцензійні проблеми, стала випускати версію BSDi. В самому ж університеті вирішили позбутися
проблемних частин коду та переписали їх, створивши версію BSD-Lite. На основі
нового коду розвинулися такі відкриті системи як FreeBSD, NetBSD, OpenBSD, DragonFly.
У той же час можливість реалізувати Unix на багатьох платформах оцінили виробники специфічного
обладнання - IBM, Sun, Hewlett-Packard, DEC та деякі
інші. Базуючись на SVR3, BSD, пізніше - на SVR4, вони адаптували систему під
власні апаратні засоби та розповсюджували з ними такі варіанти систем як AIX, SunOS, HP-UX, Digital Unix відповідно. Власні версії розвивали також фірми,
які займалися програмним забезпеченням, але не мали власної апаратної
платформи. Однією з таких стала Interactive Systems и Santa Cruz Operations. Вони адаптували
версії Unix під розповсюджені на той час платформи
PDP, а потім і IBM PC. Може здатися дивним, але й «великий Microsoft» не залишив
поза увагою даний напрямок, реалізувавши власну версію для процесорів i386 - XENIX.
Звичайно Берклі не був
єдиним університетом, який займався розвитком Unix.
Були й інші, але найбільшого розвитку досяг університет Карнегі-Меллона,
результатом діяльності якого стала мікроядерна
Unix-сумісна система Mach. їй певного часу пророкували статус операційної
системи майбутнього - на ній базувалися і Digital Unix, і відомий NextStep, говорили про
використання її в розробці OS/2. А Річард Столлмен поклав ядро Mach в
основу свого проекту GNU/Hurd. Сьогодні на
ядрі Mach базуються такі ОС як MacOS
X та OpenDarwin.
Під впливом системи Mach Енді Танненбаум написав свою
версію для вивчення студентами основ операційних систем та назвав її MINIX. Ця операційна
система в свою чергу надихнула Лінуса Торвальдса на написання Linux (рис. 1.4),
1994 рік - вихід першої стабільної версії ядра, основного конкурента на
платформі Intel-подібних процесорів для Windows.
Велике різноманіття операційних систем даного
сімейства потребувало вироблення певного стандарту, який би був прийнятим всіма
учасниками. І таким став POSIX-стандарт. Термін Portable
в назві початково означав, що система, яка відповідає
POSIX-специфікації, може бути перенесена (можливо, з найменшими модифікаціями)
на будь-яке комп'ютерне «залізо». Але з часом не менш важливим виявився новий
аспект: будь-яка прикладна програма, написана відповідно до POSJX-специфікації,
теоретично може бути перенесена (часто без будь-яких переробок) на будь-яку ОС
POSIX-сумісного сімейства. Тобто програми розроблені під абстрактний Unix працюють скрізь. І ці теоретичні твердження працюють
на практиці.
Сімейство Unix розрослося
до велетенських розмірів. Неможливо згадати всі ОС, які до нього входять. Тут є
і великі як UnixWare, і маленькі як QNX, яка може
вміщуватися на одну дискету.
Робота зі всіма системами може проводитися як у
командному рядку, так і в графічному віконному середовищі, яке мало чим
поступається Windows чи MacOS. І звичайно всього
цього, як і самих unix-подібних ОС, існує багато варіантів, і кожен може
вибрати для роботи щось на свій смак.
Сімейство OS/2
Операційна система фірми IBM. Особливою
популярністю як домашня ОС вона ніколи не користувалася, залишаючись у тіні
Windows. Але зусилля як самої IBM, так і багатьох корпоративних та незалежних
розробників програмного забезпечення не пройшли дарма - OS/2 є стабільною
системою з попереджувальною поведінкою та добрим набором системних утиліт і
прикладних програм. При цьому OS/2 становить самостійну лінію розвитку
операційних систем, відрізняючись від Windows NT суттєво меншими вимогами до
«заліза» і нормальною багатозадачністю (3-4 десятки
завантажених програм - звичайне явище для OS/2), а від Linux
– більшою легкістю в освоєнні та добротною підтримкою програм для DOS та win16.
У 1984 році IBM оголошує про випуск нового
покоління персональних комп'ютерів – IBM PC AT. Разом з Microsoft вони
починають розробку нової операційної системи для цих комп'ютерів. Нова ОС
повинна була перейти обмеження DOS на 640Kb пам'яті для прикладних програм та
реалізувати підтримку багатозадачності. В 1986 році
офіційно виходить перша версія, яка ще не має графічного інтерфейсу, не
підтримує мишки та жорсткі диски розміром більше 32Mb. Але наступна версія OS/2 1.1 вже була
позбавлена цих незручностей. А разом з нею була випущена OS/2 Extended Edition, яка мала засоби
підтримки мереж баз даних. Гілка OS/2 першої версії була розвинена до цифри
1.3, реалізувавши вдосконалений графічний інтерфейс з назвою Presentation Manager, нову
високопродуктивну файлову систему HPFS та командну мову REXX.
У 1989 році заявлено про випуск нової версії під
назвою OS/2 Version 3, яка буде апаратно-незалежною.
Але в 1991 році Microsoft відмовляється від співпраці з IBM та забирає всі свої
розробки. А розроблювана версія перейменовується у Windows NT.
У 1992 році нарешті виходить OS/2 2.0, яка повністю
реалізована під архітектуру процесора intel-80386. У новій версії суттєво
поліпшена підтримка програм DOS та Windows – система стала повністю
32-розрядною. У зв'язку із закінченням контракту між IBM та Microsoft (1993р.),
IBM втрачає право на автоматичне включення коду Windows в OS/2, що підштовхує
до випуску OS/2 2.1 for Windows, яка
встановлюється поверх встановленої Windows 3.1.
У 1994 році нарешті виходить OS/2 Warp, Version 3 (рис. 1.5)
вільна від розробок Microsoft, але із ще більшими потужностями. В даній версії
знижені вимоги до пам'яті з 8 до 4Mb, суттєво розширений список підтримуваних
апаратних засобів та прикладних програм. Нарешті, в 1996 році виходить четверта
версія, в якій з'явилося голосове управління та набір тексту з голосу,
вбудована підтримка Java, розширено список
підтримуваної периферії та удосконалений дизайн системи. Останньою значною
версією стала OS/2 Warp Server for e-business. Решта версій
були лише її удосконаленнями. З 2005 року IBM перестала випускати та
підтримувати власну розробку і призвала всіх переходити на Linux.
А всі програмні коди останньої версії OS/2 вирішено було передати ентузіастам з
Інтернет спільноти.
OS/2 традиційно використовується там, де не люблять
суєти, не гоняться за модою та уміють рахувати гроші - в банківській сфері. її
можна зустріти і в більш екзотичних місцях - у банкоматі,
ракеті "Томагавк" (якщо вірити чуткам) та ін. Серед деяких переваг
OS/2 підтримка DOS та Windows програм, а також Unix
програм, які написані відповідно до стандарту POSIX. Графічний інтерфейс, як і
в Unix-подібних системах, може бути відокремлений від операційної системи.
Сімейство BeOS
В 1996 році на світ з'явилася нова 32-розрядна ОС з
графічним інтерфейсом BeOS. Систему відразу
назвали «Операційною системою майбутнього». І вона з честю носила це ім'я.
Розробником нової ОС є Жан-Луї Гассе, засновник
компанії Be Inc. Залишивши Apple на початку дев'яностих, він задумав створити власну
систему, яка б не була схожою на вже існуючі, не тягла за собою, як інші,
вантаж попередників у вигляді потреби сумісності та ін. Задачі, які ставилися
перед новою ОС, на той час були досить серйозними: багатозадачність
з одночасним прорахунком тривимірної графіки, відтворення відео та звуку
паралельно з роботою в Інтернет. З виходом першої версії ці задачі були
виконані. Для цього була створена нова спеціальна апаратна платформа на основі
PowerPC-архітектури; зібраний комп'ютер назвали BeBox.
Нова ОС вирізнялася добре налагодженим механізмом дійсної віртуальної пам'яті ;
чітким розподілом простору пам'яті; паралельністю потоків і, відповідно,
значним підвищенням продуктивності на багатопроцесорних системах; нарешті,
повністю об'єктно-орієнтованою побудовою. Програми для BeOS
малі за розміром, прості в написанні та за рахунок цього стійкіші в роботі. До
всього цього ще й зроблений в дусі Макінтоша інтерфейс. Загалом відмічалося, що
нова ОС ввібрала в себе все найпрогресивніше зі всього, що було на той час.
Користувачі Windows відчують себе вільно в структурі файлової системи;
командний рядок нагадає собою роботу в unix-системах, а графічний інтерфейс
нагадує операційні системи від Apple.
Але не все було так добре, як би хотілося. Через
деякий час фірма Be Inc.
відмовилася від роботи над BeBox, через проблеми з
поставками процесорів, і зосередилася повністю на власній операційній системі,
яка була переписана для процесорів І386. Але розповсюджувати BeOS виявилося досить складно. Потіснити, зайнявши тоді
лідируючі позиції, Windows виявилося неможливим. Була спроба домовитися з
виробниками комп'ютерів на переустановку BeOS разом з Windows, але, як ходять слухи, Microsoft
пригрозило виробникам судовими позовами. І ті відмовили компанії Be Inc. Нарешті BeOS 5 Personal Edition (рис. 1.6) - трохи «полегшена» версія від повної
комерційної - була викладена для безкоштовного скачування в Інтернет (кінець
1996 року). Ажіотаж, пов'язаний з цією акцією компанії, був такий, що сервер не
витримав всіх бажаючих спробувати.
Але не витримавши конкурентної боротьби в 2002 році
компанія Be Inc. перестала
існувати, а з нею і оригінальна версія BeOS. BeOS 5 Development Edition - це версія, яку випустили німецькі розробники на базі
BeOS 5 PE. Як можна судити з назви, призначена вона в
основному для розробників програмного забезпечення і розповсюджується
безкоштовно. BeOS 5 / MiniMax Edition відрізняється від інших максимальною кількістю
програм, які увійшли в пакет. Обсяг варіанта Max -
200Мб, a MiniMax - 70Мб. Dano - це остання версія BeOS
випущена ентузіастами з розроблюваної нової версії (BeOS
5.1) після розпаду Be Inc. PhOS - являє собою можливу версію BeOS
5.1 Max Edition. Тобто
розробники взяли за основу Dano, трохи вдосконалили,
добавили програм та виклали в мережу. Унікальним проектом є Cosmoe, який являє собою BeOS, що
працює з під Linux. Фактично - це гібрид двох ОС.
Оригінальні програми BeOS працюють у ньому після
перекомпіляції. Іншим подібним проектом є BlueEyedOS, який являє
собою комбінацію ядра Linux, Xfree86 та
BeOS-елементів. Даний продукт є комерційним, але на сайті можна скачати демо-диск (LiveCD-версію).
Найбільш перспективними розробками, які продовжують
розвиток BeOS, є проект Zeta (комерційний продукт на 100 % сумісний з BeOS 5) та OpenBeOS (спроба
відтворити вихідний код з нуля та розповсюджувати його на правах ліцензії BSD).
Окрім цього, відомі проекти Sequel, Leonardo та ін. Але вони знаходяться на ранній стадії
розвитку, або вже закинуті. Найбільш слабкими місцями для її розповсюдження є
мала кількість прикладного програмного забезпечення та драйверів-пристроїв для
новітніх апаратних засобів.