Darwin'in diğer Unixlerin sahip olmadığı veya tam tersi özellikleri nelerdir?


19

Darwin'in kendine özgü özellikleri var mı? Diğer Unixe (ler), Darwin'in sahip olmadığı özelliklere sahip mi?

Yanıtlar:


20

OS X, ticari olarak hala geçerli olan Mach mikro çekirdeğine dayanan tek işletim sistemidir . Şüphesiz hala eski makinelerin üretim ortamlarında kullanılmakta olan birkaç araştırma projesi ve eskimiş işletim sistemi var, ancak bugün dışarı çıkıp yeni bir makineden satın alabileceğiniz hiçbir şey yok.

OS X, herhangi bir * ix'in sahip olduğu çekirdek özelliği uyumsuzluklarının olağan çeşitliliğine sahiptir. En son çalışmam gereken en büyük sistem , System V ileti sıralarının eksikliğidir . ( msgget(2)ve arkadaşlar.) Yazılımımızın OS X üzerinde çalışmasını sağlamak için "gerçek" bir Sistem V değişkeni için yazılan ve daha sonra Linux'a taşınan mesaj kuyruğu kodumuzu değiştirmek zorunda kaldık. Uygulamamız için, Bu iki IPC yöntemi arasındaki farklar, mesaj kuyruklarıyla gitmeyi seçtiğimiz zaman önemliydi, ancak daha sonraki mimari değişiklikler nedeniyle, TCP / IP'ye geçmek için çok önemli değildi.


11

Tam olarak geldiğinde, Darwin sadece Mach 2.0'ın üstünde ince bir BSD katmanı değil mi?

NeXTStep kullanıyordum, MacOSX'in NeXTStep'ten ne kadar güncel olduğunu bilmiyorum, ama ...

Mach 2.0, çekirdek düzeyinde farklı bir soyutlama seti sundu:

  1. Bir "görev": bir adres alanı + muhtemelen içinde bir iş parçacığı olan bir "bağlantı noktaları" kümesidir.
  2. İş Parçacığı. Bu, programlanabilir yürütme birimiydi. Bir görevin (adres alanı) içinde birden fazla çalışan olabilir. Mach-O dosyalarının (Mach'ın yürütülebilir dosya biçimi) işlem çalışma zamanında birden fazla iş parçacığı belirtebileceğine inanıyorum: daha fazla Cthreads başlatan main () işlevi yok, işletim sistemi bir tane başlatacaktı.
  3. Portlar. Bunlar TCP veya UDP bağlantı noktaları gibi değildir. Onlar yazıldı, mesaj akışları emretti. Aksine RPC benzeri. Bir protokol spec dosyası oluşturdunuz, daha sonra bunu bir derleyici aracılığıyla çalıştırdınız ve sunucu ve istemci tarafı taslakları, marshalling ve unmarshalling rutinleri vb.
  4. Kullanıcı seviyesi bellek çağrı cihazları. Diğer görevlerin adres alanlarını sayfalamak için bir görev + iş parçacığı ayarlayabilirsiniz.

Orijinal CMU Mach millet bu soyutlamaları BSD Unix süreçlerini, MS-DOS süreçlerini taklit etmek ve harika bir huysuzluk, VMS görevleri taklit etmek için kullandı . Her VMS görevi 2 Mach görevi ve birçok iş parçacığı aldı. Birisi NeXTStep için kullanıcı alanı çağrı cihazlarını iyi bir etki yaratan bir Mac OS (OSX öncesi) emülatörü satıyordu.

Eski CMU Mach yayınları sayfası: http://www.cs.cmu.edu/afs/cs/project/mach/public/www/doc/documents_top.html

Mach'da VMS kağıdı: http://www.sture.ch/vms/Usenix_VMS-on-Mach.pdf


2
Mac OS X (ve böylece Darwin) Mach 3.0 kullanıyor.
Bahama


4

Darwin'in nispeten küçük bir dizi desteklenen dosya sistemi türü vardır. Devfs gibi özel ürünler ve webdav gibi ağ türlerinin yanı sıra liste:

  • HFS / HFS +
  • UFS / FFS
  • ISO-9660 / UDF / CDDA
  • NTFS
  • ŞİŞMAN

HFS + gerekli tüm Unix işlevlerini destekleyecek şekilde yükseltilmiş olmasına rağmen , bu listeden yalnızca UFS Unix için tasarlanmıştır. Mac OS X 10.6'dan itibaren, UFS kök bölüm için kullanılamaz, ancak bu kısıtlama muhtemelen Darwin için geçerli değildir. Varsayılan olarak HFS + büyük / küçük harfe duyarlı değildir, ancak oluşturma sırasında büyük / küçük harf duyarlılığı istenebilir. Mac OS X, büyük / küçük harfe duyarlı bir bölüm üzerinde çalışmasına rağmen, birçok yüksek profilli Mac uygulaması çalışmaz (örneğin Adobe CS).

Bir süredir Apple, HFS'yi ZFS ile değiştirmeyi planlıyordu ve hatta ZFS'yi Mac OS X'in bazı sürümleriyle birlikte gönderdi, ancak ne yazık ki bu deney, çözülemeyen lisans sorunları nedeniyle başarısız oldu .


OS X'in / macOS'un NTFS yazma desteğinin, deneysel olarak kaldığı ve asla sabitlenmediği için hala buggy olduğu bildirildiğine inanıyorum .
RandomDSdevel

3

Bence Darwin'i UNIX'in başka bir lezzeti olarak tanımlamak en iyisidir . Solaris bir tanesidir. HP / UX başka bir şeydir. Çok daha fazlası var , belki "yüksek profilli" olarak değil ama oradalar. Ve her lezzet ile kendi özellikleri geliyor. Bu yüzden ilk etapta lezzetler var. Bazı şirketler onu satmaya yardımcı olacak bir şey düşünüyor (ya da onunla çalışmak ya da hatta onu yönetmek) ve onu yaratıyor ve kendi adını veriyor.


2
UNIX (her durumda), Open Group'un birçok ülkede tescilli ticari markasıdır; bir şeyin "UNIX" olması için (tüm başlıklarda) sertifika gereklidir . Darwin başka bir "UNIX lezzeti" değil - Intel x86-64'teki Mac OS X 10.10 başka bir UNIX sertifikasına sahip.
user314104

0

Apple tarafından yayınlanan doğru Darwin'i duyduysam, artık bağımsız bir işletim sistemi olarak işlev görmüyor, bu yüzden sahip olduğu en büyük farkın üstünde OS X olduğunu belirtmek isterim. : D

Eski Mac OS, yeni Mac OS X ve NeXT şeyler arasındaki entegrasyon bazen gülünç olsa da, diskutil ve hdiutil gibi küçük yardımcı programlar harika. Belki de bu küçük şeyleri kullanan ve XCode'u da böyle iyi bir araç haline getiren onlarla ilgilenen NeXT'den kalan eski Mach çekirdek mimarları.


-1

Darwin, FreeBSD'ye dayanmaktadır. Olduğu bir serin özelliği olmayan (benim durumumda) diğer Unix işletim sistemlerinde sunulan Berkeley Packet Filter aka /dev/bpf. Bu, paket yakalama için kullanabileceğiniz çok yönlü bir cihazdır .


1
Darwin gerçekten FreeBSD'ye dayanmıyor, ancak kullanıcılardan bazı şeyler ödünç alıyor. Buradaki diğer yorumlar bunu daha iyi açıklıyor. bpf (4) yalnızca Darwin ve FreeBSD / NetBSD / OpenBSD değildir ve birisinin daha önceki Linux çekirdekleri için bile uygulamış olabileceğini hissediyorum. SCO (in-) ünlü Unixware ürünlerinde vardı.
jrg

-11

Aklıma gelen yumruk, OSX'in konsolda sahip olduğu tüm araçlar .. Unix'in sahip olduğu tonlarca daha kullanışlı komut var. Diskutil, kabukta bölüm büyüsü gibi, bu araç disk işlemleri için o kadar çok seçeneğe sahip ki fdisk bu canavara sahip olanın sadece% 10'udur ... btw osx gerçekten harika Yazılım Baskısı desteğini destekler JBOD, Strip ve Mirror yazılım baskınına sahip olabilirsiniz türleri .. gerçekten unix bu var mı? rüyalarında !! D

SystemProfiler - ÇOK rahat bir şekilde tüm donanım kimliklerini, adlarını, modellerini, sn ve benzeri şeyleri görüntüleyen harika bir araç.

darwin kernel, unix'teki gibi tamamen şeffaf değil.

darwin killall util = P unix yok, sadece beceri var

farklı dosya sistemi de .. HFS, HFS +

belki daha fazla hatırlayacağım =)


2
Yani Darwin'de 'killall' var ve diğer Unix varyantları yok mu? Bu doğru değil.
kbyrd

2
bu cevap trol olmasından şüpheleniyor. OS X dışındaki * nix hakkındaki açıklamalarınızda bu kadar küçük düşürücü olmak gerekli değildir. Ayrıca, en son KULLANILDIĞIM * NIX killall PATH'ımda kesinlikle mevcuttu. Ayrıca, linux sistem profillerine sahiptir. Ödevini yap. Sakin olmayın. edit: Ben kullanmak ve OS X çok düşkün
Eli Frey


2
Bu cevap belirsiz ve yanlış. Fdisk hangi yararlı özelliklere sahip değildir? Linux RAID (mdadm) , birleştirme (LINEAR), şeritleme (RAID0) ve yansıtma (RAID1) özelliklerine sahiptir. Linux ayrıca HFS ve HFS + 'yı da destekler.
Matthew Flaschen

3
BTW: Linux-killall ve Solaris-killall oldukça farklı
EricSchaefer
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.