Loading AI tools
system operacyjny Z Wikipedii, wolnej encyklopedii
Unix Time-Sharing System (pisane również jako UNIX, choć nie jest to skrótowiec – nazwa „UNIX” jest kalamburem określenia Multics, który był wzorem dla Uniksa) – system operacyjny rozwijany od 1969 r. w Bell Labs (UNIX System Laboratories, USL) przez Dennisa Ritchie i Kena Thompsona. W latach 70. i 80. zdobył bardzo dużą popularność, co zaowocowało powstaniem wielu odmian i implementacji. Część z nich, w szczególności Linux, BSD oraz macOS, jest w użyciu do dziś. UNIX jest zarejestrowanym znakiem towarowym The Open Group.
Autor | Ken Thompson, Dennis Ritchie, Douglas McIlroy, Joe Ossanna oraz Bell Labs |
---|---|
Pierwsze wydanie | 1969 |
Język programowania | C |
Platforma sprzętowa | wieloplatformowy |
Rodzaj | System operacyjny |
Licencja | oryginalnie zamknięte oprogramowanie; obecnie część projektów uniksowych (w szczególności BSD) ma otwarte źródła. |
Strona internetowa |
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 upowszechnienie hierarchicznego 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.
W latach 60. XX wieku Massachusetts Institute of Technology, AT&T Bell Labs oraz General Electric projektowały eksperymentalny system operacyjny zwany Multics (ang. Multiplexing Information and Computer Services) przeznaczony dla komputerów GE 645[1]. Zawierał on szereg innowacyjnych rozwiązań (np. biblioteki dynamiczne, wymienność urządzeń w trakcie pracy, hierarchiczny system plików), jednak prace nad nim przeciągały się.
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 do programowania, 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 nowego systemu 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 komputerze PDP-7 w laboratoriach Bella. Zespół naukowców kierowany przez Thompsona i Ritchiego, w skład którego wchodził również Rudd Canaday , zbudował także na nim hierarchiczny system plików, zalążek mechanizmu procesów i plików urządzeń, interpreter wiersza poleceń oraz kilka programów narzędziowych[3].
System początkowo nazwano Unics. Był to żart jednego z kolegów Thompsona – Briana Kernighana[4]. Ponieważ system obsługiwał tylko jednego użytkownika Thomsona nazwano go Un-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 na Unix. Do tego momentu projekt nie miał żadnego wsparcia finansowego ze strony Bell Labs. Kiedy Computer 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 komputery PDP-11/20, dzięki czemu udało się uzyskać pewne fundusze na dalszy rozwój. Wersja ta została wzbogacona o procesor tekstu roff oraz o edytor tekstowy. Wszystkie elementy systemu zostały napisane w asemblerze 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ę na troff i zostając pierwszym programem DTP z pełnym zestawem narzędzi do składu tekstu. Podręcznik programisty UNIX został opublikowany po raz pierwszy 3 listopada 1971 roku.
W 1972 roku Unix został przepisany na język C wbrew panującemu wówczas przekonaniu, że „coś tak złożonego, jak system 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 firmie AT&T będącej właścicielem Bell 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 w Communications of the ACM artykułu mu poświęconemu. Ken Thompson po cichu zaczął odpowiadać na prośby, wysyłając kasety i paczki dyskietek. 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łen kod ź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 profesora Uniwersytetu 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ęcie przetwarzania 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 w Bell Labs i poza nim, jako że w tym samym czasie pojawiły się też dwie pierwsze dystrybucje zewnętrzne: PWB/UNIX 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 z Uniwersytetu w Wollongong uruchomiła system na komputerze Interdata 7/32 , zaś Bell Labs opracował kilka portów na wewnętrzne potrzeby AT&T oraz w ramach eksperymentów. Lista maszyn obejmowała także komputer na bazie procesora Intel 8086 z autorską jednostką zarządzania pamięcią[potrzebny przypis], oraz UNIVAC 1100[7].
W maju 1975 roku ARPA opisała w dokumencie RFC 681 zalet użycia Uniksa jako hosta sieci ARPANET. W 1978 roku ukazał się UNIX/32V na nowy komputer VAX 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 nazwie Plan 9.
W 1982 roku AT&T wydało oparty na wersji 7 System 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 UNIX System V. Zawierało ono kilka nowości, takich jak edytor tekstu vi oraz curses pochodzących z Berkeley Software Distribution rozwijanego na Uniwersytecie Kalifornijskim w Berkeley, a także wsparcie dla komputerów z serii Western 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 jak Cshell z kontrolą zadań, jednak największym wkładem było stworzenie implementacji stosu TCP/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 systemu Microsoft 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 oraz stacji 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żonego Sun Microsystems w 1982 roku i pomógł stworzyć SunOS dla pierwszych maszyn tej firmy. W roku 1980 Microsoft wydał swój pierwszy klon Uniksa dla 16-bitowych mikrokomputerów zwany Xenix, który został przeportowany na platformę Intel 8086 przez Santa Cruz Operation w 1983 roku, by ostatecznie przekształcić się w SCO UNIX w roku 1989.
W pierwszej połowie lat 80., zanim komputery PC z systemem MS-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 konsorcjum X/Open , 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 przez IEEE specyfikacja POSIX, 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 jak blokowanie plików , narzędzia administracyjne, STREAMS , nowe formy komunikacji międzyprocesowej, Remote File Sharing oraz Transport Layer Interface . Firma współpracowała z Sun 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.
W roku 1990 Open Software Foundation wydała OSF/1, swoją własną implementację Uniksa bazującą na systemach Mach i BSD. 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ą przodkiem wolnych FreeBSD oraz NetBSD. W tym samym roku fiński student Linus Torvalds rozpoczął pracę nad Linuksem, klonem Uniksa na komputery IBM PC. Torvalds stworzył jednak tylko jądro, które zostało połączone z systemem GNU, tworząc GNU/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 konsorcjum COSE 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 systemu Novellowi. Nowy właściciel zaprojektował własną wersję UnixWare poprzez połączenie swojego wcześniejszego produktu NetWare z Systemem V. Próbował wykorzystać go w bitwie przeciwko systemowi Windows 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ąc The Open Group. Nowej inicjatywie udało się po raz pierwszy ustandaryzować Uniksa, głównie poprzez Single UNIX Specification.
W roku 1995 prawa do dalszego rozwoju kodu Systemu V oraz obsługa wsparcia dla istniejących wersji systemu zostały sprzedane firmie Santa Cruz Operation[10]. Kwestia sprzedaży praw autorskich stała się potem przedmiotem sporu sądowego.
W roku 1997 firma Apple Computer zaczęła opracowywać nowe wcielenie systemu operacyjnego dla komputerów Macintosh, wybierając NeXTStep jako punkt wyjściowy do dalszych prac. Nowy system bazujący na mikrojądrze Mach oraz BSD po zakupie przez Apple został przemianowany na Darwin. Wdrożenie Darwina w systemie OS 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 firmie Caldera Systems, która następnie zmieniła nazwę na The SCO Group. Jednocześnie krach na rynku dot-comów doprowadził do znaczącej konsolidacji rozmaitych wersji Uniksa. Spośród wielu odmian komercyjnych narodzonych w latach 80. jedynie Solaris, HP-UX oraz AIX radziły sobie nieźle, choć rozwijany przez SGI system IRIX 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 przez IBM czy naruszenie warunków umowy przez wcześniejszych klientów Santa 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 wykonawcami franczyzy 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 licencji open-source, przemianowując projekt na OpenSolaris. 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 i reguł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 normami POSIX lub Single 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 jak rekursywny system plików i NFS.
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 przekazania praw 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óżnych licencjach.
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órej BSD (wówczas w wersji 4.4BSD Lite) zostało uznane za wolne od roszczeń. Rozwiązanie to było bardzo istotne dla rozwoju systemów UNIX korzystających z licencji BSD (tzw. freenix).
Obecnie nazwa UNIX jest zastrzeżonym znakiem 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 do HP).
Systemy z rodziny UNIX obsługiwane są zazwyczaj poprzez wiersz 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.
Legenda: B – pochodne BSD, V – pochodne Systemu V lub jego poprzedników z AT&T, x – klony (niezależnie napisane od podstaw), S – System V Release 4
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.