ดาร์วินมีคุณสมบัติอะไรบ้างที่ยูนิกซ์อื่นไม่ทำหรือในทางกลับกัน


19

ดาร์วินมีคุณสมบัติใด ๆ ที่เฉพาะเจาะจงหรือไม่ Unixe อื่น ๆ มีคุณสมบัติที่ดาร์วินขาดหรือไม่?

คำตอบ:


20

OS X เป็นระบบปฏิบัติการเดียวที่เหลืออยู่บนพื้นฐานของไมโครเคอร์เนล Machซึ่งยังมีความเกี่ยวข้องในเชิงพาณิชย์ มีโครงการวิจัยอย่างต่อเนื่องและระบบปฏิบัติการล้าสมัยที่ไม่ต้องสงสัยเลยว่ายังคงใช้ในการตั้งค่าการผลิตบนเครื่องเก่า แต่ไม่มีสิ่งใดที่คุณสามารถออกไปซื้อเครื่องใหม่ได้แล้ววันนี้

OS X มีความเข้ากันไม่ได้ของคุณสมบัติเคอร์เนลตามปกติซึ่งมี * ix หนึ่งที่ใหญ่ที่สุดฉันมากที่สุดเมื่อเร็ว ๆ นี้มีการทำงานรอบคือการขาดการคิวข้อความ System V ( msgget(2)และเพื่อน ๆ ) เราต้องแทนที่รหัสคิวข้อความของเรา - ซึ่งเขียนขึ้นสำหรับตัวแปร "จริง" ของ System V และต่อมาถูกเปลี่ยนเป็น Linux - ด้วย TCP / IP เพื่อให้ซอฟต์แวร์ของเราทำงานบน OS X สำหรับแอปพลิเคชันของเรา ความแตกต่างระหว่างวิธี IPC ทั้งสองนี้มีความสำคัญในเวลาที่เราเลือกที่จะไปกับคิวข้อความ แต่เนื่องจากการเปลี่ยนแปลงทางสถาปัตยกรรมในภายหลังจึงสิ้นสุดลงจึงไม่ใช่เรื่องใหญ่ที่จะเปลี่ยนเป็น TCP / IP


11

เมื่อมันมาถึงมันดาร์วินไม่ใช่แค่เลเยอร์ BSD บาง ๆ ที่อยู่ด้านบนของ Mach 2.0 ใช่ไหม?

ฉันเคยใช้ NeXTStep ฉันไม่ทราบว่าปัจจุบัน MacOSX แยกตัวจาก NeXTStep เท่าไร แต่ ...

Mach 2.0 เสนอ abstractions ชุดต่าง ๆ ในระดับเคอร์เนล:

  1. A "task": นั่นคือพื้นที่ที่อยู่ + ชุดของ "พอร์ต" อาจเป็นไปได้ว่ามีเธรดที่ทำงานอยู่
  2. หัวข้อ นี่เป็นหน่วยการเรียกใช้งานที่กำหนดเวลาได้ งาน (พื้นที่ที่อยู่) อาจมีมากกว่า 1 ที่ทำงานอยู่ ฉันเชื่อว่าไฟล์ Mach-O (รูปแบบไฟล์ที่ปฏิบัติการได้ของ Mach) สามารถระบุได้มากกว่าหนึ่งเธรดในเวลาดำเนินการตามกระบวนการ: ไม่มีฟังก์ชั่น main () ที่เริ่ม Cthreads มากขึ้น OS จะเริ่มต้นหนึ่ง
  3. พอร์ต สิ่งเหล่านี้ไม่เหมือนกับพอร์ต TCP หรือ UDP พวกเขาถูกพิมพ์เรียงสตรีมของข้อความ ค่อนข้างคล้าย RPC คุณสร้างไฟล์ข้อกำหนดโพรโทคอลจากนั้นเรียกใช้ผ่านคอมไพเลอร์เพื่อรับส่วนเซิร์ฟเวอร์และไคลเอนต์การจัดระเบียบและการยกเลิกการแยกคำสั่งเป็นต้น
  4. วิทยุติดตามตัวหน่วยความจำระดับผู้ใช้ คุณสามารถตั้งค่างาน + เธรดเพื่อจัดการเพจพื้นที่ว่างของงานอื่น ๆ

กลุ่มคน CMU Mach ดั้งเดิมใช้ abstractions เหล่านี้เพื่อเลียนแบบกระบวนการ BSD Unix, กระบวนการ MS-DOS, และงาน VMS งาน VMS แต่ละงานใช้ 2 Mach รวมทั้งงานหลายหัวข้อ บางคนเคยขายเครื่องจำลองระบบปฏิบัติการ Mac OS (pre-OSX) สำหรับ NeXTStep ที่ใช้พื้นที่ผู้ติดตามเพื่อผลที่ดี

หน้าสิ่งพิมพ์ CMU Mach เก่า: http://www.cs.cmu.edu/afs/cs/project/mach/public/www/doc/documents_top.html

กระดาษ VMS-on-Mach: http://www.sture.ch/vms/Usenix_VMS-on-Mach.pdf


2
Mac OS X (และดาร์วิน) ใช้ Mach 3.0
บาฮามาต

5

นี่ไม่ใช่คำตอบ แต่DTraceเป็นเครื่องมือดีบั๊กสำหรับระบบที่มีอยู่ใน Solaris, Darwin / OS X และ * BSD แต่ไม่ใช่ Linux


3
Oracle โอนย้ายพอร์ต DTrace ไปยัง Linux ในปี 2011
MattBianco

1
ตั้งแต่เดือนตุลาคม 2011, Oracle ประกาศการย้ายพอร์ตของ DTrace จาก Solaris เป็น Linux แต่ ณ วันที่ 13 ตุลาคม 2014 ยังไม่มีให้บริการอย่างเป็นทางการ ( slideshare.net/brendangregg/from-dtrace-to-linux )
scravy

4

ดาร์วินมีประเภทของระบบไฟล์ที่รองรับค่อนข้างน้อย นอกเหนือจากรายการพิเศษเช่น devfs และประเภทเครือข่ายเช่น webdav รายการคือ:

  • HFS / HFS +
  • UFS / FFS
  • ISO-9660 / UDF / CDDA
  • NTFS
  • อ้วน

ในรายการนี้มีเพียงUFSเท่านั้นที่ได้รับการออกแบบสำหรับ Unix แม้ว่า HFS + ได้รับการอัพเกรดเพื่อรองรับการทำงานของ Unix ที่จำเป็นทั้งหมด ตั้งแต่ Mac OS X 10.6 ไม่สามารถใช้ UFS สำหรับพาร์ติชันรูทได้แม้ว่าข้อ จำกัด นี้อาจไม่มีผลกับดาร์วิน โดยค่าเริ่มต้น HFS + จะคำนึงถึงขนาดตัวพิมพ์ แม้ว่า Mac OS X จะทำงานบนพาร์ติชันที่คำนึงถึงตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ แต่แอปพลิเคชัน Mac ที่มีโปรไฟล์สูงจำนวนมากจะไม่ (เช่น Adobe CS)

ในขณะที่แอปเปิ้ลกำลังวางแผนที่จะแทนที่ HFS กับZFSและแม้กระทั่งส่ง ZFS กับบางรุ่นของ Mac OS X แต่เศร้าทดลองนี้ในที่สุดก็ล้มเหลวเนื่องจากปัญหาลิขสิทธิ์ unresolvable


ฉันเชื่อว่าการสนับสนุนการเขียน NTFS ของ OS X / macOS นั้นยังคงมีรายงานว่ายังบั๊กเพราะมันยังอยู่ระหว่างการทดลองและไม่เสถียรในขณะที่ฉันจำได้
RandomDSdevel

3

ฉันคิดว่ามันเป็นดีที่สุดเพื่ออธิบายดาร์วินเป็นเพียงอีกหนึ่งรสชาติของยูนิกซ์ โซลาริสเป็นหนึ่งเดียว HP / UX เป็นอีกหนึ่ง มีอีกมากมายอาจไม่เป็น "โปรไฟล์สูง" แต่พวกเขาอยู่ที่นั่น และด้วยทุกรสชาตินั้นมีความเฉพาะเจาะจงของตัวเอง นั่นเป็นเหตุผลที่มีรสชาติตั้งแต่แรก บริษัท บางแห่งคิดอะไรบางอย่างที่จะช่วยขาย (หรือเพียงแค่ทำงานกับมันหรือแม้กระทั่งการบริหารงาน) และสร้างมันขึ้นมาและให้ชื่อของมันเอง


2
UNIX (ในตัวพิมพ์ใหญ่ทั้งหมด) เป็นเครื่องหมายการค้าจดทะเบียนของ The Open Group ในหลายประเทศ; สำหรับสิ่งที่จะเป็น "ยูนิกซ์" (ตัวพิมพ์ใหญ่ทั้งหมด) ได้รับการรับรองถูกต้อง ดาร์วินไม่ใช่ "รสชาติของ UNIX" - แต่ Mac OS X 10.10 สำหรับ Intel x86-64 ได้รับการรับรองว่าเป็น UNIX อีกตัว
user314104

0

ถ้าฉันได้ยินดาร์วินที่ถูกปล่อยออกมาจาก Apple จะไม่ทำหน้าที่เป็นระบบปฏิบัติการอิสระอีกต่อไปดังนั้นฉันจะชี้ให้เห็นว่าความแตกต่างที่ยิ่งใหญ่ที่สุดคือ OS X ที่อยู่ด้านบนสุดของมัน : D

แม้ว่าการรวมระหว่าง Mac OS เก่า ๆ แต่ Mac OS X ใหม่และของ NeXT บางครั้งก็น่าหัวเราะ แต่ยูทิลิตี้เล็ก ๆ น้อย ๆ เช่นdiskutilและhdiutilนั้นยอดเยี่ยม บางทีอาจเป็นสถาปนิกเคอร์เนล Mach เก่า ๆ ที่หลงเหลือจาก NeXT ที่ใช้สิ่งเล็กน้อยเหล่านี้และใส่ใจพวกเขาที่ทำให้แน่ใจว่า XCode เป็นเครื่องมือที่ดีเช่นกัน


-1

ดาร์วินขึ้นอยู่กับ FreeBSD หนึ่งคุณลักษณะที่เย็นที่เป็นไม่ได้อยู่ในระบบปฏิบัติการ Unix อื่น ๆ (ในประสบการณ์ของฉัน) เป็นตัวกรองเบิร์กลีย์แพ็คเก็ต/dev/bpfอาคา นี่เป็นอุปกรณ์อเนกประสงค์ที่คุณสามารถใช้สำหรับการจับแพ็คเก็ต


1
ดาร์วินไม่ได้ใช้ FreeBSD เป็นหลักแม้ว่ามันจะยืมสิ่งต่าง ๆ จากผู้ใช้ ความคิดเห็นอื่น ๆ ที่นี่อธิบายได้ดีกว่า bpf (4) ไม่เพียง แต่เป็นดาร์วินและ FreeBSD / NetBSD / OpenBSD เท่านั้นและฉันรู้สึกว่ามีใครบางคนอาจนำไปใช้กับเมล็ด Linux รุ่นก่อนหน้าได้ SCO (ใน) มีชื่อเสียงในการเสนอ Unixware ของพวกเขา
jrg

-11

กำปั้นที่อยู่ในใจของฉันคือเครื่องมือทั้งหมดที่ OSX มีอยู่ในคอนโซล .. มีคำสั่งที่มีประโยชน์มากมายที่ยูนิกซ์มี Diskutil มันเหมือนกับพาร์ติชั่นเวทย์มนตร์ในเชลล์เครื่องมือนี้มีตัวเลือกมากมายสำหรับการทำงานของดิสก์ที่ fdisk เป็นเพียง 10% ของสิ่งมีชีวิตนี้ ... btw osx รองรับการสนับสนุนซอฟต์แวร์ที่ยอดเยี่ยมจริงๆคุณสามารถมี JBOD, Strip และ Mirror software raid ประเภท .. ยูนิกซ์จริงๆมีสิ่งนี้ไหม? ในความฝันของคุณ!! ; D

SystemProfiler - เครื่องมือที่ยอดเยี่ยมซึ่งแสดงรหัสฮาร์ดแวร์, ชื่อ, รุ่น, sn's และทุกอย่างเช่นนั้นในวิธีที่สะดวกสบายมาก

เคอร์เนลดาร์วินไม่โปร่งใสเหมือนในยูนิกซ์

ดาร์วินมีkillall util = P unix ไม่มีทักษะเท่านั้น

ระบบไฟล์ที่แตกต่างกัน .. HFS, HFS +

บางทีหลังฉันจะจำได้มากกว่า =)


2
คุณหมายถึงดาร์วินที่มี 'killall' และสายพันธุ์ Unix อื่น ๆ ไม่มีหรือ? ที่ไม่เป็นความจริง.
kbyrd

2
คำตอบนี้สงสัยว่าหลอก มันไม่จำเป็นที่จะเป็นการหมิ่นประมาทในข้อความของคุณเกี่ยวกับ * nix ที่นอกเหนือจาก os X นอกจากนี้ครั้งล่าสุดที่ฉันเคยใช้ * NIX killall มีอยู่ใน PATH ของฉัน นอกจากนี้ linux ยังมีโปรไฟล์ระบบด้วย ทำการบ้านของคุณ. อย่าเป็นคนเดช แก้ไข: ฉันใช้และชื่นชอบ OS X มาก
Eli Frey

2
ฉันมี killall บน linux ดังนั้นจึงไม่ใช่เรื่องแปลกสำหรับดาร์วิน
xenoterracide

2
คำตอบนี้คลุมเครือและไม่ถูกต้อง ฟีเจอร์ที่มีประโยชน์อะไรบ้างที่ fdisk ขาด? ลินุกซ์ RAID (mdadm) จะมีการเรียงต่อกัน (LINEAR) striping (RAID0) และมิเรอร์ (RAID1) กลุ่มอื่น ๆ Linux ยังรองรับทั้ง HFS และ HFS +
Matthew Flaschen

3
BTW: Linux-killall และ Solaris-killall ค่อนข้างแตกต่าง
EricSchaefer
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.