Unix miał duży wkład w rozwój systemów operacyjnych, wprowadzając wiele koncepcji będących w powszechnym użyciu do dziś. Do najbardziej znaczących należy upowszechnieniehierarchicznego systemu plików oraz reprezentacji niemal wszystkich składników systemu jako plików (równieżurządzeń peryferyjnych). Twórcy systemu zastosowali podczas jego tworzenia wiele nowatorskich rozwiązań oraz założeń projektowych. Narzędzia systemowe zostały zaprojektowane zgodnie z regułąKISS mówiącą, że programy powinny być proste i realizować dobrze jedną rzecz.
Uniksa po raz pierwszy uruchomiono na komputerzePDP-7
Bell Labs, niezadowolone z wyników, lecz nie z założeń projektowych, wycofało się z projektu w 1969. Ostatnimi pracownikami tej firmy pracującymi nad Multicsem byli:Ken Thompson,Dennis Ritchie,M.D. McIlroy i J.F. Ossanna[2]. Zdecydowali się oni na rozpoczęcie pracy od nowa, lecz na znacznie mniejszą skalę. Ritchie napisał o tym:„To, co chcieliśmy zachować, nie było tylko dobrym środowiskiem doprogramowania, lecz systemem wokół którego można było zbudować społeczność. Wiedzieliśmy z doświadczenia, że istotą pracy grupowej wspomaganej przez zdalny dostęp i systemy z podziałem czasu, było nie tylko wprowadzanie programów przy pomocy terminala, zamiast kart perforowanych, lecz także zachęcanie użytkowników do komunikowania się”[2].
Kiedy Ken Thompson wciąż miał dostęp do środowiska Multics, stworzył kilka symulacji nowegosystemu plików oraz zbudowanego na nim systemu stronicowania. Napisał również gręSpace Travel, lecz wymagała ona do działania wydajniejszej maszyny. Ostatecznie gra została zainstalowana na rzadko używanym komputerzePDP-7 w laboratoriach Bella. Zespół naukowców kierowany przez Thompsona i Ritchiego, w skład którego wchodził równieżRudd Canaday(inne języki), zbudował także na nimhierarchiczny system plików, zalążek mechanizmuprocesów i plików urządzeń,interpreter wiersza poleceń oraz kilka programów narzędziowych[3].
System początkowo nazwanoUnics. Był to żart jednego z kolegów Thompsona –Briana Kernighana[4]. Ponieważ system obsługiwał tylko jednego użytkownika Thomsona nazwano goUn-multiplexed Information and Computing Service. Był tożart słowny nawiązujący do systemu Multics[3][4].
W latach 70. do systemu dodano możliwość jednoczesnej pracy większej liczby użytkowników, a sposób zapisu zmieniono naUnix. Do tego momentu projekt nie miał żadnego wsparcia finansowego ze strony Bell Labs. KiedyComputer Science Research Group chciała wykorzystać Uniksa na znacznie większej maszynie, niż PDP-7, Thompson i Ritchie zdołali wynegocjować obietnicę dodania narzędzi przetwarzania tekstu do wersji na komputeryPDP-11/20, dzięki czemu udało się uzyskać pewne fundusze na dalszy rozwój. Wersja ta została wzbogacona o procesor teksturoff oraz oedytor tekstowy. Wszystkie elementy systemu zostały napisane wasemblerze komputera PDP-11/20. Firma Bell Labs użyła tej pierwszej oficjalnej dystrybucji do pisania swoich zgłoszeń patentowych. Roff szybko ewoluował, zmieniając nazwę natroff i zostając pierwszym programemDTP z pełnym zestawem narzędzi doskładu tekstu.Podręcznik programisty UNIX został opublikowany po raz pierwszy 3 listopada 1971 roku.
W 1972 roku Unix został przepisany najęzykC wbrew panującemu wówczas przekonaniu, że „coś tak złożonego, jaksystem operacyjny, które musi radzić sobie z szybką obsługą krytycznych zdarzeń, powinno być tworzone wyłącznie w assemblerze”[5]. Migracja poprawiła przenośność systemu – uruchomienie go na nowej platformie wymagało przepisania stosunkowo niewielkiego fragmentu kodu zależnego od sprzętu.
Zgodnie z wyrokiem sądu w postępowaniu antymonopolowym przeciwko firmieAT&T będącej właścicielemBell Labs, miała ona zakaz wchodzenia na rynek komputerowy. Unix nie mógł być z tego powodu wydany jako produkt – firma miała obowiązek udostępnienia swoich niezwiązanych z telefonami technologii każdemu zainteresowanemu podmiotowi. W przypadku Uniksa systemem zainteresowały się organizacje akademickie po opublikowaniu wCommunications of the ACM artykułu mu poświęconemu. Ken Thompson po cichu zaczął odpowiadać na prośby, wysyłając kasety i paczkidyskietek. Legenda mówi, że każda z nich zawierała dopisek „love, ken”[6].
Licencje, na których firma AT&T udostępniała system uniwersytetom, firmom komercyjnym oraz rządowi Stanów Zjednoczonych, obejmowały pełenkod źródłowy wraz z fragmentami zależnymi od sprzętu napisanymi w asemblerze PDP-11. Kopie jądra systemu z komentarzem krążyły od 1977 roku w społeczności informatyków w postaci książki „Lions’ Commentary on UNIX 6th Edition, with Source Code” autorstwa profesoraUniwersytetu Nowej Południowej Walii, Johna Lionsa – dzięki czemu zyskał on popularność jako system edukacyjny.
Numery wersji Uniksa nadawano na podstawie wydań podręczników użytkownika. W 1975 roku wydano wersje 4, 5 i 6. Wprowadziły one pojęcieprzetwarzania potokowego, co zaowocowało pojawieniem się bardziej modularnego kodu i przyspieszenia rozwoju. Ponadto pojawiły się pierwsze rozbieżności między wersjami używane wBell Labs i poza nim, jako że w tym samym czasie pojawiły się też dwie pierwsze dystrybucje zewnętrzne:PWB/UNIX(inne języki) oraz komercyjny IS/1. W miarę przepisywania coraz większej części systemu na język C, wzrastała przenośność systemu. Grupa programistów zUniwersytetu w Wollongong uruchomiła system na komputerzeInterdata 7/32(inne języki), zaś Bell Labs opracował kilkaportów na wewnętrzne potrzeby AT&T oraz w ramach eksperymentów. Lista maszyn obejmowała także komputer na bazie procesoraIntel 8086 z autorską jednostką zarządzania pamięcią[potrzebny przypis], orazUNIVAC 1100[7].
W maju 1975 rokuARPA opisała w dokumencieRFC 681 zalet użycia Uniksa jako hosta sieciARPANET. W 1978 roku ukazał sięUNIX/32V(inne języki) na nowy komputerVAX stworzony przez firmęDEC. Do tego czasu pod kontrolą różnych odmian tego systemu pracowało około 600 maszyn. Wersja 7 Uniksa wydana w 1979 roku była ostatnią dostępną dla szerokiego grona odbiorców. Kolejne wersje 8, 9 i 10 były opracowywane przez lata 80. i zostały udostępnione tylko kilku uniwersytetom, aczkolwiek tworzono publikacje opisujące nowe rozwiązania. Prace badawcze oparte na tych rozwiązaniach finalnie doprowadziły do stworzenia w Bell Labs nowego przenośnego systemu o nazwiePlan 9.
W 1982 roku AT&T wydało oparty na wersji 7System III przeznaczony do użytku komercyjnego. Licencja obejmowała również wsparcie dla VAX. Firma kontynuowała wydawanie licencji na starsze wersje systemu. Aby zakończyć zamieszanie z istnieniem wielu różnych wewnętrznych wersji, połączyła je w pierwsze wydanie UNIXSystem V. Zawierało ono kilka nowości, takich jak edytor tekstuvi orazcurses pochodzących zBerkeley Software Distribution rozwijanego naUniwersytecie Kalifornijskim w Berkeley, a także wsparcie dla komputerów z seriiWestern Electric 3B.
W roku 1982 zakończył się trwający od 1974 roku proces antymonopolowy wytoczony przez Departament Sprawiedliwości USA, którego wynikiem był podział AT&T na 7 regionalnych przedsiębiorstw. Nowy wyrok anulował poprzednie zarządzenia, które zabraniały firmie wydania Uniksa jako produktu, dzięki czemu UNIX System V mógł zostać wydany na licencji komercyjnej. Krok ten omal nie doprowadził do śmierci projektu[6].
Nowe warunki licencji Uniksa nie były korzystne dla instytucji akademickich, dlatego naukowcy w Berkeley kontynuowali rozwój swojego systemu BSD jako alternatywy dla produktów AT&T. BSD wprowadził do świata Uniksów sporo nowych rozwiązań, takich jakCshell z kontrolą zadań, jednak największym wkładem było stworzenie implementacji stosuTCP/IP. Wysiłki twórców zaowocowały wydaniem kilku znaczących wersji z dołączonym kodem sieciowym: 4.1cBSD, 4.2BSD, 4.3BSD, 4.3BSD-Tahoe, Net/2, 4.4BSD i 4.4BSD-lite. Opracowana wtedy implementacja jest przodkiem większości modułów obsługi protokołów TCP/IP używanych współcześnie, wliczając w to implementacje w System V oraz we wczesnych wersjach systemuMicrosoft Windows.Interfejs programistyczny gniazd opracowany w Berkeley stał sięde facto standardem dla obsługi sieci, który został powielony na wielu platformach.
Inne firmy rozpoczęły sprzedaż własnych komercyjnych wersji Uniksa dla własnych komputerów orazstacji roboczych. Część z nich bazowała na Systemie V licencjonowanym przez AT&T, inne były oparte na dystrybucji BSD. Jeden z czołowych twórców BSD,Bill Joy, przeniósł się do nowo założonegoSun Microsystems w 1982 roku i pomógł stworzyćSunOS dla pierwszych maszyn tej firmy. W roku 1980Microsoft wydał swój pierwszy klon Uniksa dla 16-bitowych mikrokomputerów zwanyXenix, który został przeportowany na platformęIntel 8086 przezSanta Cruz Operation w 1983 roku, by ostatecznie przekształcić się wSCO UNIX w roku 1989.
W pierwszej połowie lat 80., zanim komputeryPC z systememMS-DOS zdominowały rynek, obserwatorzy przewidywali, że UNIX z uwagi na swoją przenośność i duże możliwości stanie się standardowym systemem operacyjnym dla mikrokomputerów[8]. W 1984 roku kilka przedsiębiorstw powołało do życia konsorcjumX/Open(inne języki), którego celem było stworzenie otwartej specyfikacji bazującej na Uniksie. Pomimo początkowych postępów, standaryzacja zmieniła się w „wojny uniksowe”, w których powstało kilka rywalizujących ze sobą grup standaryzacyjnych. Najbardziej udanym standardem dotyczącym Uniksa była sygnowana przezIEEE specyfikacjaPOSIX, zaprojektowana jako kompromisowy interfejs programistyczny zaimplementowany zarówno w BSD, jak i Systemie V. Opublikowano ją w roku 1988.
AT&T dodało szereg nowych funkcjonalności do swojej odmiany Uniksa, takich jakblokowanie plików(inne języki), narzędzia administracyjne,STREAMS(inne języki), nowe formy komunikacji międzyprocesowej,Remote File Sharing(inne języki) orazTransport Layer Interface(inne języki). Firma współpracowała zSun Microsystems i pomiędzy 1987 a 1989 rokiem dokonała integracji funkcjonalności z Xeniksa, BSD, SunOS-a i Systemu V, tworząc System V Release 4 (SVR4), niezależnie od konsorcjum X/Open. Wydanie to integrowało wszystkie dotychczasowe dodatki w jednym pakiecie, kończąc tym samym wojny między różnymi dystrybucjami. Podniesiona została także opłata licencyjna.
Ewolucja systemów uniksowych oraz uniksopodobnych. na licencjiopen source na licencjishared source i mieszanej na licencji zamkniętej
W roku 1990Open Software Foundation wydała OSF/1, swoją własną implementację Uniksa bazującą na systemachMach iBSD. Fundacja ta została założona w 1988 roku i była finansowana przez kilka firm związanych z rynkiem Uniksa, które chciały przeciwstawić się dominacji AT&T i Sun Microsystems. W odpowiedzi, AT&T wraz z inną grupą przedsiębiorstw powołały „Unix International”, co było powodem wybuchu nowych „wojen uniksowych”.
W roku 1991 grupa programistów BSD (Donn Seeley, Mike Karels,Bill Jolitz oraz Trent Hein) opuściła Uniwersytet Kalifornijski, zakładając firmęBerkeley Software Design, Inc. Udało jej się stworzyć w pełni funkcjonalną komercyjną wersję BSD na niedrogą platformę Intela, co zaowocowało wzrostem zainteresowania wykorzystaniem taniego sprzętu do obliczeń komputerowych. Krótko po powstaniu, grono założycielskie opuścił Bill Jolitz, aby rozwijać dystrybucję 386BSD będącą przodkiemwolnychFreeBSD orazNetBSD. W tym samym roku fiński studentLinus Torvalds rozpoczął pracę nad Linuksem, klonem Uniksa na komputeryIBM PC. Torvalds stworzył jednak tylkojądro, które zostało połączone z systememGNU, tworzącGNU/Linuksa.
Do roku 1993 większość komercyjnych dostawców Uniksa dostosowała swoje odmiany systemu do Systemu V, dodając do nich sporo funkcjonalności systemu BSD. Powstanie konsorcjumCOSE w tym samym roku oznaczało koniec „wojen uniksowych”. Rok później,Open Software Foundation oraz Unix International zostały połączone, zachowując nazwę pierwszej z grup, kończąc także prace nad OSF/1. Do tego momentu jedynym dostawcą, który z niego korzystał, był DEC, który ostatecznie zdecydował się na samodzielny rozwój tej dystrybucji, przemianowując ją na Digital UNIX na początku 1995 roku.
Krótko po ukazaniu się UNIX System V Release 4, firma AT&T sprzedała wszystkie swoje prawa do systemuNovellowi. Nowy właściciel zaprojektował własną wersję UnixWare poprzez połączenie swojego wcześniejszego produktuNetWare z Systemem V. Próbował wykorzystać go w bitwie przeciwko systemowiWindows NT, lecz poniósł porażkę.
W roku 1993 Novell zdecydował się na transfer znaku towarowego UNIX oraz innych praw na konsorcjum X/Open[9], które trzy lata później połączyło się z OSF, tworzącThe Open Group. Nowej inicjatywie udało się po raz pierwszy ustandaryzować Uniksa, głównie poprzezSingle UNIX Specification.
W roku 1995 prawa do dalszego rozwoju kodu Systemu V oraz obsługa wsparcia dla istniejących wersji systemu zostały sprzedane firmieSanta Cruz Operation[10]. Kwestia sprzedaży praw autorskich stała się potem przedmiotem sporu sądowego.
W roku 1997 firmaApple Computer zaczęła opracowywać nowe wcielenie systemu operacyjnego dla komputerówMacintosh, wybierającNeXTStep jako punkt wyjściowy do dalszych prac. Nowy system bazujący na mikrojądrzeMach oraz BSD po zakupie przez Apple został przemianowany naDarwin. Wdrożenie Darwina w systemieOS X sprawiło według producenta, że stał się on najpowszechniej wykorzystywanym uniksowym systemem na rynku komputerów desktopowych.
W roku 2000 SCO sprzedało cały swój oddział odpowiedzialny za rozwój Uniksa firmieCaldera Systems, która następnie zmieniła nazwę na The SCO Group. Jednocześniekrach na rynku dot-comów doprowadził do znaczącej konsolidacji rozmaitych wersji Uniksa. Spośród wielu odmian komercyjnych narodzonych w latach 80. jedynieSolaris,HP-UX orazAIX radziły sobie nieźle, choć rozwijany przezSGI systemIRIX także przetrwał nieco czasu. Spośród nich największy udział w rynku w roku 2005 miał Solaris.
W roku 2003 The SCO Group wszczęło postępowanie sądowe przeciwko rozmaitym użytkownikom i dostawcom Linuksa. Firma argumentowała, że Linux zawiera chronione prawami autorskimi fragmenty kodu Uniksa będące jej własnością. Wśród innych zarzutów znalazło się naruszenie tajemnicy handlowej przezIBM czy naruszenie warunków umowy przez wcześniejszych klientówSanta Cruz Operation, którzy dokonali migracji na Linuksa.Novell podważał roszczenia SCO do praw autorskich kodu źródłowego Uniksa. Według Novella, SCO, a później The SCO Group są jedynie wykonawcamifranczyzy Uniksa będącej jego własnością, a która obejmuje m.in. prawa autorskie oraz prawo weta w stosunku do późniejszych działań licencyjnych SCO. The SCO Group nie zgodziło się z taką interpretacją, wytaczając pozew przeciwko Novellowi. 10 sierpnia 2007 roku wyrok sądu uznał większość racji Novella, potwierdzając, że jest on właścicielem praw autorskich do Uniksa oraz że The SCO Group niewłaściwie naliczała należne Novellowi opłaty licencyjne. Po ogłoszeniu wyroku Novell wydał oświadczenie prasowe, w którym stwierdzał, że nie ma żadnego interesu w pozywaniu użytkowników Uniksa oraz że nie wierzy, że Linux zawiera fragmenty kodu źródłowego tego systemu. SCO udało się złożyć apelację, w wyniku której sprawa trafiła ponownie na wokandę. 30 marca 2010 roku sąd jednoznacznie potwierdził, że to firma Novell jest właścicielem praw autorskich do Uniksa oraz systemu UnixWare.
W 2005 roku firma Sun wydała część kodu źródłowego Solarisa na licencjiopen-source, przemianowując projekt naOpenSolaris. Zaowocowało to pojawieniem się kilku niezależnych od tej firmy dystrybucji. Po przejęciu firmy przez korporacjęOracle oficjalne prace nad dalszym rozwojem systemu zawieszono, lecz mimo to jego rozwój pochodnych OpenSolarisa jest kontynuowany przez niezależne przedsiębiorstwa.
Unix wywarł duży wpływ na dzisiejszą informatykę, tak bezpośredni, jak i pośredni. To jemu zawdzięczają swoją popularnośćjęzyk C ireguła KISS.
Współcześnie Unix – choć jest nazwą zastrzeżoną dla The Open Group – stał sięsynonimem całej rodziny systemów wywodzących się od pierwotnego pnia lub klonów zgodnych z zestandaryzowanymi normamiPOSIX lubSingle UNIX Specification. W obrębie systemów UNIX wywodzących się z oryginalnego kodu AT&T wyróżnia się pochodne:Systemu V lub BSD. Współcześnie ze względu na liczne wzajemne powiązania i zapożyczenia taki podział stracił na aktualności.
Unix był prekursorem nowych technologii takich jakNFS.
Sytuacja formalno-prawna jest obecnie złożona i nie w pełni ustalona, co wynika z jego długiej historii oraz burzliwego rozwoju w postaci wielu osobnych, nieskoordynowanych pomiędzy sobą wersji wydawanych przez różne firmy. Na trudną sytuację składają się głównie kwestie praw do nazwy, posiadania kodu źródłowego oraz praw autorskich i patentowych, rozsiane między wiele podmiotów i często zmieniające właścicieli, i dlatego będące przedmiotem różnych sporów prawnych.
Oryginalny kod źródłowy opracowany w AT&T długo krążył między kolejnymi właścicielami. W 1993 r. został kupiony przez Novella, a od 1995 r. należy do firmy Santa Cruz Operations (SCO), kupionej w 2000 r. przez dystrybutora Linuksa,Calderę. SCO przegrało z Novellem proces, w którym samo starało się o przyznanie praw do systemu operacyjnego Unix i oprogramowania UnixWare. Według sądu SCO powinno zapłacić Novellowi 2,5 miliona dolarów, SCO złożyło apelację (więc sprawa jest jeszcze nie zakończona)procesu w sprawie Linuksa, jaki SCO/Caldera nieoczekiwanie wytoczyło IBM–owi 6 marca 2003 r., Novell oświadczył, że umowa nie obejmowała przekazaniapraw autorskich, których pozostaje dysponentem. Zdają się to potwierdzać późniejsze próby ich uzyskania od Novella przez SCO. Dodatkową komplikację w sprawie stanowi fakt, że różne części kodu Uniksa były nieraz publikowane na różnychlicencjach.
W czerwcu 1994 r. ugodą zakończony został spór między AT&T (a później Novellem), a Uniwersytetem Kalifornijskim w Berkeley, na mocy którejBSD (wówczas w wersji4.4BSD Lite) zostało uznane za wolne odroszczeń. Rozwiązanie to było bardzo istotne dla rozwoju systemów UNIX korzystających zlicencji BSD (tzw.freenix).
Obecnie nazwa UNIX jest zastrzeżonymznakiem handlowym The Open Group, przemysłowego konsorcjum zajmującego sięstandaryzacją rodziny kompatybilnych systemów. UNIX System Laboratories stanowią dziś częśćLucent Technologies (wcześniej należały także doHP).
Systemy z rodziny UNIX obsługiwane są zazwyczaj poprzezwiersz poleceń. Nie jest to wprawdzie wygodne dla mało zaawansowanych użytkowników, jednak po jego poznaniu wiele osób uznaje go za niezastąpiony sposób komunikacji człowieka z komputerem.
LUnix – uniksowy system operacyjny na mikrokomputerCommodore 64. Nazwa LUnix pochodzi od Little Unix (ang.Mały Unix).
NeXTStep – opracowany w firmieNeXT na bazie jądra Mach, przejęty przezApple (B)
Plan 9 – eksperymentalny OSBell Labs, oparty na założeniach istotnie odmiennych od systemów UNIX, mimo iż początkowy kod źródłowy oparty był naUNIX Time-Sharing System Eighth Edition (V8); (x, V)
OSF/1 – wydany w 1992 roku przezOpen Software Foundation, od wersji OSF/1 AXP V2.0 implementacja firmy DEC zawierała elementy SVR4 (x)
SINIX – opracowany przez oddział Siemens Nixdorf Informationssysteme, AG niemieckiej firmySiemens AG, w pierwotnej wersji na bazieXeniksa, później System V (V)
SCO OpenServer – stworzony przez Santa Cruz Operation (SCO), rozwijany przezSCO Group (V, B, S)
SunOS – tworzony od1983 przezSun Microsystems dla swoich produktów, początkowo opartych na platformieMotoroli 68k, później również dlaIA-32, a następnieSPARC; oparty początkowo na 4.1BSD, później wyposażany w różne elementy System V i nowszych wersji BSD; od wersji SunOS 4.1.1 nosił dodatkowo oznaczenie Solaris 1, dla tej wersji polecenieuname -sr daje w wynikuSunOS 4.1 (B, V)
System V – rozwinięcieUNIX System IV, opublikowane przez AT&T w1983, najbardziej znaczącą była wersja SVR4; obecnieNovell lubSCO Group (V)
Tru64 UNIX – rozwijany przezHewlett-Packard dla64-bitowych procesorówAlpha (DEC OSF/1 AXP 3.2 został przemianowany przez DEC naDigital UNIX, a po przejęciu DEC przezCompaq w 1998Digital Unix 4.0F został przemianowany naTru64 UNIX) (x, V)
UNICOS – rodzina systemów tworzonych dlasuperkomputerówCray (najpierw V, B; potem x)
UnixWare – wersja 1.0 została stworzona przez Univel w1991, obecnie właścicielem jestSCO Group (S)
↑abInterview with Brian Kernighan | Linux Journal. [dostęp 2021-12-03]. Cytat: Multics was an acronym for something like Multiplexed Information and Computing Service, and it was big and complicated because it had many of everything. I suggested Unics for Ken’s new system, because it was small and had at most one of anything. (ang.).
↑William Stallings: Operating Systems: Internals and Design Principles. Wyd. 5. Pearson Education, Inc., 2005, s. 91. (ang.).
↑D. E. Bodenstab, T. F. Houghton, K. A. Kelleman, G. Ronkin i inni. UNIX Operating System Porting Experiences. „AT&T Bell Laboratories Technical Journal”. 63 (8), s. 9, październik 1984. [dostęp 2011-01-28].