Jakie cechy ma Darwin, że inne Unixy nie ' t, i odwrotnie?
On 16 lutego, 2021 by adminCzy Darwin ma jakieś specyficzne cechy? Czy inne Unixe mają cechy, których brakuje Darwinowi?
Odpowiedź
OS X to jedyny pozostały system operacyjny oparty na mikrojądrze Mach , który również jest nadal istotny komercyjnie. Istnieje kilka trwających projektów badawczych i przestarzałych systemów operacyjnych, które bez wątpienia są nadal używane w środowisku produkcyjnym na starych maszynach, ale nic nie można dziś kupić na nowej maszynie.
OS X ma zwykłe asortyment niezgodności cech jądra, które ma każdy * ix. Największym problemem, z którym ostatnio musiałem sobie poradzić, jest brak kolejek komunikatów Systemu V . (msgget(2)
i przyjaciele). Musieliśmy zastąpić kod naszej kolejki wiadomości —, który został napisany dla „prawdziwego” wariantu Systemu V i nowszych przeniesiony na Linuksa — z 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 podejmowaliśmy decyzję z kolejkami wiadomości, ale z powodu późniejszych zmian architektonicznych przejście na TCP / IP nie było wielkim problemem.
Odpowiedź
Jeśli chodzi o to, czy Darwin nie jest tylko cienką warstwą BSD na wierzchu Mach 2.0?
Kiedyś używałem NeXTStep, nie wiem, jak bardzo obecny MacOSX różni się od NeXTStep, ale …
Mach 2.0 oferował inny zestaw abstrakcji na poziomie jądra:
- „Zadanie”: to jest przestrzeń adresowa + zestaw „portów”, prawdopodobnie z uruchomionym wątkiem.
- Wątki. To była planowana jednostka wykonania. Zadanie (przestrzeń adresowa) może h więcej niż 1 biegnie w nim. Uważam, że pliki Mach-O (format pliku wykonywalnego Macha) mogą określać więcej niż jeden wątek w czasie wykonywania procesu: żadna funkcja main () nie uruchomiłaby większej liczby Cthreadów, system operacyjny uruchomiłby jeden.
- Porty . To nie są porty TCP czy UDP. Zostały wpisane, uporządkowane strumienie wiadomości. Raczej podobne do RPC. Utworzyłeś plik specyfikacji protokołu, a następnie przepuściłeś go przez kompilator, aby uzyskać kody pośredniczące po stronie serwera i klienta, procedury krosowania i usuwania błędów itp.
- pagery pamięci na poziomie użytkownika. Możesz skonfigurować zadanie + wątek do obsługi stronicowania przestrzeni adresowych innych zadań.
Pierwsi ludzie z CMU Mach używali tych abstrakcji do emulacji procesów BSD Unix, Procesy MS-DOS oraz w fantastycznym zestawieniu dziwacznych zadań VMS. Każde zadanie VMS wymagało 2 zadań Mach plus wiele wątków. Ktoś sprzedawał emulator Mac OS (pre-OSX) dla NeXTStep, który wykorzystywał przestrzeń użytkownika pagery z dobrym efektem.
Stara strona publikacji CMU Mach: http://www.cs.cmu.edu/afs/cs/project/mach/public/www/doc/documents_top.html
Dokument VMS-on-Mach: http://www.sture.ch/vms/Usenix_VMS-on-Mach.pdf
Komentarze
- Mac OS X (a tym samym Darwin) używa Mach 3.0.
Odpowiedź
To nie jest” niezła odpowiedź „, ale DTrace to niesamowite narzędzie do debugowania systemu, które istnieje dla Solaris, Darwin / OS X i * BSD, ale nie Linux.
Komentarze
- Oracle przeniosło DTrace na Linuksa w 2011 r.
- W październiku 2011 firma Oracle ogłosiła przeniesienie DTrace z Solaris do Linuksa, ale od 13 października 2014 r. pozostaje ona oficjalnie niedostępna. ( slideshare.net/brendangregg/from-dtrace-to-linux )
Odpowiedź
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:
- HFS / HFS +
- UFS / FFS
- ISO-9660 / UDF / CDDA
- NTFS
- FAT
Z tej listy tylko UFS został zaprojektowany dla systemu Unix, chociaż HFS + został zaktualizowany, aby obsługiwał wszystkie niezbędne funkcje systemu Unix. Począwszy od Mac OS X 10.6, UFS nie może być używany jako partycja główna, chociaż to ograniczenie prawdopodobnie nie ma zastosowania do Darwina. Domyślnie HFS + nie rozróżnia wielkości liter, chociaż można zażądać rozróżniania wielkości liter podczas tworzenia. Chociaż Mac OS X będzie działać na partycji z rozróżnianiem wielkości liter, wiele znanych aplikacji Mac nie będzie działać (np. Adobe CS).
Przez jakiś czas Apple planowało zastąpić HFS przez ZFS , a nawet dostarczał ZFS z niektórymi wersjami Mac OS X, ale niestety ten eksperyment ostatecznie się nie powiódł z powodu nierozwiązywalnych problemów licencyjnych .
Komentarze
- Uważam, że OS X ' s / macOS ' jest zgłoszona jako nadal zawierająca błędy, ponieważ pozostaje eksperymentalna i nigdy nie została ustabilizowana, o czym pamiętam.
Odpowiedź
Myślę, że najlepiej będzie opisać Darwina jako kolejny odmiana systemu UNIX . Solaris jest jeden. HP / UX jest inny. Jest wiele więcej , może nie tak „high- profile „ale oni” tam są. A każdy smak ma swoją specyfikę. Dlatego właśnie na pierwszym miejscu są smaki. Jakaś firma wymyśla coś, co pomogłoby jej w sprzedaży (lub po prostu pracy z tym, a nawet administrowania) i tworzy to i nadaje mu własną nazwę.
Komentarze
- UNIX (wielkimi literami) to zastrzeżony znak towarowy The Open Group w wielu krajach; coś powinno być ” UNIX ” (wielkimi literami), certyfikat jest wymagany . Darwin isn ' t another ” smak UNIX ” – ale Mac OS X 10.10 na Intel x86-64 ma certyfikat innego systemu UNIX.
Odpowiedź
Jeśli dobrze słyszałem, Darwin w wersji wydanej przez Apple nie działa już jako niezależny system operacyjny, więc chciałbym zwrócić uwagę, że największą różnicą jest OS X.: D
Chociaż integracja starego Mac OS, nowego Mac OS X i rzeczy NeXT jest czasami śmieszna, małe narzędzia, takie jak diskutil i hdiutil są świetne. Może to niektórzy starzy architekci jądra Mach, którzy zostali po NeXT, którzy używają tych drobiazgów i dbają o nich, którzy zadbali o to, aby XCode było tak dobrym narzędziem.
Odpowiedź
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 , aka /dev/bpf
. To bardzo wszechstronne urządzenie , którego można używać do przechwytywania pakietów.
Komentarze
- Darwin isn ' nie jest naprawdę oparty na FreeBSD, chociaż pożycza z niego pewne rzeczy w przestrzeni użytkownika. Inne komentarze tutaj lepiej to wyjaśniają. bpf (4) to nie ' t tylko Darwin i FreeBSD / NetBSD / OpenBSD, a ja ' mam wrażenie, że ktoś może mieć nawet zaimplementował go we wcześniejszych jądrach Linuksa. SCO (nie-) słynie z oferty Unixware.
Odpowiedź
Pięść, która przychodzi mi do głowy to wszystkie narzędzia, które OSX ma w konsoli .. jest mnóstwo bardziej przydatnych poleceń, które ma unix. Diskutil to jak magia partycji w powłoce, to narzędzie ma tak wiele opcji operacji dyskowych, że fdisk to tak naprawdę tylko 10% tego, co ma ta bestia … btw osx obsługuje naprawdę świetne wsparcie Software Raid, które możesz mieć JBOD, Strip i Mirror typy raidów na oprogramowanie … czy naprawdę unix ma to w twoich snach !!; D
SystemProfiler – świetne narzędzie, które wyświetla wszystkie identyfikatory sprzętu, nazwy, modele, sn „i tym podobne w BARDZO wygodny sposób.
Jądro darwin nie jest całkowicie przezroczyste, jak w unixie.
darwin ma killall util = P unix nie, tylko umiejętności
także inny system plików .. HFS, HFS +
może później i „zapamiętam więcej =)
Komentarze
- Czy masz na myśli, że Darwin ma ' killall ' i inne warianty Uniksa nie ' t? To ' nie jest prawdą.
- ta odpowiedź jest podejrzana o trollowanie. Nie ma potrzeby być tak zniesławiającym w swoich wypowiedziach na temat * nix innego niż os X. Ponadto, ostatnim razem, gdy KIEDYKOLWIEK KORZYSTAŁEM * NIX, killall był absolutnie obecny w mojej PATH. Ponadto linux ma również profile systemowe. Odrób swoją pracę domową. Nie ' nie bądź é uche. edit: Używam i bardzo lubię OS X.
- Mam killall na Linuksie, więc ' nie jest unikalny dla Darwina
- Ta odpowiedź jest niejasna i niedokładna. Jakich przydatnych funkcji brakuje w fdisk? Linux RAID (mdadm) czy obsługuje między innymi konkatenację (LINEAR), striping (RAID0) i mirroring (RAID1). Linux obsługuje również HFS i HFS +.
- BTW: Linux-killall i Solaris-killall są całkiem różne.
Dodaj komentarz