Hvilke funksjoner har Darwin som andre Unixer ikke ' t, eller omvendt?
On februar 16, 2021 by adminHar Darwin noen funksjoner som er spesifikke for det? Har andre Unixe (r) funksjoner som Darwin mangler?
Svar
OS X er det eneste gjenværende operativsystemet basert på Mach microkernel som også fremdeles er kommersielt relevant. Det er noen pågående forskningsprosjekter og foreldede operativsystemer som uten tvil fortsatt brukes i produksjonsinnstillinger på gamle maskiner, men ingenting du kan gå ut og kjøpe på en ny maskin i dag.
OS X har det vanlige utvalg av kjernefunksjonskompatibiliteter som * ix har. Den største jeg sist måtte jobbe med, er mangel på System V-meldingskøer . (msgget(2)
og venner.) Vi måtte erstatte meldingskøen vår — som ble skrevet for en «ekte» System V-variant og senere portet til Linux — med TCP / IP for å få programvaren vår til å kjøre på OS X. For vår applikasjon var forskjellene mellom disse to IPC-metodene viktige da vi valgte å gå med meldingskøer, men på grunn av senere arkitektoniske endringer endte det ikke med å bytte til TCP / IP.
Svar
Er ikke Darwin bare et tynt BSD-lag på toppen av Mach 2.0?
Jeg pleide å bruke NeXTStep, jeg vet ikke hvor mye nåværende MacOSX avviker fra NeXTStep, men …
Mach 2.0 tilbød et annet sett med abstraksjoner på kjernenivå:
- En «oppgave»: det er et adresseområde + et sett av «porter», muligens med en tråd som kjører i den.
- Tråder. Dette var den planlagte utførelsesenheten. En oppgave (adresserom) kunne h ave mer enn 1 kjører i den. Jeg tror at Mach-O-filer (Machs kjørbare filformat) kunne spesifisere mer enn en tråd ved prosesskjøringstid: ingen hovedfunksjon () som startet flere Cthreads, OS ville starte en.
- Porter Dette er ikke som TCP – eller UDP – porter. De ble skrevet, bestilt strømmer av meldinger. Ganske RPC-aktig. Du laget en protokollspesifil, og kjørte den gjennom en kompilator for å få server- og klientsidestubber, rangeringsrutiner og unmarshalling-rutiner, etc.
- Minnesøkere på brukernivå. Du kan sette opp en oppgave + tråd for å håndtere personsøk av andre oppgavers adresserom.
De opprinnelige CMU Mach-folkene brukte disse abstraksjonene til å mulere BSD Unix-prosesser, MS-DOS prosesser, og i en fabelaktig angst av VMS, VMS-oppgaver. Hver VMS-oppgave tok to Mach-oppgaver, pluss mange tråder. Noen pleide å selge en Mac OS (pre-OSX) emulator for NeXTStep som brukte brukerområdet personsøker med god effekt.
Den gamle CMU Mach-publikasjonssiden: http://www.cs.cmu.edu/afs/cs/project/mach/public/www/doc/documents_top.html
VMS-on-Mach-papiret: http://www.sture.ch/vms/Usenix_VMS-on-Mach.pdf
Kommentarer
- Mac OS X (og dermed Darwin) bruker Mach 3.0.
Svar
Dette er ikke et ganske svar, men DTrace er et fantastisk systemfeilsøkingsverktøy som finnes for Solaris, Darwin / OS X og * BSD, men ikke Linux.
Kommentarer
- Oracle porterte DTrace til Linux i 2011.
- Fra og med oktober 2011 kunngjorde Oracle at DTrace ble portert fra Solaris til Linux, men fra 13. oktober 2014 er det fortsatt offisielt utilgjengelig. ( slideshare.net/brendangregg/from-dtrace-to-linux )
Svar
Darwin har et relativt lite sett med støttede filsystemtyper. Bortsett fra spesialtilbud som devfs og nettverkstyper som webdav, er listen:
- HFS / HFS +
- UFS / FFS
- ISO-9660 / UDF / CDDA
- NTFS
- FAT
Av denne listen er bare UFS ble designet for Unix, selv om HFS + har blitt oppgradert for å støtte all nødvendig Unix-funksjonalitet. Fra og med Mac OS X 10.6, kan ikke UFS brukes til rotpartisjonen, selv om denne begrensningen sannsynligvis ikke gjelder Darwin. Som standard er HFS + ikke skiftende på store og små bokstaver, selv om det kan kreves store bokstaver når det opprettes. Selv om Mac OS X kjører på en skiftesensitiv partisjon, mange høyprofilerte Mac-applikasjoner vil ikke (f.eks. Adobe CS).
Apple planla en stund å erstatte HFS med ZFS , og til og med sendte ZFS med noen versjoner av Mac OS X, men dessverre mislyktes dette eksperimentet til slutt på grunn av uløselige lisensieringsproblemer .
Kommentarer
- Jeg tror OS X ‘ s / macOS ‘ s NTFS skrivestøtte er rapportert for fortsatt å være buggy, da den forblir eksperimentell og aldri ble stabilisert, som jeg husker.
Svar
Jeg synes det er best å beskrive Darwin som bare en annen smak av UNIX . Solaris er en. HP / UX er en annen. Det er mange mer , kanskje ikke som «høy- profil «men de er der. Og med hver smak kommer sine egne detaljer. Derfor er det smaker i utgangspunktet. Noen selskaper tenker på noe som kan hjelpe deg med å selge det (eller bare jobbe med det eller til og med administrere det) og lage det og gi det sitt eget navn.
Kommentarer
- UNIX (i alle bokstaver) er et registrert varemerke for The Open Group i mange land; for noe å være » UNIX » (i alle bokstaver), sertifisering er påkrevd . Darwin er ikke ‘ t en annen » smak av UNIX » – men Mac OS X 10.10 på Intel x86-64 er sertifisert som en annen UNIX.
Svar
Hvis jeg har hørt riktig Darwin, som utgitt av Apple, fungerer ikke lenger som en uavhengig operativsystem, så jeg vil påpeke at den største forskjellen den har er OS X på toppen av det.: D
Selv om integrasjonen mellom det gamle Mac OS, nye Mac OS X og NeXT-ting er noen ganger latterlig, små verktøy som diskutil og hdiutil er flott. Kanskje er det noen gamle Mach-kjernearkitekter som er til overs fra NeXT som bruker disse små tingene og bryr seg om dem som har sørget for at XCode også er et så godt verktøy.
Svar
Darwin er basert på FreeBSD. En kul funksjon som er ikke til stede i andre Unix-operativsystemer (etter min erfaring) er Berkeley Packet Filter , aka /dev/bpf
. Dette er en veldig allsidig enhet du kan bruke til pakkefangst.
Kommentarer
- Darwin er ikke ‘ egentlig ikke basert på FreeBSD, selv om det låner noen ting fra brukerlandet fra det. Andre kommentarer her forklarer det bedre. bpf (4) er ikke ‘ t utelukkende Darwin og FreeBSD / NetBSD / OpenBSD, og jeg ‘ har fått en følelse av at noen kanskje har til og med implementert den for tidligere Linux-kjerner. SCO (in-) hadde det kjent i sitt Unixware-tilbud.
Svar
Knyttneve som kommer til meg er alle verktøyene som OSX har i konsollen .. det er mange flere nyttige kommandoer som unix har. Diskutil det er som partisjonsmagi i skall, dette verktøyet har så mange muligheter for diskoperasjoner at fdisk egentlig bare er 10% av hva dette dyret har … btw osx støtter virkelig flott Software Raid-støtte du kan ha JBOD, Strip og Mirror software raid types .. har virkelig unix dette? i drømmene dine !!; D
SystemProfiler – flott verktøy som viser alle maskinvare-ID-er, navn, modeller, sn-s og sånt i en VELDIG behagelig måte.
darwin-kjernen er ikke helt gjennomsiktig som i unix.
darwin har killall util = P unix don t, bare dyktighet
forskjellige filsystemer også .. HFS, HFS +
kanskje sistnevnte jeg husker mer =)
Kommentarer
- Mener du at Darwin har ‘ killall ‘ og andre Unix-varianter ikke ‘ t? At ‘ ikke stemmer.
- dette svaret er mistenkt for trolling. Det er ikke nødvendig å være så ærekrenkende i uttalelsene dine om * nix annet enn os X. Også sist gang jeg NOENSINNE BRUKTE * NIX killall var helt tilstede i min BANE. Også Linux har systemprofiler. Gjør leksene dine. Don ‘ t be a d é uche. edit: Jeg bruker og er veldig glad i OS X.
- Jeg har killall på Linux, så det ‘ er ikke unikt for darwin
- Dette svaret er vagt og unøyaktig. Hvilke nyttige funksjoner mangler fdisk? Linux RAID (mdadm) har blant annet sammenkobling (LINEAR), striping (RAID0) og speiling (RAID1). Linux støtter også både HFS og HFS +.
- BTW: Linux-killall og Solaris-killall er ganske forskjellige
Legg igjen en kommentar