Mengapa Unix 'mandiri'?


63

Saya sedang membaca kertas Ritchie dan Thompson tentang sistem file Unix. Mereka menulis, 'Perlu dicatat bahwa sistem ini sepenuhnya mandiri'. Apakah sistem sebelum Unix tidak mandiri? Dalam hal apa?


3
Perlu melihat pembicaraan FOSDEM 2018 tentang evolusi Unix oleh Diomidis Spinellis; Saya juga menikmati Liam Terbukti Ini sirkuit yang jarang dilalui bicara
Basile Starynkevitch

5
Mungkin juga ada baiknya bertanya tentang sistem operasi yang tidak swadaya pada Retrocomputing , di mana Anda mungkin akan mendapatkan jawaban yang sangat terperinci.
Stephen Kitt

5
Istilah lain untuk swadaya adalah self-hosting
Nayuki

Ini sama akuratnya dengan menyebut dirinya mandiri, karena alasan yang sama dengan yang lain. Tidak hanya sistem baru (kernel, userland) dapat dikompilasi, tetapi halaman manual dan dokumentasi biasanya ada, kecuali pada sistem tertanam / kecil.
user2497

Jawaban:


96

Pertanyaan dalam judul Anda dialamatkan segera setelah kutipan Anda di koran :

Semua perangkat lunak Unix dikelola pada sistem; Demikian juga, makalah ini dan semua dokumen lain dalam masalah ini dihasilkan dan diformat oleh editor Unix dan program pemformatan teks.

Jadi "swadaya" berarti bahwa begitu sebuah sistem Unix diatur, itu swasembada, dan para penggunanya dapat menggunakannya untuk membuat perubahan pada sistem itu sendiri. "Masalah ini" dalam kutipan di atas mengacu pada Bell System Technical Journal, Volume 57, Number 6, Bagian 2, Juli-Agustus 1978, yang semuanya tentang sistem Unix (dan membuat bacaan yang menarik bagi siapa pun yang tertarik pada Unix dan sejarahnya) .

Fakta bahwa Unix swadaya tidak berarti semua sistem lain sebelum tidak; tetapi beberapa sistem operasi memang membutuhkan penggunaan sistem lain untuk membangunnya (ini menjadi lebih umum kemudian, pada kenyataannya, dengan munculnya komputer mikro, yang sistemnya sering dikembangkan pada minis). Unix adalah novel dalam hal itu juga termasuk alat typesetting, yang berarti bahwa ia tidak hanya dapat membangun sendiri, tetapi juga menghasilkan dokumentasinya, baik online maupun dalam bentuk cetak (saya membayangkan Unix mungkin bukan sistem seperti itu yang pertama, tetapi ini akan berada di paling tidak biasa).


20
Alat typesetting ( roff) sangat penting untuk Unix awal. Sebagian dari dana berasal dari janji untuk menghasilkan sistem penyusunan huruf dokumen.
Kusalananda

22
@ Kusalananda IIRC, dari akun tertulis dari tim Unix / C asli, mereka meminta izin untuk bekerja pada OS kecil yang disederhanakan karena Multix sangat terlambat tetapi tidak diberi izin. Mereka kemudian mendapat pekerjaan mengembangkan sistem manajemen dokumen (yang penyusunan huruf hanya merupakan bagian dari, bagian lain termasuk sistem file dan editor file) dan biasanya hacker memutuskan untuk menulis OS untuk mengembangkan produk
slebetman

Multics, yaitu
Artelius

Apakah itu berarti bahwa OS berbasis buildroot tidak lagi mandiri karena tim menghapus gcc sebagai aplikasi target?
tudor

Bukankah kompiler C yang disertakan menjadi hal yang paling penting?
Faheem Mitha

14

PDP-11 dibuat oleh Digital Equipment Corporation, dan sistem operasi pabrikan untuk PDP-11 adalah:

  • RT-11
  • RSX-11
  • RSTS / E

Dari jumlah tersebut, setidaknya RSTS / E membutuhkan sistem operasi lain untuk menghasilkan sistem. Itu adalah Sistem Operasi Disk satu-pengguna-tugas-tunggal, yang disebut DOS tentu saja, yang mendukung sedikit tetapi tape, disk, teletype, sysgenprogram yang menanyakan pertanyaan konfigurasi dan membuat file konfigurasi bahasa assembly, dan assembler dan linker. Output dari sysgenprogram ini adalah sistem operasi RSTS / E yang dapat di-boot. Saya tidak dapat berbicara untuk RT-11 atau RSX-11 karena saya tidak pernah melakukan sysgen pada mereka, tetapi saya sysgen akan RSTS / E berkali-kali pada akhir 1970-an.

Mereka memperbaiki semua itu dengan RSTS / E versi 6b atau mungkin 6c, yang meng-host sysgenprogram itu sendiri, melalui sistem runtime RT-11 (dan juga memiliki sistem runtime RSX-11), tetapi semua ini pada saat itu telah berlangsung sejak sekitar 1968. Oleh karena itu, penekanan pada Unix menjadi swadaya.


RT-11 memang memiliki sysgendan bekerja dengan cara yang sama. Namun, itu berjalan pada sistem RT-11 biasa yang merupakan pengguna tunggal, meskipun ada sistem pihak ketiga yang disebut TSX-Plus yang membuat RT-11 multi-pengguna.
wallyk

10

Untuk menjawab pertanyaan awal Mengapa Unix mandiri? itu karena sistem yang bukan jenis hosting sendiri mengisap.

Ketika ada sistem lain yang diperlukan untuk dikembangkan, sistem yang dihasilkan tidak mendapatkan perhatian yang dibutuhkan untuk dapat diandalkan dan ramah dan dapat digunakan.

Pada awal Sekuen ini sejarah, mereka digunakan VAXes untuk mengembangkan sistem operasi Unix-seperti mereka dan komponen lainnya. Dalam mengaitkan sejarah mereka, para insinyur dengan bangga menyatakan bahwa begitu produk mereka sebagian besar dapat diandalkan, presiden perusahaan membantu menggulingkan VAX sehingga pengembangan harus dilakukan sendiri, dan perusahaan menganggap de-VAXing sebagai tonggak utama yang menghasilkan keandalan tinggi dan kenyamanan berkendara pengguna.

Saya pribadi mengalami beberapa sistem pengembangan non-hosting yang menjengkelkan dari tahun 1970-an: ISIS dan iRMX yang konon dikembangkan di VAXen, walaupun saya pikir iRMX mungkin telah menjadi hosting mandiri pada akhir 1980-an.


10
Ini dikenal secara informal sebagai 'makan makanan anjing Anda sendiri'. Itu sangat jelas pada 1980-an yang pembuat perangkat lunak lakukan dan tidak menggunakan produk mereka sendiri secara internal.
user207421
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.