Czy system macOS jest UNIX? (i co to znaczy?)

Photo of author

By maciekx

Czy macOS jest systemem UNIX, czy tylko na nim bazuje? Czy jest podobny do systemu UNIX? Odpowiadamy na te pytania i wyjaśniamy standardy takie jak POSIX i SUS.

macOS: UNIX czy nie?

Temat ten rodzi wiele pytań. Jaki jest rodowód macOS? Ile z tego dziedzictwa jest obecne w dzisiejszym macOS i czy ma to znaczenie? Zanim zaczniemy odpowiadać na pytanie, co kwalifikuje dany system jako UNIX, musimy zrozumieć, co te terminy naprawdę oznaczają. Kto decyduje, czy coś jest UNIX-em, i jakich kryteriów używa?

Zacznijmy od początku.

UNIX powstał pięćdziesiąt lat temu w Bell Labs, firmie badawczo-rozwojowej należącej do AT&T. Szybko przeskoczymy do roku 1973, kiedy to wersja 4 systemu UNIX została przepisana w języku C, co uczyniło system operacyjny znacznie bardziej przenośnym i łatwiejszym do wdrożenia na różnych platformach sprzętowych. W tym samym roku Ken Thompson oraz Dennis Ritchie, dwaj główni architekci UNIX-a, zaprezentowali referat na konferencji poświęconej systemom operacyjnym, co spotkało się z ogromnym zainteresowaniem.

W wyniku dekretu zgody z 1956 roku, AT&T musiało unikać jakiejkolwiek działalności poza dostarczaniem powszechnych usług łączności. UNIX nie kwalifikował się jako coś, na czym AT&T mogłoby zyskać, dlatego firma postanowiła rozpowszechniać kod źródłowy UNIX-a na liberalnej licencji. Koszty obejmowały jedynie wysyłkę i opakowanie oraz „rozsądne opłaty licencyjne”.

Rozprzestrzenianie się UNIX-a

UNIX był dostarczany „tak jak jest”, co oznaczało, że nie miał wsparcia. W rezultacie społeczność uniksowa zaczęła się organizować, aby pomagać sobie nawzajem w modyfikacji i rozwijaniu systemu. Dzięki temu można było pobrać kod źródłowy, dostosować go i otrzymać wsparcie od społeczności. Różne wersje UNIX-a zaczęły pojawiać się, dostosowywane do potrzeb organizacji.

Bob Fabry, profesor informatyki na Uniwersytecie Kalifornijskim w Berkeley, był członkiem komitetu programowego Sympozjum Zasad Systemów Operacyjnych w 1973 roku. Po wysłuchaniu prezentacji Thompsona i Ritchiego, zażądał kopii systemu operacyjnego. W 1974 roku UNIX został zainstalowany na PDP / 11 w Computer Sciences Research Group (CSRG) na UC Berkeley. Ken Thompson spędził tam rok, rozwijając odmianę UNIX-a, która stała się znana jako Berkeley Software Distribution (BSD).

W 1984 roku AT&T zostało zwolnione z ograniczeń dekretu zgody i mogło sprzedawać swój system operacyjny, który zawierał kod BSD, taki jak TCP / IP, vi oraz powłokę C. Mimo tego, pojawiły się trudności z licencjonowaniem, ponieważ BSD zawierał kod AT&T, który nie był open source.

Aby obejść te problemy, powstała wersja BSD bez kodu AT&T. Jednak brakowało około 20 procent jądra, co zostało uzupełnione przez Willama Jolitza. Ta wersja UNIX-a została wydana jako 386BSD. Projekt 386BSD utknął w martwym punkcie, ale w 1993 roku jego kod źródłowy dał początek projektom NetBSD oraz FreeBSD.

Następny krok

Po odejściu od Apple, Inc. w 1985 roku, Steve Jobs założył firmę NeXT, Inc.. Celem było opracowanie systemu operacyjnego dla stacji roboczych, co zaowocowało NeXT NeXTSTEP. Używał on BSD jako podstawy, ale z zupełnie innym jądrem.

NeXT korzystał z zmodyfikowanej wersji Macha jako mikrojądra oraz z 4.3BSD, co stworzyło NeXTSTEP, drugi element tej układanki. Jądro Mach zostało opracowane w Carnegie Mellon, aby ułatwić badania nad przetwarzaniem rozproszonym i równoległym. Zespół badawczy wykorzystał BSD jako system operacyjny i wymienił jądro, zamiast tworzyć nowy system operacyjny.

XNU

W 1996 roku Apple, Inc. zakupiło NeXT, Inc., co pozwoliło na rozwój systemu macOS Mac OS X. Apple zaktualizowało jądro Mach, zastępując je bardziej zaawansowaną wersją z systemu OSF/1. Firma zaktualizowała również komponenty BSD, korzystając z ulepszonych wersji z dystrybucji FreeBSD.

Apple przywróciło elementy jądra BSD do jądra Mach i opracowało hybrydowe jądro, łączące cechy monolitycznego i mikrojądra. Wprowadzono również Zestaw we/wy, stworzony na bazie DriverKit z NeXTSTEP, co umożliwiło dodawanie sterowników do jądra bez konieczności ich każdorazowej modyfikacji.

Standardy POSIX i SUS

W 1996 roku dwie organizacje normalizacyjne: X/Open oraz Open Software Foundation połączyły się, tworząc Grupę Otwartą. The Open Group jest certyfikatem.


newsblog.pl