UNIX® (Ю́нікс) — це сімейство багатозадачних комп'ютерних операційних систем, що підтримують одночасне використання багатьма користувачами. Воно походить від оригінального «AT&T Unix», розробленого впродовж 1970-х років у дослідницькому центрі Bell Labs Кеном Томпсоном, Деннісом Рітчі та іншими.
Спочатку Unix був призначений для використання в Bell System. Але пізніше, наприкінці 1970-х, AT&T ліцензувала його для сторонніх організацій. Це зумовило виникнення різноманітних академічних і комерційних варіантів Unix під різними торговими марками, такими як Каліфорнійський університет, Берклі (BSD), Microsoft (Xenix), Sun Microsystems (SunOS/Solaris), HP/HPE (HP-UX) та IBM (AIX). На початку 1990-х AT&T продала свої права на Unix компанії Novell, яка 1995 року продала його Santa Cruz Operation (SCO). Торгова марка UNIX була передана The Open Group, нейтральному галузевому консорціуму, заснованому 1996 року. Він дозволяє використовувати торгову марку для сертифікованих операційних систем, що відповідають єдиній специфікації UNIX (Single UNIX Specification, SUS). Однак Novell продовжує володіти авторськими правами на Unix, що було підтверджено судовою справою SCO Group, Inc. проти Novell, Inc. (2010).
Для систем Unix характерний модульний дизайн, який іноді називають «філософією Unix». Відповідно до цієї філософії, операційна система повинна забезпечувати набір простих інструментів, кожен з яких виконує обмежену, чітко визначену функцію. Уніфікована файлова система (файлова система Unix) та міжпроцесорний механізм зв'язку, відомий як «конвеєр» («pipe»), створюють основу для комунікації, а інтерпретатор команд командної оболонки дає змогу писати скрипти, що поєднує ці інструменти для виконання складних задач.
Unix відрізнявся від своїх попередників тим, що був першою портативною операційною системою. Майже вся операційна система написана мовою програмування C, що дозволяє їй працювати на різних платформах.
Історія
Попередники У 1957 році Bell Labs розпочала створення операційної системи для власних потреб. Під керівництвом Віктора Висоцького (росіянина за походженням) була створена система BESYS. Після цього він керував проєктом Multics, а згодом став головою інформаційного підрозділу Bell Labs.
У 1964 році з'явилися комп'ютери третього покоління, для яких можливості BESYS вже не підходили. Висоцький та його колеги вирішили не розробляти нову власну операційну систему, а приєднатися до спільного проєкту General Electric та Массачусетського технологічного інституту MULTICS. Вагому підтримку проєкту надав телекомунікаційний велетень AT&T, але 1969 року він вийшов з проєкту, оскільки останній не приносив жодних фінансових вигод.
Перші UNIX
Першочергово UNIX був розроблений у кінці 1960-х років співробітниками Bell Labs, у першу чергу Кеном Томпсоном, Деннісом Рітчі та Дугласом Макілроєм.
У 1969 році Кен Томпсон, намагаючись реалізувати ідеї, покладені в основу MULTICS, але на скромнішому апаратному забезпеченні (DEC PDP-7), написав першу версію нової операційної системи, а Браян Керніган вигадав для неї назву — UNICS (UNIplexed Information and Computing System) — на противагу MULTICS (MULTIplexed Information and Computing Service). Пізніше ця назва скоротилась до UNIX. У 1970 р. вийшла версія для PDP-11, найуспішнішого сімейства мікрокомп'ютерів 1970-тих (у СРСР воно було відоме як клон PDP — СМ ЕОМ).
У 1973 р. вирішили переписати ядро системи щойно створеною мовою Сі. UNIX став першою операційною системою, майже повністю написаною мовою програмування високого рівня, що суттєво спростило портування системи на інші архітектури. 15 жовтня на черговому симпозіумі ACM була представлена четверта версія UNIX. Незабаром з'явилася UNIX Version 5, з 1974 року розпочалося безплатне розповсюдження серед університетів і академічних закладів.
До 1975 року вийшла UNIX Version 6, відома за широко розповсюдженими коментарями Джона Лайонса (Lions' Commentary on UNIX 6th Edition, with Source Code, , ). До 1978 р. система використовувалася на понад 600 машинах, насамперед в університетах. Версія 7 було останньою єдиною версією UNIX. Саме у версії 7 з'явився близький до сучасного інтерпретатор командного рядка Bourne shell.
Розкол Система Unix набула розповсюдження серед університетських спільнот для викладання курсу операційних систем. У цей момент керівники AT&T вирішили, що це погана ідея, те, що кожен студент у світі дізнається про їхній продукт, яким вони володіли. Отже, [./Https://en.wikipedia.org/wiki/Version_7_Unix версія 7] прийшла з ліцензією, яка говорить: не для використання в навчанні. Це спричинило появу розробки Minix, що була сумісною з 7 версією UNIX, і в той же час мала відкритий код і ліцензію.
Трохи раніше, у 1977 р., лабораторія Білла Джоя в університеті Берклі створила власну версію UNIX, яка базувалась на UNIX Version 6. Ця версія отримала назву BSD ()., яка була зрілою, стабільною робочою системою на початок 80х років. Хлопці, які її сформували, і інші намагалися продавати її комерційно. І що робить AT&T? Вони подали в суд на BSD, щоб заборонити комерціалізувати Unix. В результаті світ побачив FreeBSD.
Після цього компанія AT&T, якій належали Bell Labs, зрозуміла цінність UNIX і почала створення комерційної версії UNIX. Ця версія, яка надійшла у продаж 1982 року, отримала назву UNIX System III та базувалася на сьомій версії системи.
Поворотним моментом в історії UNIX стала реалізація у 1980 р. стеку протоколів TCP/IP. До цього міжмашинна взаємодія в UNIX перебувала у зародковому стані — найбільш суттєвим способом зв'язку був UUCP (засіб копіювання файлів з одної UNIX-системи у іншу, яке спочатку працювало через телефонні мережі за допомогою модемів).
Було запропоновано два інтерфейси програмування мережевих програм: Berkley sockets та інтерфейс транспортного рівня TLI (). Інтерфейс Berkley sockets був розроблений в університеті Берклі та використовував стек протоколів TCP/IP, розроблений у цьому ж університеті. TLI був створений AT&T згідно з визначенням транспортного рівня моделі OSI та вперше з'явився у системі System V версії 3. Хоч ця версія містила TLI та потоки, першочергово у ній не було реалізації TCP/IP та інших мережевих протоколів, але подібні реалізації пропонувались сторонніми фірмами. Реалізація TCP/IP офіційно й остаточно була внесена у базову збірку System V версії 4. Це, як і інші міркування (здебільшого ринкові), спричинило остаточне розмежування між двома гілками UNIX — BSD (університету Берклі) та System V (комерційна версія від AT&T). Потім багато компаній ліцензували System V у AT&T і розробили власні комерційні різновиди UNIX, такі як AIX, HP-UX, IRIX, Solaris.
Вільні UNIX-подібні операційні системи
У 1983 році Річард Столлмен оголосив про створення проєкту GNU — спроба створення вільної UNIX-подібної операційної системи з нуля, без використання оригінального початкового коду. Більша частина програмного забезпечення, розробленого в рамках цього проєкту — такого, як GNU toolchain, Glibc (стандартна бібліотека мови Сі) та Coreutils — відіграють ключову роль в інших вільних операційних системах. Однак, роботи з створення заміни для ядра UNIX, необхідного для повного виконання задач GNU, відбувались дуже повільно. На теперішній час GNU Hurd — спроба створити сучасне ядро на основі мікроядерної архітектури Mach — все ще далека від завершення.
У 1991 році, коли Лінус Торвальдс опублікував ядро Linux та залучив помічників, використання інструментів, розроблених у рамках проєкту GNU, було очевидним вибором. Об'єднавшись з ядром Linux, програмне забезпечення GNU стало основою для UNIX-подібної операційної системи, відомою як Linux. Дистрибутиви цієї системи (такі як Red Hat та Debian), які містять ядро, утиліти GNU та додаткове програмне забезпечення стали популярними як серед аматорів, так і серед фахівців.
У результаті врегулювання юридичної справи, відкритою UNIX Systems Laboratories проти університету Берклі та Berkeley Software Design Inc., було встановлено, що університет може розповсюджувати BSD UNIX, в тому числі безплатно. Після цього були відновлені експерименти, пов'язані з BSD-версією UNIX. Незабаром розробка BSD UNIX була продовжена у декількох напрямах одночасно, що призвело до появи проєктів, відомих як FreeBSD, NetBSD, OpenBSD та DragonFlyBSD.
На теперішній час Linux та представники сімейства BSD швидко відвойовують ринок у комерційних UNIX-систем та одночасно проникають як у персональні комп'ютери користувачів, так і на мобільні вмонтовані системи. Одним зі свідчень цього успіху є той факт, що коли фірма Apple шукала основу для своєї операційної системи, вона вибрала NEXTSTEP — операційну систему з вільно розповсюджуваним ядром, розроблену фірмою NeXT та перейменованою у Darwin після придбання фірмою Apple. Ця система належить до сімейства BSD та базується на ядрі Mach. Застосування Darwin BSD UNIX у Mac OS X робить його однією з найбільш розповсюджених версій UNIX.
Стандарти Доки панувало вузьке трактування ОС UNIX (тобто доки ОС UNIX не була комерційним продуктом), не було потреби в стандартизації засобів цієї ОС. Нечисленні висококваліфіковані користувачі ОС UNIX самі могли розібратися в особливостях і відмінностях версії системи, якою вони користуються, та обрати ту підмножину її засобів, яке забезпечувало платформонезалежність програми.
Однак, з виходом ОС UNIX на комерційний ринок, переходом до широкого трактування системи та суттєвим збільшенням числа користувачів різних її варіантів, стало необхідним ввести можливість виробництва побудованих на основі ОС UNIX операційних систем, які були б дійсно сумісними. Для цього необхідна стандартизація (інтерфейсів) засобів операційної системи на різних рівнях. Така робота триває вже близько 10 років, ще не завершена й навряд чи колись буде завершена у вигляді кінцевого набору стандартів де-юре. Однак, навіть отримані результати дають змогу виробникам забезпечити користувачів різних апаратних платформ операційними системами, достатньо зручними для користування і дають можливість розробляти мобільні прикладні системи, які здатні виконуватись на комп'ютерах, що мають операційні системи з аналогічними властивостями.
System V Interface Definition (SVID) Одним з найбільш ранніх стандартів де-факто ОС UNIX є виданий UNIX System Laboratories (USL) разом із виданням версії ОС UNIX System V Release 4 документ System V Interface Definition (SVID). Якщо згадати історію, то власником оригінальних вихідних текстів ОС UNIX була компанія AT&T Bell Laboratories (саме працівники цієї компанії розробили на початку 1970-х найпопулярніший перший мобільний варіант ОС UNIX). У 1980-ті роки компанія AT&T створила компанію USL, до якої були передані права на вихідні тексти і торгову марку ОС UNIX. USL видала системи з System V R.4.0 до System V R.4.2, після чого в кінці 1993 р. була поглинена компанією Novell, яка стала власником вихідних текстів ОС UNIX (під впливом суспільства торгова марка «UNIX» була передана до компанії X/Open).
Діяльність комітетів POSIX
Слід згадати, що поряд із версіями ОС UNIX, що розвивалися в компанії AT&T (потім в USL, далі в Novell), історично існував ще напрямок BSD (Berkeley Standard Distribution), який підтримувала невелика всесвітньо відома група з університету Берклі. Свого часу (наприкінці 1970-х) університет отримав від AT&T вихідні тексти 16-розрядної ОС UNIX, на базі якої була вироблена 32-розрядна система, яка спочатку використовувалася на комп'ютерах сімейства VAX, а потім була перенесена на багато інших апаратних платформ. В результаті, набори системних викликів UNIX AT&T і BSD вже помітно відрізнялися.