Welke eigenschappen heeft Darwin die andere Unixen niet ' t hebben, of vice versa?
Geplaatst op februari 16, 2021 door adminHeeft Darwin specifieke kenmerken? Hebben andere Unixe (s) functies die Darwin mist?
Antwoord
OS X is het enige overgebleven besturingssysteem gebaseerd op de Mach-microkernel die ook nog steeds commercieel relevant is. Er zijn een paar lopende onderzoeksprojecten en verouderde besturingssystemen die ongetwijfeld nog steeds worden gebruikt in productie-instellingen op oude machines, maar er is niets dat u vandaag op een nieuwe machine kunt kopen.
OS X heeft de gebruikelijke assortiment van kernel-functie incompatibiliteiten die elke * ix heeft. De grootste waar ik onlangs omheen moest werken, is een gebrek aan System V-berichtenwachtrijen . (msgget(2)
en vrienden.) We moesten onze berichtenwachtrijcode — vervangen die was geschreven voor een “echte” System V-variant en later geport naar Linux — met TCP / IP om onze software op OS X te laten draaien. Voor onze applicatie waren de verschillen tussen deze twee IPC-methoden van belang op het moment dat we de keuze maakten om te gaan met berichtenwachtrijen, maar als gevolg van latere architecturale veranderingen, was het uiteindelijk geen probleem om over te schakelen naar TCP / IP.
Antwoord
Als het erop aankomt, is Darwin dan niet slechts een dunne BSD-laag bovenop Mach 2.0?
Ik gebruikte NeXTStep, ik weet niet hoeveel huidige MacOSX er van afwijkt NeXTStep, maar …
Mach 2.0 bood een andere set abstracties op kernelniveau:
- Een “taak”: dat is een adresruimte + een set van “ports”, mogelijk met een thread erin.
- Threads. Dit was de planbare eenheid van uitvoering. Een taak (adresruimte) kon er lopen er meer dan 1 in. Ik geloof dat Mach-O-bestanden (het uitvoerbare bestandsformaat van Mach) meer dan één thread kunnen specificeren tijdens de uitvoering van het proces: geen main () -functie die meer Cthreads startte, het besturingssysteem zou er een starten.
- Poorten Deze zijn niet zoals TCP- of UDP-poorten. Ze waren getypt, geordende berichtenstromen. Eerder RPC-achtig. Je hebt een protocolspecificatiebestand gemaakt en dat vervolgens door een compiler gelopen om server- en client-side stubs, marshalling en unmarshalling-routines, enz. Te krijgen.
- Geheugenpagers op gebruikersniveau. Je zou een taak + thread kunnen opzetten om het paging van de adresruimten van andere taken af te handelen.
De oorspronkelijke CMU Mach-mensen gebruikten deze abstracties om BSD Unix-processen emuleren , MS-DOS-processen, en in een fantastische vlaag van freakiness, VMS-taken. Elke VMS-taak kostte 2 Mach-taken, plus veel threads. Vroeger verkocht iemand een Mac OS-emulator (pre-OSX) voor NeXTStep die de gebruikersruimte gebruikte. pagers met goed resultaat.
De oude CMU Mach-publicatiepagina: http://www.cs.cmu.edu/afs/cs/project/mach/public/www/doc/documents_top.html
De VMS-on-Mach-paper: http://www.sture.ch/vms/Usenix_VMS-on-Mach.pdf
Opmerkingen
- Mac OS X (en dus Darwin) gebruikt Mach 3.0.
Antwoord
Dit is niet echt een antwoord, maar DTrace is een geweldige tool voor het debuggen van systemen die bestaat voor Solaris, Darwin / OS X en * BSD, maar niet Linux.
Opmerkingen
- Oracle heeft DTrace overgezet naar Linux in 2011.
- Vanaf oktober 2011 kondigde Oracle de portering van DTrace van Solaris naar Linux aan, maar vanaf 13 oktober 2014 blijft het officieel niet beschikbaar. ( slideshare.net/brendangregg/from-dtrace-to-linux )
Antwoord
Darwin heeft een relatief kleine set ondersteunde bestandssysteemtypen. Afgezien van specials zoals devfs en netwerktypes zoals webdav, is de lijst:
- HFS / HFS +
- UFS / FFS
- ISO-9660 / UDF / CDDA
- NTFS
- FAT
Van deze lijst zijn alleen UFS is ontworpen voor Unix, hoewel HFS + is geüpgraded om alle noodzakelijke Unix-functionaliteit te ondersteunen. Vanaf Mac OS X 10.6 kan UFS niet worden gebruikt voor de rootpartitie, hoewel deze beperking waarschijnlijk niet van toepassing is op Darwin. Standaard is HFS + niet hoofdlettergevoelig, hoewel hoofdlettergevoeligheid kan worden aangevraagd bij het maken. Hoewel Mac OS X zal draaien op een hoofdlettergevoelige partitie, veel spraakmakende Mac-applicaties niet (bijv. Adobe CS).
Apple was een tijdje van plan HFS te vervangen met ZFS , en heeft zelfs ZFS geleverd met sommige versies van Mac OS X, maar helaas is dit experiment uiteindelijk mislukt vanwege onoplosbare licentieproblemen .
Reacties
- Ik geloof OS X ‘ s / macOS ‘ s NTFS-schrijfondersteuning is gerapporteerd als nog steeds buggy, aangezien het experimenteel blijft en nooit is gestabiliseerd, zoals ik me herinner.
Antwoord
Ik denk dat het “het beste is om Darwin te omschrijven als gewoon een andere smaak van UNIX . Solaris is er een. HP / UX is een andere. Er zijn nog veel meer , misschien niet zo “high- profiel “maar ze” zijn er. En elke smaak heeft zijn eigen specifieke kenmerken. Daarom zijn er in de eerste plaats smaken. Een bedrijf bedenkt iets dat zou helpen het te verkopen (of er gewoon mee te werken of het zelfs te beheren) en maakt het en geeft het een eigen naam.
Opmerkingen
- UNIX (in hoofdletters) is een geregistreerd handelsmerk van The Open Group in veel landen; om iets te zijn ” UNIX ” (in hoofdletters), certificering is vereist . Darwin isn ‘ t een andere ” variant van UNIX ” – maar Mac OS X 10.10 op Intel x86-64 is gecertificeerd als een andere UNIX.
Antwoord
Als ik het goed heb gehoord, functioneert Darwin, zoals uitgebracht door Apple, niet langer als een onafhankelijke besturingssysteem, dus ik zou erop willen wijzen dat het grootste verschil OS X er bovenop is.: D
Hoewel de integratie tussen het oude Mac OS, het nieuwe Mac OS X en NeXT-dingen is soms lachwekkend, kleine hulpprogrammas zoals diskutil en hdiutil zijn geweldig. Misschien zijn het enkele oude Mach-kernelarchitecten die zijn overgebleven van NeXT die deze kleine dingen gebruiken en er om geven, die ervoor hebben gezorgd dat XCode ook zon goede tool is.
Antwoord
Darwin is gebaseerd op FreeBSD. Een coole functie die niet aanwezig is in andere Unix-besturingssystemen (naar mijn ervaring) is het Berkeley Packet Filter , ook bekend als /dev/bpf
. Dit is een zeer veelzijdig apparaat dat je kunt gebruiken voor het vastleggen van pakketten.
Reacties
- Darwin isn ‘ t werkelijk gebaseerd op FreeBSD, hoewel het er een aantal gebruikersgerelateerde zaken van ontleent. Andere opmerkingen hier verklaren dat beter. bpf (4) isn ‘ t alleen Darwin en FreeBSD / NetBSD / OpenBSD, en ik ‘ heb het gevoel dat iemand zelfs geïmplementeerd voor eerdere Linux-kernels. SCO (in-) had het beroemd in hun Unixware-aanbod.
Antwoord
Vuist die in me opkomt zijn alle tools die OSX in de console heeft .. er zijn nog veel meer nuttige commandos die Unix heeft. Diskutil het is net als partitiemagie in de shell, deze tool heeft zoveel opties voor schijfbewerkingen dat fdisk eigenlijk maar 10% is van wat dit beest heeft … trouwens osx ondersteunt echt geweldige Software Raid-ondersteuning je kunt JBOD, Strip en Mirror hebben software raid types .. heeft unix dit echt? in je dromen !!; D
SystemProfiler – geweldige tool die alle hardware-ids, namen, modellen, sn s en dat soort dingen in een ZEER comfortabele manier.
darwin kernel is niet helemaal transparant zoals in unix.
darwin heeft killall util = P unix niet, alleen vaardigheid
ander bestandssysteem ook .. HFS, HFS +
misschien laatste, ik onthoud meer =)
Opmerkingen
- Bedoel je dat Darwin ‘ killall ‘ en andere Unix-varianten heeft ‘ t? Dat ‘ is niet waar.
- dit antwoord is verdacht van trollen. Het is niet nodig om zo lasterlijk te zijn in je uitspraken over * nix anders dan os X. Ook was de laatste keer dat ik OOIT * NIX GEBRUIKTE killall absoluut aanwezig in mijn PATH. Linux heeft ook systeemprofilers. Doe je huiswerk. Wees niet ‘ een é uche. bewerken: ik gebruik OS X en ben er dol op.
- Ik heb killall op linux, dus het ‘ is niet uniek voor darwin
- Dit antwoord is vaag en onnauwkeurig. Welke handige functies mist fdisk? Linux RAID (mdadm) heeft onder andere concatenatie (LINEAR), striping (RAID0) en mirroring (RAID1). Linux ondersteunt ook zowel HFS als HFS +.
- Trouwens: Linux-killall en Solaris-killall zijn behoorlijk verschillend
Geef een reactie