Är macOS och UNIX? (och Vad Betyder Det?)

0
402
Razvan Franco Nitoi/Shutterstock

Är macOS, UNIX eller bara Unix? Eller är det Unix-liknande? Vi svarar på den aldrig sinande debatten och förklara normer som POSIX och SUS längs vägen.

macOS: UNIX eller Inte?

Denna fråga väcker en massa olika frågor. Vad är stammen av macOS? Hur mycket av det ärftliga materialet är 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-som vi behöver för att vara bekväm med vad dessa termer betyder. Vem som får bestämma om något är Unix eller UNIX, och vilka kriterier de använder?

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

Unix skapades för femtio år sedan vid Bell Labs, ett forsknings-och utvecklingsbolag som ägs av AT&T. Snabbspola till 1973, och Version 4 av Unix, som skrevs i programmeringsspråket. Detta gjorde operativsystemet mycket mer portabla och lättare att överföra till olika plattformar. Samma år, Ken Thompson och Dennis Ritchie, två av de viktigaste Unix arkitekter, presenterade ett paper på en konferens om operativsystem. Omedelbart de fått önskemål om kopior av operativsystemet.

Bundna av ett samtycke dekret som dateras tillbaka till 1956, AT&T hade att undfly “någon annan verksamhet än tillhandahållande av common carrier-tjänster för kommunikation.” Unix inte kvalificera sig som något AT&T skulle kunna dra nytta av. Så, företaget gjorde något märkligt för den tiden är fördelad Unix som källkod, med en fri licens. Små avgifter som omfattas frakt och förpackning och en “rimlig royalty.”

En Spridning av Unix

Eftersom Unix var tillhandahålls “som det är,” det hände utan stöd. Som ett resultat, ett Unix samhället började sammansmälta med att hjälpa medlemmar och patch och förlänga Unix. Så, du kan få källkoden till, modifiera den, och få stöd från samhället. Har en bekant klang. Olika varianter av Unix började dyka upp, anpassas och justeras för att passa den organisation som utför arbetet.

Bob Fabrys, en professor i datavetenskap vid UC Berkeley, var på programmet kommittén för 1973 års Symposium om Operativsystem Principer. Han lyssnat till en presentation av Thompson och Ritchie, rätt UNIX Time-Sharing-System.

Fabrys begärt en kopia av operativsystemet, och, 1974, var Unix installerat på en PDP/11 på Datorn Sciences Research Group (CSRG) vid UC Berkeley. Betydligt, Ken Thompson tillbringade ett år där, att arbeta på vad som snabbt blev universitetets egen smak av Unix. Kopior av UC Berkeley ändringar och tillägg som delades ut och blev känd som Berkeley Software Distribution (BSD). Så småningom blev dessa distributioner av en hel Unix-system, fortfarande känd som BSD. Version nummer, såsom BSD 4.2, identifierat olika utgåvor.

1984, AT&T släpptes från förträngningar av 1956 samtycke dekret och kunna marknadsföra sitt operativsystem på rätt sätt. Det ingår BSD-kod, såsom TCP/IP, vi, och C shell, csh. Även med denna korsbefruktning och samarbete, det fanns svårigheter med licensiering. BSD som finns AT&T kod, som inte open source, men den BSD element var.

En version av BSD utan AT&T koden utvecklades för att komma runt dessa problem. När AT&T kod togs bort, men cirka 20 procent av kärnan saknas. William Jolitz skrev det saknas delar, och att den version av Unix som släpptes för 386BSD. 386BSD projektet avstannat, men 1993, dess källkod bas gav upphov till NetBSD och FreeBSD projekt.

Det har gett oss en bit i det pussel: FreeBSD.

NeXTSTEP

Efter att han fick sparken från Apple, Inc. 1985, Steve Jobs grundade ett företag som heter Nästa, Inc. För att ge ett operativsystem för sin arbetsstation produktlinje, Nästa utvecklat NeXTSTEP. Det används BSD som en codebase men introducerade en helt annan kärna.

Nästa använt en modifierad version av Mach och 4.3-BSD att bilda NeXTSTEP, som är den andra delen av detta spel. Mach var utvecklad vid Carnegie Mellon för att underlätta forskning inom distribuerade och parallella beräkningar. Forskarna använde BSD som operativsystem och ersättas kärnan i stället för att skriva sina egna operativsystem.

XNU

1996, Apple, Inc. köpte Nästa, Inc. och, därigenom, förvärvade NeXTSTEP. Apple började utveckla operativsystemet som slutligen skulle bli macOS genom Mac OS X. Det uppgraderade Mach-kärnan, och ersattes med en mer avancerad version Open Software Foundation som utvecklats och används i OSF/1-operativsystem. Apple har också uppgraderats BSD-komponenter med nya, uppdaterade och förbättrade versioner av FreeBSD distribution.

Apple tog delar av BSD-kärnan tillbaka till Mach-kärnan. Det har också utvecklat en hybrid kärna som kombineras egenskaper för både monolitisk och mikrokärna arkitekturer.

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

XNU är den tredje delen av den pussel.

POSIX-och SUS Standarder

1996, två standarder för organ—X/Open och Open Software Foundation, samman för att bilda Den Öppna Gruppen.

The Open Group är den attesterande organ för UNIX varumärke. Med andra ord, det har ska godkänna ditt operativsystem som följer dess regler innan du kan kalla det för UNIX. UNIX i versaler är märket om överensstämmelse.

Så, kategorierna är följande:

  • Unix: En familj av operativsystem. Denna familj omfattar både UNIX och Unix-liknande operativsystem.
  • UNIX operativsystem: Dessa är har certifierats som uppfyller standarder.
  • Unix-liknande operativsystem: de ser ut som och fungerar som Unix, men det har inte varit certifierade enligt kraven.

Det är fullt möjligt, naturligtvis, som en del andra operativsystem i “Unix-liknande” kategori kan testas i morgon och befunnits uppfylla reglerna. Detta är ett effektivt sätt UNIX nu, men de bara kan kategoriseras som Unix eftersom de ännu inte har gummi-stämpel.

Det finns två standarder som intygar UNIX: POSIX och Single UNIX Specification (SUS). SUS är ett superset av POSIX. Så, något som kan vara POSIX-kompatibla, men det gör det inte till UNIX. Men om något är SUS-kompatibel, det är en UNIX.

POSIX och SUS-formuläret stora samlingar av dokument (cirka 3 700 sidor). De definierar drift och förväntat beteende av varje aspekt av en-kompatibla UNIX-system. Allt från asynkron och synkron i/O, till skript gränssnittet och användarens nivå program är katalogiserade och definieras.

De standarder som definierar en ansökan gränssnitt och run-time beteende, men de behöver inte diktera hur de är implementerade.

Så, Är macOS och UNIX?

Svaret måste vara ja.

Du kan spåra sin härstamning tillbaka genom FreeBSD BSD, och därifrån tillbaka till Unix distribueras av Bell Labs innan licens avgift öka från AT&T.

Men det spelar ingen roll.

Om du skriva ett operativsystem från noll just nu, så länge det uppfyller kraven i SUS, det anses vara UNIX. Och det spelar ingen roll hur du genomför det. Den XNU-kärnan i hjärtat av macOS är en hybrid arkitektur. Det kombinerar Apples kod med delar av Mach-och BSD-kärnan.

Men det spelar ingen roll heller. Det viktiga är att den uppfyller kraven i den standard mot vilken den är mätt.

Den BSD del av XNU-kärnan ger POSIX-application programming interfaces (såsom olika API-och BSD-system-samtal). Att hålla denna del av BSD-kärnan intakt inom XNU är nyckeln till att få certifiering som en UNIX. Det gör att XNU att tala kompatibel och kompatibla UNIX-till resten av systemet.

macOS är en UNIX-03-kompatibla operativsystem certifierad av The Open Group. Det har varit sedan 2007, till att börja med MAC OS X 10.5. Det enda undantaget var Mac OS X 10.7 Lion, men överensstämmer var återfått med OS X 10.8 Mountain Lion.

Lustigt, precis som GNU står för GNU ‘ s not Unix,” XNU står för “X är Inte Unix.”

LÄS NÄSTA

  • “Hur man Installerar ett Smart Lock
  • “Hur man Använder Flera Skärmar på Din Mac
  • “Hur vill Ändra Standard-Skalet Bash på macOS Catalina
  • “Hur Windows 10 “Återställ den Här DATORN” Har Blivit Mer Kraftfulla
  • “Där Är iTunes Har i macOS Catalina?