Mengapa Tanenbaum salah dalam perdebatan Tanenbaum-Torvalds?

233

Saya baru-baru ini ditugaskan membaca dari debat Tanenbaum-Torvalds di kelas OS saya. Dalam perdebatan, Tanenbaum membuat beberapa prediksi:

  1. Microkernels adalah masa depan
  2. x86 akan mati dan arsitektur RISC akan mendominasi pasar
  3. (5 tahun sejak itu) semua orang akan menjalankan OS GNU gratis

Saya berumur satu tahun ketika perdebatan terjadi, jadi saya tidak memiliki intuisi historis. Mengapa prediksi ini tidak berhasil? Bagi saya, dari sudut pandang Tanenbaum, itu adalah prediksi yang cukup masuk akal tentang masa depan. Apa yang terjadi sehingga mereka tidak terjadi?

Robz
sumber
189
Saat memprediksi masa depan, pilihlah entropi dan keberuntungan daripada inovasi dan cita-cita.
zzzzBov
18
Saya menulis sedikit jawaban maraton di sini yang mencakup beberapa pokok pada poin 1. Sebenarnya, cukup sulit untuk menghindari perdebatan itu ketika membahas perbedaan dalam arsitektur kernel. Ironi paling manis sebenarnya adalah tanda tangan, Linus "my first, and hopefully last flamefest" Torvaldsyang jelas gagal menjadi kenyataan juga :)
Tim Post
13
Saya meninggalkan ini sebagai komentar alih-alih jawaban (Saya tidak berpikir itu "rumit" cukup untuk menjadi jawaban): Tanenbaum tidak salah dalam mempercayai Microkernels lebih baik, bahwa x86 harus meninggalkan arena dan bahwa OS GNU (kernel apa pun yang dijalankannya) adalah solusi yang lebih baik. Dia, mungkin, naif jika dia benar-benar menyatakan keyakinan yang kuat bahwa itu akan terjadi secepat itu (atau terjadi sama sekali), sebagian karena inersia sosial dan monopoli, dan sebagian karena microkernels yang efisien tidak mudah diimplementasikan dalam sistem tujuan umum . (jadi ya, beruntung )
njsg
15
Tanenbaum tidak sepenuhnya salah: di era PC pasca baru, iOS berbasis Mach dan ARM, Android berbasis L4 dan ARM. Hanya GNU yang hilang.
mouviciel
15
@mouviciel: dan GNU hanya hilang di desktop. Server dan seluler serta tertanam praktis adalah semua monopoli GNU.
gbjbaanb

Jawaban:

171

Microkernels adalah masa depan

Saya pikir Linus mencapai titik pada kernel monolitik dalam debatnya. Tentu saja beberapa pelajaran dari penelitian microkernel diterapkan pada kernel monolitik. Microsoft kadang-kadang mengklaim bahwa kernel Win32 adalah arsitektur microkernel. Agak sulit ketika Anda melihat beberapa microkernels buku teks, tetapi klaim memiliki beberapa justifikasi teknis.

x86 akan mati dan arsitektur RISC akan mendominasi pasar

Jika Anda mencadangkan dari desktop dan server, RISC mendominasi pasar prosesor dengan ukuran apa pun. ARM (R singkatan RISC) menjual lebih banyak x86 dalam jumlah prosesor, ada lebih banyak prosesor ARM daripada prosesor x86 yang digunakan, dan ada lebih banyak kapasitas komputasi ARM total daripada kapasitas komputasi x86. Tahun ini, satu vendor ARM (yeah, Apple) dapat menjual lebih banyak semua vendor x86. Hanya di desktop dan ruang server yang mendominasi x86. Selama Windows adalah platform dominan untuk komputer desktop dan Linux untuk server, ini sepertinya akan terus berlaku untuk sementara waktu.

Ada bagian b untuk ini juga. Insinyur Intel melakukan beberapa pekerjaan luar biasa untuk memeras kehidupan dari set instruksi mereka, bahkan sampai membuat inti RISC dengan penerjemah opcode yang duduk di atas. Bandingkan dengan salah satu pembuat chip desktop RISC dominan, IBM, yang tidak bisa mendapatkan G5 yang hemat daya dan berkinerja tinggi untuk laptop Apple dalam jangka waktu yang wajar.

(5 tahun sejak itu) semua orang akan menjalankan OS GNU gratis

Saya pikir berbagai vendor OS masih menawarkan proposisi nilai menarik pada OS mereka. GNU bahkan tidak harus menjadi pemain paling penting dalam komunitas Open Source, jadi bahkan adopsi yang lebih luas dari perangkat lunak open source tidak harus diterjemahkan ke dalam GNU OS. Namun, ada banyak hal-hal GNU di luar sana (semua Mac dikirimkan dengan GNU's Bash , misalnya. Mungkin ada beberapa alat sistem GNU di ponsel Android). Saya pikir ekosistem komputer jauh lebih beragam daripada ramalan Tanenbaum, bahkan ketika Anda membatasi pandangan Anda ke komputer desktop.

ccoakley
sumber
8
Pada point 3, linux tersebar sangat luas, mungkin OS yang paling banyak digunakan, windows dan VxWorks berikut. Jadi poin 3 dapat dianggap benar. Itu membuat 2 poin dari 3 benar, yang cukup bagus mengingat betapa tidak terduganya IT.
deadalnix
11
@deadalnix - Saya bermaksud menyebutkan ruang lingkup secara eksplisit pada 3, membatasi ke komputer desktop. Jika server google farm menjalankan linux (kan?) Dan setiap kotak dihitung ke hitungan linux, dan modem kabel saya menjalankan versi undian hitungan linux, dan ponsel android saya menghitung, maka linux mungkin mendominasi. Tapi sementara saya telah melihat grafik yang bagus dari prosesor ARM vs x86 dijual / digunakan dari waktu ke waktu, saya belum melihat satu untuk OS, terutama ketika Anda mencampur dalam perangkat yang tertanam.
ccoakley
6
Juga mengenai bagian 2, berbagai x86 modernisasi sebenarnya berjalan beberapa langkah di luar RISC dan melakukan beberapa hal menarik dengan "operasi mikro" secara internal yang memberikan fleksibilitas penjadwalan yang lebih baik dengan penyusunan ulang instruksi saat terbang, yang membawa peningkatan kinerja yang jauh melampaui apa yang bahkan bisa diimpikan oleh para penganut RISC. CPU RISC bisa mendapatkan itu juga, tetapi pada titik ini Anda tidak membandingkan RISC vs CISC, Anda sedang membandingkan berbagai strategi JIT dalam perangkat keras dengan antarmuka ISA yang cukup abstrak.
lembut
5
@KonradRudolph menciptakan kutipan untuk total penjualan melalui google: 3 miliar chip ARM dikirimkan pada 2009 ( vanshardware.com/2010/08/mirror-the-coming-war-arm-vers--us-x86 ) sementara sekitar 400 juta x86 chip terjual pada 2011 (4 kali angka triwulan dilaporkan di sini: computerworlduk.com/news/it-business/3345299/… ). Pasar tertanam sangat besar dan sebagian besar non-Intel.
ccoakley
5
Saya tidak berpikir poin 3 benar dalam arti yang dimaksud Tanenbaum. Pada saat itu, ada banyak optimisme di sekitar GNU HURD. Mengklaim Linux (dalam varian apa pun) sebagai kemenangan OS GNU tidak sah secara historis. Ruang pengguna? Tentu. Tetapi dalam arti Linux kernel menang terlepas dari GNU.
regularfry
60

Ahli Perangkat Lunak Mengabaikan Ekonomi Perangkat Keras

... atau "Moore benar dan mereka berdua salah"

Hal terbesar yang diabaikan dalam debat ini adalah dampak teknologi dan ekonomi manufaktur CPU, didorong oleh ukuran transistor yang menyusut seperti yang dinyatakan dalam Hukum Moore (tidak mengherankan seolah-olah mereka tahu banyak tentang perangkat keras CPU, orang-orang ini mempelajari dan memperdebatkan perangkat lunak, tidak Pabrikan CPU atau ekonomi). Biaya produksi tetap yang diamortisasi selama CPU (misalnya desain ISA, desain CPU dan fasilitas produksi CPU) telah berkembang pesat, sehingga meningkatkan nilai skala ekonomis; dengan biaya per unit CPU (dalam hal "bang for the buck" & "bang for the watt") anjlok, biaya CPU tidak perlu diamortisasi melalui berbagai pilihan fungsi untuk memberikan nilai, jadi komputasi dalam produk dengan fungsi tetap telah meledak; Anggaran transistor CPU telah tumbuh secara eksponensial,

1. Skala CPU Menang atas Keragaman CPU

Pentingnya skala ekonomi telah membuat manfaat dari ISA / CPU menargetkan pasar yang lebih besar (karena itu lebih luas) melebihi potensi manfaat dari pilihan desain yang mempersempit pasar untuk ISA / CPU. OS dapat mengatasi porsi pasar yang lebih besar dan lebih besar per ISA / CPU yang didukung, sehingga hanya ada sedikit kebutuhan (atau bahkan tidak perlu) untuk latihan porting agar ekosistem OS dapat berkembang. Domain masalah Target ISA & CPU cenderung begitu luas sehingga sebagian besar tumpang tindih, sehingga untuk setiap perangkat lunak di luar kompiler, ukuran latihan porting juga berkurang. Bisa dibilang, baik Torvalds & Tanenbaummelebih-lebihkan bagian dari desain dan implementasi kernel yang sekarang perlu ISA atau bahkan CPU khusus. Seperti yang dijelaskan Tanenbaum, kernel OS modern melakukan abstrak dari perbedaan antara CPU & ISA. Namun, kode khusus CPU / ISA dalam OS modern jauh lebih kecil daripada microkernel. Daripada menerapkan penanganan interupsi / penjadwalan, manajemen memori, komunikasi & I / O, bit-bit non-portabel ini hanya membahas sebagian kecil dari implementasi layanan-layanan tersebut, dengan sebagian besar arsitektur bahkan fungsi-fungsi inti OS ini menjadi portabel.

2. Open Source Memenangkan Pertempuran, Tapi Hilang Perang

Lebih banyak keuntungan berarti bahwa bagian yang lebih besar dari komputasi dilakukan oleh produk-produk fungsi tetap, di mana kemampuan untuk memodifikasi produk bukan bagian dari proposisi nilai bagi pelanggan. Sekarang ironisnya, open source telah berkembang dalam perangkat-perangkat fungsi tetap ini, tetapi lebih sering daripada tidak, manfaat dari kebebasan-kebebasan itu lebih direalisasikan oleh mereka yang membuat produk daripada pengguna akhir (yang sebenarnya benar untuk pasar perangkat lunak bahkan saat itu: Microsoft adalah konsumen besar perangkat lunak sumber terbuka, tetapi pelanggan mereka tidak). Demikian pula, orang dapat berpendapat bahwa open source telah lebih banyak berjuang di ruang desktop tujuan umum daripada di tempat lain, tetapi ketika web dan cloud computing berkembang, komputasi desktop semakin banyak digunakan untuk tujuan yang lebih sempit (terutama menjalankan browser), dengan fungsi yang tersisa berjalan di cloud (ironisnya, terutama pada platform open source). Singkatnya: open source benar-benar memiliki ruang komputasi tujuan umum, tetapi pasar telah menjadi lebih canggih; menghitung kemasan produk jarang berhenti pada fungsi tujuan umum, tetapi terus berlanjut ke produk yang ditujukan untuk fungsi tetap, di mana banyak keuntungan dari komputasi open source bertentangan dengan tujuan produk.

3. 2 n Pertumbuhan Berarti Tabungan k Fixed Apakah Tidak Penting

Pertumbuhan eksponensial dari anggaran transistor telah membawa kesadaran bahwa biaya anggaran transistor dari arsitektur CISC hampir sepenuhnya diperbaiki. Keuntungan strategis RISC adalah bahwa ia memindahkan kompleksitas dari set instruksi CPU dan masuk ke kompiler (tidak diragukan lagi sebagian dimotivasi oleh kenyataan bahwa penulis kompiler mendapat manfaat jauh lebih sedikit dari ISA kompleks daripada pengembang manusia yang mengkode dalam perakitan, tetapi kompiler dapat dengan mudah lebih beralasan secara matematis tentang, dan karenanya mengeksploitasi, ISA yang lebih sederhana); penghematan transistor yang dihasilkan kemudian dapat diterapkan untuk meningkatkan kinerja CPU. Peringatannya adalah bahwa penghematan anggaran transistor dari ISA yang lebih sederhana sebagian besar sudah diperbaiki (dan overhead dalam desain kompiler sebagian besar sudah diperbaiki juga). Sementara dampak tetap ini adalah sebagian besar dari anggaran kembali pada hari itu, seperti yang dapat dibayangkan, hanya perlu beberapa putaran pertumbuhan eksponensial agar dampaknya menjadi sepele. Dampak penurunan yang cepat ini dikombinasikan dengan pentingnya monokultur CPU yang disebutkan sebelumnya dengan cepat berarti peluang kecil bagi ISA baru untuk memantapkan dirinya. Bahkan ketika ISA baru berhasil, ISA "RISC" modern bukanlah ISA ortogonal yang dijelaskan oleh strategi RISC, karena pertumbuhan berkelanjutan dalam anggaran transistor dan penerapan yang lebih luas dari pemrosesan SIMD pada khususnya telah mendorong adopsi instruksi baru yang disesuaikan untuk fungsi tertentu. Dampak penurunan yang cepat ini dikombinasikan dengan pentingnya monokultur CPU yang disebutkan sebelumnya dengan cepat berarti peluang kecil bagi ISA baru untuk memantapkan dirinya. Bahkan ketika ISA baru berhasil, ISA "RISC" modern bukanlah ISA ortogonal yang dijelaskan oleh strategi RISC, karena pertumbuhan berkelanjutan dalam anggaran transistor dan penerapan yang lebih luas dari pemrosesan SIMD pada khususnya telah mendorong adopsi instruksi baru yang disesuaikan untuk fungsi tertentu. Dampak penurunan yang cepat ini dikombinasikan dengan pentingnya monokultur CPU yang disebutkan sebelumnya dengan cepat berarti peluang kecil bagi ISA baru untuk memantapkan dirinya. Bahkan ketika ISA baru berhasil, ISA "RISC" modern bukanlah ISA ortogonal yang dijelaskan oleh strategi RISC, karena pertumbuhan berkelanjutan dalam anggaran transistor dan penerapan yang lebih luas dari pemrosesan SIMD pada khususnya telah mendorong adopsi instruksi baru yang disesuaikan untuk fungsi tertentu.

4. Sederhana: Pemisahan Kekhawatiran. Kompleks: Pemisahan Ruang Alamat.

Kernel Linux modern (bersama dengan kebanyakan kernel lainnya) sesuai dengan definisi macrokernel yang agak longgar dan bukan definisi sempit dari mikrokernel. Yang mengatakan, dengan arsitektur driver-nya, modul-modul yang dimuat secara dinamis, dan optimisasi multiprosesing yang membuat komunikasi ruang kernel semakin menyerupai penyampaian pesan microkernel, strukturnya lebih mirip desain microkernel (sebagaimana diwujudkan oleh Minix) daripada desain macrokernel (sebagaimana diwujudkan oleh desain Linux) pada saat diskusi). Seperti desain microkernel, kernel Linux memang menyediakan komunikasi umum, penjadwalan, penanganan interupsi, dan manajemen memori untuk semua komponen OS lainnya; komponennya cenderung memiliki kode dan struktur data yang berbeda. Sementara modul dimuat secara dinamis, secara longgar digabungkan potongan kode portabel, yang berkomunikasi melalui antarmuka tetap, yang tidak menggunakan satu properti microkernels yang tersisa: mereka bukan proses ruang pengguna. Pada akhirnya, Hukum Moore memastikan bahwa masalah dimotivasi oleh masalah perangkat keras seperti portabilitas (masalah Tanenbaum) & kinerja (masalah Torvalds ') berkurang, tetapi masalah pengembangan perangkat lunak menjadi sangat penting. Keuntungan yang belum direalisasi yang tersisa yang dapat disediakan oleh pemisahan ruang alamat tidak sebanding dengan bagasi tambahan yang dikenakan pada perangkat lunak OS karena keterbatasan desain dan meningkatnya kompleksitas antarmuka komponen. Hukum memastikan bahwa masalah yang dimotivasi oleh masalah perangkat keras seperti portabilitas (masalah Tanenbaum) & kinerja (masalah Torvalds ') berkurang, tetapi masalah pengembangan perangkat lunak menjadi sangat penting. Keuntungan yang belum direalisasi yang tersisa yang dapat disediakan oleh pemisahan ruang alamat tidak sebanding dengan bagasi tambahan yang dikenakan pada perangkat lunak OS karena keterbatasan desain dan meningkatnya kompleksitas antarmuka komponen. Hukum memastikan bahwa masalah yang dimotivasi oleh masalah perangkat keras seperti portabilitas (masalah Tanenbaum) & kinerja (masalah Torvalds ') berkurang, tetapi masalah pengembangan perangkat lunak menjadi sangat penting. Keuntungan yang belum direalisasi yang tersisa yang dapat disediakan oleh pemisahan ruang alamat tidak sebanding dengan bagasi tambahan yang dikenakan pada perangkat lunak OS karena keterbatasan desain dan meningkatnya kompleksitas antarmuka komponen.

Menariknya, apa yang telah menjadi tren kuat adalah munculnya hypervisor, yang sangat mirip dengan kernel mikro, mencabut perangkat kerasnya. Beberapa mengklaim bahwa hypervisor adalah microkernels. Arsitektur Hypervisor berbeda, karena tanggung jawab yang dimaksudkan untuk dimiliki oleh microkernels ditangani oleh kernel "guest" yang duduk di atas, dengan multipleks hypervisor di antara mereka, dan abstraksi hypervisor bukanlah pesan generik dan ruang alamat memori, tetapi sebagian besar emulasi hardware aktual.

Kesimpulannya: Masa Depan Memihak Mereka yang Mengadopsi Semantik Ketat Paling Tidak

* .. atau "nitpickers payah dalam memprediksi masa depan"

Dalam prakteknya banyak kebenaran / kesalahan dalam perdebatan adalah masalah semantik (dan itu adalah bagian dari apa yang didebat Torvalds dan IMHO Tanenbaum gagal untuk sepenuhnya menghargai). Sulit untuk membuat definisi yang tepat tentang masa depan karena ada begitu banyak faktor di luar argumen yang bisa ikut bermain; semantik yang lebih longgar berarti prediksi Anda adalah target yang lebih besar di papan dart daripada orang lain, memberi Anda peluang yang jauh lebih baik. Jika Anda mengabaikan semantik, argumen yang dikemukakan oleh Torvalds dan Tanenbaum benar tentang banyak hal dan salah tentang sangat sedikit.

tl; dr

Sebagian besar ISA tidak sesuai dengan definisi semantik RISC, tetapi manfaatkan sebagian besar keunggulan desain yang berbeda dengan RISC CPU pada saat itu; jumlah OS yang spesifik untuk CPU kurang dari yang diharapkan Tanenbaum, apalagi Torvalds; open source memang mendominasi komputasi tujuan umum, tetapi konsumen pasar itu sekarang terutama mereka yang mengemas komputasi untuk produk-produk fungsi yang lebih tetap di mana banyak manfaat dari perangkat lunak open source tidak terwujud; memisahkan fungsi OS di seluruh ruang alamat tidak terbukti bermanfaat, tetapi memisahkan fungsi OS di seluruh perangkat keras "virtual" miliki. Jika Anda ingin mengklaim prediksi Anda terbukti benar, tinggalkan ruangan manuver semantik sebanyak mungkin, sama seperti Mr. Torvalds.

PS Pengamatan ironis terakhir: Linus Torvalds adalah salah satu pendukung terkuat untuk menjaga sebanyak mungkin fungsionalitas baru di ruang pengguna dan di luar kernel Linux.

Christopher Smith
sumber
42
  • Microkernels adalah masa depan

Dia salah, sepertinya semuanya konvergen menggunakan kernel hybrid. Linux secara formal masih bersifat monolitik, tetapi menambahkan hal-hal seperti FUSE dll membuatnya terlihat agak hybrid juga.

  • x86 akan mati dan arsitektur RISC akan mendominasi pasar

Ok, jadi x86 tidak mati. Tetapi bukankah RISC mendominasi pasar? Miliaran smartphone menggunakan ARM, semua konsol game menggunakan prosesor RISC, sebagian besar perangkat keras jaringan menggunakan prosesor MIPS.

Selain itu, pada awal tahun 2000-an, RISC dan CISC telah banyak bertemu, sehingga tidak ada perbedaan yang jelas dalam desain internal. Prosesor x86 modern pada dasarnya internal RISC dengan antarmuka CISC.

  • (5 tahun sejak itu) semua orang akan menjalankan OS GNU gratis

Jika dengan GNU OS yang dia maksud adalah GNU Hurd, maka memang benar-benar prediksi yang gagal. Apa yang dilakukan orang secara besar-besaran adalah Android. Android adalah Linux, namun ini bukan GNU, karena tidak menggunakan GNU libc. Sebaliknya ia menggunakan Bionik Google sendiri . Dan pangsa pasar Linux desktop standar masih di bawah 2%. Tapi apakah yang dia maksud adalah PC konsumen? Di pasar server, Linux benar-benar mendominasi dengan 70-90% pangsa tergantung pada segmennya.

vartec
sumber
5
"Di pasar server, Linux benar-benar mendominasi dengan 70-90% saham tergantung pada segmennya." Di mana buktinya?
quant_dev
4
Jumlah vartec mungkin berlebihan. Saya akan meninggalkan ini di sini en.wikipedia.org/wiki/OS_market_share#Servers
Federico klez Culloca
4
@quant_dev: 92% dari Top500, server web 60-70%, seluruh infrastruktur Google, seluruh infrastruktur FB, seluruh infrastruktur Amazon ... dll.
vartec
1
Bisakah Anda memberikan tautan untuk mendukung pernyataan Anda?
quant_dev
13
Top500: i.top500.org/stats , Google: lwn.net/Articles/357658 , Amazon: news.cnet.com/2100-1001-275155.html , FB: http: /www.infoq.com/presentations/Facebook -Software-Stack
vartec
21
  1. Tidak yakin.

  2. Setengah kanan. Chip "x86" hari ini adalah RISC di bawah tenda, dengan dasarnya merupakan "antarmuka CISC". x86 tidak mati karena Intel memiliki pangsa pasar yang cukup dan pendapatan yang cukup untuk melakukan transisi itu dan menyelesaikannya sebelum solusi RISC lainnya merebut pangsa pasar yang signifikan dari mereka.

  3. Dua alasan utama: kompatibilitas dan kegunaan.

    Sekali lagi, sistem yang ada (Windows dan, pada tingkat lebih rendah Mac OS) memiliki basis instalasi yang sangat besar. Itu berarti banyak pengguna menggunakan banyak program. OS GNU gratis tidak dapat menduplikasi itu. Proyek WINE telah melakukan banyak pekerjaan ke arah itu, tetapi masih belum ada pengganti untuk sistem Windows yang sebenarnya, dan pengembang WINE bahkan tidak mencoba untuk mengklaim itu. Orang-orang tidak ingin menggunakan OS yang tidak akan menjalankan program favorit mereka, tidak peduli seberapa hebatnya secara teori. (Dan tanpa basis pengguna yang diinstal, tidak ada yang ingin mengembangkan untuk sistem. Ini masalah ayam dan telur.)

    Dan kemudian kita mencapai kegunaan. Ibuku memiliki sistem Windows. Dia dapat menggunakannya dengan baik untuk tujuannya. Semua yang dia butuhkan untuk bekerja dengan komputernya tersedia dari antarmuka Windows, dan jika saya mengatakan kata-kata "command line" kepadanya, dia bahkan tidak akan tahu apa yang saya bicarakan. Sejauh yang saya tahu, masih tidak mungkin untuk melakukan itu pada OS GNU gratis. Bahkan, Linux sangat sulit untuk bekerja dengan itu bahkan demigod komunitas terbesar memiliki masalah serius dengan tugas-tugas sederhana kadang-kadang. Dan mereka sepertinya tidak pernah "mendapatkannya" dan bekerja untuk memperbaiki masalah, itulah sebabnya mereka tidak pernah mendapatkan pangsa pasar. (Artikel yang ditautkan harus menjadi bacaan wajib bagi siapa saja yang pernah mencoba membuat program pasar massal!)

Mason Wheeler
sumber
16
-1 untuk posting blog dari 8 tahun yang lalu, yang tidak lagi relevan.
vartec
16
@Vartec: Tidak lagi relevan? Apakah Anda serius membuat klaim bahwa pengguna saat ini dapat mengambil Linux dan mulai melakukan repertoar penuh tugas-tugas pengguna akhir yang umum tanpa harus bahkan tahu bahwa ada command-line, ada cara mereka pada Windows atau OSX?
Mason Wheeler
17
@ Alasan: kapan terakhir kali Anda melihat misalnya Ubuntu? Lebih mudah untuk melakukan tugas pengguna akhir yang umum di Ubuntu tanpa mengetahui tentang konsol, daripada pada OSX (neraka, pada OSX membuat file tersembunyi terlihat membutuhkan Ph.D dalam Nerdology). Dalam hal-hal Ubuntu hanya berfungsi. Di Windows Anda harus menginstal driver atau apa pun. Dalam hal OSX tidak berfungsi. BTW. apakah ibumu menggunakan RegEdit :-P
vartec
8
@MasonWheeler: Tentu saja. Siapa saja dapat mengambil Ubuntu dan menggunakannya tanpa hal-hal baris perintah sama sekali . Teman sekamar saya - tentu saja bukan melek teknologi super - tidak punya masalah pindah dari Windows ke Ubuntu. Orang lain yang saya kenal menggunakan Ubuntu - beragam pengalaman tetapi semua bukan ahli - juga tidak memiliki masalah. Teman sekamar saya yang lama tahun lalu memiliki lebih banyak masalah dengan Mac-nya daripada teman sekamar saya saat ini dengan Ubuntu, pada tingkat pengalaman komputer yang serupa. (Bahkan mencetak, dari semua hal, jauh lebih mudah di Linux daripada di Mac!) Jadi seluruh masalah baris perintah Linux adalah kesalahan representasi.
Tikhon Jelvis
18
@MasonWheeler: Apakah Anda serius membuat klaim bahwa pengguna hari ini dapat mengambil Windows dan mengkonfigurasi printer jaringan?
Christoffer Hammarström
14

Saya pikir ada beberapa alasan yang cukup serius, tetapi belum disebutkan.

Yang pertama adalah asumsi Tanenbaum yang agak buta bahwa keunggulan teknis akan mengarah pada dominasi pasar. Orang-orang telah berdebat selama bertahun-tahun tentang apakah microkernels (nanokernels, picokernels, dll.) Secara teknis lebih unggul, tetapi untuk saat ini, anggap saja begitu. Kami masih memiliki pertanyaan apakah keunggulan teknis itu kemungkinan akan diterjemahkan ke dominasi pasar. Saya akan berpendapat bahwa itu tidak. Bagi kebanyakan orang, Windows, Mac OS, dll, sudah cukup baik. Lebih buruk lagi, perbaikan yang akan membuat perbedaan signifikan bagi sebagian besar pengguna akan berada di antarmuka pengguna, bukan kernel.

Yang kedua secara drastis memperkirakan tingkat perubahan dalam pasar yang matang (wajar). Sangat mudah untuk mengubah segalanya dengan tergesa-gesa ketika Anda memiliki pasar baru. Agar semua orang pada dasarnya berubah selama lima tahun, migrasi harus dilakukan dengan kecepatan penuh bahkan seperti yang dia prediksi.

Saya juga mencatat cara lain di mana dia benar yang belum saya lihat disebutkan. Orang-orang telah mencatat keberadaan RISC (misalnya, di telepon seluler). Apa yang belum mereka sebutkan adalah di mana-mana yang saya sebut "microkernel 2.0". Ini sekarang lebih sering dikenal sebagai "mesin virtual" atau "hypervisor". Mereka benar-benar cukup banyak microkernels sekalipun.

Perbedaan besar adalah bahwa Tanenbaum berpikir dalam hal microkernel dan emulasi OS mode pengguna yang dirancang khusus untuk satu sama lain. Sebagai gantinya, kami mempertahankan OS pada dasarnya tidak berubah, dan menyesuaikan microkernel untuk menjalankannya apa adanya. Ini tidak sebagus teknis, tetapi dari perspektif pasar, ini secara dramatis unggul - alih-alih keseluruhan sistem baru dari atas ke bawah, pengguna dapat terus menggunakan sebagian besar kode yang ada apa adanya, dan hanya menambahkan yang baru dan keren "Utilitas" yang kebetulan benar-benar menjadi OS microkernel.

Jerry Coffin
sumber
8

Satu alasan besar adalah Windows, terutama Windows 3.1 dan sedikit kemudian, Windows 95 dan NT 3.51. Konsumen sangat menyukai antarmuka GUI yang bertentangan dengan sistem berbasis teks lama Unix dan DOS. Ini berarti lebih banyak orang biasa membeli komputer untuk digunakan di rumah. Juga, ledakan Internet di pertengahan 90-an meningkatkan penjualan.

Harga untuk PC juga turun sepanjang 90-an sampai mereka mencapai titik di mana mereka hari ini. Hal ini disebabkan oleh skala ekonomi yang dipresentasikan oleh peningkatan permintaan konsumen dan bisnis. Sebagai contoh, kelima komputer saya saat ini harganya kurang digabungkan dibandingkan dengan 486 desktop yang saya beli pada tahun 1992.

Sekarang, dengan cara dia mungkin benar tetapi ke arah yang tidak terduga. Munculnya perangkat seluler, telepon pintar dan tablet, telah sebagian membawa sistem operasi yang disederhanakan dan dapat mengurangi keunggulan x86. Namun, mereka jauh melampaui apa yang diprediksi pada tahun 1992.

jfrankcarr
sumber
7

Pada akhirnya itu semua bermuara pada kenyataan bahwa segala sesuatu tidak terlalu suka berubah.

Kami tidak bermigrasi ke microkernel dengan arsitektur yang lebih baik karena yang monolitik lebih mudah dibuat, dijalankan lebih cepat, dan semua orang tahu cara membuatnya. Juga karena Linux dikembangkan sebagai kernel monolitik dan menjadi populer, tidak ada microkernels yang mencapai cukup sukses untuk lepas landas. (ini agak seperti alasan yang sama kita semua menjalankan Windows, kita menjalankan Windows karena semua orang menjalankan Windows)

RISC, yang lain telah menunjukkan bahwa x86 cukup banyak arsitektur RISC saat ini, dengan pembungkus CISC di atas untuk kompatibilitas ke belakang.

Banyak orang menjalankan OS GNU gratis - di server. Web cukup banyak didorong olehnya. Tidak ada yang tahu karena semua klien adalah Windows. Kembali pada masa itu, Anda punya pilihan: Linux yang masih sangat hobi OS; rasa Unix tetapi Anda tidak mampu membelinya; atau murah dan ceria Windows. Linux butuh waktu terlalu lama untuk menggantikan Unix, dan masih belum cukup memiliki solusi yang menarik untuk berjalan di desktop (sebagian karena masalah ideologis dengan sistem Window yang berbeda, driver grafis biner, dan kurangnya ABI yang stabil). Ini bekerja dengan baik di pasar non-desktop lain seperti embedded dan mobile.

gbjbaanb
sumber
6

Semua itu benar jika Anda tidak berpikir bahwa komputer adalah sesuatu di desktop Anda.

  1. Benar - microkernels tidak pernah bekerja karena mereka tidak pernah cukup mikro. Jika seluruh kernel embedded Anda yang dilucuti lebih kecil dari bit spesifik x86 dari kernel MACH adalah pertanyaan tentang kernel mikro yang relevan?

  2. RISC mendominasi pasar. Lebih banyak cpu ARM yang terjual setiap tahun dibandingkan cpu X86 sebelumnya. Anda mungkin tidak pernah lebih dari 6 kaki dari cpu ARM.

  3. Hampir semua orang menjalankan linux, ada di router mereka, setop TV mereka, Tivo mereka dan ponsel Android mereka - mereka hanya tidak tahu bahwa ini memiliki OS

Martin Beckett
sumber
4
"microkernels tidak pernah bekerja karena mereka tidak pernah cukup mikro"> Seperti yang saya pahami, kata "micro" tidak selalu merujuk pada byte atau baris kode. Idenya adalah untuk mendorong fungsionalitas ke ruang pengguna, membuat layanan yang disediakan oleh kernel itu sendiri menjadi minimal. Misalnya, sistem dengan microkernel akan memiliki proses pengguna yang didedikasikan untuk menangani sistem file. Jadi keberadaan linux versi stripped-down yang lebih kecil daripada minix tidak terlalu relevan.
Robz
1
@Robz Ukuran agak relevan - titik dari microkernel adalah untuk memberikan portabilitas, dan memungkinkan kasus tepi tertentu (seperti menjalankan dua lingkungan OS pada satu mesin sekaligus tanpa virtualisasi). Jika microkernel lebih besar dari hibrida / monolith yang membatasi platform yang dapat digunakan, DAN cenderung menghancurkan argumen bahwa lebih mudah untuk mencapai portabilitas dengan menulis komponen kecil jika sebenarnya tidak lebih kecil dari alternatif.
Marcin
4

1) Dia salah pada microkernels. Untuk pemahaman saya, kebutuhan akan persyaratan kecepatan mengalahkan pemisahan kekhawatiran yang ditegakkan dalam microkernels, setidaknya di kernel Linux.

2) Arsitektur utama dalam tablet dan ponsel adalah ARM yang merupakan set instruksi RISC. Bahkan Windows telah porting.

3) Setiap orang tidak menjalankan OS GNU gratis. Ini terutama karena paten dan kompatibilitas ke belakang. Mereka yang tidak menginginkan Windows sering memilih OS X.

pengguna1249
sumber
1) kecepatan bahkan lebih penting saat itu! Saya tidak yakin itu akan jadi masalah hari ini.
gbjbaanb
Tergantung di mana kemacetan Anda.
Ketika satu-satunya persyaratan Anda adalah "lebih cepat daripada yang lain", itu tidak menjadi lebih mudah dari waktu ke waktu. Menurut saya, ada periode waktu yang sangat singkat ketika HURD bisa menyalip Linux sebagai opsi yang layak, dan mereka merusaknya dengan membuang waktu pada port dari L4 ke Mach.
regularfry
2

1. Microkernels gagal

Untuk alasan yang dinyatakan oleh Linus Torvalds, bahwa di atas kertas terlihat secara teori menarik tetapi dalam implementasi pada sistem modern - yang merupakan sistem yang sangat kompleks - kompleksitasnya menjadi tidak terkelola secara eksponensial. Studi kasus adalah GNU Hurd, sebuah sistem kernel mikro penuh yang gagal mencapai fungsi dasar. Mac OS X mirip dengan Hurd dalam struktur dan itu adalah OS yang paling tidak stabil dan paling dibatasi di luar sana.

2. arsitektur CPU

Ini telah menjadi beragam untuk berbagai kasus penggunaan. Satu arsitektur CPU tidak mendominasi karena embedded, mobile, desktop, server, dan sebagainya, kasus penggunaan berbeda dan memerlukan pendekatan yang berbeda. Tannenbaum gagal melihat diversifikasi ini.

3. GNU vs Dunia?

GNU tidak mendominasi, tetapi Linux melakukannya di server, tertanam dan seluler. Tablet dan ponsel Apple menjalankan iOS yang hanya Unix tua. Statistik yang akurat sulit diperoleh untuk penyebaran Linux di desktop karena tidak ada mekanisme inti nyata - penjualan unit - yang pasti dapat memberikan nilai yang akurat. Sebagian besar penyebaran Linux di desktop kadang-kadang dicatat sebagai penyebaran Windows karena pengguna membeli sistem Windows dan kemudian menulisnya dengan Linux. Namun, jika Anda mensegmentasi OS maka Linux memiliki sekitar 5-6% pada desktop menurut http://www.w3schools.com/browsers/browsers_os.asp dan ini sama dengan jumlah pengguna Windows Vista di seluruh dunia yang sangat signifikan .

Berdasarkan perkiraan saya sendiri dari berbagai sumber, tampaknya Linux pada desktop sebenarnya bisa sama dengan jumlah pengguna di Windows XP - sekitar 25% - jika Anda menghitung negara-negara non-Barat seperti Cina dan India di mana Linux lebih populer daripada di Amerika Serikat atau UE tetapi yang mungkin tidak dihitung dalam statistik Barat karena mereka hanya menghitung lalu lintas ke situs web berbahasa Inggris yang ditujukan untuk orang Barat.

Di India sebagian besar mahasiswa menggunakan Ubuntu atau Fedora karena ini adalah OS default dari sistem pendidikan India dan di IIT yang terkenal itu. Sebagian besar kantor pemerintah India juga menggunakan Linux. Di China Bendera Merah Linux adalah OS resmi dari pemerintah Cina dan sistem sekolah - Akademi Seni dan Ilmu Pengetahuan - dan merupakan OS yang direkomendasikan di China oleh media yang dikelola negara sebagai upaya untuk menghentikan orang-orang muda Tionghoa miskin menggunakan salinan Windows bajakan. Jika Anda menghitung penggunaan Linux di India dan Cina, hal itu akan mengejutkan sebagian besar pakar teknologi Barat dan secara radikal mengubah persepsi tentang dominasi sebenarnya dari desktop Linux di negara-negara berkembang non-Barat yang dominan.

AG Restringere
sumber
1
Kenyataannya adalah bahwa Windows sedang dibantai di depan OS untuk desktop dan server. Jika Anda berpikir bahwa hanya sekitar 45% pengguna yang menggunakan Windows 7 itu berarti bahwa adopsi OS Windows baru setiap siklus upgrade Windows sedikit menurun sebesar 10-15% dan pengguna tetap menggunakan versi yang lama atau pergi ke Mac atau Linux. Untuk server, situasinya bahkan lebih buruk karena setiap server Windows meningkatkan 20-30% pengguna segera beralih ke cluster server Linux ...
AG Restringere
1
Artikel hebat di atas ... focus.com/fyi/50-places-linux-running-you-might-not-expect
AG Restringere
1

Produksi menjadi lebih murah, x86 mendekati harga RISC, sehingga tidak layak lagi untuk menggunakannya. Ada juga vendor kecil yang terkunci.

Lucas Kauffman
sumber
Saya tidak berpikir driver untuk RISC adalah harga, itu lebih karena arsitektur RISC dirancang lebih baik daripada x86. Sayangnya, MIPS dan SPARC tidak pernah naik dengan sangat baik, dan DEC kehabisan uang sebelum Alpha mendapat cukup pangsa pasar. Intel mampu menghasilkan sedikit kinerja x86, jadi tidak ada alasan kuat untuk berubah (bagi kebanyakan orang). Sekarang kinerja diukur dalam hal watt dari MHz, x86 mulai memperlambat slide menjadi tidak relevan.
TMN
Ya saya tahu, saya hanya merujuk mengapa RISC naik jauh lebih cepat daripada RISC pada awalnya. Tentu hari ini ini telah banyak berubah.
Lucas Kauffman
1
  1. Microkernels mengganti pemanggilan metode dengan pesan antar-proses, yang menambahkan kompleksitas pengembangan untuk beberapa manfaat hipotetis. Ternyata sebagian besar Anda bisa mendapatkan keuntungan yang sama dari komponenisasi yang baik bahkan jika semuanya hidup dalam satu proses besar.
  2. Pertanyaannya tidak lagi relevan. Arsitektur CISC tidak ada lagi, semua prosesor modern adalah RISC di hati mereka, tetapi itu tidak membunuh set instruksi x86. Prosesor x86 sejak era Pentium-Pro (17 tahun yang lalu) menggunakan terjemahan op-code untuk memungkinkan inti RISC pada dasarnya terlihat seperti CPU x86 dari luar.
  3. Classic Worse is Better . Iterasi, pragmatisme, jaringan, dan efek ekosistem mengalahkan kemurnian setiap saat.
Baji
sumber
1

Microkernels adalah x86 di masa depan yang akan mati dan arsitektur RISC akan mendominasi pasar (5 tahun kemudian) setiap orang akan menjalankan OS GNU gratis

Itu tergantung bagaimana Anda melihat dan menentukan masa depan, dalam pengertian tradisional ramalannya telah gagal.

Namun waktu belum berakhir (diskusi lain yang lebih dalam) .

Dengan demikian, hal-hal masih bisa berubah:

  1. Microkernels atau beberapa varian bisa kembali

  2. RISC / ARM mungkin mendominasi -> tablet / ponsel

  3. 10 atau 15 tahun dari sekarang. Siapa tahu, open source mengubah dunia perlahan ..

Darknight
sumber
1
Tentu saja hal-hal dapat berubah di masa depan. Pertanyaan saya adalah tentang bagaimana dunia sekarang dan mengapa dunia belum mencerminkan prediksi-nya.
Robz
Semua alasan itu sudah siap didaftar oleh orang lain, saya memberi Anda pandangan alternatif, sebagai bagian dari diskusi sehat semua perspektif harus setidaknya dipertimbangkan. Hidup panjang dan makmur teman saya.
Darknight
Tentang 3, perbedaannya adalah bahwa Sistem Operasi GNU secara khusus tidak relevan lagi. Tidak ada yang menggunakan kernel GNU Hurd, dan jika Anda menghapus semua alat userspace GNU dari Linux atau desktop OS X, kebanyakan orang bahkan tidak akan menyadarinya. Jika Anda melihat penyebaran OS open source lainnya yang sukses (mis. Router berbasis Linux dan Android) kebanyakan dari mereka tidak bergantung pada komponen GNU juga. Ada banyak alat GNU yang sangat populer dan bermanfaat, ya, tetapi mereka jauh dari menjadi bagian dari "sistem operasi" yang digunakan orang.
ehabkost
0

Untuk 2: Set instruksi CISIC memiliki keuntungan besar: Lebih padat, seperti kode mesin terkompresi. Saat ini sangat murah untuk men-decode instruksi CISC menjadi micro-ops dan sangat mahal untuk mengakses RAM. Jadi CISC memiliki keuntungan mendorong lebih banyak kode dalam cache L1 / L2 / L3

Kristen
sumber
0

Saya ingat waktu - dan waktu yang mendahuluinya. Tidak tahu tentang microkernals, tapi

2) Gagasan RISC memiliki dua kaki: bahwa optimasi perangkat lunak dapat dilakukan dalam perangkat lunak lebih baik daripada dalam perangkat keras, dan bahwa chip RISC secara ekonomis dapat dibuat lebih cepat daripada chip CISC.

Kedua gagasan itu ternyata salah dalam jangka pendek. Intel dapat, dan memang, membuat chip CISC yang mencatat instruksi lebih cepat daripada chip RISC yang bersaing, dengan harga yang kompetitif. Intel dapat, dan memang, membuat chip CISC yang melakukan optimasi program lebih baik di perangkat keras daripada yang dapat dilakukan di kompiler, atau di pengawas runtime perangkat lunak - dan optimasi perangkat lunak apa pun dapat ditambahkan di atas itu, sama seperti halnya dengan Chip RISC.

3) Ilmu Komputer, Pemrograman, dan Operasi, telah sepenuhnya diciptakan kembali 4 kali dalam karir saya. Dari bingkai utama ke PC. Dari baris perintah ke GUI. Dari GUI ke internet. Dari Internet ke iPad. Revolusi nampak normal sekarang, tetapi KAMI TIDAK MEMPREDIKSI BAHWA. Seperti semua programmer yang lebih tua pada saat itu, dia memprediksi 'akhir sejarah'.

Sangat sedikit orang yang menjalankan OS GNU dalam lima tahun, karena penghitungan dimulai kembali.

Mungkin itu masih terjadi. 5 tahun yang lalu Anda akan meramalkan bahwa Windows Server kami akan digantikan oleh server * nix (Saat saya menulis, SAMBA telah merilis AD Domain Server, yang merupakan bagian dari teka-teki yang hilang). Ini tidak akan terjadi di tempat saya bekerja: kami tidak akan memiliki server lokal.

David
sumber