Ce caracteristici are Darwin că alte Unixuri nu ' t sau invers?
On februarie 16, 2021 by adminDarwin are caracteristici care îi sunt specifice? Există alte Unixe (s) cu caracteristici care îi lipsesc lui Darwin?
Răspuns
OS X este singurul sistem de operare rămas pe baza microcernelului Mach , care este, de asemenea, încă relevant din punct de vedere comercial. Există câteva proiecte de cercetare în curs de desfășurare și sisteme de operare obsolescente care, fără îndoială, sunt încă folosite în setările de producție pe mașini vechi, dar nimic nu poți ieși și să cumperi pe o mașină nouă astăzi.
OS X are obișnuitul sortiment de incompatibilități cu caracteristicile nucleului pe care le are orice * ix. Cea mai mare dintre care am trebuit să lucrez cel mai recent este lipsa de cozi de mesaje System V . (msgget(2)
și prieteni.) A trebuit să înlocuim codul nostru de coadă de mesaje — care a fost scris pentru o variantă „reală” System V și mai târziu portat la Linux — cu TCP / IP pentru ca software-ul nostru să ruleze pe OS X. Pentru aplicația noastră, diferențele dintre aceste două metode IPC au contat în momentul în care am ales să mergem cu cozi de mesaje, dar din cauza modificărilor arhitecturale ulterioare, a ajuns să nu fie o mare problemă să treci la TCP / IP.
Răspuns
Când vine vorba de el, nu este Darwin doar un strat BSD subțire deasupra Mach 2.0?
Obișnuiam să folosesc NeXTStep, nu știu din cât pleacă MacOSX curent de la NeXTStep, dar …
Mach 2.0 a oferit un set diferit de abstracții la nivel de nucleu:
- O „sarcină”: care este un spațiu de adrese + un set de „porturi”, posibil cu un thread care rulează în el.
- Threads. Aceasta a fost unitatea de execuție programabilă. O sarcină (spațiu de adrese) ar putea h aveți mai mult de 1 care rulează în el. Cred că fișierele Mach-O (formatul de fișier executabil al lui Mach) ar putea specifica mai mult de un fir în timpul rulării procesului: nicio funcție main () care a pornit mai multe Cthreads, sistemul de operare ar începe unul.
- Porturi Acestea nu sunt porturi TCP sau UDP. Au fost tastate, ordonate fluxuri de mesaje. Mai degrabă ca RPC. Ați alcătuit un fișier de specificații de protocol, apoi l-ați rulat printr-un compilator pentru a obține stub-uri de pe server și client, rutine de separare și de separare etc.
- Pagere de memorie la nivel de utilizator. Puteți configura un task + thread pentru a gestiona paginarea altor spații de adresă a altor sarcini.
Oamenii CMU Mach originali au folosit aceste abstracții pentru a emula procesele BSD Unix, Procese MS-DOS și, într-o potrivire fabuloasă de ciudățenie, sarcini VMS. Fiecare sarcină VMS lua două sarcini Mach, plus multe fire. Cineva obișnuia să vândă un emulator Mac OS (pre-OSX) pentru NeXTStep care folosea spațiul utilizatorului pagerele cu un efect bun.
Vechea pagină de publicații CMU Mach: http://www.cs.cmu.edu/afs/cs/project/mach/public/www/doc/documents_top.html
Hârtia VMS-on-Mach: http://www.sture.ch/vms/Usenix_VMS-on-Mach.pdf
Comentarii
- Mac OS X (și astfel Darwin) folosește Mach 3.0.
Răspuns
Acesta nu este un răspuns, dar DTrace este un instrument minunat de depanare a sistemului care există pentru Solaris, Darwin / OS X și * BSD, dar nu Linux.
Comentarii
- Oracle a portat DTrace pe Linux în 2011.
- În octombrie 2011, Oracle a anunțat portarea DTrace de la Solaris la Linux, dar începând cu 13 octombrie 2014 rămâne indisponibil oficial. ( slideshare.net/brendangregg/from-dtrace-to-linux )
Răspuns
Darwin are un set relativ mic de tipuri de sisteme de fișiere acceptate. În afară de promoții precum devfs și tipuri de rețea precum webdav, lista este:
- HFS / HFS +
- UFS / FFS
- ISO-9660 / UDF / CDDA
- NTFS
- FAT
Din această listă, numai UFS a fost conceput pentru Unix, deși HFS + a fost actualizat pentru a suporta toate funcționalitățile Unix necesare. Începând cu Mac OS X 10.6, UFS nu poate fi utilizat pentru partiția rădăcină, deși această restricție probabil nu se aplică pentru Darwin. În mod implicit, HFS + nu face sensibilitatea la majuscule și minuscule, deși sensibilitatea la majuscule și minuscule poate fi solicitată la momentul creării. va rula pe o partiție sensibilă la majuscule și minuscule, multe aplicații Mac de profil înalt nu o vor face (de exemplu Adobe CS).
Pentru o vreme, Apple intenționa să înlocuiască HFS cu ZFS și chiar a livrat ZFS cu unele versiuni de Mac OS X, dar, din păcate, acest experiment a eșuat în cele din urmă din cauza probleme de rezolvare a licențelor .
Comentarii
- Cred că OS X ‘ s / macOS ‘ este raportat că este încă buggy, deoarece rămâne experimental și nu a fost niciodată stabilizat, așa cum îmi amintesc.
Răspuns
Cred că este cel mai bine să-l descriem pe Darwin ca doar un alt aroma UNIX . Solaris este unul. HP / UX este altul. Există multe mai multe , poate nu la fel de „high- profilul „dar ei” sunt acolo. Și cu fiecare aromă vine propriile sale specificități. Acesta este motivul pentru care există arome în primul rând. Unele companii gândesc ceva care ar ajuta la vânzarea acestuia (sau pur și simplu la lucrul cu acesta sau chiar la administrarea acestuia) și îl creează și îi dă propriul nume. Comentarii
- UNIX (cu majuscule) este o marcă înregistrată a The Open Group în multe țări; pentru ca ceva să fie ” UNIX ” (cu majuscule), certificarea este necesară . Darwin nu este ‘ t altă ” aromă UNIX ” – dar Mac OS X 10.10 pe Intel x86-64 este certificat ca alt UNIX.
Răspuns
Dacă l-am auzit bine pe Darwin, așa cum a fost lansat de Apple, nu mai funcționează ca un independent sistemul de operare, așa că aș sublinia că cea mai mare diferență pe care o are este OS X pe deasupra.: D
Deși integrarea dintre vechiul Mac OS, noul Mac OS X și lucrurile NeXT este uneori ușor de ridicat, utilități mici precum diskutil și hdiutil sunt minunate. Poate că unii arhitecți vechi din nucleul Mach rămași de la NeXT utilizează aceste lucruri mici și se preocupă de aceștia care s-au asigurat că XCode este și un instrument atât de bun.
Răspunde
Darwin se bazează pe FreeBSD. O caracteristică interesantă nu prezentă în alte sisteme de operare Unix (din experiența mea) este Berkeley Packet Filter , alias /dev/bpf
. Acesta este un dispozitiv foarte versatil pe care îl puteți utiliza pentru capturarea pachetelor.
Comentarii
- Darwin nu este ‘ nu se bazează într-adevăr pe FreeBSD, deși împrumută câteva lucruri de la acesta. Alte comentarii aici explică asta mai bine. bpf (4) nu este ‘ t exclusiv Darwin și FreeBSD / NetBSD / OpenBSD și am ‘ am sentimentul că cineva ar putea avea chiar l-a implementat pentru nucleele Linux anterioare. SCO (in-) a avut-o în oferta Unixware.
Răspunde
Pumnul care îmi vine în minte este toate instrumentele pe care OSX le are în consolă .. există o mulțime de comenzi mai utile pe care Unix le are. Diskutil este ca o partiție magică în shell, acest instrument are atât de multe opțiuni pentru operațiile pe disc încât fdisk este într-adevăr doar 10% din ceea ce are această bestie … btw osx suportă foarte bine suportul Raid software, puteți avea JBOD, Strip și Mirror tipuri de raid software .. într-adevăr Unix are acest lucru? în visele tale !!; D
SystemProfiler – instrument excelent care afișează toate ID-urile hardware, numele, modelele, sn-urile și chestii de genul într-un Foarte confortabil.
kernel-ul darwin nu este „total transparent ca în unix.
darwin are killall util = P unix don” t, only abilitate
sistem de fișiere diferit, de asemenea .. HFS, HFS +
poate din urmă îmi voi aminti mai mult =)
Comentarii
- Adică Darwin are ‘ killall ‘ și alte variante Unix don ‘ t? ‘ nu este adevărat.
- acest răspuns este suspect de pescuit. Nu este necesar să fii atât de defăimător în declarațiile tale despre * nix, altul decât OS X. De asemenea, ultima dată când am folosit vreodată * NIX killall a fost absolut prezent în PATH. De asemenea, linux are profiluri de sistem. Fă-ți tema. Nu ‘ t fi un d é uche. edit: folosesc și îmi place foarte mult OS X.
- Am killall pe Linux, deci ‘ nu este unic pentru darwin
- Acest răspuns este vag și inexact. Ce caracteristici utile îi lipsesc fdisk? Linux RAID (mdadm) are are concatenare (LINEAR), striping (RAID0) și oglindire (RAID1), printre altele. Linux acceptă, de asemenea, atât HFS, cât și HFS +.
- BTW: Linux-killall și Solaris-killall sunt destul de diferite
Lasă un răspuns