Wiem, że macOS jest systemem operacyjnym UNIX , ale nie wiem, czy macOS można nazwać dystrybucją UNIX w ten sam sposób, w jaki Gentoo lub Debian są dystrybucjami GNU / Linux .
Czy macOS jest dystrybucją UNIX? Jeśli tak nie jest, w jaki sposób można prawidłowo odnosić się do członkostwa MacOS”w rodzinie systemów operacyjnych UNIX i zgodności z Single Unix Specification (czyli jest to wariant Unix , A wersja Unix , o smaku Unix , itd.)? To pytanie dotyczy również systemów Solaris, HP-UX i innych urządzeń unikatowych (czy wszystkie są dystrybucjami UNIX?).
Ponadto, czy słowo „dystrybucja” jest ograniczone do systemów operacyjnych GNU (/ Linux, / Hurd, / kFreeBSD, / itp.), Czy może być używane w innych przypadkach?
EDYCJA: Zdałem sobie sprawę, że oficjalna strona UNIX używa „implementacji UNIX” i „systemów operacyjnych UNIX” w odniesieniu do rodziny systemów operacyjnych Unix, tj. Tych, które implementują standard Single Unix.
źródło
Odpowiedzi:
Czym w ogóle jest UNIX?
Krótka odpowiedź: UNIX jest obecnie specyfikacją / standardem.
W momencie pisania, aby zacytować oficjalne źródła , „UNIX® jest zastrzeżonym znakiem towarowym The Open Group”, firmy, która między innymi zapewnia certyfikację UNIX :
Ta sama strona wyraźnie określa, która specyfikacja definiuje UNIX:
Szczegóły tych specyfikacji można znaleźć tutaj . Co ciekawe, najnowszym standardem wymienionym na ich stronie jest UNIX 03, a cytując inne źródło , „UNIX® 03 - znak dla systemów zgodnych z wersją 3 specyfikacji Single UNIX”.
Cytując stronę O nas z wyróżnieniem pogrubioną czcionką:
Sugeruje to (a przynajmniej taka jest moja interpretacja), że gdy system operacyjny jest zgodny ze standardem POSIX i specyfikacjami pojedynczego systemu UNIX, jest zgodny z zachowaniem systemu Unix jako systemu operacyjnego, który kiedyś istniał w pewnym momencie historii. Zauważ, że nie wspomina to o obecności jakichkolwiek śladów oryginalnego kodu źródłowego Uniksa, ani nie wspomina w żaden sposób o jądrze (stanie się to ważne później).
Jeśli chodzi o AT&T i System V Unix opracowane przez Ritchie i Thompson, dziś możemy powiedzieć, że przestało istnieć. Na podstawie powyższych źródeł wydaje się, że obecnie UNIX nie jest tym konkretnym systemem operacyjnym, ale raczej standardem opartym na najlepszym możliwym uogólnieniu na zachowanie systemów operacyjnych z rodziny Unix .
Gdzie stoi macOS X w świecie * nix?
W bardzo szczegółowej definicji, macOS w wersji 10.13 High Sierra na sprzęcie z procesorami Intela jest zgodny ze standardem UNIX 03 i cytując certyfikat pdf , „Apple Inc. zawarło umowę licencyjną na znak towarowy z X / Open Company Limited”. Uwaga dodatkowa: waham się zapytać, co by to znaczyło dla macOS 10.13 na sprzęcie innym niż Intel, ale należy pamiętać, że biorąc pod uwagę, że wspomniano o innym systemie operacyjnym, sprzęt jest znaczący. Przykład: „Hewlett Packard Enterprise: HP-UX 11i V3 wersja B.11.31 lub nowsza na serwerach HP 9000 z architekturą precyzyjną” (ze strony rejestru ).
Wróćmy do poprzedniej części mojej odpowiedzi. Ponieważ ta konkretna wersja systemu operacyjnego jest zgodna ze standardem interoperacyjności i kompatybilności, oznacza to, że system operacyjny zachowuje się jak najbliżej oryginalnego Uniksa jako system operacyjny. Przynajmniej będzie blisko w zachowaniu i środowisku. Im bardziej zbliża się do poziomu systemu i poziomu jądra, tym bardziej konkretny i cieńszy będzie obszar, ale przynajmniej podstawowa mechanika i zachowanie, które były obecne w Uniksie, powinny być obecne w systemie operacyjnym, który ma być kompatybilny. macOS X powinien być bardzo blisko tego celu.
Co to jest dystrybucja?
Cytując Wikipedię :
Pamiętajmy przez chwilę, że Linux, podobnie jak w jądrze Linuksa, ma być oprogramowaniem do dystrybucji , z modyfikacjami lub przynajmniej zgodnie z GPL v2 . Jeśli weźmiemy pod uwagę menedżera pakietów i jądro, to dystrybucje Ubuntu i Red Hat mają sens. macOS X ma inne jądro niż oryginalny AT&T Unix - dlatego nazwanie macOS X dystrybucją Uniksa nie ma sensu. Ludzie sugerują, że jądro macOS X jest oparte na FreeBSD, ale cytując Wiki FreeBSD :
Niektórzy ludzie błędnie nazywają jądro OS X Darwin. Cytując Przewodnik Apple dotyczący programowania jądra :
Cytując tę samą stronę:
W oparciu o wszystko powyżej możemy śmiało powiedzieć, że OS X nie jest dystrybucją w sensie dystrybucji Linuksa. Podobnie, inne wymienione systemy operacyjne są zgodne z POSIX i są certyfikowanymi systemami uniksowymi, ale znów różnią się jądrem i odmianami wywołań systemowych (dlatego istnieją książki na temat programowania systemu Solaris i jest to godny osobny temat). Dlatego nie są to dystrybucje w sensie dystrybucji Linuksa - wspólny rdzeń z odmianami narzędzi. W przypadku Linuksa widzisz książki na temat programowania systemu Linux lub programowania jądra Linux, a nie programowania systemowego specyficznego dla dystrybucji, ponieważ nie ma nic specyficznego dla systemu w konkretnej dystrybucji.
Potwierdzenie tego, co tu widzimy, można znaleźć w oficjalnej dokumentacji. Na przykład artykuł o developerWorks firmy IBM, który dotyczył różnicy między typami systemów UNIX i stanami dystrybucji Linux (wyróżnienie dodane):
Innymi słowy, są oparte na tej samej podstawie, ale nie dzielą dokładnie tej samej w tym sensie, że dystrybucje Linuksa współużytkują jądro.
Uwagi
Zauważ, że dystrybucja słów wydaje się być najczęściej używana w odniesieniu do systemów operacyjnych, które mają jądro Linux. Weźmy na przykład systemy operacyjne typu BSD: istnieje GhostBSD , który jest oparty na jądrze i korzysta z niektórych narzędzi FreeBSD , ale nigdy nie widziałem, aby był nazywany dystrybucją BSD; każdy system operacyjny BSD wspomina tylko o tym, na czym jest oparty, i zwykle system operacyjny jest wymieniany jako system operacyjny sam w sobie. Jasne, BSD oznacza Berkeley Software Distribution, ale ... to wszystko.
Aby zacytować tę odpowiedź na naszej stronie w odpowiedzi na pytanie, czy różne wersje BSD używają tych samych jąder:
Nie są to dystrybucje w rozumieniu dystrybucji Linuksa. Rozważ informację o prawach autorskich z tego dokumentu :
Uwagi
Podsumowując:
źródło
as close to original Unix as possible
Istnieje wiele systemów operacyjnych innych niż Unix, które są zgodne z POSIX.Źródło obrazu: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/OSX_Technology_Overview/SystemTechnology/SystemTechnology.html
HP-UX Zastrzeżona implementacja systemu operacyjnego Unix, oparta na systemie UNIX System V.
Solaris Unix SVR4
źródło