Tanenbaum-Torvalds tartışmalarında Tanenbaum neden yanlıştı?


233

Geçenlerde işletim sistemi dersimdeki Tanenbaum-Torvalds tartışmalarından okuma aldım . Tartışmalarda Tanenbaum bazı tahminlerde bulunuyor:

  1. Mikro çekirdekler gelecek
  2. x86 ölecek ve RISC mimarileri pazara hakim olacak
  3. (Ondan 5 yıl sonra) herkes ücretsiz bir GNU işletim sistemi işletecek

Tartışmalar gerçekleştiğinde bir yaşındaydım, bu yüzden tarihi sezgilerim yok. Bu tahminler neden açıklanmadı? Bana öyle geliyor ki, Tanenbaum'un bakış açısından, geleceğe dair oldukça makul tahminler. Ne oldu ki geçmeye gelmediler?


189
Geleceği tahmin ederken, entropi ve yeniliğin ve ideallerin üstesinden gelin.
zzzzBov

18
Burada , 1. noktada bir temeli kapsayan bir maraton cevabı yazdım . Aslında, çekirdek mimarilerindeki farklılıkları tartışırken bu tartışmadan kaçınmak oldukça zor. En tatlı ironi aslında Linus "my first, and hopefully last flamefest" Torvaldsaynı zamanda gerçek olamayacak kadar açık bir imzadır :)
Tim Post

13
Bunu bir cevap yerine yorum olarak bırakıyorum (Cevap olacak kadar "ayrıntılı" olduğunu sanmıyorum): Tanenbaum, Mikro Çekirdeklerin daha iyi olduğuna inanmakta yanlış değildi , x86 arenadan ayrılmalı ve GNU OS (hangi çekirdek üzerinde çalışırsa yapsın) daha iyi bir çözümdü. Belki de, eğer gerçekten sosyal atalet ve tekeller yüzünden ve kısmen verimli mikro çekirdeklerin genel amaçlı sistemlerde uygulanması o kadar kolay olmadığından, o kadar hızlı olacağına ya da hiç olamayacağına dair güçlü bir inancı belirtmişse saftır. . (evet, şans )
njsg

15
Tanenbaum tamamen yanlış değil: Yeni PC yazısında, iOS Mach ve ARM tabanlı, Android L4 ve ARM tabanlı. Sadece GNU kaybetti.
mouviciel

15
@mouviciel: ve GNU sadece masaüstünde kaybetti. Sunucular ve mobil ve gömülü pratikte tüm GNU tekelleri.
gbjbaanb

Yanıtlar:


171

Mikro çekirdekler gelecek

Bence Linus, tartışmasında monolitik çekirdeğe dikkat çekti. Elbette mikro çekirdek araştırmalarından öğrenilen bazı dersler monolitik çekirdeklere uygulandı. Microsoft bazen Win32 çekirdeğinin bir mikro çekirdek mimarisi olduğunu iddia ediyordu . Bazı ders kitabı mikro-çekirdeklerine bakıldığında biraz gergin, ancak iddiaların bazı teknik gerekçeleri vardı.

x86 ölecek ve RISC mimarileri pazara hakim olacak

Masaüstlerinden ve sunuculardan yedekleme yaparsanız, RISC, işlemci pazarına herhangi bir önlemle hakimdir. ARM (R, RISC anlamına gelir) işlemcilerin sayısında x86 satmaktadır, kullanılan x86 işlemcilerden daha fazla ARM işlemcisi vardır ve x86 işlem kapasitesinden daha fazla ARM işlem kapasitesi vardır. Bu yıl, tek bir ARM satıcısı (evet, Apple) tüm x86 satıcılarını bir araya getirebilir. Yalnızca masaüstünde ve sunucu alanında x86 hakimdir. Windows, masaüstü bilgisayarlar ve Linux için sunucular için baskın platform olduğu sürece, bunun bir süre için doğru olmaya devam etmesi muhtemeldir.

Bunun da bir kısmı b var . Intel mühendisleri, en üstte oturan bir opcode tercümanı ile bir RISC çekirdeği oluşturma noktasına bile, kendi talimat setlerinden hayatı sıkıştırmak için bazı harika çalışmalar yaptı. Apple dizüstü bilgisayarlar için güç açısından verimli ve yüksek performanslı G5'i makul bir süre içinde alamayan IBM'in baskın RISC masaüstü yonga üreticilerinden biriyle karşılaştırın .

(Ondan 5 yıl sonra) herkes ücretsiz bir GNU işletim sistemi işletecek

Çeşitli işletim sistemi satıcılarının hala işletim sistemlerinde cazip değer önerileri sunduğunu düşünüyorum. GNU, Açık Kaynak topluluğundaki en önemli oyuncu bile değildir, bu yüzden daha açık bir yazılım kaynağının daha yaygın bir şekilde benimsenmesi, mutlaka GNU İşletim Sistemlerine çevrilmemiştir. Ancak, orada çok fazla GNU işi var (örneğin tüm Mac'ler GNU's Bash ile birlikte gelir . Örneğin, Android telefonlarda muhtemelen bazı GNU sistem araçları vardır). Sanırım bilgisayar ekosistemi, masaüstü bilgisayarlarla görüşünüzü kısıtladığınızda bile, Tanenbaum'un öngördüğünden çok daha çeşitli.


8
3. noktada, linux, muhtemelen en çok kullanılan işletim sistemi, pencereler ve VxWorks'ü takip eden çok yaygın bir biçimde yayılmıştır. Dolayısıyla 3. nokta doğru olarak kabul edilebilir. Her 3 bilgiden 2'sini doğru kılar, bu BT'nin ne kadar tahmin edilemez olduğunu göz önünde bulundurarak oldukça iyidir.
deadalnix

11
@deadalnix - 3'teki kapsamdan açıkça bahsetmek istedim, masaüstü bilgisayarları kısıtlıyorum. Eğer bir google sunucu grubu linux kullanıyorsa (öyle mi?) Ve her kutu linux sayımına sayarsa ve kablo modemim soyulmuş bir linux sayımı kullanıyorsa ve android telefonum sayılırsa, muhtemelen linux hakimdir. Ancak zamanla satılan / kullanılan ARM ve x86 işlemcilerden oluşan hoş grafikler görmeme rağmen, özellikle gömülü aygıtlarda karıştırdığınızda işletim sistemleri için bir tane görmedim.
ccoakley

6
Ayrıca, 2. bölümle ilgili olarak, çeşitli x86 modernizasyonları aslında RISC'nin birkaç adım ötesine geçiyor ve dahili olarak "mikro işlemlere" sahip etkileyici şeyler yapıyor; bu da, uzaktan eğitim performanslarını artıran, harekete geçirme talimatı yeniden düzenleme ile daha iyi programlama esnekliği sağlıyor. RISC taraftarlarının hayal edebilecekleri ötesinde. RISC CPU'ları da bunu alabilirdi ancak bu noktada RISC ile CISC'yi karşılaştırmıyorsunuz, çeşitli donanım içi JIT stratejilerini oldukça soyut ISA ön uçlarıyla karşılaştırıyorsunuz.
kabarık

5
@KonradRudolph google üzerinden toplam satış teklifini yeniden yarattı: 2009'da satılan 3 milyar ARM fişi ( vanshardware.com/2010/08/mirror-the-coming-war-arm-versus-x86 ), 2011 yılında ise yaklaşık 400 milyon x86 fiş satıldı (4 ayda bir 4 kez burada rapor edilmiştir: computerworlduk.com/news/it-business/3345299/… ). Gömülü pazar büyük ve büyük ölçüde Intel dışı.
ccoakley

5
Tanenbaum’un kastettiği anlamında 3. noktanın doğru olduğunu sanmıyorum. O zamanlar, GNU HURD etrafında çok iyimserlik vardı. Bir GNU işletim sistemi kazananı olarak Linux (herhangi bir varyantta) olarak iddia etmek tarihsel olarak geçerli değildir. Kullanıcı alanı? Elbette. Fakat Linux bir anlamda çekirdek GNU'ya rağmen kazandı.
normal kızartma

60

Yazılım Uzmanları Donanım Ekonomisini Yoksaydı

... veya "Moore haklıydı ve ikisi de yanlıştı"

Bu tartışmada göz ardı edilen en büyük şey, Moore Yasası’nda ifade edildiği gibi transistör boyutlarının küçülmesinden kaynaklanan CPU işlem teknolojisi ve ekonomisinin etkisi oldu (CPU donanımı hakkında çok şey biliyorlarmış gibi şaşırtıcı değildi, bu adamlar çalıştı CPU üretimi veya ekonomisi). CPU'lar üzerinden itfa edilen sabit üretim maliyetleri (örneğin ISA tasarımı, CPU tasarımı ve CPU üretim tesisleri) hızla artmış, böylece ölçek ekonomilerinin değeri artırılmıştır; birim CPU başına maliyet ("paranın karşılığını bang" ve "watt için bacağını" açısından) açısından düşme olduğunda, bir CPU'nun maliyetinin, değer sağlamak için böylesine geniş bir işlev yelpazesi üzerinden itfa edilmesi gerekmez; sabit işlevli patladı; CPU transistör bütçeleri katlanarak arttı,

1. CPU Ölçeği CPU Çeşitliliğini Aşırı Kazandı

Ölçek ekonomilerinin önemi, daha büyük (bu nedenle daha geniş) bir pazar hedefleyen ISA / CPU'nun faydalarını, ISA / CPU için piyasayı daraltan tasarım seçeneklerinden ağır basmaktadır. İşletim sistemleri desteklenen ISA / CPU başına pazarın daha büyük ve daha büyük bölümlerini ele alabilir, bu nedenle bir işletim sistemi ekosisteminin gelişmesine izin vermek için taşıma alıştırmalarına çok az ihtiyaç vardır (hatta gerek yoktur). Sorun, ISA'nın ve CPU'nun hedefi, çoğunlukla üst üste gelebilecekleri kadar geniş olma eğilimindedir, bu nedenle, derleyicinin dışındaki herhangi bir yazılım için, taşıma alıştırmalarının boyutu da azalmıştır. Muhtemelen, hem Torvalds hem de TanenbaumISA ve hatta CPU'ya özgü olması gereken çekirdek tasarım ve uygulama bölümünü fazlasıyla tahmin etti. Tanenbaum'un açıkladığı gibi, modern işletim sistemi çekirdekleri, CPU ve ISA'lar arasındaki farklılıkları ortaya koyuyor. Bununla birlikte, modern işletim sistemlerinde CPU / ISA'ya özgü kod, bir mikro çekirdekten çok daha küçüktür. Kesinti işleme / zamanlama, bellek yönetimi, iletişim ve I / O'ları uygulamak yerine, bu taşınabilir olmayan bitler, bu çekirdek işletim sistemi işlevlerinin bile mimarisinin büyük çoğunluğu taşınabilir olmakla birlikte, bu hizmetlerin uygulanmasının sadece küçük bir kısmını ele almaktadır.

2. Açık Kaynak Savaşı Kazandı, Ama Savaşı Kaybetti

Paranın karşılığını daha fazla almak, ürünü değiştirme kabiliyetinin, müşteri için değer teklifinin bir parçası olmadığı, sabit fonksiyonlu ürünler tarafından daha büyük bir hesaplama payının gerçekleştirildiği anlamına gelir. Şimdi ironik olarak, bu sabit işlevli cihazlarda açık kaynak gelişti, ama çoğu zaman, bu özgürlüklerin, son kullanıcılar yerine ürünleri yapanlar tarafından daha fazla gerçekleşmesini sağladı (aslında o zamanlar bile pazar pazarında gerçekti: Microsoft açık kaynaklı yazılımların büyük bir tüketicisiydi, fakat müşterileri değildi) Benzer şekilde, açık kaynağın genel amaçlı masaüstü alanında başka yerlerden daha fazla mücadele ettiği, ancak web ve bulut bilişim büyüdükçe, masaüstü bilişimin gittikçe daha dar bir amaç için kullanıldığını (öncelikle bir tarayıcı çalıştırarak), Kalan işlevleri bulutta çalıştırarak (ironik olarak, öncelikle açık kaynak platformlarında). Kısacası: Açık kaynak gerçekten genel amaçlı bilgi işlem alanına sahip, ancak piyasa daha sofistike hale geldi; bilgisayar ürünü ambalajı daha az sıklıkla genel amaçlı işlevde durur, ancak açık kaynaklı bilgisayar kullanımının avantajının büyük kısmı ürün hedefleriyle çelişkili olduğu sabit işlevler için amaçlanan ürünle devam eder.

3. 2 n Büyüme Sabit, k Tasarrufun Önemi Yok demektir.

Transistör bütçelerinin katlanarak büyümesi, beraberinde bir CISC mimarisinin transistör bütçe maliyetinin neredeyse tamamen sabit olduğu iddiasını getirmiştir. RISC'nin stratejik avantajı, karmaşıklığı CPU'nun talimat setinden çıkarmaya ve derleyiciye kaydırmasıydı (kuşkusuz derleyici yazarların, karmaşık ISA'lardan derlemede kodlayan insan geliştiricilere göre çok daha az fayda sağladığı, ancak derleyicilerin çok daha kolay bir nedenden kaynaklanabileceğinden kuşku yok. matematiksel olarak ve bu nedenle, daha basit bir ISA'dan yararlanın); Ortaya çıkan transistör tasarrufları daha sonra CPU performansını arttırmak için uygulanabilir. Dikkat, transistör bütçesinin daha basit bir ISA'dan tasarrufunun çoğunlukla sabit olmasıydı (ve derleyici tasarımında genel gider de çoğunlukla sabit). Bu sabit etki, günümüzde bütçenin çok büyük bir kısmını oluştururken, Birinin hayal edebileceği gibi, etkinin önemsiz hale gelmesi için sadece birkaç katlanarak büyümesi gerekiyor. Bu hızlı bir şekilde azalan etki, yukarıda bahsedilen hızlı bir şekilde artan CPU monokültürünün artan önemi ile birlikte, herhangi bir yeni ISA'nın kendisini kurması için çok küçük bir fırsat penceresi anlamına geliyordu. Yeni ISA'ların başarılı olduğu yerlerde bile, modern "RISC" ISA'ları, transistor bütçelerinde sürekli büyüme ve özel olarak SIMD işlemenin daha geniş uygulanabilirliği özel işlevler için ayarlanmış yeni talimatların benimsenmesini teşvik ettiğinden, RISC stratejisi tarafından açıklanan ortogonal ISA'lar değildir. Bu hızlı bir şekilde azalan etki, yukarıda bahsedilen hızlı bir şekilde artan CPU monokültürünün artan önemi ile birlikte, herhangi bir yeni ISA'nın kendisini kurması için çok küçük bir fırsat penceresi anlamına geliyordu. Yeni ISA'ların başarılı olduğu yerlerde bile, modern "RISC" ISA'ları, transistor bütçelerinde sürekli büyüme ve özel olarak SIMD işlemenin daha geniş uygulanabilirliği özel işlevler için ayarlanmış yeni talimatların benimsenmesini teşvik ettiğinden, RISC stratejisi tarafından açıklanan ortogonal ISA'lar değildir. Bu hızlı bir şekilde azalan etki, yukarıda bahsedilen hızlı bir şekilde artan CPU monokültürünün artan önemi ile birlikte, herhangi bir yeni ISA'nın kendisini kurması için çok küçük bir fırsat penceresi anlamına geliyordu. Yeni ISA'ların başarılı olduğu yerlerde bile, modern "RISC" ISA'ları, transistor bütçelerinde sürekli büyüme ve özel olarak SIMD işlemenin daha geniş uygulanabilirliği özel işlevler için ayarlanmış yeni talimatların benimsenmesini teşvik ettiğinden, RISC stratejisi tarafından açıklanan ortogonal ISA'lar değildir.

4. Basit: Endişelerin Ayrılması. Karmaşık: Adres Alanının Ayrılması.

Modern Linux çekirdeği (çoğu çekirdeğin yanı sıra), bir mikro çekirdeğin dar tanımına değil, makro çekirdeğin oldukça gevşek tanımına uyar. Şöyle ki, sürücü mimarisi, dinamik olarak yüklenmiş modülleri ve çekirdek uzay iletişimlerini giderek daha fazla mikro çekirdeğin iletmesine benzeyen çok işlemcili optimizasyonları ile yapı, mikro çekirdeğin tasarımına (Minix'in somutlaştırdığı gibi), makro çekirdekli tasarımdan (Linux tasarımında olduğu gibi) daha yakından benziyor. tartışma sırasında). Bir mikro çekirdek tasarımı gibi, Linux çekirdeği diğer tüm işletim sistemi bileşenleri için genelleştirilmiş iletişim, zamanlama, kesilme ve bellek yönetimi sağlar; bileşenleri farklı kod ve veri yapılarına sahip olma eğilimindedir. Modüller dinamik olarak yüklenirken, Sabit arabirimler aracılığıyla iletişim kuran, gevşek bir şekilde bağlanmış taşınabilir kod parçaları, mikro çekirdeklerin kalan bir özelliğini kullanmaz: Kullanıcı alanı işlemleri değildir. Sonunda, Moore Yasası, taşınabilirlik (Tanenbaum'un endişesi) ve performans (Torvalds'ın endişesi) gibi donanım kaygılarının azaldığını, ancak yazılım geliştirme sorunlarının büyük önem kazandığını temin etti. Adres alanlarının ayrılmasının sağlayabileceği gerçeklenmemiş kalan avantajlar, tasarım kısıtlamaları ve bileşen bileşenlerinin karmaşıklığının artması nedeniyle işletim sistemi yazılımına uygulanan ilave bagajdan ağır basmaktadır. Yasası, taşınabilirlik (Tanenbaum'un endişesi) ve performans (Torvalds'ın endişesi) gibi donanım kaygılarının azalttığını, ancak yazılım geliştirme sorunlarının büyük önem kazandığını sağlamıştır. Adres alanlarının ayrılmasının sağlayabileceği gerçeklenmemiş kalan avantajlar, tasarım kısıtlamaları ve bileşen bileşenlerinin karmaşıklığının artması nedeniyle işletim sistemi yazılımına uygulanan ilave bagajdan ağır basmaktadır. Yasası, taşınabilirlik (Tanenbaum'un endişesi) ve performans (Torvalds'ın endişesi) gibi donanım kaygılarının azalttığını, ancak yazılım geliştirme sorunlarının büyük önem kazandığını sağlamıştır. Adres alanlarının ayrılmasının sağlayabileceği gerçeklenmemiş kalan avantajlar, tasarım kısıtlamaları ve bileşen bileşenlerinin karmaşıklığının artması nedeniyle işletim sistemi yazılımına uygulanan ilave bagajdan ağır basmaktadır.

İlginçtir ki, neyi gelmiştir güçlü bir eğilim olmuştur, donanım dışarı soyutlayan mikro çekirdek gibi çok hypervisor'ı, ortaya çıkmasıdır. Bazıları hipervizörlerin mikro çekirdek olduğunu iddia ediyor. Bununla birlikte, hipervizör mimarisi farklıdır, çünkü mikro çekirdeğin sahip olması gereken sorumluluklar, üstlerinde oturan "misafir" çekirdeği tarafından ele alındığında, hipervizörlerin aralarında çoğul olması ve hipervizörün soyutlanması, genel mesajlaşma ve bellek adres alanı değil, esasen gerçek donanım emülasyonudur.

Sonuç olarak: Gelecek En Az Katı Semantikayı Kabul Edenleri Tercih Ediyor

* .. veya "nitpickers geleceği tahmin etmeyi emiyor"

Uygulamada münazaradaki hak / yanlışlığın çoğu anlambilim meselesidir (ve bu Torvalds'ın tartıştığı ve IMHO Tanenbaum'un tam olarak takdir edemediği şeyin bir parçasıydı). Gelecek hakkında kesin tanımlamalar yapmak zordur, çünkü argümanın dışında oynamaya gelebilecek pek çok faktör vardır; Daha gevşek anlambilim, tahmininizin dart tahtası üzerinde diğer adamınkinden daha büyük bir hedef olduğu anlamına gelir ve size daha iyi oranlar sunar. Anlambilimi görmezden gelirseniz, hem Torvalds hem de Tanenbaum tarafından öne sürülen argümanlar bir çok konuda haklıydı ve çok az hakkında yanlış.

tl; Dr.

Çoğu ISA, RISC'nin semantik tanımına uymaz, ancak o zaman RISC CPU'ların ayırt edici olan tasarım avantajlarının çoğundan faydalanır; CPU'ya özgü işletim sistemi miktarı, Torvalds'ın bile beklemeyeceğinden, Tanenbaum'un beklediğinden daha az; açık kaynak genel amaçlı bilgisayar kullanımına hâkimdir, ancak o pazarın tüketicileri şimdi temel olarak, açık kaynak yazılımın faydalarının çoğunun gerçekleştirilmediği daha sabit işlevli ürünlere bilgisayar paketlemesi yapanlardır; işletim sistemi işlevini adres alanları arasında ayırmak faydalı olamadı, ancak işletim sistemi işlevini "sanal" donanım arasında ayırmak yararlı oldu. Tahminlerinizin doğru olduğunu kanıtlamak istemeniz durumunda, kendinizi Mr. Torvalds gibi mümkün olduğunca semantik manevra odası bırakın.

PS Son bir ironik gözlem: Linus Torvalds, kullanıcı alanında ve Linux çekirdeğinin dışında olabildiğince fazla yeni işlevsellik sağlamanın en güçlü destekçilerinden biridir.


42
  • Mikro çekirdekler gelecek

Yanlış anladı, her şey hibrit çekirdekleri kullanmaya başladı. Linux resmen hala yekpare, ancak FUSE vb gibi şeyler ekleyerek de biraz hibrit görünmesini sağlar.

  • x86 ölecek ve RISC mimarileri pazara hakim olacak

Tamam, yani x86 ölmedi. Fakat RISC piyasaya hakim değil mi? ARM kullanan milyarlarca akıllı telefon, tüm oyun konsolları RISC işlemci kullanan, çoğu ağ donanımı MIPS işlemci kullanan.

Ayrıca, 2000'li yılların başında RISC ve CISC o kadar yakınlaştı ki iç tasarımda kesin bir fark yoktu. Modern x86 işlemciler temelde CISC arayüzlü dahili RISC'dir.

  • (Ondan 5 yıl sonra) herkes ücretsiz bir GNU işletim sistemi işletecek

GNU OS ile GNU Hurd'u kastediyorsa, o zaman tamamen başarısız bir tahmindi. İnsanların yoğun olarak kullandığı şey Android. Android Ancak öyle, Linux değil GNU libc'yi kullanmaz olarak, GNU. Bunun yerine Google’ın kendi Biyonik’ini kullanıyor . Ve standart masaüstü Linux'un pazar payı hala% 2'nin altında. Ama gerçekten tüketici bilgisayarları mı demek istedi? Sunucu pazarında Linux, segmente bağlı olarak% 70-90'lık bir paya sahip.


5
"Sunucu pazarında Linux, segmente bağlı olarak kesinlikle% 70-90'lık bir paya sahip." Bunun kanıtı nerede?
quant_dev

4
vartec'in numaraları muhtemelen abartılıyor. Bunu burada bırakacağım en.wikipedia.org/wiki/OS_market_share#Servers
Federico klez Culloca

4
@quant_dev: Top500'ün% 92'si,% 60-70 web sunucusu, bütün Google altyapısı, bütün FB altyapısı, bütün Amazon altyapısı ... vb.
vartec

1
İfadelerinizi yedeklemek için linkler verebilir misiniz?
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 -Yazılım-Yığın
vartec

21
  1. Emin değil.

  2. Yarım hakkı. Bugünün "x86" yongaları , temel olarak bir "CISC arayüzü" ile kaputun altında RISC'dir. x86 ölmedi çünkü Intel bu geçişi yapmak ve diğer RISC çözümleri onlardan önemli bir pazar payı elde etmeden hemen önce almak için yeterli pazar payına ve gelirine sahipti.

  3. İki ana neden: uyumluluk ve kullanılabilirlik.

    Yine, mevcut sistemler (Windows ve daha az bir ölçüde Mac OS) çok geniş bir kurulum tabanına sahiptir. Bu, birçok program kullanan birçok kullanıcı anlamına gelir. Özgür GNU işletim sistemleri bunu kopyalayamaz. WINE projesi bu yönde birçok çalışma yaptı, ancak hala gerçek bir Windows sisteminin yerine geçemiyor ve WINE geliştiricileri bunun olduğunu iddia etmiyorlar bile. İnsanlar ne kadar teorik olarak harika olursa olsun, en sevdikleri programları çalıştırmayacak bir işletim sistemi kullanmak istemiyorlar. (Ve kurulu bir kullanıcı tabanı olmadan kimse sistem için geliştirmek istemez. Bu bir tavuk-yumurta problemidir.)

    Ve sonra kullanılabilirliği elde ederiz. Annemin bir Windows sistemi var. Amaçları için gayet iyi kullanabilir. Bilgisayarında çalışması gereken her şey Windows arayüzünde mevcut ve eğer ona "komut satırı" kelimeleri söylesem, neden bahsettiğimi bile bilmiyordu. Bildiğim kadarıyla , herhangi bir ücretsiz GNU işletim sisteminde bunu yapmak hala mümkün değil. Aslında, Linux ile çalışmak o kadar zordur ki, toplumun en büyük yarı tanrılarının bile bazen basit görevlerle ciddi sorunları vardır. Ve asla “anlayamıyor” gibi görünüyorlar ve sorunları çözmek için çalışıyorlar, bu yüzden asla pazar payı kazanmıyorlar. (Bağlantılı makale, herhangi bir kitlesel pazar programı hazırlamaya çalışan herkes için okunmalıdır!)


16
8 yıl önceki blog yazısı için -1, artık alakalı değil.
vartec

16
@Vartec: Artık alakalı değil mi? Bugün bir kullanıcının Linux’u alabileceği ve Windows veya OSX’te yapabildikleri gibi bir komut satırının bile olduğunu bile bilmeden ortak son kullanıcı görevlerinin tam repertuarını yapmaya başlayabileceği iddiasını ciddiye alıyor musunuz ?
Mason Wheeler

17
@Mason: En son ne zaman gördün, örneğin Ubuntu? Konsol hakkında bilgi sahibi olmadan Ubuntu'da ortak son kullanıcı görevini yapmak, OSX'ten daha kolaydır (cehennem, OSX'te gizli dosyaları görünür kılmak, Nerdology'de doktora gerektirir). Ubuntu'da şeyler sadece çalışır. Windows'ta sürücüleri ya da her neyse yüklemeniz gerekir. OSX'te şeyler sadece çalışmıyor. BTW. Annen RegEdit kullanıyor mu :-P
vartec 22:12

8
@MasonWheeler: Elbette. Herkes Ubuntu almak ve birlikte kullanabilirsiniz hiçbir komut satırı şeyler hiç . Oda arkadaşım - kesinlikle süper teknoloji okuryazar değil - Windows’tan Ubuntu’ya geçerken sorun yaşamadım. Ubuntu'yu kullanmayı bildiğim diğer insanlar - deneyimlerinde çeşitlilik gösteriyor ancak hepsi uzman değil - hiç sorun yaşamadım. Geçen yılki eski oda arkadaşım Mac'inde şu anki oda arkadaşımın Ubuntu'yla benzer seviyelerde bilgisayar deneyiminden daha fazla sorunu vardı. (Her şeyi basmak bile, Linux'taki Mac'te olduğundan çok daha kolaydı!) Yani tüm Linux komut satırı işi çok yanlış bir beyan.
Tikhon Jelvis

18
@MasonWheeler: Bugün bir kullanıcının Windows'u seçip bir ağ yazıcısı yapılandırabileceğini iddia ediyor musunuz?
Christoffer Hammarström

14

Bence oldukça ciddi, ancak bahsedilmemiş birkaç sebep var.

Bunlardan ilki, Tanenbaum'un teknik üstünlüğün pazar üstünlüğüne yol açacağı yönündeki oldukça kör varsayımıdır. İnsanlar yıllardır mikro çekirdeğin (nanokernels, picokernels vs.) teknik olarak üstün olup olmadıklarını tartışıyorlar, ancak şimdilik, sadece olduklarını varsayalım. Teknik üstünlüğün piyasa üstünlüğüne dönüşmesi muhtemel olup olmadığı sorusuyla hala kalıyoruz. Olmadığını söyleyeceğim. Çoğu insan için, Windows, Mac OS vb. Yeterince iyidir. Daha da kötüsü, çoğu kullanıcı için önemli bir fark yaratabilecek gelişmeler, çekirdeğin değil, kullanıcı arayüzünde olacaktır.

İkincisi, (makul bir şekilde) olgun bir piyasadaki değişim oranını büyük ölçüde fazla tahmin ediyor . Yeni bir pazara sahip olduğunuzda aceleci olan şeyleri değiştirmek oldukça kolaydır. Esasen beş yıl içinde herkesin değişmesi için göç, tahmin ettiği gibi tam hızda gerçekleşmiş olacaktı.

Ayrıca, bahsetmediğim, haklı olduğu bir başka yolu da not ederim. İnsanlar RISC'nin yaygınlığını çoktan belirttiler (örneğin, cep telefonlarında). Bahsetmedikleri şey "microkernel 2.0" dediğim yerin yaygınlığı. Bu şimdi daha sık "sanal makine" veya "hiper yönetici" olarak bilinir. Onlar gerçekten de oldukça fazla mikro çekirdekli.

En büyük fark, Tanenbaum'un her ikisi de özel olarak tasarlanmış bir mikro çekirdek ve kullanıcı modu işletim sistemi emülasyonu olarak düşünüldüğüdür. Bunun yerine, işletim sistemini temelde değiştirmeden tuttuk ve mikro çekirdeği olduğu gibi çalıştırdık. Bu teknik olarak güzel değil, ancak piyasa açısından bakıldığında, çarpıcı bir şekilde üstün - tamamen yeni bir sistem yerine, kullanıcı mevcut kodunun çoğunu olduğu gibi kullanmaya devam edebilir ve sadece yeni bir ürün ekleyebilir. Gerçekten bir mikro çekirdek işletim sistemi olan "yardımcı program".


8

Büyük nedenlerden biri Windows, özellikle Windows 3.1 ve daha sonraları Windows 95 ve NT 3.51 idi. Tüketiciler, eski metin tabanlı Unix ve DOS sistemlerinin aksine GUI arayüzlerini özellikle sevdiler. Bu, daha ortalama insanların ev kullanımı için bilgisayar satın alacağı anlamına geliyordu. Ayrıca, 90'lı yılların ortalarında İnternet’in patlaması satışları arttırdı.

PC'lerin fiyatları da 90'lı yıllarda bugünkü noktaya gelene kadar düştü. Bunun nedeni artan tüketici ve iş talebi tarafından sunulan ölçek ekonomileridir. Örneğin, mevcut bilgisayarlarımın beşi de 1992'de satın aldığım 486 masaüstünden daha ucuza geliyor.

Şimdi, bir şekilde haklı olabilir ama beklenmedik bir yönde. Mobil cihazların, akıllı telefonların ve tabletlerin yükselişi kısmen basitleştirilmiş işletim sistemlerini ortaya çıkardı ve x86'nın önemini azaltabilir. Ancak, 1992'de öngörülenlerin çok ötesine geçiyorlar.


7

Sonuçta her şey, işlerin gerçekten değişmeyi sevmediği gerçeğine dayanıyor.

Daha iyi tasarlanmış bir mikro çekirdeğe göç etmedik çünkü monolitik olanlar daha kolaydı, daha hızlı koştu ve herkes onları nasıl kuracağını biliyordu. Ayrıca Linux, yekpare bir çekirdek olarak geliştirildiğinden ve popüler hale geldiğinden, başarabilecek kadar başarılı olan hiçbir mikro çekirdek yoktu. (Hepimiz Windows çalıştırmamızın nedeni gibi, Windows çalıştırıyoruz, çünkü herkes Windows kullanıyor)

RISC, diğerleri x86'nın günümüzde bir RISC mimarisi olduğuna ve geriye dönük uyumluluk için üstte CISC sargısına sahip olduğuna dikkat çekti.

Sunucuda bir çok insan ücretsiz GNU işletim sistemi kullanıyor. Web hemen hemen tarafından tahrik edilir. Hiç kimse fark etmiyor, çünkü tüm istemciler Windows. O günlerde, bir seçeneğiniz vardı: Hala hobi bir işletim sistemi olan Linux; Unix'in bir tadı ama onu satın almaya gücünüz yetmedi; veya ucuz n n neşeli Windows. Linux, Unix'in yerini almak için çok uzun sürdü ve hala masaüstünde çalışmak için yeterince zorlayıcı bir çözüme sahip değil (kısmen farklı Windows sistemleri, ikili grafik sürücüleri ve kararlı bir ABI'nin olmayışı nedeniyle). Ancak gömülü ve mobil gibi diğer masaüstü dışı pazarlarda oldukça iyi yapıyor.


6

Bir bilgisayarın masaüstünüzde bir şey olduğunu düşünmüyorsanız hepsi doğrudur.

  1. Doğru - mikro çekirdekler hiç çalışmadı çünkü yeterince mikro olmadılar. Soyulmuş gömülü linux'nuzun tamamı MACH çekirdeğinin x86'ya özgü bitinden daha küçükse, mikro çekirdeğin alaka düzeyi nedir?

  2. RISC piyasaya hâkim durumda. Her yıl X86 cpus'tan daha fazla ARM cpus satılmaktadır. Muhtemelen bir ARM işlemcisinden asla 6ft'den fazla değilsin.

  3. Neredeyse herkes Linux kullanıyor, yönlendiricisinde, TV kapalı kutusunda, Tivo'sinde ve Android telefonunda - bunların bir işletim sistemi olduğunu bilmiyorlar


4
"mikro çekirdekler hiç çalışmadı çünkü yeterince mikro olmadılar"> Anladığım kadarıyla "mikro" sözcüğü mutlaka bayt veya kod satırlarına atıfta bulunmaz. Buradaki amaç işlevselliği kullanıcı alanına itmek, çekirdeğin sunduğu hizmetleri asgari düzeyde tutmaktır. Örneğin, bir mikro çekirdeğe sahip bir sistem, dosya sistemini işlemeye adanmış bir kullanıcı işlemine sahip olacaktır. Bu yüzden, minix'ten daha küçük boyutta olan sıyrılmış bir linux versiyonunun varlığı gerçekten alakalı değildir.
Robz

1
@Robz Size uygun bir tür - bir mikro çekirdeğin amacı size taşınabilirlik sağlamak ve belirli kenar durumlarını mümkün kılmaktır (sanallaştırma olmadan aynı anda bir makinede iki işletim sistemi ortamı çalıştırmak gibi). Eğer mikro çekirdek çalıştırılabildiği platformları sınırlayan bir melez / tek parçadan büyükse, VE aslında alternatiften daha küçük değilse, küçük bir bileşen yazarak taşınabilirliği elde etmenin daha kolay olduğu argümanını yok etme eğilimindedir.
Marcin

4

1) Mikro çekirdeklerde yanılmış. Anladığım kadarıyla, hız gereksinimine duyulan gereksinim, en azından Linux çekirdeğinde mikro çekirdeğe uygulanan kaygıların ayrılmasını engelliyor.

2) Tablet ve cep telefonlarındaki baskın mimari, RISC komut seti olan ARM'dir. Hatta Windows bile taşındı.

3) Herkes ücretsiz bir GNU işletim sistemi çalıştırmaz. Bunun temel nedeni patentler ve geriye dönük uyumluluktur. Windows istemeyenler sık ​​sık OS X'i seçiyorlar.


1) hız daha da önemliydi! Bugün bu kadar önemli olacağından emin değilim.
gbjbaanb

Darboğazlarınızın nerede olduğuna bağlı.

Tek ihtiyacın "diğerinden daha hızlı ol" ise zamanla kolaylaşmaz. Aklıma göre, HURD'un Linux'u uygulanabilir bir seçenek olarak ele geçirebileceği çok kısa bir süre vardı ve L4'ten Mach'a giden bir limanda zaman harcayarak bunu mahvettiler.
regularfry

2

1. Mikro çekirdek başarısız

Linus Torvalds'ın belirttiği nedenlerden ötürü, kağıda teorik olarak çekici göründüğü, ancak çok karmaşık sistemler olan modern sistemlerdeki uygulamada karmaşıklık katlanarak yönetilemez hale geldi. Vaka çalışması, temel işlevleri bile başaramayan, tamamen mikro çekirdek sistemi olan GNU Hurd. Mac OS X, yapıdaki Hurd'a benzer ve orada en az kararlı ve en kısıtlı işletim sistemidir.

2. CPU mimarisi

Bu, çeşitli kullanım durumları için çeşitlendirildi. Gömülü, mobil, masaüstü, sunucu ve benzeri kullanım durumları farklı ve gerekli farklı yaklaşımlar olduğu için bir CPU mimarisi hâkim değildi. Tannenbaum bu çeşitliliği göremedi.

3. GNU vs Dünya?

GNU egemen değildi, ancak Linux sunucuda, gömülü ve mobil olarak yaptı. Apple tabletler ve telefonlar, sadece düz eski Unix olan iOS'u kullanıyor. Kesin istatistiklerin masaüstündeki Linux dağıtımları için elde edilmesi zordur, çünkü kesinlikle kesin bir değer verebilecek gerçek bir çekirdek mekanizma - birimlerin satışı - yoktur. Masaüstündeki çoğu Linux konuşlandırması bazen Windows konuşlandırması olarak kaydedilir, çünkü kullanıcılar bir Windows sistemi satın alır ve ardından Linux üzerine yazarlar. Bununla birlikte, işletim sistemlerini segmentlere ayırırsanız, Linux’un masaüstünde http://www.w3schools.com/browsers/browsers_os.asp’a göre yaklaşık% 5-6’sı olur ve bu, dünya çapında Windows Vista kullanıcılarının sayısına eşittir. .

Çeşitli kaynaklardan kendi tahminlerime dayanarak, masaüstündeki Linux’un Windows XP’deki kullanıcı sayısına eşit olabileceği görülüyor - kabaca% 25 - Çin’den daha popüler olduğu Çin ve Hindistan gibi Batılı olmayan ülkeleri sayıyorsanız ABD veya AB, ancak Batı istatistiklerinde sayılmayabilir, çünkü yalnızca Batılıları hedef alan İngilizce konuşan web sitelerine giden trafiği sayarlar.

Hindistan'da çoğu üniversite öğrencisi Ubuntu veya Fedora kullanıyor çünkü Hint eğitim sistemlerinin varsayılan işletim sistemi ve ünlü IIT'lerde. Hindistan devlet dairelerinin çoğu da Linux kullanıyor. Çin'de Red Flag Linux, Çin hükümetinin ve okul sistemlerinin resmi işletim sistemidir - Fen Edebiyat Akademileri - ve Çin'deki tavsiye edilen işletim sistemi, fakir gençleri Windows'un korsan kopyalarını kullanmalarını engellemek için medya tarafından Çin tarafından önerilen işletim sistemidir. Eğer Linux'un Hindistan ve Çin'deki kullanımını sayarsanız, Batılı teknoloji uzmanlarının çoğunun baskın olduğu ve Batılı olmayan gelişmekte olan ülkelerde Linux masaüstünün gerçek baskınlık algısını kökten değiştirecektir.


1
Gerçek şu ki, Windows gerçekten masaüstü ve sunucu için işletim sistemi önünde katledilmekte. Yalnızca% 45'lik bir kullanıcının Windows 7 kullandığını düşünüyorsanız, bu, yeni Windows işletim sistemi kullanımının kabul edilmesinin her bir Windows yükseltme döngüsünün% 10-15 oranında azaldığı ve kullanıcıların eski sürümde kaldıkları veya Mac veya Linux'a gittiği anlamına gelir. Sunucular için durum, her bir Windows sunucusu, kullanıcıların% 20-30'unun hemen Linux sunucu kümelerine geçiş yapması nedeniyle daha da kötüleşti ...
AG Restringere

1
Yukarıdakilerle ilgili harika bir yazı ... focus.com/fyi/50-places-linux-running-you-might-not-expect
AG Restringere

1

Üretim ucuzlaştı, x86 RISC'nin fiyatına o kadar yaklaştı ki artık kullanmak mümkün değildi. Ayrıca küçük bir satıcı kilitlemesi de vardı.


RISC için sürücünün fiyatının hiç olmadığını sanıyordum, RISC mimarilerinin x86'dan daha iyi tasarlandığı daha fazlaydı. Ne yazık ki, MIPS ve SPARC hiç bu kadar iyi ölçeklenemedi ve DEC, Alpha'nın önemli pazar payını almadan önce parasız kaldı. Intel, x86’dan biraz daha fazla bir performans sergileyebildi, bu yüzden (çoğu insan için) gerçekten değiştirmek için zorlayıcı bir sebep yoktu. Şimdi bu performans MHz'den daha fazla watt olarak ölçülüyor, x86 yavaş kaymaya başlamıyor.
TMN

Evet, biliyorum ki sadece neden başlangıçta RISC'nin RISC'den çok daha hızlı arttığını söylüyordum. Tabii ki bugünlerde bu çok değişti.
Lucas Kauffman,

1
  1. Mikro çekirdekler yöntem çağrılarını süreçler arası mesajlaşma ile değiştirir, bu da bazı varsayımsal faydalar için geliştirme karmaşıklığı sağlar. Çoğunlukla ortaya çıktığı gibi, her şey büyük bir süreçte yaşıyor olsa bile, iyi bir birleşmeden neredeyse aynı avantajları elde edebilirsiniz.
  2. Soru artık önemli değil. CISC mimarileri artık mevcut değil, tüm modern işlemciler kalplerinde RISC'dir, ancak x86 komut kümesini öldürmedi. Pentium-Pro döneminden bu yana (17 yıl önce) x86 işlemciler, esasen RISC çekirdeğinin dışarıdan bir x86 işlemcisi gibi görünmesini sağlamak için op-kod çevirisini kullanıyor.
  3. Klasik Daha Kötü Daha İyi . Yineleme, pragmatizm, ağ ve ekosistem etkileri her seferinde saflığı yendi.

1

Gelecek x86'nın çıkacağı gelecekteki mikro çekirdekler ve RISC mimarileri pazara hakim olacak (o zamandan 5 yıl sonra) herkes ücretsiz bir GNU işletim sistemi işletecek

Geleceği nasıl gördüğünüz ve tanımladığınıza bağlı olarak, geleneksel anlamda öngörüleri başarısız olmuştur.

Ancak zaman henüz bitmedi (bir kenara daha derin bir tartışma) .

Böylece, işler hala değişebilir:

  1. Mikro çekirdekler veya bazı değişkenler geri dönüş yapabilir

  2. RISC / ARM çok iyi baskın olabilir -> tablet / cep

  3. Bundan 10 ya da 15 yıl sonra. Kim bilir, açık kaynak dünyayı yavaşça değiştiriyor ..


1
Elbette gelecekte işler değişebilir. Benim sorum şu an dünyanın nasıl olduğu ve neden tahminlerini yansıtmadığı ile ilgili.
Robz

Bu nedenlerin hepsi başkaları tarafından listelenmiştir, size herhangi bir bakış açısının en azından dikkate alınması gereken sağlıklı bir tartışmanın parçası olarak alternatif bir görünüm veriyorum. Uzun yaşa ve arkadaşımla başarılı ol.
Darknight

Yaklaşık 3 fark, GNU İşletim Sisteminin artık özel olarak alakalı olmadığıdır. Hiç kimse GNU Hurd çekirdeğini kullanmaz ve tüm GNU kullanıcı alanı araçlarını Linux ya da OS X masaüstlerinden kaldırırsanız, çoğu kişi farketmez bile. Açık kaynaklı işletim sistemlerinin diğer başarılı dağıtımlarına bakarsanız (örneğin Linux tabanlı yönlendiriciler ve Android) bunların çoğu GNU bileşenlerine de bağlı değildir. Evet, çok popüler ve kullanışlı birçok GNU aracı var, ancak insanların kullandığı "işletim sisteminin" bir parçası olmaktan çok uzak.
ehabkost

0

2 için: CISIC komut seti büyük bir avantaja sahip: Sıkıştırılmış makine kodu gibi daha kompakt. Günümüzde CISC talimatlarını mikro-operasyonlara dönüştürmek çok ucuz ve RAM'e erişmek çok pahalı. Böylece CISC, L1 / L2 / L3 önbelleklerinde daha fazla kod yazma avantajına sahiptir


0

Zamanı - ve ondan önceki zamanı hatırlıyorum. Dunno mikrokernallerle ilgili

2) RISC fikrinin iki ayağı vardı: yazılım optimizasyonlarının donanımdan daha iyi yazılımda yapılabildiği ve RISC yongalarının ekonomik olarak CISC yongalarından daha hızlı yapılabileceği.

Her iki fikir de kısa vadede yanlış çıktı. Intel, talimatları rakip rakip RISC yongalarından daha hızlı bir şekilde fiyatlandıran CISC yongalarını rekabetçi bir fiyatla yapabilirdi ve yaptı. Intel, program optimizasyonunu donanımda, derleyicide veya yazılım çalışma zamanı süpervizöründe yapılabileceğinden daha iyi yapan CISC yongalarını yapabilir ve yaptı; bunun üzerine herhangi bir yazılım optimizasyonu RISC yongası.

3) Bilgisayar Bilimi, Programlama ve İşlemler, kariyerimde 4 kez tamamen yeniden icat edildi. Ana çerçeveden PC'ye. Komut satırından GUI'ye. GUI'den internete. İnternetten iPad'e. Devrim şu an normal görünüyor, ancak BUNU KABUL ETMİYORUZ. O zamanlar tüm eski programcılar gibi, 'tarihin sonunu' öngörüyordu.

Çok az sayıda insan beş yıl içinde bir GNU işletim sistemi kullanıyordu, çünkü sayım yeniden başladı.

Belki de hala oluyor. 5 yıl önce, Windows Sunucumuzun * nix sunucuları ile değiştirileceğini tahmin ederdiniz (Yazarken, SAMBA, bulmacanın eksik parçası olan bir AD Etki Alanı Sunucusu yayımladı). Çalıştığım yerde olmayacak: yerel sunucularımız olmayacak.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.