macOS: UNIX, Unix-aktig, eller noe helt annet? Oppdag sannheten!

Er macOS et UNIX-system, eller bare et system som ligner på Unix? Dette spørsmålet har lenge vært gjenstand for debatt. La oss dykke ned i denne diskusjonen og se nærmere på standarder som POSIX og SUS.

macOS: Ekte UNIX eller ei?

Dette spørsmålet leder oss til mange andre. Hva er egentlig macOS sin opprinnelse? Hvor mye av den originale koden er igjen i dagens macOS, og er dette relevant? Før vi kan definere om noe er UNIX, Unix eller Unix-lignende, må vi forstå hva disse begrepene faktisk betyr. Hvem har rett til å bestemme om noe er Unix eller UNIX, og hvilke kriterier bruker de?

La oss starte ved begynnelsen.

Unix ble skapt for rundt 50 år siden ved Bell Labs, et forsknings- og utviklingsfirma eid av AT&T. I 1973 ble versjon 4 av Unix omskrevet i programmeringsspråket C. Dette gjorde operativsystemet mer portabelt og lettere å overføre til ulike maskinvareplattformer. Samme år presenterte Ken Thompson og Dennis Ritchie, to av de sentrale arkitektene bak Unix, en artikkel om operativsystemer på en konferanse. Umiddelbart etter presentasjonen mottok de mange forespørsler om å få en kopi av operativsystemet.

På grunn av en rettsavgjørelse fra 1956, måtte AT&T avstå fra «all annen virksomhet enn å tilby felles kommunikasjonstjenester.» Unix falt ikke inn under denne kategorien, og selskapet gjorde noe uvanlig for sin tid: de distribuerte Unix som kildekode med en liberal lisens. De tok en liten avgift for frakt og emballasje, samt en «rimelig royalty».

Spredningen av Unix-varianter

Fordi Unix ble levert «som den er,» uten brukerstøtte, vokste det raskt frem et fellesskap rundt Unix. Dette fellesskapet hjalp hverandre, rettet feil og utvidet operativsystemet. Med andre ord: du kunne få kildekoden, endre den og få hjelp fra fellesskapet. Høres det kjent ut? Ulike varianter av Unix begynte å dukke opp, skreddersydd og finjustert for å møte behovene til organisasjonene som brukte dem.

Bob Fabry, en professor i datavitenskap ved UC Berkeley, var en del av programkomiteen for et symposium om operativsystemprinsipper i 1973. Der overvar han presentasjonen av Thompson og Ritchie, kalt «The UNIX Time-Sharing System.»

Fabry ba om en kopi av operativsystemet, og i 1974 ble Unix installert på en PDP/11 ved Computer Sciences Research Group (CSRG) ved UC Berkeley. Ken Thompson tilbrakte et år der, og arbeidet med det som raskt ble universitetets egen variant av Unix. Kopier av UC Berkeleys endringer og tillegg ble distribuert, og ble kjent som Berkeley Software Distribution (BSD). Etter hvert utviklet disse distribusjonene seg til å bli et fullstendig Unix-system, fortsatt under navnet BSD. Versjonsnummer, som 4.2BSD, identifiserte de ulike utgivelsene.

I 1984 ble AT&T frigjort fra rettsavgjørelsen fra 1956 og kunne dermed markedsføre operativsystemet fullt ut. De inkluderte også BSD-kode, slik som TCP/IP, vi og C-skallet, csh. Selv med denne utvekslingen og samarbeidet, var det utfordringer knyttet til lisensiering. BSD inneholdt AT&T-kode, som ikke var åpen kilde, mens BSD-elementene var det.

En versjon av BSD uten AT&T-kode ble utviklet for å omgå disse problemene. Da AT&T-koden ble fjernet, manglet imidlertid omtrent 20 prosent av kjernen. William Jolitz skrev de manglende delene, og denne versjonen av Unix ble lansert som 386BSD. Prosjektet 386BSD stoppet opp, men i 1993 dannet kildekodebasen grunnlaget for prosjektene NetBSD og FreeBSD.

Dette har gitt oss en del av puslespillet: FreeBSD.

Det neste steget

Etter at han fikk sparken fra Apple, Inc. i 1985, etablerte Steve Jobs et selskap kalt NeXT, Inc. For å tilby et operativsystem for arbeidsstasjonene sine, utviklet NeXT NeXTSTEP. Det brukte BSD som kodebase, men introduserte en helt annen kjerne.

NeXT brukte en modifisert versjon av Mach mikrokjerne og 4.3BSD for å skape NeXTSTEP, som er den andre delen av dette puslespillet. Mach ble utviklet ved Carnegie Mellon for å fremme forskning på distribuert og parallell databehandling. Forskerteamet brukte BSD som operativsystem og erstattet kjernen i stedet for å skrive sitt eget operativsystem.

XNU

I 1996 kjøpte Apple, Inc. NeXT, Inc. og fikk dermed også kontroll over NeXTSTEP. Apple begynte å utvikle operativsystemet som til slutt skulle bli macOS, ved hjelp av Mac OS X. De oppgraderte Mach-kjernen og erstattet den med en mer avansert versjon utviklet av Open Software Foundation, som de brukte i OSF/1 operativsystem. Apple oppgraderte også BSD-komponentene med oppdaterte og forbedrede versjoner fra FreeBSD-distribusjonen.

Apple innlemmet elementer fra BSD-kjernen tilbake i Mach-kjernen. De utviklet også en hybridkjerne som kombinerte egenskaper fra både monolittiske og mikrokjernearkitekturer.

I/O-settet, som Apple utviklet basert på NeXTSTEPs DriverKit, ble også inkludert. Dette gjorde det mulig å legge til drivere til kjernen uten å måtte endre den hver gang.

XNU er den tredje delen av puslespillet.

POSIX- og SUS-standardene

I 1996 fusjonerte to standardiseringsorganer – X/Open og Open Software Foundation – og dannet The Open Group.

The Open Group er sertifiseringsorganisasjonen