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

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