macOS este UNIX? (și ce înseamnă asta?)

macOS este UNIX sau doar Unix? Sau este asemănător Unix-ului? Răspundem la dezbaterea fără sfârșit și explicăm standarde precum POSIX și SUS pe parcurs.

macOS: UNIX sau nu?

Acest subiect ridică o grămadă de întrebări diferite. Care este descendența macOS? Cât de mult din acel material ereditar este încă prezent în macOS de astăzi și contează? Înainte de a putea începe să răspundem dacă ceva este UNIX, Unix sau Unix, trebuie să fim confortabili cu ceea ce înseamnă acești termeni. Cine decide dacă ceva este Unix sau UNIX și ce criterii folosesc?

Să începem de la început.

Unix a fost creat acum cincizeci de ani la Laboratoarele Bell, o companie de cercetare și dezvoltare deținută de AT&T. Derulați rapid înainte până în 1973 și versiunea 4 a Unix, care a fost rescrisă în limbajul de programare C. Acest lucru a făcut sistemul de operare mult mai portabil și mai ușor de transferat pe diferite platforme hardware. În același an, Ken Thompson și Dennis Ritchie, doi dintre arhitecții de bază Unix, au prezentat o lucrare la o conferință despre sistemele de operare. Imediat au primit cereri de copii ale sistemului de operare.

Legat de a decret de consimțământ care datează din 1956, AT&T a trebuit să evite „orice afacere, în afară de furnizarea de servicii de comunicații cu operator comun”. Unix nu s-a calificat ca ceva de care AT&T ar putea profita. Deci, compania a făcut ceva remarcabil pentru acea perioadă: a distribuit Unix ca cod sursă cu o licență liberală. Taxele mici au acoperit transportul și ambalarea și o „redevență rezonabilă”.

  Cum să obțineți favicon-uri în Safari pe macOS

O proliferare a Unix-urilor

Deoarece Unix a fost furnizat „ca atare”, a venit fără suport. Ca rezultat, o comunitate Unix a început să se unească pentru a-i ajuta pe membri și pentru a repara și extinde Unix-ul. Deci, puteți obține codul sursă, îl modificați și obțineți asistență din partea comunității. Are un inel familiar. Au început să apară diferite arome de Unix, adaptate și ajustate pentru a se potrivi organizației care face munca.

Bob Fabry, profesor de informatică la UC Berkeley, a făcut parte din comitetul de program pentru Simpozionul din 1973 privind principiile sistemelor de operare. A ascultat o prezentare a lui Thompson și Ritchie, intitulată The UNIX Time-Sharing System.

Fabry a cerut o copie a sistemului de operare și, în 1974, Unix a fost instalat pe un PDP/11 la Computer Sciences Research Group (CSRG) de la UC Berkeley. În mod semnificativ, Ken Thompson a petrecut un an acolo, lucrând la ceea ce a devenit rapid gustul Unix al universității. Au fost distribuite copii ale modificărilor și completărilor UC Berkeley și au devenit cunoscute sub numele de Berkeley Software Distribution (BSD). În cele din urmă, acestea au devenit distribuții ale unui întreg sistem Unix, încă cunoscut sub numele de BSD. Numerele versiunilor, cum ar fi 4.2BSD, au identificat diferitele versiuni.

În 1984, AT&T a fost eliberată de stricturile decretului de consimțământ din 1956 și a putut să își comercializeze sistemul de operare în mod corespunzător. Include codul BSD, cum ar fi TCP/IP, vi, și shell-ul C, csh. Chiar și cu această polenizare încrucișată și colaborare, au existat dificultăți cu licențierea. BSD conținea cod AT&T, care nu era open source, dar elementele BSD erau.

  Cum să obțineți Asistentul Google pe macOS

O versiune de BSD fără cod AT&T a fost dezvoltată pentru a rezolva aceste probleme. Când codul AT&T a fost eliminat, totuși, aproximativ 20% din kernel lipsea. William Jolitz a scris porțiunile lipsă, iar acea versiune de Unix a fost lansată ca 386BSD. Proiectul 386BSD a blocat, dar în 1993, baza de cod sursă a dat naștere la NetBSD și FreeBSD proiecte.

Asta ne-a dat o bucată din puzzle: FreeBSD.

Urmatorul pas

După ce a fost concediat de la Apple, Inc. în 1985, Steve Jobs a fondat o companie numită NeXT, Inc. Pentru a oferi un sistem de operare pentru linia sa de produse pentru stații de lucru, NeXT a dezvoltat Urmatorul pas. A folosit BSD ca bază de cod, dar a introdus un nucleu complet diferit.

NeXT a folosit o versiune modificată a lui Mach microkernel și 4.3BSD pentru a forma NeXTSTEP, care este a doua parte a acestui puzzle. Mach a fost dezvoltat la Carnegie Mellon pentru a facilita cercetarea în calculul distribuit și paralel. Echipa de cercetare a folosit BSD ca sistem de operare și a înlocuit nucleul în loc să-și scrie propriul sistem de operare.

XNU

În 1996, Apple, Inc. a cumpărat NeXT, Inc. și, prin urmare, a achiziționat NeXTSTEP. Apple a început să dezvolte sistemul de operare care va deveni în sfârșit macOS prin intermediul Mac OS X. Acesta a actualizat kernel-ul Mach și l-a înlocuit cu versiunea mai avansată de Open Software Foundation dezvoltată și utilizată în OSF/1 sistem de operare. Apple a actualizat și componentele BSD cu versiuni actualizate și îmbunătățite din distribuția FreeBSD.

Apple a adus elemente ale nucleului BSD înapoi în nucleul Mach. De asemenea, a dezvoltat un nucleu hibrid care a combinat caracteristicile ambelor monolitic și arhitecturi microkernel.

  Uitați timpul de ecran! Urmăriți utilizarea aplicației dvs. în macOS Catalina cu aceste alternative

The Kit I/O, pe care Apple l-a dezvoltat pe baza DriverKit-ului NeXTSTEP, a fost de asemenea inclus. Acest lucru a făcut posibilă adăugarea de drivere la un nucleu fără a fi nevoie să-l modifice de fiecare dată.

XNU este a treia parte a puzzle-ului.

Standardele POSIX și SUS

În 1996, două organisme de standardizare—X/Deschis si Open Software Foundation— contopit pentru a forma Grupul Deschis.

Grupul deschis este cel care certifică