Är macOS UNIX? (och vad betyder det?)

Är macOS UNIX eller bara Unix? Eller är det Unix-liknande? Vi svarar på den oändliga debatten och förklarar standarder som POSIX och SUS längs vägen.

macOS: UNIX eller inte?

Detta ämne väcker en massa olika frågor. Vad är härstamningen av macOS? Hur mycket av det ärftliga materialet finns fortfarande kvar i dagens macOS, och spelar det någon roll? Innan vi kan börja svara på om något är UNIX, Unix eller Unix-liknande, måste vi vara bekväma med vad dessa termer betyder. Vem får bestämma om något är Unix eller UNIX, och vilka kriterier använder de?

Låt oss börja från början.

Unix skapades för femtio år sedan kl Bell Labs, ett forsknings- och utvecklingsföretag som ägs av AT&T. Snabbspola framåt till 1973 och version 4 av Unix, som skrevs om i programmeringsspråket C. Detta gjorde operativsystemet mycket mer portabelt och lättare att överföra till olika hårdvaruplattformar. Samma år, Ken Thompson och Dennis Ritchie, två av de centrala Unix-arkitekterna, presenterade ett papper på en konferens om operativsystem. De fick genast förfrågningar om kopior av operativsystemet.

Bundet av en samtyckesdekret som daterades tillbaka till 1956, var AT&T tvungen att undvika ”alla verksamheter förutom tillhandahållandet av vanliga operatörskommunikationstjänster.” Unix kvalificerade sig inte som något AT&T kunde dra nytta av. Så, företaget gjorde något anmärkningsvärt för den tiden: distribuerade Unix som källkod med en liberal licens. Små avgifter täckte frakt och förpackning och en ”rimlig royalty.”

En spridning av unixar

Eftersom Unix tillhandahölls ”i befintligt skick” kom det utan stöd. Som ett resultat började en Unix-gemenskap att smälta samman för att hjälpa medlemmar, och lappa och utöka Unix. Så du kan få källkoden, ändra den och få support från communityn. Det har en bekant klang. Olika smaker av Unix började dyka upp, anpassade och anpassade för att passa organisationen som utför arbetet.

Bob Fabry, en professor i datavetenskap vid UC Berkeley, var med i programkommittén för 1973 års symposium om operativsystemsprinciper. Han lyssnade på en presentation av Thompson och Ritchie, med titeln The UNIX Time-Sharing System.

Fabry begärde en kopia av operativsystemet, och 1974 installerades Unix på en PDP/11 vid Computer Sciences Research Group (CSRG) vid UC Berkeley. Betecknande nog tillbringade Ken Thompson där ett år och arbetade på det som snabbt blev universitetets egen variant av Unix. Kopior av UC Berkeleys ändringar och tillägg distribuerades och blev känd som Berkeley Software Distribution (BSD). Så småningom blev dessa distributioner av ett helt Unix-system, fortfarande känt som BSD. Versionsnummer, såsom 4.2BSD, identifierade de olika utgåvorna.

1984 släpptes AT&T från begränsningarna i 1956 års samtyckesdekret och kunde marknadsföra sitt operativsystem på rätt sätt. Den inkluderade BSD-kod, som t.ex TCP/IP, vioch C-skalet, csh. Även med denna korsbefruktning och samarbete fanns det svårigheter med licensiering. BSD innehöll AT&T-kod, som inte var öppen källkod, men BSD-elementen var det.

En version av BSD utan AT&T-kod utvecklades för att komma runt dessa problem. När AT&T-koden togs bort saknades dock cirka 20 procent av kärnan. William Jolitz skrev de saknade delarna, och den versionen av Unix släpptes som 386BSD. 386BSD-projektet stannade, men 1993 gav dess källkodsbas upphov till NetBSD och FreeBSD projekt.

Det har gett oss en bit av pusselbiten: FreeBSD.

Nästa steg

Efter att han fick sparken från Apple, Inc. 1985, grundade Steve Jobs ett företag som heter NeXT, Inc. För att tillhandahålla ett operativsystem för sin arbetsstationsproduktlinje utvecklade NeXT Nästa steg. Den använde BSD som en kodbas men introducerade en helt annan kärna.

NeXT använde en modifierad version av Mach mikrokärna och 4.3BSD för att bilda NeXTSTEP, som är den andra delen av denna sticksåg. Mach utvecklades på Carnegie Mellon för att underlätta forskning om distribuerad och parallell datoranvändning. Forskargruppen använde BSD som operativsystem och ersatte kärnan istället för att skriva sitt eget operativsystem.

XNU

1996 köpte Apple, Inc. NeXT, Inc. och förvärvade därmed NeXTSTEP. Apple började utveckla operativsystemet som äntligen skulle bli macOS genom Mac OS X. Den uppgraderade Mach-kärnan och ersatte den med den mer avancerade versionen som Open Software Foundation utvecklade och använde i OSF/1 operativ system. Apple uppgraderade också BSD-komponenterna med uppdaterade och förbättrade versioner från FreeBSD-distributionen.

Apple tog tillbaka delar av BSD-kärnan till Mach-kärnan. Den utvecklade också en hybridkärna som kombinerade egenskaper hos båda monolitisk och mikrokärnarkitekturer.

De I/O-sats, som Apple utvecklat baserat på NeXTSTEPs DriverKit, ingick också. Detta gjorde det möjligt att lägga till drivrutiner till en kärna utan att behöva ändra den varje gång.

XNU är den tredje delen av sticksågen.

POSIX- och SUS-standarderna

1996, två standardiseringsorgan—X/Öppen och den Open Software Foundation— sammanslagna till form Den öppna gruppen.

Den öppna gruppen är den certifierande