GNU/Linux >> Belajar Linux >  >> Linux

Benarkah versi pertama Linux didasarkan pada bagian-bagian dari Unix?

Bahkan jika Linux adalah sistem yang ditulis dari awal, versi pertama Linux sangat mirip dengan minix, yaitu "mini-Unix". Ada di pengumuman Linus.

Wikipedia memberikan deskripsi singkat tentang sejarah Linux. Jika Anda ingin tahu lebih banyak tentang subjek ini, buku ini adalah yang Anda butuhkan. Anda akan mengetahui di sana bahwa Linus Torvalds menggunakan halaman manual Unix untuk mengetahui panggilan sistem apa yang harus dia terapkan dan bagaimana cara kerjanya.


Kernel Linux pertama harus di-bootstrap dengan MINIX, yang dikembangkan dengan mempertimbangkan desain mirip UNIX. Sekarang, Linus menggunakan buku-buku tentang UNIX ketika dia mendesain kernelnya. Tanggal pesanan bukunya bahkan diarsipkan.

Sampai saat ini, Linux tidak sepenuhnya kompatibel dengan UNIX, oleh karena itu, Linux ditetapkan sebagai "Seperti UNIX" (Mac OS X, di sisi lain, adalah UNIX (penuh)).

Judul pertanyaan Anda hanya menyatakan "Linux" yang menyiratkan tidak hanya kernel, tetapi juga bagian lainnya. Saya berpendapat, bahwa ketika Anda memperhitungkan hal-hal di luar kernel untuk membandingkannya dengan UNIX, itu bahkan lebih mirip. Mengingat hal-hal seperti X, dll. Kernel Linux saja sudah cukup mirip dengan UNIX, tetapi ketika Anda mempertimbangkan bagian GNU, itu semakin dekat.

Kernel versi 0.01, masih bisa didownload. Meskipun, saya belum menguji apakah itu mengkompilasi, apalagi berjalan.


Tidak.

Tidak masuk akal untuk mengatakan bahwa versi pertama Linux secara khusus "didasarkan pada bagian-bagian" Unix. Itu bukan port dari kernel Unix. Itu tidak dimulai dengan kode Unix di versi pertama [browse source] dan menggantinya dari waktu ke waktu. Linus tidak memiliki akses ke kode sumber Unix [wawancara].

Apa yang disalin adalah API. API yang sama ada di versi terbaru Linux, dan akan tetap ada selamanya. Sebagai aturan, Linux tidak menghapus API apa pun karena itu akan merusak beberapa aplikasi. Apa yang disalin adalah kebutuhan minimum, ketika Linux (dan libc Linux versi pertama) ditulis untuk menjalankan aplikasi Unix yang ada. Ini adalah kemampuan dasar Linux yang terkenal. Anda dapat mendeskripsikannya dengan cara yang berbeda, tetapi sebenarnya tidak ada yang perlu diperdebatkan di sini.

Misalnya. API yang sama disalin di GNU libc (yang ada sebelum Linux). IIRC Linux secara efektif disalin dari dokumentasi API (man halaman).

Saya bahkan enggan mengatakannya, karena bagian terbaik dari desain antarmuka antara kernel Unix dan aplikasi, seperti gcc; "semuanya adalah file". Operasi file mendasar dibakukan sebagai bagian dari bahasa pemrograman C . Halaman manual saya menyarankan C89, yaitu setahun atau lebih sebelumnya. Misalnya. Windows mengimplementasikan C API yang sama. Namun hal itu menutupi terlalu banyak fiddly bit yang bukan file dan/atau yang tidak disertakan C dalam standar, jadi kami harus mengakui Linux secara khusus mirip Unix.

Secara khusus API dalam versi "pertama" Linux ini adalah 70 panggilan sistem, daftar argumen mereka, 40 kode kesalahan ... bit". Tapi pasti ada lagi nanti juga.

Seperti yang diisyaratkan di tempat lain, ini adalah tempat yang sedikit sakit. Karena diangkat dalam "studi" yang didanai Microsoft, dan kemudian diajukan ke pengadilan selama bertahun-tahun (SCO v IBM) tanpa bukti apa pun. IIRC mereka akhirnya menunjukkan beberapa baris kode. Ternyata semua "IP yang melanggar" (yang mereka klaim ditambahkan IBM ke Linux) hanyalah beberapa API. Meskipun beberapa preseden pada saat ini mengizinkan penyalinan API, alias rekayasa balik ruang bersih.

Seperti yang disebutkan oleh orang lain, hubungannya dengan Minix dulu lebih ketat. Saya percaya format sistem file diambil dari Minix. Struktur data lebih spesifik untuk implementasi daripada kebanyakan API abstrak, dan jika Anda mengatakan "berdasarkan bagian dari" Minix Anda belum tentu berbohong.

Minix juga digambarkan sebagai Unix-like (atau "Unix clone", yang berarti OS yang mirip dengan Unix tetapi tidak berdasarkan kodenya). Dalam arti apa pun Linux didasarkan pada Unix, hal yang sama berlaku untuk Minix. (Ada beberapa klon Unix lainnya juga; Wikipedia mencantumkan beberapa hak milik dan berbagai lapisan kompatibilitas untuk Windows).

Saya sedang melakukan sistem operasi (gratis) (hanya hobi, tidak akan besar dan profesional seperti gnu) untuk klon 386(486) AT. Ini sudah diseduh sejak april, dan mulai bersiap-siap. Saya ingin umpan balik tentang hal-hal yang disukai/tidak disukai orang di minix, karena OS saya agak mirip (tata letak fisik yang sama dari sistem file (karena alasan praktis) antara lain).

Saat ini saya mem-porting bash(1.08) dan gcc(1.40), dan semuanya tampak berhasil. Ini menyiratkan bahwa saya akan mendapatkan sesuatu yang praktis dalam beberapa bulan, dan saya ingin mengetahui fitur apa yang diinginkan kebanyakan orang. Setiap saran diterima, tetapi saya tidak berjanji akan menerapkannya :-)

Linux ([email protected])

PS. Ya - bebas dari kode minix apa pun , dan memiliki fs multi-utas. Ini BUKAN portabel (menggunakan pengalihan tugas 386 dll), dan mungkin tidak akan pernah mendukung apa pun selain harddisk AT, karena hanya itu yang saya miliki :-(.


Linux
  1. Apakah filosofi Linux masih relevan di tahun 2019?

  2. Pertama kali dengan Linux:30 kisah instalasi

  3. Yang pertama disiarkan seluruhnya di Linux

  1. 17 kisah nyata tentang beralih ke Linux

  2. Membangun kepercayaan di komunitas Linux

  3. Cara memeriksa Versi OS dan Linux

  1. Linux vs. Unix:Apa bedanya?

  2. Linux – Bagaimana Cara Memeriksa Informasi Struktur Direktori File Unix/linux?

  3. Cara Memeriksa Versi MySQL di Linux