Otvoreno je pitanje da li je macOS pravi UNIX operativni sistem, ili je samo njegova verzija, slična UNIX-u. U ovom tekstu, pokušaćemo da razjasnimo ovu dugotrajnu raspravu, uz objašnjenje standarda kao što su POSIX i SUS.
macOS: Da li je zaista UNIX?
Ova tema generiše niz dodatnih pitanja. Koje je poreklo macOS-a? Koliko njegovog nasleđa je i dalje prisutno u savremenom macOS-u i da li je to uopšte bitno? Da bismo pravilno odgovorili na pitanje da li je nešto UNIX, Uniks, ili „samo“ uniks, moramo razumeti šta ti termini tačno znače. Ko odlučuje o tome i na osnovu kojih kriterijuma se donosi odluka?
Krenimo od početka.
Uniks je nastao pre pet decenija u Bell Labs, istraživačko-razvojnoj kompaniji u vlasništvu AT&T-a. Godine 1973, verzija 4 Uniksa je u potpunosti prepisana u programskom jeziku C. Ovo je značajno poboljšalo portabilnost operativnog sistema i omogućilo lakše prenošenje na različite hardverske platforme. Iste godine, Ken Tompson i Denis Riči, dva ključna arhitekte Uniksa, predstavili su svoj rad na konferenciji o operativnim sistemima. Odmah su dobili brojne zahteve za kopije operativnog sistema.
Zbog sudskog naloga iz 1956. godine, AT&T je bio primoran da se uzdrži od „bilo kakvog poslovanja osim pružanja redovnih komunikacionih usluga“. Uniks se nije uklapao u kategoriju proizvoda od kojih bi AT&T mogao da ostvari profit. Zato je kompanija preduzela izuzetan korak za to vreme: distribuirala je Uniks kao izvorni kod sa liberalnom licencom. Naplaćivani su samo mali troškovi za slanje i pakovanje i “razumne nadoknade”.
Širenje Uniksa
Uniks je bio dostupan „kakav jeste“, što znači da nije uključivao korisničku podršku. Zbog toga se formirala zajednica korisnika Uniksa koja je pružala međusobnu pomoć, ispravljala greške i dalje razvijala operativni sistem. Dakle, imali ste pristup izvornom kodu, mogućnost da ga modifikujete i podršku od zajednice. Ovo zvuči poznato. Počele su da se pojavljuju različite verzije Uniksa, prilagođene specifičnim potrebama pojedinih organizacija.
Bob Fabri, profesor računarstva na UC Berkliju, bio je član programskog odbora za Simpozijum o principima operativnih sistema 1973. godine. Slušao je izlaganje Tompsona i Ričija pod nazivom „UNIX Time-Sharing System“.
Fabri je zatražio kopiju operativnog sistema i 1974. Uniks je instaliran na PDP/11 u Grupi za istraživanje računarskih nauka (CSRG) na UC Berkliju. Ken Tompson je proveo godinu dana radeći na razvoju verzije Uniksa prilagođene potrebama univerziteta. Modifikacije i dodaci UC Berlija su počeli da se distribuiraju i postali su poznati kao Berkeley Software Distribution (BSD). Na kraju su se razvile u kompletne distribucije Uniks sistema, i dalje poznate kao BSD. Verzije poput 4.2BSD identifikovale su različita izdanja.
Godine 1984, AT&T je oslobođen ograničenja iz sudskog naloga iz 1956. godine i mogao je da plasira svoj operativni sistem na tržište. Uključivao je BSD kod, kao što su TCP/IP, vi, i C školjka, csh. Uprkos ovoj saradnji, i dalje su postojali problemi sa licenciranjem. BSD je sadržao AT&T kod, koji nije bio otvorenog koda, dok su BSD elementi bili.
Da bi se rešili ovi problemi, razvijena je verzija BSD-a bez AT&T koda. Međutim, uklanjanjem AT&T koda, nedostajalo je oko 20% jezgra. Vilijam Džolic je napisao nedostajuće delove, i ta verzija Uniksa je objavljena kao 386BSD. Projekat 386BSD je zastao, ali je njegova baza koda 1993. godine dovela do projekata NetBSD i FreeBSD.
To nam daje jedan deo slagalice: FreeBSD.
Sledeći korak
Nakon što je 1985. godine otpušten iz kompanije Apple, Inc., Stiv Džobs je osnovao kompaniju pod nazivom NeXT, Inc.. Da bi obezbedio operativni sistem za svoju liniju radnih stanica, NeXT je razvio NeXTSTEP. Koristio je BSD kao osnovu, ali je uveo potpuno novo jezgro.
NeXT je koristio modifikovanu verziju Mach mikrojezgra i 4.3BSD da formira NeXTSTEP, što je drugi deo ove slagalice. Mach je razvijen na Karnegi Melonu da bi se olakšala istraživanja u distribuiranom i paralelnom računarstvu. Istraživački tim je koristio BSD kao operativni sistem i zamenio jezgro, umesto da piše sopstveni operativni sistem.
XNU
1996. godine, Apple, Inc. je kupio NeXT, Inc. i tako preuzeo NeXTSTEP. Apple je počeo da razvija operativni sistem koji će na kraju postati macOS kroz Mac OS X. Nadogradio je Mach jezgro i zamenio ga naprednijom verzijom koju je razvila Open Software Foundation i koja je korišćena u OSF/1 operativnom sistemu. Apple je takođe nadogradio BSD komponente sa ažuriranim i poboljšanim verzijama iz FreeBSD distribucije.
Apple je vratio elemente BSD jezgra u Mach jezgro. Takođe je razvio hibridno jezgro koje je kombinovalo karakteristike monolitnih i mikrojezgra arhitektura.
I/O Kit, koji je Apple razvio na osnovu NeXTSTEP-ovog DriverKit-a, je takođe uključen. Ovo je omogućilo dodavanje drajvera u jezgro bez potrebe da se ono menja svaki put.
XNU je treći deo slagalice.
POSIX i SUS Standardi
Godine 1996, dva standardizovana tela – X/Open i Open Software Foundation – spojila su se u formu The Open Group.
Open Group je sertifikaciono telo koje definiše POSIX, Portable Operating System Interface standard. POSIX definiše set API-ja (Application Programming Interfaces) koji bi operativni sistemi trebalo da podržavaju da bi bili kompatibilni sa Unix standardima.
SUS je standard koji definiše ključne karakteristike Unixa i koristi POSIX standard. On specificira funkcionalnosti koje operativni sistem mora da podržava da bi mogao da se naziva UNIX-om.
Mac OS X 10.5 je bio prvi macOS koji je dobio POSIX sertifikat. Svi kasniji macOS su takođe sertifikovani kao kompatibilni sa POSIX-om.
Dakle, da, macOS je sertifikovan kao UNIX operativni sistem, jer ispunjava POSIX standarde i ima osnovu u BSD-u i Mach-u, što ga čini pravim naslednikom UNIX-a.