GNU/Linux >> Belajar Linux >  >> Linux

Kernel Linux Vs. Kernel Mac

Baik kernel Linux dan kernel macOS berbasis UNIX. Beberapa orang mengatakan bahwa macOS adalah "linux", beberapa mengatakan bahwa keduanya kompatibel karena kesamaan antara perintah dan hierarki sistem file.

Hari ini saya ingin menunjukkan sedikit dari keduanya, menunjukkan perbedaan dan persamaan antara Kernel Linux &kernel Mac seperti yang saya sebutkan di artikel kernel Linux sebelumnya.

Kernel macOS

Pada tahun 1985, Steve Jobs meninggalkan Apple karena perselisihan dengan CEO John Sculley dan dewan direksi Apple. Dia kemudian mendirikan perusahaan komputer baru bernama NeXT. Jobs menginginkan komputer baru (dengan sistem operasi baru) dirilis dengan cepat. Untuk menghemat waktu, tim NeXT menggunakan kernel Carnegie Mellon Mach dan bagian dari basis kode BSD untuk membuat sistem operasi NeXTSTEP .

NeXT tidak pernah menjadi sukses secara finansial, sebagian karena kebiasaan Jobs menghabiskan uang seolah-olah dia masih di Apple. Sementara itu, Apple beberapa kali gagal memperbarui sistem operasinya, bahkan bermitra dengan IBM. Pada tahun 1997, Apple membeli NeXT seharga $429 juta . Sebagai bagian dari kesepakatan, Steve Jobs kembali ke Apple dan NeXTSTEP menjadi dasar dari macOS dan iOS.

Kernel Linux

Berbeda dengan macOS kernel, Linux tidak dibuat sebagai bagian dari perusahaan komersial. Sebaliknya, itu dibuat pada tahun 1991 oleh mahasiswa komputer Linus Torvalds. Awalnya, kernel ditulis sesuai dengan spesifikasi komputer Linus karena ia ingin memanfaatkan prosesor 80386 barunya.

Linus memposting kode untuk kernel barunya di web pada Agustus 1991. Tak lama kemudian, dia menerima saran kode dan sumber daya di seluruh dunia. Tahun berikutnya, Orest Zborowski mem-porting X Windows System ke Linux, memberikannya kemampuan untuk mendukung antarmuka pengguna grafis.

Sumber daya kernel MacOS

 Kernel macOS secara resmi dikenal sebagai XNU. Singkatan dari "XNU is Not Unix." Menurut halaman Github resmi Apple, XNU adalah "kernel hybrid yang menggabungkan kernel Mach yang dikembangkan di Carnegie Mellon University dengan komponen FreeBSD dan C++ untuk driver."

Bagian subsistem BSD dari kode ini "biasanya diimplementasikan sebagai server ruang pengguna dalam sistem mikrokernel". Bagian Mach bertanggung jawab atas pekerjaan tingkat rendah seperti multitasking, memori yang dilindungi, manajemen memori virtual, dukungan debugging kernel, dan I/O konsol.

Peta MacOS:jantung segalanya disebut Darwin; dan di dalamnya, kami memiliki utilitas sistem yang terpisah dan kernel XNU, yang disusun sebagian oleh kernel Mach dan oleh kernel BSD.

Tidak seperti Linux, kernel ini dipecah menjadi apa yang mereka sebut kernel hybrid, memungkinkan satu bagian berhenti untuk pemeliharaan, sementara yang lain terus bekerja. Dalam beberapa perdebatan ini juga membuka pertanyaan tentang fakta bahwa kernel hibrida lebih stabil; jika salah satu bagiannya berhenti, yang lain dapat memulainya lagi.

Sumber daya kernel Linux

Sementara kernel macOS menggabungkan kemampuan mikrokernel dengan Mach dan kernel monolitik seperti BSD, Linux hanyalah kernel monolitik. Kernel monolitik bertanggung jawab untuk mengelola CPU, memori, komunikasi antar-proses, driver perangkat, sistem file, dan panggilan layanan sistem. Artinya, ia melakukan segalanya tanpa subdivisi.

Jelas, ini telah mengumpulkan banyak diskusi bahkan dengan Linus sendiri dan pengembang lain, yang mengklaim bahwa kernel monolitik lebih rentan terhadap kesalahan selain lebih lambat; tetapi Linux adalah kebalikan dari ini setiap tahun, dan dapat dioptimalkan sebagai kernel hybrid. Selain itu, dengan bantuan RedHat , kernel sekarang menyertakan Live Patch yang memungkinkan pemeliharaan real-time tanpa perlu reboot.

Perbedaan antara Kernel MacOS (XNU) dan Linux

  1. Kernel macOS (XNU) telah ada lebih lama dari Linux dan didasarkan pada kombinasi dari dua basis kode yang lebih lama. Ini mendukung stabilitas dan sejarah.
  2. Di sisi lain, Linux lebih baru, ditulis dari awal dan digunakan di banyak perangkat lain; sedemikian rupa sehingga hadir di 500 superkomputer terbaik di antara superkomputer terbaik dan di superkomputer Amerika Utara yang baru saja diresmikan.

​Dalam lingkup sistem, kami tidak memiliki manajer paket melalui baris perintah di terminal macOS.

Instalasi paket dalam format .pkg – seperti BSD – dilakukan melalui baris perintah ini, jika tidak melalui GUI:

$ sudo installer -pkg /path/to/package.pkg -target /

CATATAN: MacOS .pkg benar-benar berbeda dari BSD .pkg!

Jangan mengira macOS mendukung program BSD dan sebaliknya. Itu tidak mendukung dan tidak menginstal. Anda dapat memiliki perintah yang setara dengan apt di macOS, dalam 2 opsi: 

Memasang Homebrew atau MacPorts.   Pada akhirnya, Anda akan memiliki sintaks berikut:$ brew install PACKAGE

$ port install PACKAGE

Ingat bahwa tidak semua program/paket yang tersedia untuk Linux atau BSD akan berada di Port MacOS .

Kompatibilitas

Dalam hal kompatibilitas, tidak banyak yang bisa dikatakan; inti Darwin dan kernel Linux sama berbedanya dengan membandingkan kernel Windows NT dengan kernel BSD. Driver yang ditulis untuk Linux tidak berjalan di macOS dan sebaliknya. Mereka harus dikompilasi terlebih dahulu; Anehnya, Linux memiliki serangkaian daemon macOS, termasuk server cetak CUPS!

Kesamaan yang kami miliki adalah, pada kenyataannya, alat terminal seperti paket GNU Utils atau Busybox, jadi kami tidak hanya BASH tetapi juga gcc, rm, dd, top, nano, vim, dll. Dan ini melekat pada semua aplikasi berbasis UNIX. Selain itu, kami memiliki arsitektur folder sistem file, folder umum yang umum untuk di-root di /, / lib, / var, / etc, / dev, dan seterusnya .

Kesimpulan

macOS dan Linux memiliki persamaan dan perbedaan, seperti halnya BSD dibandingkan dengan Linux. Tetapi karena berbasis UNIX, mereka berbagi pola yang membuat mereka akrab dengan lingkungan. Mereka yang menggunakan Linux dan bermigrasi pro macOS atau sebaliknya akan terbiasa dengan sejumlah perintah dan fitur.

Perbedaan yang paling mencolok adalah antarmuka grafis, yang masalahnya adalah masalah adaptasi pribadi.


Linux
  1. Siklus hidup pengujian kernel Linux

  2. Cara memutakhirkan Kernel di Desktop Linux

  3. Linux – Kernel Tercemar Di Linux?

  1. Linux – Kernel:Dukungan Namespaces?

  2. Linux – Penerusan Ip Kernel?

  3. kinerja dd di Mac OS X vs. Linux

  1. Instal Linux Kernel 4.12 di openSUSE

  2. Linux – Menjalankan Aplikasi Mac Os X Di Linux?

  3. Kernel Linux Tidak Akan Memperbarui Ke 2.35.25?