Czy Darwin ma jakieś cechy charakterystyczne dla niego? Czy inne Uniksy mają funkcje, których brakuje Darwinowi?
OS X jest jedynym pozostałym systemem operacyjnym opartym na mikrojądrze Macha, który również jest nadal istotny z handlowego punktu widzenia. Trwa kilka projektów badawczych i przestarzałe systemy operacyjne, które bez wątpienia są nadal używane w ustawieniach produkcyjnych na starych komputerach, ale dziś nic nie można wyjść i kupić na nowej maszynie.
OS X ma zwykły asortyment niezgodności funkcji jądra, który ma każdy * ix. Największym ja ostatnio mieliśmy do pracy wokół jest brak kolejek komunikatów System V . ( msgget(2)
i przyjaciele.) Musieliśmy zastąpić nasz kod kolejki komunikatów - który został napisany dla „prawdziwego” wariantu Systemu V, a później przeniesiony do Linuksa - na TCP / IP, aby nasze oprogramowanie działało w systemie OS X. Dla naszej aplikacji różnice między tymi dwiema metodami IPC miały znaczenie w momencie, gdy wybieraliśmy kolejki wiadomości, ale z powodu późniejszych zmian architektonicznych przejście na TCP / IP nie było wielkim problemem.
Jeśli chodzi o to, czy Darwin nie jest cienką warstwą BSD na Machu 2.0?
Kiedyś korzystałem z NeXTStep, nie wiem, ile obecnie MacOSX odbiega od NeXTStep, ale ...
Mach 2.0 oferował inny zestaw abstrakcji na poziomie jądra:
Oryginalni ludzie z CMU Mach używali tych abstrakcji do emulacji procesów Uniksa BSD, procesów MS-DOS oraz w fantastycznym połączeniu dziwactwa zadań VMS. Każde zadanie VMS wymagało 2 zadań Macha i wielu wątków. Ktoś kiedyś sprzedawał emulator Mac OS (wcześniejszy niż OSX) dla NeXTStep, który korzystał z pagerów przestrzeni użytkownika.
Stara strona publikacji CMU Mach: http://www.cs.cmu.edu/afs/cs/project/mach/public/www/doc/documents_top.html
Artykuł VMS-on-Mach: http://www.sture.ch/vms/Usenix_VMS-on-Mach.pdf
To nie do końca odpowiedź, ale DTrace to niesamowite narzędzie do debugowania systemu, które istnieje dla systemów Solaris, Darwin / OS X i * BSD, ale nie dla Linuksa.
źródło
Darwin ma stosunkowo niewielki zestaw obsługiwanych typów systemów plików. Oprócz ofert specjalnych, takich jak devfs i typów sieci, takich jak webdav, lista jest następująca:
Z tej listy tylko UFS został zaprojektowany dla Unixa, chociaż HFS + został zaktualizowany do obsługi wszystkich niezbędnych funkcji Unixa. Począwszy od Mac OS X 10.6, UFS nie może być używany do partycji root, chociaż to ograniczenie prawdopodobnie nie dotyczy Darwina. Domyślnie w HFS + nie rozróżniana jest wielkość liter, chociaż w momencie tworzenia można zażądać rozróżnienia wielkości liter. Chociaż system Mac OS X będzie działał na partycji, w której rozróżniana jest wielkość liter, wiele głośnych aplikacji na komputery Mac nie będzie działać (np. Adobe CS).
Przez jakiś czas Apple planowało zastąpić HFS z ZFS , a nawet dostarczyło ZFS z niektórymi wersjami Mac OS X, ale niestety ten eksperyment ostatecznie zakończył się niepowodzeniem z powodu nierozwiązywalnych problemów licencyjnych .
źródło
Myślę, że najlepiej opisać Darwin jako kolejny smak UNIX-a . Solaris jest jeden. HP / UX to kolejna. Jest o wiele więcej , może nie tak „głośnych”, ale są one dostępne. I z każdym smakiem wiąże się jego specyfika. Właśnie dlatego są smaki. Niektóre firmy wymyślają coś, co pomogłoby je sprzedać (lub po prostu pracować z nim, a nawet administrować nim) i stworzyć i nadać mu własną nazwę.
źródło
Jeśli dobrze usłyszałem Darwina wydanego przez Apple, nie działa on już jako niezależny system operacyjny, więc wskazałbym, że największą różnicą jest OS X na nim. :RE
Chociaż integracja starego Mac OS, nowego Mac OS X i NeXT jest czasem śmieszna, małe narzędzia takie jak diskutil i hdiutil są świetne. Być może niektórzy architekci jądra Macha pozostawieni z NeXT używają tych drobiazgów i troszczą się o nich, którzy upewnili się, że XCode jest tak dobrym narzędziem.
źródło
Darwin jest oparty na FreeBSD. Jedną fajną funkcją, która nie jest obecna w innych systemach operacyjnych Unix (z mojego doświadczenia) jest Berkeley Packet Filter , alias
/dev/bpf
. Jest to bardzo wszechstronne urządzenie, którego można użyć do przechwytywania pakietów.źródło
Pięścią, która przychodzi mi na myśl, są wszystkie narzędzia, które OSX ma w konsoli. Istnieje mnóstwo bardziej przydatnych poleceń, które posiada Unix. Diskutil to jak magia partycji w powłoce, to narzędzie ma tak wiele opcji operacji dyskowych, że fdisk to tak naprawdę zaledwie 10% tego, co ma ta bestia ... btw osx obsługuje naprawdę świetne wsparcie Software Raid, możesz mieć oprogramowanie JBOD, Strip i Mirror typy .. czy naprawdę Unix ma to? w Twoich snach!! ;RE
SystemProfiler - świetne narzędzie, które wyświetla wszystkie identyfikatory sprzętu, nazwy, modele, snów i takie tam w bardzo BARDZO wygodny sposób.
Jądro darwin nie jest całkowicie przezroczyste jak w Uniksie.
darwin have killall util = P unix nie, tylko umiejętności
inny system plików również .. HFS, HFS +
może później zapamiętam więcej =)
źródło