Početak›Forumi›BSD›FreeBSD, TrueOS,…›Mac OSX i BSD
- This topic has 29 odgovora, 8 glasova, and was last updated 18 years, 9 months ranije by nowave.
-
AutorČlanci
-
2. jul 2005. u 6:25 pm #5678NightweaverUčesnik
Ja licno bih bio najsredcniji kada bi adobe najzad portovao PS. Makar na BSD… ono kao, razmisljam… mac sada prelazi na BSD kernel… pa sto da ne 🙂
Mac je oduvek bio BSD kernel..;)
2. jul 2005. u 11:13 pm #30802popeyeGlavni majstorMac je oduvek bio BSD kernel..;)
Ustvari nije. A nije ni sad. 🙂
OSX ima hibridno jezgro, derivat Mach mikrokernela i BSD jezgra.
2. jul 2005. u 11:21 pm #30803NightweaverUčesnikHmm..koliko ja znam on sadrzi znatan deo koda BSD jezgra te se bas zato racuna u BSD sisteme. No, to je OFF pa necemo da preterujemo…jer imam osecaj da ce nam pobrisati poruke cim neko od modova vidi.:)
2. jul 2005. u 11:40 pm #30804popeyeGlavni majstorNeće škoditi da se kaže, ionako ova tema nije za nešto kreativno (volim – ne volim).
XNU je hibridno jezgro, nastalo spajanjem Mach (mikrokernel) i FreeBSD (monolitnog) jezgra. Mach se stara o međuprocesnoj komunikaciji, upravljanju memorijom i ulazno-izlaznim operacijama. FreeBSD kod se uglavnom koristio za servere u korisničkom prostoru, a u jezgru za mrežni stek (kao i kod Windows XP-a) i POSIX kompatibilnost.
Budući da se na mikrokernelu u korisničkom prostoru teoretski mogu paralelno pokretati više različitih jezgra, moglo bi se reći da je OSX više Mach nego BSD. 🙂 Ali to ne odgovara istini, XNU nije ni jedno ni drugo.
3. jul 2005. u 12:57 pm #30805NightweaverUčesnikHmm..pa ne bih se u potpunosti slozio da Mac nije BSD. Posto cemo vec da idemo van teme onda da kazem zasto ne samo ja vec i vecina BSD korisnika Mac smatra BSD-om.
Mac je izveden iz FreeBSD-a samo sto je deo stvari samog FreeBSD kernel izmenjen. Iako je MacOSX sustinski derivat 4.4BSD-a deo funkcija BSD kernela je iskljucen a deo dodat:
sbrk() sistemsko pozivanje memorije je iskljuceno i ne preporucuje se od strane Apple tima.
Mac OS X podrzava dynamic shared libraries – model koji koristi Mach -O i PEF binarne formate, dynamic link editor (dyld) i Code Fragment Manager (CFM). Kernel podrzava execve() sa Mach-O.
Mac OS X ne podrzava mmap() f-ju.
Nema podrske za swapon() poziv, macx_swapon() mu je zamena.
KOristi se izmenjena Unified Buffer Cache implementacija.
Mach pruza IPC primitives drugacije od System V primitives iz UNIX-a.
API za dlopen/dlsym se emulira.
Ucinjene su neke izmene u bezbednosnom delu BSD kernela da bi se podrzao single-user i vise podesavanja za vise admina.
Ovo je ono sto je izmenjeno ili iskljuceno iz BSD kernela. Sada, ono sto je dodato i sto je karakteristicno samo za Darwin:
dodaci za file-sistem buffer cache i file I/O clustering
adaptive i speculative read ahead
user-process controlled read ahead
time aging file-sistema buffer cache
enhancements to file-system support
implementacija Apple ekstenzija za ISO-9660 file sisteme
multithreaded asynchronous I/O for NFS
dodaci za sistemske pozive da podrzavaju semantiku Mac OS Extended (HFS+) file sistemaVeliki deo 4.4BSD-a je i dalje deo Mac OS X-a te je logicno da BSD korisici Mac OS X smatraju jos jednim BSD-om samo komercijalnog tipa..:) Da, skratim, sve sto si rekao je tacno samo sto je Mac OS X ipak BSD..a to nisam ja smislio vec ljudi iz Applea. E, ti i ja se mozemo sada do sutra prepucavati oko delova koda Mac kernela i porediti sa Mach ili BSD-om.:)
4. jul 2005. u 8:53 pm #30806popeyeGlavni majstorIzdvojio sam ove poruke u zasebnu nit na FreeBSD forumu.
Čini mi se da su neke stvari nejasne, možda i mojom krivicom jer sam trebao obrazložiti odmah na početku. Sam pojam BSD se odnosi na distribuciju, skup jezgra i pripadajućih programa. BSD distribucija _ne_mora_ biti zasnovana na klasićnom *BSD jezgru (Open, Net, Free) ako ispunjava POSIX standard – primer je DragonFly BSD koji poput Darwina, ima hibridno jezgro. U tom smislu, Darwin jeste BSD distribucija.
Ono o čemu ovde raspravljamo, samo jezgro, u Mac OSX-u (samim tim i Darwinu) je XNU, hibrid nastao dopunjavanjem Mach mikrokernela, uglavnom kodom iz FreeBSD jezgra. To je učinjeno da bi se ubrzalo prenošenje poruka između različitih servisa (najveća boljka mikrokernela) tj. eliminisalo čekanje. Ipak, i dalje se najveći deo posla obavlja preko servera u korisničkom prostoru, a to radi ostatak BSD koda.
Spisak koji si postavio, odnosi se na izmene u samom kodu FreeBSD jezgra, koje je uvezeno u XNU (odnosno Darwin distribuciju). Takav, izmenjen, kod se pojavljuje u Darwinovom jezgru, kao dopuna Mach mikrokernelu.
Da zaključim: 🙂
Darwin = BSD distribucija
XNU != BSD jezgro4. jul 2005. u 11:19 pm #30807NightweaverUčesnikSve u svemu BSD. 🙂 Ti i ja smo se slatko ispricali i steta so si ovo izdvojio..ovaj deo foruma malo ko cita a mogli bi puno da saznaju.:)
5. jul 2005. u 1:02 am #30808popeyeGlavni majstorNe mislim da smeta što je u FreeBSD forumu, obzirom da se pojavljuje u spisku niti sa novim porukama. Ovako se odmah vidi o čemu se radi i svako zainteresovan će moći da pročita.
5. jul 2005. u 8:07 am #30809NightweaverUčesnikMa naravno.;) No, kad smo vec MacOSX, bas me zanima kako ce se pokazati na Intelovim procesorima.
5. jul 2005. u 10:22 am #30810popeyeGlavni majstorVidećemo, što bi rekli slepci. 8)
-
AutorČlanci
Moraš biti prijavljen da bi postavio komentar u ovoj temi.