Hvilke funktioner har Darwin, som andre Unixer ikke ' t, eller omvendt?
On februar 16, 2021 by adminHar Darwin nogen funktioner, der er specifikke for det? Har andre Unixe (r) funktioner, som Darwin mangler?
Svar
OS X er det eneste resterende operativsystem baseret på Mach microkernel , som også stadig er kommercielt relevant. Der er et par igangværende forskningsprojekter og forældede operativsystemer, der uden tvivl stadig bruges i produktionsindstillinger på gamle maskiner, men intet kan du gå ud og købe på en ny maskine i dag.
OS X har det sædvanlige sortiment af kerne har uforeneligheder, som enhver * ix har. Den største, jeg for nylig var nødt til at omgå, er mangel på System V-meddelelseskøer . (msgget(2)
og venner.) Vi var nødt til at erstatte vores meddelelseskode — som blev skrevet til en “ægte” System V-variant og senere portet til Linux — med TCP / IP for at få vores software til at køre på OS X. For vores applikation var forskellene mellem disse to IPC-metoder vigtige på det tidspunkt, hvor vi valgte at gå med meddelelseskøer, men på grund af senere arkitektoniske ændringer endte det ikke med at være en big deal at skifte til TCP / IP.
Svar
Når det kommer helt ned til det, er ikke Darwin bare et tyndt BSD-lag oven på Mach 2.0?
Jeg plejede at bruge NeXTStep, jeg ved ikke, hvor meget nuværende MacOSX afviger fra NeXTStep, men …
Mach 2.0 tilbød et andet sæt abstraktioner på kerneniveau:
- En “opgave”: det er et adresseområde + et sæt af “porte”, muligvis med en tråd, der kører i den.
- Tråde. Dette var den planlagte enhed for udførelse. En opgave (adresseområde) kunne h ave mere end 1 kører i det. Jeg tror, at Mach-O-filer (Machs eksekverbare filformat) kunne angive mere end en tråd på proceskørselstid: ingen hovedfunktion (), der startede flere Cthreads, OS ville starte en.
- Porte . Disse kan ikke lide TCP – eller UDP – porte. De blev skrevet, bestilte strømme af beskeder. Snarere RPC-lignende. Du oprettede en protokolspecifik fil og kørte den gennem en kompilator for at få server- og klientsidestubber, rangerings- og unmarshallingsrutiner osv.
- Hukommelsessøgere på brugerniveau. Du kunne oprette en opgave + tråd til at håndtere personsøgning af andre opgaver “adresserum.
De oprindelige CMU Mach-folk brugte disse abstraktioner til at emulere BSD Unix-processer, MS-DOS-processer og i en fabelagtig skræmmende VMS-opgaver. Hver VMS-opgave tog 2 Mach-opgaver plus mange tråde. Nogen brugte til at sælge en Mac OS (pre-OSX) emulator til NeXTStep, der brugte brugerrummet- personsøgere med god effekt.
Den gamle publikationsside for CMU Mach: 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) bruger Mach 3.0.
Svar
Dette er ikke noget af et svar, men DTrace er et fantastisk systemfejlfindingsværktøj, der findes til Solaris, Darwin / OS X og * BSD, men ikke Linux.
Kommentarer
- Oracle porterede DTrace til Linux i 2011.
- Fra oktober 2011 annoncerede Oracle, at DTrace blev porteret fra Solaris til Linux, men den 13. oktober 2014 forbliver den officielt utilgængelig. ( slideshare.net/brendangregg/from-dtrace-to-linux )
Svar
Darwin har et relativt lille sæt understøttede filsystemtyper. Bortset fra specials som devfs og netværkstyper som webdav er listen:
- HFS / HFS +
- UFS / FFS
- ISO-9660 / UDF / CDDA
- NTFS
- FAT
Af denne liste er kun UFS blev designet til Unix, selvom HFS + er blevet opgraderet til at understøtte al nødvendig Unix-funktionalitet. Fra og med Mac OS X 10.6 kan UFS ikke bruges til rodpartitionen, skønt denne begrænsning sandsynligvis ikke gælder for Darwin. Som standard er HFS + ikke store og små bogstaver, selvom der kan anmodes om store og små bogstaver på skabelsestidspunktet. Selvom Mac OS X kører på en sagsfølsom partition, mange højt profilerede Mac-applikationer vil ikke (f.eks. Adobe CS).
I et stykke tid planlagde Apple at erstatte HFS med ZFS og sendte endda ZFS med nogle versioner af Mac OS X, men desværre mislykkedes dette eksperiment til sidst på grund af uløselige licensproblemer .
Kommentarer
- Jeg tror OS X ‘ s / macOS ‘ s NTFS-skriveunderstøttelse er rapporteret for stadig at være buggy, da den forbliver eksperimentel og aldrig blev stabiliseret, som jeg husker.
Svar
Jeg synes, det er bedst at beskrive Darwin som bare endnu en smag af UNIX . Solaris er en. HP / UX er en anden. Der er masser mere , måske ikke som “høj- profil “men de er der. Og med enhver smag kommer dens egne detaljer. Derfor er der smag i første omgang. Nogle virksomheder tænker på noget, der kan hjælpe med at sælge det (eller bare arbejde med det eller endda administrere det) og skabe det og give det sit eget navn.
Kommentarer
- UNIX (i alle store bogstaver) er et registreret varemærke tilhørende The Open Group i mange lande; for at noget skal være ” UNIX ” (i alle store bogstaver), certificering er påkrævet . Darwin er ikke ‘ t en anden ” smag af UNIX ” – men Mac OS X 10.10 på Intel x86-64 er certificeret som en anden UNIX.
Svar
Hvis jeg har hørt rigtigt, fungerer Darwin, som frigivet af Apple, ikke længere som en uafhængig operativsystem, så jeg vil påpege, at den største forskel, det har, er OS X oven på det.: D
Selvom integrationen mellem det gamle Mac OS, det nye Mac OS X og NeXT-ting er nogle gange latterligt, små hjælpeprogrammer som diskutil og hdiutil er fantastiske. Måske er det nogle gamle Mach-kernearkitekter tilbage fra NeXT, der bruger disse små ting og holder af dem, der også har sørget for, at XCode er et så godt værktøj.
Svar
Darwin er baseret på FreeBSD. En seje funktion, der er ikke til stede i andre Unix-operativsystemer (efter min erfaring) er Berkeley Packet Filter , aka /dev/bpf
. Dette er en meget alsidig enhed du kan bruge til pakkeoptagelse.
Kommentarer
- Darwin er ikke ‘ t virkelig baseret på FreeBSD, selvom det låner nogle brugerlands ting fra det. Andre kommentarer her forklarer det bedre. bpf (4) er ikke ‘ t udelukkende Darwin og FreeBSD / NetBSD / OpenBSD, og jeg ‘ har fået en fornemmelse af, at nogen måske har implementeret det til tidligere Linux-kerner. SCO havde (berømt) det i deres Unixware-tilbud.
Svar
Knytnæve, der kommer til mig er alle værktøjer, som OSX har i konsollen .. der er mange flere nyttige kommandoer, som unix har. Diskutil det er som partitionsmagi i shell, dette værktøj har så mange muligheder for diskoperationer, at fdisk virkelig kun er 10% af, hvad dette udyr har … btw osx understøtter virkelig god Software Raid-support, du kan have JBOD, Strip og Mirror software raid typer .. har virkelig unix dette? i dine drømme !!; D
SystemProfiler – godt værktøj, der viser alle hardware-ider, navne, modeller, sner og lignende i en MEGET behagelig måde.
darwin-kernen er ikke helt gennemsigtig som i unix.
darwin har killall util = P unix don t, kun dygtighed
andet filsystem også .. HFS, HFS +
måske sidstnævnte jeg husker mere =)
Kommentarer
- Mener du, at Darwin har ‘ killall ‘ og andre Unix-varianter ikke ‘ t? At ‘ ikke er sandt.
- dette svar er mistænkt for trolling. Det er ikke nødvendigt at være så ærekrænkende i dine udsagn om * nix bortset fra os X. Sidste gang jeg nogensinde har brugt * NIX killall var også absolut til stede i min PATH. Også linux har systemprofiler. Lav dine lektier. Don ‘ t være en d é uche. edit: Jeg bruger og er meget glad for OS X.
- Jeg har killall på linux, så det ‘ er ikke unikt for darwin
- Dette svar er vagt og unøjagtigt. Hvilke nyttige funktioner mangler fdisk? Linux RAID (mdadm) har blandt andet sammenkædning (LINEAR), striping (RAID0) og spejling (RAID1). Linux understøtter også både HFS og HFS +.
- BTW: Linux-killall og Solaris-killall er ret forskellige
Skriv et svar