Apakah macOS adalah distribusi Unix?

19

Saya tahu bahwa macOS adalah sistem operasi UNIX , tetapi saya tidak tahu apakah macOS bisa disebut distribusi UNIX dengan cara yang sama Gentoo atau Debian adalah distribusi GNU / Linux .

Apakah macOS merupakan distribusi UNIX? Jika tidak, bagaimana bisa satu benar mengacu pada keanggotaan MacOS' dalam sistem operasi keluarga UNIX dan kepatuhan untuk Single UNIX Specification (yaitu, apakah itu varian Unix , sebuah versi Unix , sebuah rasa Unix , dll)? Selain itu, pertanyaan ini berlaku untuk Solaris, HP-UX, dan unit lainnya (apakah semuanya adalah distribusi UNIX?).

Lebih jauh, apakah kata "distribusi" terbatas pada sistem operasi GNU (/ Linux, / Hurd, / kFreeBSD, / etc), atau dapatkah digunakan dalam kasus lain?

EDIT: Saya menyadari bahwa situs web resmi UNIX menggunakan "implementasi UNIX" dan "sistem operasi UNIX" untuk merujuk pada keluarga sistem operasi Unix, yaitu, yang menerapkan Standar Unix Tunggal.

Seninha
sumber
Bagaimana Anda mendefinisikan "distribusi Unix" dan apa yang Anda maksud dengan "menjadi distribusi Unix"?
Jörg W Mittag
@ JörgWMittag Saya tidak punya definisi untuk itu. Saya pikir rasa distribusi GNU-ish sebagai himpunan sistem operasi yang berbagi perangkat lunak inti yang sama, sebagaimana didefinisikan dalam jawabannya, adalah yang paling benar.
Seninha
2
UNIX adalah sebuah merek. Unix adalah sistem operasi. Mereka adalah dua hal yang berbeda.
fpmurphy
1
Sebenarnya, Debian dan Gentoo bukan distribusi Unix, ini adalah distribusi Linux. Linux bukan Unix, hanya berfungsi seperti Unix. AFAIK juga bukan distribusi GNU: alat GNU adalah bagian dari distribusi Linux apa pun, tetapi bukan satu-satunya bagian.
jamesqf
1
Jika Anda memposting hasil edit Anda sebagai jawaban, itu akan membuat saya merasa senang.
dcorking

Jawaban:

32

Apa itu UNIX?

Jawaban singkat: UNIX adalah spesifikasi / standar saat ini.

Pada saat penulisan, mengutip sumber resmi , "UNIX® adalah merek dagang terdaftar dari The Open Group", perusahaan yang di antara banyak hal menyediakan sertifikasi UNIX :

"UNIX®, standar terbuka yang dimiliki dan dikelola oleh The Open Group, adalah enabler teknologi kunci dan memberikan pengurangan total biaya kepemilikan, peningkatan kelincahan, stabilitas, dan interoperabilitas TI dalam lingkungan heterogen yang memungkinkan inovasi bisnis dan pasar di seluruh dunia . "

Halaman yang sama secara spesifik menyatakan spesifikasi yang mendefinisikan UNIX:

Versi terbaru dari standar sertifikasi adalah UNIX V7, selaras dengan Single UNIX Specification Version 4, 2013 Edition

Detail dari spesifikasi tersebut dapat ditemukan di sini . Anehnya standar terbaru yang tercantum di situs web mereka adalah UNIX 03, dan mengutip sumber lain , "UNIX® 03 - tanda untuk sistem yang sesuai dengan versi 3 dari Spesifikasi UNIX Tunggal".

Mengutip halaman Tentang Kami dengan penekanan saya sendiri dalam huruf tebal:

Keberhasilan pendekatan UNIX menyebabkan sejumlah besar sistem operasi "mirip", sering berbeda dalam kompatibilitas dan interoperabilitas. Untuk mengatasinya, vendor dan pengguna bergabung bersama pada 1980-an untuk menciptakan standar POSIX® dan kemudian Spesifikasi UNIX Tunggal .

Jadi apa yang disarankan ini (atau setidaknya demikian adalah interpretasi saya), adalah bahwa ketika sebuah OS sesuai dengan standar POSIX dan Spesifikasi UNIX Tunggal, ia kompatibel dalam perilaku dengan Unix sebagai OS yang pernah ada pada satu titik waktu dalam sejarah. Harap dicatat bahwa ini tidak menyebutkan adanya jejak kode sumber Unix asli, juga tidak menyebutkan kernel dengan cara apa pun (ini akan menjadi penting nanti).

Adapun AT&T dan System V Unix yang dikembangkan oleh Ritchie dan Thompson, saat ini dapat dikatakan sudah tidak ada lagi. Berdasarkan sumber-sumber di atas, tampaknya UNIX saat ini bukan OS yang spesifik, melainkan standar yang berasal dari generalisasi terbaik untuk bagaimana sistem operasi dalam keluarga Unix berperilaku.


 Di mana berdiri macOS X di dunia * nix?

Dalam definisi yang sangat spesifik, macOS versi 10.13 High Sierra pada perangkat keras berbasis Intel mematuhi standar UNIX 03 dan mengutip sertifikat pdf , "Apple Inc. telah menandatangani Perjanjian Lisensi Merek Dagang dengan X / Open Company Limited." Catatan: Saya ragu untuk mempertanyakan apa artinya macOS 10.13 pada perangkat keras non-Intel untuk diperlakukan, tetapi mengingat perangkat keras tersebut disebutkan untuk OS lain, perangkat kerasnya signifikan. Contoh: "Hewlett Packard Enterprise: HP-UX 11i V3 Release B.11.31 atau lebih baru pada HP 9000 Server dengan Arsitektur Presisi" (dari halaman daftar ).

Mari kita kembali ke bagian sebelumnya dari jawaban saya. Karena versi OS ini sesuai dengan standar interoperabilitas dan kompatibilitas, itu berarti OS memiliki perilaku dan implementasi sistem sedekat mungkin dengan Unix asli sebagai Sistem Operasi. Paling tidak, itu akan dekat dalam perilaku dan lingkungan. Semakin dekat level sistem dan level kernel, semakin spesifik area yang akan dicapai, tetapi setidaknya mekanika dan perilaku mendasar yang ada di Unix harus ada dalam OS yang bertujuan agar kompatibel. macOS X harus sangat dekat dengan tujuan itu.


Apa itu distribusi?

Mengutip Wikipedia :

Distribusi Linux (sering disingkat sebagai distro) adalah sistem operasi yang dibuat dari kumpulan perangkat lunak, yang didasarkan pada kernel Linux dan, seringkali, sistem manajemen paket.

Mari kita ingat sejenak bahwa Linux seperti pada Kernel Linux seharusnya merupakan perangkat lunak yang dapat didistribusikan , dengan modifikasi, atau setidaknya sesuai dengan GPL v2 . Jika kami mempertimbangkan manajer paket dan kernel, Ubuntu dan Red Hat menjadi distribusi masuk akal. macOS X memiliki kernel yang berbeda dari AT&T Unix yang asli - karena itu memanggil macOS X sebagai distribusi Unix tidak masuk akal. Orang-orang menyarankan bahwa kernel macOS X didasarkan pada FreeBSD, tetapi mengutip FreeBSD Wiki :

Kernel XNU yang digunakan pada OS X mencakup beberapa subsistem dari (versi yang lebih lama) FreeBSD, tetapi sebagian besar merupakan implementasi independen

Beberapa orang secara keliru menyebut kernel OS X Darwin. Mengutip Panduan Pemrograman Kernel Apple :

Kernel, bersama dengan bagian inti lain dari OS X secara kolektif disebut sebagai Darwin. Darwin adalah sistem operasi lengkap berdasarkan banyak teknologi yang sama yang mendasari OS X.

Dan mengutip halaman yang sama:

Teknologi Darwin didasarkan pada teknologi BSD, Mach 3.0, dan Apple.

Berdasarkan semua hal di atas kami dapat dengan yakin mengatakan, OS X bukan distribusi , dalam arti distribusi Linux. Demikian pula, OS lain yang disebutkan adalah POSIX compliant dan bersertifikat sistem Unix, tetapi sekali lagi mereka berbeda dalam kernel dan variasi pada panggilan sistem yang mendasarinya (itulah sebabnya mengapa ada buku-buku tentang pemrograman sistem Solaris dan itu subjek yang layak dalam dirinya sendiri). Oleh karena itu, mereka bukan distribusi dalam arti distribusi Linux - inti bersama dengan variasi pada utilitas. Dalam kasus Linux, Anda melihat buku tentang pemrograman sistem Linux atau pemrograman kernel Linux, bukan pemrograman sistem yang khusus untuk distribusi, karena tidak ada sistem yang spesifik tentang distribusi tertentu.

Konfirmasi dari apa yang kita lihat di sini dapat ditemukan di dokumentasi resmi. Misalnya, artikel tentang developerWorks oleh IBM yang membahas perbedaan antara tipe OS UNIX dan status distribusi Linux (penekanan ditambahkan):

Sebagian besar varian UNIX modern yang dikenal saat ini adalah versi berlisensi dari salah satu edisi UNIX asli . Sun's Solaris, Hewlett-Packard's HP-UX, dan IBM AIX® semuanya adalah cita rasa UNIX yang memiliki elemen dan fondasi mereka sendiri yang unik .

Dengan kata lain, mereka didasarkan pada fondasi yang sama, tetapi mereka tidak berbagi yang persis sama dalam arti distro Linux berbagi kernel.

Pertimbangan

Perhatikan bahwa distribusi kata tampaknya sebagian besar digunakan ketika merujuk sistem operasi yang memiliki kernel Linux pada intinya. Ambil contoh jenis Sistem Operasi BSD: ada GhostBSD , yang didasarkan pada kernel dan menggunakan beberapa utilitas FreeBSD , tetapi saya belum pernah melihatnya disebut sebagai distribusi BSD; setiap BSD OS hanya menyebutkan berdasarkan apa dan biasanya sistem operasi disebut sebagai OS dengan sendirinya. Tentu, BSD adalah singkatan dari Berkeley Software Distribution, tapi ... itu saja.

Mengutip jawaban ini di situs kami sebagai jawaban atas pertanyaan apakah versi BSD yang berbeda menggunakan kernel yang sama:

Tidak, meskipun ada kesamaan karena garpu bersejarah. Setiap proyek berkembang secara terpisah.

Mereka bukan distribusi dalam arti distribusi Linux. Pertimbangkan pemberitahuan hak cipta dari dokumen ini :

Bagian dari produk ini dapat berasal dari sistem UNIX® dan Berkeley 4.3 BSD

Catatan

  • standar POSIX yang disebutkan sebelumnya juga dirujuk sebagai standar IEEE (di mana IEEE adalah Institute of Electrical and Electronics Engineers, yang menangani antara lain jenis-jenis IT).
  • mengutip Wikipedia : "Pada 2016, dengan merilis macOS 10.12 Sierra, namanya diubah dari OS X menjadi macOS untuk merampingkannya dengan branding sistem operasi utama Apple lainnya: iOS, watchOS, dan tvOS. [56]"
  • Jawaban riwayat Mac OS X
  • perbedaan konseptual antara Linux dan kernel BSD

Kesimpulannya:

  • macOS X dapat disebut sebagai OS seperti Unix, sistem mirip Unix, implementasi Unix, OS-compliant POSIX ketika Anda ingin menghubungkannya dengan AT&T Unix yang asli;
  • "Versi Unix" tidak akan menjadi istilah yang tepat karena macOS X sangat berbeda dari AT&T Unix yang asli, dan seperti yang disebutkan sebelumnya tidak ada lagi Unix dalam arti perangkat lunak, dan sekarang lebih merupakan standar industri;
  • Mungkin kata "distribusi" hanya cocok di dunia Linux.
  • Masalah sebenarnya adalah bahwa Anda (pembaca) dan saya punya terlalu banyak waktu untuk berdebat tentang topik yang harus diperdebatkan pengacara. Mungkin kita harus seperti Linux Torvalds dan menggunakan terminologi dan OS yang memungkinkan kita untuk melanjutkan kehidupan dan melakukan hal-hal yang secara jujur ​​kita pedulikan dan seharusnya kita pedulikan.
Sergiy Kolodyazhnyy
sumber
15
Anda mungkin ingin memeriksa apa singkatan BSD sebenarnya sebelum mengklaim kata "distribusi" tidak digunakan di sana ;-).
Stephen Kitt
2
Maaf untuk banyak pengeditan, kurangnya "a" dan "the" membuat saya sedikit kesulitan mengikuti keseluruhan teks. POSIX lebih baru daripada Unix yang lebih lama dan saya tidak yakin apakah jawabannya mencampur keduanya; Saya juga berpikir Anda melakukan tindakan merugikan yang mencirikan dunia BSD, yang jauh lebih dekat dengan Unix daripada Linux. Sertifikasi itu sendiri juga tidak berarti lebih dari seseorang memiliki waktu dan uang untuk melalui proses sertifikasi, dan itu harus dilakukan dalam setiap versi. IMO, pengerjaan ulang teks sedikit lagi, ini berpotensi menjadi jawaban yang sangat bagus.
Rui F Ribeiro
1
@ Matius Namun saya tidak akan menjamin kualitas tanah pengguna BSD OS / X / Mac OS. Seringkali utilitas adalah versi yang sangat lama dibandingkan dengan yang FreeBSD, dan bahkan implementasi IPv6 yang tepat dan baru-baru ini membutuhkan waktu lama untuk muncul hanya dalam versi yang sangat baru.
Rui F Ribeiro
3
Situs web standar Unix menggunakan "implementasi UNIX" untuk merujuk ke OS Unix. Jadi ini adalah kata yang saya cari: implementasi.
Seninha
3
@Sergiy Kolodyazhnyy. Kepatuhan POSIX tidak berarti bahwa versi OS ada. as close to original Unix as possibleAda banyak OS non-Unix yang sesuai dengan POSIX.
fpmurphy
4

T: Apakah macOS merupakan distribusi Unix? Jika tidak, bagaimana orang dapat dengan benar merujuk ke status MacOS dalam keluarga sistem operasi Unix (yaitu, apakah itu varian Unix, versi Unix, rasa Unix, dll)? Selain itu, pertanyaan ini berlaku untuk Solaris, HP-UX, dan unit lainnya (apakah semuanya adalah distribusi Unix?).

Sumber gambar: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/OSX_Technology_Overview/SystemTechnology/SystemTechnology.html

MacOS X

Sumber: https://en.m.wikipedia.org/wiki/XNU

" XNU adalah kernel sistem operasi komputer yang dikembangkan di Apple Inc. sejak Desember 1996 untuk digunakan dalam sistem operasi macOS dan dirilis sebagai perangkat lunak bebas dan sumber terbuka sebagai bagian dari sistem operasi Darwin . Ia juga digunakan sebagai kernel untuk iOS , tvOS, dan sistem operasi watchOS. XNU adalah singkatan dari X is Not U nix.


Sumber: https://developer.apple.com/library/content/documentation/Darwin/Conceptual/KernelProgramming/build/build.html#//apple_ref/doc/uid/TP30000905-CH221-CIHFEIFI

" Membangun Kernel Pertama Anda

Sebelum Anda dapat membangun kernel, Anda harus terlebih dahulu mendapatkan kode sumber. Kode sumber untuk kernel OS X dapat ditemukan di proyek xnu Darwin di http://www.opensource.apple.com . Untuk mengetahui versi kernel Anda saat ini, gunakan perintah uname -a. Jika Anda mengalami masalah, cari arsip mailing list darwin-kernel dan darwin-development untuk mendapatkan informasi. Jika itu tidak membantu, mintalah bantuan pada daftar mana pun. Daftar arsip dan informasi berlangganan dapat ditemukan di http://www.lists.apple.com ".


Sumber: https://developer.apple.com/library/content/documentation/Porting/Conceptual/PortingUnix/glossary/glossary.html

Cocoa - Platform pengembangan berorientasi objek canggih untuk OS X. Cocoa adalah seperangkat kerangka kerja dengan antarmuka pemrograman di Java dan Objective-C. Ini didasarkan pada integrasi OPENSTEP, teknologi Apple, dan Java.

Darwin - Nama lain untuk inti sistem operasi OS X. Kernel Darwin setara dengan kernel OS X ditambah pustaka BSD dan perintah yang penting untuk lingkungan baris perintah BSD . Darwin adalah teknologi open source.

Xcode - Lingkungan pengembangan terintegrasi grafis Apple. Ini tersedia gratis dengan paket Alat Pengembang OS X.

XNU - Kernel OS X. Singkatan singkatan X adalah Not Unix. XNU menggabungkan fungsi Mach dan BSD dengan I / O Kit, model driver untuk OS X.


  • Arsitektur

Sumber: https://en.wikipedia.org/wiki/MacOS#Architecture

"Pada inti macOS adalah sistem operasi yang sesuai dengan POSIX yang dibangun di atas kernel XNU , dengan fasilitas Unix standar yang tersedia dari antarmuka baris perintah. Apple telah merilis rangkaian perangkat lunak ini sebagai sistem operasi sumber terbuka dan bebas bernama Darwin . Di atas Darwin , Apple melapisi sejumlah komponen, termasuk antarmuka Aqua dan Finder, untuk melengkapi sistem operasi berbasis GUI yang macOS. "


T: Distribusi atau Rilis ? - Sumber: https://en.wikipedia.org/wiki/MacOS#Updating_methods

Sumber: https://en.wikipedia.org/wiki/MacOS_High_Sierra

"macOS High Sierra (versi 10.13) adalah rilis utama keempat belas macOS, sistem operasi desktop Apple Inc. untuk komputer Macintosh. Pengganti macOS Sierra, diumumkan di WWDC 2017 pada 5 Juni 2017.". "Tipe kernel: Hibrida (XNU)".


T: Selain itu, pertanyaan ini berlaku untuk Solaris, HP-UX, dan unix lain (apakah semuanya adalah distribusi Unix?).

rampok
sumber
3
Saya menyarankan untuk mencoba menempelkan beberapa kutipan dengan kata-kata Anda sendiri.
Rui F Ribeiro
Seperti @RuiFRibeiro yang disebutkan, Anda harus menambahkan beberapa penjelasan; Namun apa yang tidak dia katakan adalah tidak jelas di mana Anda berdiri dengan semua kutipan berbeda ini.
Paradox