Чому Таненбаум помилявся в дебатах Таненбаум-Торвальдс?


233

Нещодавно мені присвоїли читання з дебатів Таненбаума-Торвальда в моєму класі ОС. У дебатах Таненбаум робить деякі прогнози:

  1. Мікрохвильовки - це майбутнє
  2. x86 вимерти, а архітектура RISC домінуватиме на ринку
  3. (Через 5 років) усі матимуть безкоштовну ОС GNU

Мені був рік, коли дебати відбувалися, тому мені не вистачає історичної інтуїції. Чому ці прогнози не вичерпалися? Мені здається, що з точки зору Таненбаума вони є досить обґрунтованими передбаченнями майбутнього. Що сталося так, що вони не збулися?


189
Прогнозуючи майбутнє, віддайте перевагу ентропії та удачі над інноваціями та ідеалами.
zzzzBov

18
Я написав трохи марафону відповіді тут , який покриває деякі землі на пункті 1. Насправді, це досить важко уникнути цієї дискусії під час обговорення відмінностей в архітектурі ядра. Найсолодша іронія - це насправді підпис, Linus "my first, and hopefully last flamefest" Torvaldsякий, очевидно, також не здійснився :)
Tim Post

13
Я залишаю це як коментар замість відповіді (я не думаю, що це достатньо "докладно", щоб відповісти): Tanenbaum не помилився, вважаючи, що Microkernel краще, що x86 повинен покинути арену і що GNU OS (яке б ядро ​​воно не працювало) було кращим рішенням. Він, можливо, був наївним, якщо він справді заявив, що він переконаний, що це відбудеться так швидко (або станеться взагалі), частково через соціальну інертність та монополії, а частково через те, що ефективні мікроядерні системи не так просто реалізувати в системах загального призначення . (так, так, удача )
njsg

15
Tanenbaum не зовсім помиляється: в нову епоху після комп'ютера iOS базується на Mach і ARM, Android - на L4 та ARM. Тільки GNU програв.
mouviciel

15
@mouviciel: а GNU втрачається лише на робочому столі. Сервери, мобільні та вбудовані - це практично всі монополії GNU.
gbjbaanb

Відповіді:


171

Мікрохвильовки - це майбутнє

Я думаю, що Лінус в своїх дебатах вдарив по питаннях щодо монолітних ядер. Безумовно, деякі уроки, отримані в результаті досліджень мікроядер, були застосовані до монолітних ядер. Microsoft іноді використовували для того, щоб стверджувати, що ядро Win32 було архітектурою мікроядер. Трохи розтягнутись, коли дивишся на якісь підручники з мікродокументів, але твердження мали певне технічне обґрунтування.

x86 вимерти, а архітектура RISC домінуватиме на ринку

Якщо ви створюєте резервні копії з настільних ПК та серверів, RISC будь-яким чином домінує на ринку процесорів. ARM (R означає RISC) продає x86 за кількістю процесорів, в роботі більше процесорів ARM, ніж процесорів x86, і більше загальної обчислювальної здатності ARM, ніж обчислювальної здатності x86. Цього року один постачальник ARM (так, Apple) може продати всіх постачальників x86 разом. Лише в просторі робочого столу та сервера домінує x86. Поки Windows є домінуючою платформою для настільних комп’ютерів та Linux для серверів, це, швидше за все, залишатиметься правдою деякий час.

До цього також є частина b . Інженери Intel зробили деяку дивовижну роботу, щоб витіснити життя зі свого набору інструкцій, навіть до того, щоб зробити ядро ​​RISC з перекладачем опкоду, який сидить зверху. Порівняйте з одним із домінуючих виробників настільних мікросхем RISC, IBM, який не зміг отримати енергоефективний та високоефективний G5 для ноутбуків Apple у розумні часові рамки.

(Через 5 років) усі матимуть безкоштовну ОС GNU

Я думаю, що різні постачальники ОС все ще пропонують переконливі пропозиції на своїх ОС. GNU навіть не обов'язково є найважливішим гравцем у спільноті з відкритим кодом, тому навіть більш широко розповсюджене програмне забезпечення з відкритим кодом не обов'язково переводиться на ОС GNU. Тим не менш, там є маса GNU (наприклад, всі Macs поставляються з Bash GNU . Мабуть, є деякі системні інструменти GNU на телефонах Android). Я думаю, що екосистема комп’ютера набагато різноманітніша, ніж передбачила Tanenbaum, навіть якщо ви обмежуєте свій погляд на настільних комп'ютерах.


8
У пункті 3 linux дуже широко розповсюджений, мабуть, найбільш використовувані ОС, Windows та VxWorks. Тож пункт 3 можна вважати істинним. Це робить 2 бали з 3 правильних, що досить добре, враховуючи, наскільки ІТ непередбачуваний.
deadalnix

11
@deadalnix - Я мав на увазі чітко згадати область застосування на 3, обмежуючись настільними комп'ютерами. Якщо ферма сервера google працює під управлінням Linux (чи не так це?), І кожне поле зараховується до числа Linux, а мій кабельний модем, що працює у відключеній версії лічильників Linux, і мій телефон Android, вважає, що Linux, мабуть, домінує. Але хоча я бачив приємні діаграми процесорів ARM vs x86, що продаються / використовуються з часом, я не бачив жодного для ОС, особливо коли ви змішуєте вбудовані пристрої.
ccoakley

6
Що стосується другої частини, різні модернізації x86 насправді виходять на кілька кроків за межі RISC і роблять захоплюючі речі з "мікроопераціями" внутрішньо, які надають ще кращу гнучкість у плануванні за допомогою впорядкування інструкцій на ходу, що приносить підвищення продуктивності, що далеко крім того, про що можуть навіть мріяти прихильники RISC. Процесори RISC можуть отримати це теж, але на даний момент ви не порівнюєте RISC з CISC, ви порівнюєте різні вбудовані стратегії JIT з досить абстрактними фронтами ISA.
пухнастий

5
@KonradRudolph відтворює цитати на загальний обсяг продажів через Google: 3 мільярди ARM-чіпів, що поставляються у 2009 році ( vanshardware.com/2010/08/mirror-the-coming-war-arm-versus-x86 ), а приблизно 400 мільйонів x86 чіпів продано в 2011 році (Тут повідомляється 4 рази на квартальну кількість: computerworlduk.com/news/it-business/3345299/… ). Ринок, що вбудовується, величезний і багато в чому не Intel.
ccoakley

5
Я не думаю, що пункт 3 є істинним у тому сенсі, який мав на увазі Таненбаум. У той час навколо GNU HURD було багато оптимізму. Заявлення Linux (у будь-якому варіанті) на виграш ОС GNU просто не є історично справедливим. Простір користувачів? Звичайно. Але в певному сенсі Linux ядро виграло, незважаючи на GNU.
регулярнофрит

60

Експерти з програмного забезпечення ігнорували економіку обладнання

... або "Мур мав рацію, і вони обидва помилялися"

Найбільше, що було помічено у цій дискусії, - це вплив технології та економіки виготовлення процесора, зумовлений зменшенням розмірів транзисторів, як це виражено в законі Мура (не дивно, ніби вони багато знали про апаратне забезпечення процесора; ці хлопці вивчали і обговорювали програмне забезпечення, а не Виробництво процесора або економіка). Фіксовані виробничі витрати, які амортизуються протягом процесора (наприклад, дизайн ISA, дизайн процесора та виробничі потужності процесора), швидко зростали, тим самим збільшуючи значення економії на масштабі; при зменшенні витрат на центральний процесор (в плані "баг за долар" і "баг за ват") скорочення витрат на центральний процесор не потрібно амортизувати через такий широкий вибір функцій для забезпечення вартості, тому обчислення в продуктах з фіксованою функцією вибухнула; Бюджети процесорних транзисторів зросли експоненціально,

1. Процесорна шкала перемагає над різноманітністю процесора

Важливість економії на масштабі зробила переваги ISA / CPU, орієнтованих на більший (тому ширший) ринок, переважає потенційні вигоди від дизайнерських виборів, які звужують ринок ISA / CPU. ОС може вирішувати більші та більші частини ринку за підтримуваною ISA / CPU, тому для перенесення вправ є мало потреби (або навіть немає потреби), щоб екосистема ОС процвітала. Проблемні домени Цілі ISA та процесора, як правило, настільки широкі, що вони в основному перекриваються, тому для будь-якого програмного забезпечення, що перебуває поза компілятором, зменшився і розмір вправ для перенесення. Можливо, і Торвальдс, і Таненбаумпереоцінив частину дизайну та впровадження ядра, яка тепер має бути специфічною для ISA або навіть процесора. Як описав Tanenbaum, сучасні ядра ОС абстрагують відмінність між процесорами та ISA. Однак специфічний код CPU / ISA в сучасних ОС набагато менший, ніж мікроядер. Замість того, щоб реалізувати обробку / планування переривань, управління пам’яттю, зв’язок та введення-виведення, ці не портативні біти стосуються лише невеликої частини реалізації цих служб, при цьому переважна більшість архітектури навіть цих основних функцій ОС є портативними.

2. Open Source виграв битву, але програв війну

Більший удар за долар означає, що більша частка обчислень виконується продуктами з фіксованою функцією, де можливість модифікувати продукт не є частиною цінової пропозиції для замовника. Зараз іронічно, у цих пристроях з фіксованою функцією процвітає відкритий код, але найчастіше переваги цих свобод реалізуються більше тими, хто виготовляє продукцію, а не кінцевими споживачами (що насправді стосувалося ринку програмного забезпечення ще тоді: Microsoft був великим споживачем програмного забезпечення з відкритим кодом, але їх клієнтів не було). Аналогічно, можна стверджувати, що відкритий вихідний код боровся більше в просторі робочого столу загального призначення, ніж деінде, але в міру того, як Інтернет та хмарні обчислення зростали, обчислення настільних комп’ютерів все частіше використовуються для вузьких цілей (в першу чергу запуск браузера), а інші функції функціонують у хмарі (як не дивно, насамперед на платформах з відкритим кодом). Якщо коротко: відкритий код дійсно володіє обчислювальним простором загального призначення, але ринок став більш досконалим; обчислення упаковки продуктів рідше зупиняється на функції загального призначення, але продовжується разом із продуктом, призначеним для фіксованих функцій, коли значна частина переваг обчислень з відкритим кодом суперечить цілям продукту.

3. 2 n Зростання засобів Фіксований k заощадження не є важливими

Експонентне зростання транзисторних бюджетів дозволило зрозуміти, що транзисторна бюджетна вартість архітектури CISC майже повністю зафіксована. Стратегічна перевага RISC полягала в тому, що він перемістив складність із набору інструкцій процесора та перейшов до компілятора (без сумніву, частково мотивованого тим, що автори-компілятори виграли набагато менше від складних ISA, ніж кодування людськими розробниками в зборах, але компілятори могли набагато легше пояснити математично про, а тому і експлуатувати, простіший ISA); отримана транзисторна економія може бути застосована для покращення продуктивності процесора. Застереження полягало в тому, що економія бюджету на транзисторі від більш простої ISA в основному була фіксованою (і витрати в дизайні компілятора в основному також були виправлені). Хоча цей фіксований вплив був величезною частиною бюджету ще в той день, як можна собі уявити, потрібно лише кілька раундів експоненціального зростання, щоб вплив став тривіальним. Це швидко зменшується вплив у поєднанні з вищезгаданою швидко зростаючою важливістю монокультури процесора означало дуже маленьке вікно можливостей для створення будь-якого нового ISA. Навіть там, де нові ISA досягли успіху, сучасні ISA "RISC" не є ортогональними ISA, описаними стратегією RISC, оскільки постійне зростання бюджетів транзисторів і більш широка застосованість обробки SIMD, зокрема, спонукають до прийняття нових інструкцій, налаштованих на конкретні функції. Це швидко зменшується вплив у поєднанні з вищезгаданою швидко зростаючою важливістю монокультури процесора означало дуже маленьке вікно можливостей для створення будь-якого нового ISA. Навіть там, де нові ISA досягли успіху, сучасні ISA "RISC" не є ортогональними ISA, описаними стратегією RISC, оскільки постійне зростання бюджетів транзисторів і більш широка застосованість обробки SIMD, зокрема, спонукають до прийняття нових інструкцій, налаштованих на конкретні функції. Це швидко зменшується вплив у поєднанні з вищезгаданою швидко зростаючою важливістю монокультури процесора означало дуже маленьке вікно можливостей для створення будь-якого нового ISA. Навіть там, де нові ISA досягли успіху, сучасні ISA "RISC" не є ортогональними ISA, описаними стратегією RISC, оскільки постійне зростання бюджетів транзисторів і більш широка застосованість обробки SIMD, зокрема, спонукають до прийняття нових інструкцій, налаштованих на конкретні функції.

4. Просте: розділення турбот. Комплекс: Поділ адресного простору.

Сучасне ядро ​​Linux (нарівні з більшістю інших ядер) відповідає досить слабкому визначенню макрокереля, а не швидкому, ніж вузькому визначенню мікроядра. Зважаючи на це, завдяки архітектурі драйверів, динамічно завантаженим модулям та багатопроцесорним оптимізаціям, завдяки яким комунікація з простору ядра все більше нагадує проходження повідомлення мікропроводу, його структура більше нагадує дизайн мікроядра (як втілено Minix), ніж дизайн макрокенера (як втілено дизайном Linux на час обговорення). Як і мікроелектронний дизайн, ядро ​​Linux забезпечує узагальнену комунікацію, планування, обробку переривань та управління пам'яттю для всіх інших компонентів ОС; її компоненти, як правило, мають чітку структуру коду та даних. Хоча модулі динамічно завантажуються, нещільно з'єднані фрагменти портативного коду, які спілкуються через фіксований інтерфейс, не використовують одне залишене властивість мікроядер: вони не є процесами простору користувача. Зрештою, Закон Мура забезпечив, що проблеми, мотивовані апаратними питаннями, такими як портативність (стурбованість Таненбаума) та продуктивність (турбота Торвальда), зменшилися, але питання розробки програмного забезпечення набули першорядного значення. Інші нереалізовані переваги, які може забезпечити поділ адресних просторів, переважують додатковий багаж, накладений на програмне забезпечення ОС через обмеження дизайну та підвищену складність інтерфейсів компонентів. s Закон гарантував, що проблеми, мотивовані апаратними проблемами, такими як портативність (стурбованість Tanenbaum) та продуктивність (стурбованість Торвальда), зменшилися, але проблеми розробки програмного забезпечення набули першорядного значення. Інші нереалізовані переваги, які може забезпечити поділ адресних просторів, переважують додатковий багаж, накладений на програмне забезпечення ОС через обмеження дизайну та підвищену складність інтерфейсів компонентів. s Закон гарантував, що проблеми, мотивовані апаратними проблемами, такими як портативність (стурбованість Tanenbaum) та продуктивність (стурбованість Торвальда), зменшилися, але проблеми розробки програмного забезпечення набули першорядного значення. Інші нереалізовані переваги, які може забезпечити поділ адресних просторів, переважують додатковий багаж, накладений на програмне забезпечення ОС через обмеження дизайну та підвищену складність інтерфейсів компонентів.

Цікаво те , що вже було сильної тенденцією є поява гипервизора, який так само, як мікроядер, абстрагується з апаратних засобів. Деякі стверджують, що гіпервізори - це мікроядра. Хоча архітектура гіпервізора відрізняється, оскільки обов'язки мікроелементів покладаються на "гостьові" ядра, розташовані на вершині, з мультиплексами гіпервізорів між ними, а абстракція гіпервізора не є загальним простором обміну повідомленнями та пам'яттю, а переважно фактичною апаратною емуляцією.

На закінчення: майбутнє надає перевагу тим, хто приймає найменшу сувору семантику

* .. або "азотники смокчуть передбачення майбутнього"

На практиці багато правильності / неправильності в дискусіях є питанням семантики (і це було частиною того, що Торвальдс сперечався, а ІМХО Таненбаум не зміг повністю оцінити). Важко дати точні визначення щодо майбутнього, оскільки поза аргументом існує стільки факторів, які можуть зіграти; слабша семантика означає, що ваші прогнози є більшою ціллю на дартсі, ніж інші хлопці, що дає вам кращі шанси. Якщо ігнорувати семантику, аргументи, висунуті як Торвальдсом, так і Таненбаумом, були правильні щодо багатьох речей, а неправильні - дуже мало.

тл; д-р

Більшість ISA не відповідають семантичному визначенню RISC, але використовують більшість конструктивних переваг, які були характерними для процесорів RISC в той час; обсяг ОС, що відповідає процесору, менший, ніж очікував Таненбаум, не кажучи вже про Торвальда; відкритий джерело домінує в обчисленні загального призначення, але споживачі цього ринку зараз передусім ті, хто пакує обчислення в більш фіксовану функціональну продукцію, де значна частина переваг програмного забезпечення з відкритим кодом не реалізується; відокремлення функції ОС на адресні простори не виявилось корисним, але розділення функції ОС на "віртуальне" обладнання має. Якщо ви хочете стверджувати, що ваші прогнози виявилися правильними, залиште собі якомога більше семантичної маневреної кімнати, як і містер Торвальдс.

PS Остаточне іронічне спостереження: Лінус Торвальдс є одним із найсильніших прихильників збереження якомога більше нових функціональних можливостей у просторі користувачів та поза ядром Linux.


42
  • Мікрохвильовки - це майбутнє

Він помилився, схоже, все перетворюється на використання гібридних ядер. Формально Linux все ще є монолітним, але додавання таких матеріалів, як FUSE тощо, також робить його гібридним.

  • x86 вимерти, а архітектура RISC домінуватиме на ринку

Гаразд, x86 не вимер. Але чи не домінує RISC на ринку? Мільярди смартфонів, що використовують ARM, всі ігрові консолі, що використовують процесори RISC, більшість мережевих апаратних засобів, що використовують процесори MIPS.

Крім того, до початку 2000-х років RISC та CISC настільки зблизилися, що не було чітко виражених відмінностей у внутрішньому дизайні. Сучасні процесори x86 в основному є внутрішньо RISC з інтерфейсом CISC.

  • (Через 5 років) усі матимуть безкоштовну ОС GNU

Якщо під ОС GNU він мав на увазі GNU Hurd, то справді абсолютно невдалий прогноз. Люди, які масово використовують, - це Android. Android є Linux, однак це не GNU, оскільки він не використовує GNU libc. Натомість він використовує власний Bionic від Google . А частка ринку стандартного настільного Linux все ще нижче 2%. Але він справді мав на увазі споживчі ПК? На серверному ринку Linux абсолютно домінує з 70-90% акцій залежно від сегменту.


5
"На серверному ринку Linux абсолютно домінує з 70-90% акцій залежно від сегменту." Де доказ цього?
Quant_dev

4
Число вартеків, ймовірно, перебільшено Я залишу це тут en.wikipedia.org/wiki/OS_market_share#Servers
Federico klez Culloca

4
@quant_dev: 92% веб-серверів Top500, 60-70% веб-серверів, вся інфраструктура Google, вся інфраструктура FB, вся інфраструктура Amazon ... тощо
vartec

1
Чи можете ви надати посилання для резервного копіювання заяв?
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. Не впевнений.

  2. Напівправий. Сьогоднішні мікросхеми "x86" - це RISC під кришкою, в основному "інтерфейс CISC". x86 не вимер, тому що Intel мав достатню частку ринку та достатній дохід, щоб здійснити цей перехід та отримати його право до того, як інші рішення RISC захопили від них значну частку ринку.

  3. Дві основні причини: сумісність та зручність використання.

    Знову ж таки, в існуючих системах (Windows і, в меншій мірі, Mac OS) є дуже велика встановлена ​​база. Це означає, що багато користувачів використовують безліч програм. Безкоштовні ОС GNU не можуть дублювати це. Проект WINE зробив багато роботи в цьому напрямку, але він все ще не замінює фактичну систему Windows, а розробники WINE навіть не намагаються стверджувати, що це є. Люди не хочуть використовувати ОС, яка не запускає їх улюблені програми, незалежно від того, наскільки це теоретично дивовижно. (І без встановленої бази користувачів ніхто не хоче розвиватися для системи. Це проблема з курячими яйцями.)

    І тоді ми переходимо до зручності використання. Моя мама має систему Windows. Вона може використовувати це просто чудово для своїх цілей. Все, що їй потрібно для роботи зі своїм комп’ютером, можна отримати з інтерфейсу Windows, і якби я сказав слова "командний рядок", вона навіть не знала, про що я говорю. Наскільки я знаю, це все ще неможливо зробити в будь-якій безкоштовній ОС GNU. Насправді, з Linux так важко працювати, що навіть найбільші напівбоги в громаді іноді мають серйозні проблеми з простими завданнями. І ніби вони ніколи не «отримують це» і працюють над тим, щоб виправити проблеми, через що вони ніколи не здобувають частку ринку. (Зв'язана стаття повинна бути прочитана для всіх, хто намагається створити будь-яку програму масового ринку!)


16
-1 для публікації в блозі від 8 років тому, що вже не актуально.
vartec

16
@Vartec: Більше не актуально? Ви серйозно заявляєте, що сьогодні користувач може забрати Linux і почати виконувати повний репертуар загальних завдань кінцевого користувача, навіть не підозрюючи про те, що командний рядок навіть існує, як це можливо в Windows або OSX?
Мейсон Уілер

17
@Mason: коли ви востаннє бачили, наприклад, Ubuntu? Простіше виконувати загальні завдання кінцевого користувача на Ubuntu без знання консолі, ніж на OSX (пекло, для OSX, щоб зробити приховані файли видимими, потрібен доктор наук з неврології). В Ubuntu речі просто працюють. У Windows вам доведеться встановлювати драйвери чи що завгодно. В OSX речі просто не працюють. До речі. Ваша мама використовує RegEdit :-P
vartec

8
@MasonWheeler: Звичайно. Будь людина може підібрати Ubuntu і використовувати його НЕ в командному рядку речі взагалі . У мого сусіда по кімнаті - звичайно, не надто грамотно - не було проблем із переходом від Windows до Ubuntu. Інші люди, яких я знаю, що користуються Ubuntu - різні за досвідом, але всі, не спеціалісти, - також не мали жодних проблем. У мого старого сусіда в минулому році було більше проблем з його Mac, ніж у мого поточного сусіда по кімнаті з Ubuntu, на схожих рівнях роботи з комп'ютером. (Навіть друк з усіх речей був набагато простішим на Linux, ніж на Mac!) Тож вся справа в командному рядку Linux - це груба помилка.
Тихон Єлвіс

18
@MasonWheeler: Ви серйозно заявляєте, що користувач сьогодні може забрати Windows та налаштувати мережевий принтер?
Крістофер Хаммарстрем

14

Я думаю, що є кілька причин, які є досить серйозними, але їх не згадували.

Перший - досить сліпе припущення Таненбаума, що технічна перевага призведе до домінування на ринку. Люди роками сперечаються про те, чи є мікроядерні (нанокернелі, пікокери тощо) технічно вищими, але наразі припустимо, що вони є. Нам залишається питання, чи може ця технічна перевага перетворитись на домінування на ринку. Я буду вважати, що це не так. Для більшості людей Windows, Mac OS тощо, досить хороші. Гірше, що вдосконалення, які мали б суттєве значення для більшості користувачів, були б у користувальницькому інтерфейсі, а не в ядрі.

Друга - різко завищена швидкість зміни на (розумно) зрілому ринку. Досить легко змінити речі поспіхом, коли у вас новий ринок. Щоб фактично всі змінилися за п’ять років, міграція повинна була б відбуватися на повній швидкості, навіть як він це передбачав.

Я також зазначив би інший спосіб, в якому він мав рацію, що я не бачив згадки. Люди вже відзначали всюдисутність RISC (наприклад, у мобільних телефонах). Те, що вони не згадували, - це всюдисутність того, що я б назвав "microkernel 2.0". Зараз це частіше відоме як "віртуальна машина" або "гіпервізор". Хоча вони насправді є дуже великими мікроядрами.

Велика відмінність полягає в тому, що Tanenbaum мислив з точки зору мікроядра та емуляції ОС в режимі користувача, розроблені спеціально один для одного. Натомість ми зберегли операційну систему, по суті, незмінною та адаптували мікроядро, щоб воно було таким, яким воно є. Це технічно не так приємно, але з точки зору ринку, це суттєво перевершує - замість цілої нової системи зверху вниз, користувач може продовжувати використовувати більшу частину наявного коду таким, який є, і просто додати новий класний "утиліта", яка справді є операцією з мікроядерною обробкою.


8

Однією з великих причин були Windows, особливо Windows 3.1 та трохи пізніше, Windows 95 та NT 3.51. Споживачі особливо любили інтерфейси GUI на відміну від старих текстових систем Unix та DOS. Це означало, що більш середні люди купуватимуть комп’ютери для домашнього використання. Також вибух Інтернету в середині 90-х збільшив продажі.

Ціни на ПК також знижувались протягом 90-х, поки вони не дійшли до того, де вони є сьогодні. Це було зумовлено економією від масштабу, що викликається збільшенням споживчого та бізнес-попиту. Наприклад, усі п’ять моїх сучасних комп'ютерів коштують менше, ніж один робочий стіл 486, який я придбав у 1992 році.

Тепер він може бути правильним, але в несподіваному напрямку. Зростання мобільних пристроїв, смартфонів та планшетів частково призвело до спрощених операційних систем і, можливо, зменшило популярність x86. Однак вони виходять далеко за рамки того, що було передбачено в 1992 році.


7

Зрештою, все зводиться до того, що речі насправді не люблять змінюватися.

Ми не перейшли на краще архітектурний мікроядер, тому що монолітні було легше створити, бігали швидше, і всі знали, як їх побудувати. Крім того, оскільки Linux був розроблений як монолітне ядро ​​і став популярним, не було мікроядер, які б досягли достатнього успіху для зльоту. (це схоже на ту ж причину, що ми всі запускаємо Windows, ми запускаємо Windows, тому що всі працюють під керуванням Windows)

RISC, інші зазначають, що x86 - це в значній мірі архітектура RISC в даний час, з обгорткою CISC зверху для зворотної сумісності.

Дуже багато людей запускають безкоштовну ОС GNU - на сервері. Мережа в значній мірі керується ним. Ніхто не помічає, оскільки всі клієнти - це Windows. Ще в ті часи у вас був вибір: Linux, який все ще був хобі ОС; аромат Unix, але ви не могли дозволити собі його придбати; або дешеві n веселі Windows. Linux замінив Unix занадто багато часу, і все ще не вистачає переконливого рішення для роботи на робочому столі (почасти через ідеологічні проблеми з різними системами Window, бінарні графічні драйвери та відсутність стабільного ABI). Однак це досить добре на інших ринках, що не входять у робочий стіл, як вбудований та мобільний.


6

Все вірно, якщо ви не вважаєте, що комп'ютер - це щось на вашому робочому столі.

  1. Щоправда - мікропровідники ніколи не працювали, оскільки їх ніколи не було достатньо мікро. Якщо весь ваш знятий вбудований Linux менший, ніж специфічний для біта x86 ядра MACH, питання про мікроядра?

  2. RISC домінує на ринку. Щорічно продається більше ARM-процесорів, ніж X86. Ви, ймовірно, ніколи не перевищуєте 6 футів від процесора ARM.

  3. Майже всі працюють під управлінням linux, це у своєму маршрутизаторі, телевізійній коробці, Tivo та телефоні Android - вони просто не знають, що у них ОС


4
"мікроядра ніколи не працювали, тому що їх ніколи не було достатньо мікро"> Як я розумію, слово "мікро" не обов'язково стосується байтів або рядків коду. Ідея полягає у просуванні функціональних можливостей у користувальницький простір, роблячи послуги, які надає саме ядро, бути мінімальними. Наприклад, система з мікроядром матиме процес користувача, призначений для обробки файлової системи. Тож існування зведеної версії linux, що має менші розміри, ніж minix, насправді не має значення.
Робз

1
@Robz Розмір є доречним - сенс мікроядра полягає у забезпеченні переносимості та включенні певних крайових випадків (наприклад, запуск двох середовищ ОС на одній машині одночасно без віртуалізації). Якщо мікрокерел більший, ніж гібрид / моноліт, що обмежує платформи, на яких він може бути розгорнутий, І він прагне знищити аргумент про те, що легше досягти портативності, записавши невеликий компонент, якщо він насправді не менший за альтернативу.
Марцін

4

1) Він помилявся на мікроядрах. Наскільки я розумію, що необхідність швидкості вимагає перешкоджання розділенню проблем, що застосовуються в мікроядрах, принаймні в ядрі Linux.

2) Переважаючою архітектурою планшетів та мобільних телефонів є ARM, що є набором інструкцій RISC. Навіть Windows перенесено.

3) Усі не запускають безкоштовну ОС GNU. Це пов'язано насамперед із патентами та зворотною сумісністю. Ті, хто не хоче Windows, часто вибирають OS X.


1) швидкість мала значення ще тоді! Я не впевнений, що це має значення так сьогодні.
gbjbaanb

Залежить від місця вашого місця.

Коли ваша єдина вимога - "бути швидше, ніж інший хлопець", з часом це не стає простішим. На мій погляд, був дуже короткий проміжок часу, коли HURD міг наздогнати Linux як життєздатний варіант, і вони переграли його, витрачаючи час на порт від L4 до Mach.
регулярнофрит

2

1. Пошкоджені мікроядра

З причин, за якими заявив Лінус Торвальдс, що на папері це виглядає теоретично привабливо, але в реалізації на сучасних системах - дуже складних системах - складність стає експоненціально некерованою. Тематичний приклад - GNU Hurd, повністю мікроядерна система, яка не змогла досягти навіть основних функцій. Mac OS X схожа на Hurd за своєю структурою, і це найменш стабільна і найбільш обмежена ОС там.

2. Архітектура процесора

Це стало різноманітним для різних випадків використання. В одній архітектурі процесора не домінувало, оскільки вбудовані, мобільні, настільні, серверні та інші подібні випадки використання різні та вимагають різних підходів. Танненбаум не побачив цієї диверсифікації.

3. GNU vs World?

GNU не домінував, але Linux робив на сервері, вбудованому та мобільному. Планшети та телефони Apple запускають iOS, який є просто простим старим Unix. Точну статистику складно отримати для розгортань Linux на робочому столі, оскільки не існує реального основного механізму - продажу одиниць - який, безумовно, може дати точне значення. Більшість розгортань Linux на робочому столі іноді записуються як розгортання Windows, оскільки користувачі купують систему Windows, а потім записують її за допомогою Linux. Однак, якщо ви сегментуєте ОС, то Linux має приблизно 5-6% на робочому столі відповідно до http://www.w3schools.com/browsers/browsers_os.asp, і це дорівнює кількості користувачів Windows Vista у всьому світі, що дуже важливо .

Виходячи з моїх власних оцінок з різних джерел, здається, що Linux на робочому столі може насправді дорівнювати кількості користувачів Windows XP - приблизно 25% - якщо рахувати незахідні країни, такі як Китай та Індія, де Linux популярніший, ніж у США чи ЄС, але їх не можна вважати західними статистичними даними, оскільки вони підраховують лише трафік на англомовні веб-сайти, спрямовані на західників.

В Індії більшість студентів коледжів використовують Ubuntu або Fedora, оскільки це стандартна ОС індійських освітніх систем і в знаменитих IIT. Більшість індійських державних офісів також використовують Linux. У Китаї Red Flag Linux є офіційною ОС китайських урядових і шкільних систем - Академій мистецтв і наук - і рекомендована державними засобами масової інформації ОС у Китаї як намагання зупинити молодих збіднілих китайців від використання піратських копій Windows. Якщо ви порахували використання Linux в Індії та Китаї, це шокує більшість західних експертів з технологій і докорінно змінить уявлення про справжнє домінування робочого столу Linux у країнах, що не розвиваються із Заходу, де він домінує.


1
Реальність полягає в тому, що Windows справді забивається на передній частині ОС для робочого столу та сервера. Якщо ви думаєте, що лише 45% приблизно користувачів використовують Windows 7, це означає, що впровадження нових ОС Windows протягом кожного циклу оновлення Windows зменшується трохи на 10-15%, і користувачі або залишаються зі старою версією, або переходять на Mac або Linux. Для серверів ситуація ще гірша, оскільки з кожним оновленням сервера Windows 20-30% користувачів негайно переходять на серверні кластери Linux ...
AG Restringere

1
Чудова стаття про вищезазначене ... focus.com/fyi/50-places-linux-running-you-might-not-expect
AG Restringere

1

Виробництво стало дешевшим, x86 наблизився до ціни RISC, що використовувати його вже неможливо. Також був невеликий замок для постачальників.


Я не думаю, що драйвер для RISC коли-небудь був ціною, більше того, що архітектури RISC були краще розроблені, ніж x86. На жаль, MIPS та SPARC ніколи не розширювались, і у DEC не вистачало грошей, перш ніж Альфа отримала достатню частку ринку, щоб мати значення. Intel зуміла досягти більшої продуктивності з x86, тому насправді не було переконливої ​​причини для змін (для більшості людей). Тепер, коли продуктивність вимірюється у ватах, ніж МГц, x86 починає своє повільне ковзання на неактуальне значення.
TMN

Так, я знаю, я просто говорив про те, чому RISC піднявся набагато швидше, ніж RISC на початку. Звичайно, в ці дні це сильно змінилося.
Лукас Кауффман

1
  1. Мікропровідники замінюють виклики методів міжпроцесорними повідомленнями, що додає складності розробки для деяких гіпотетичних переваг. Як виявляється, здебільшого ви можете отримати приблизно однакові переваги від хорошої компонентності, навіть якщо все живе за один великий процес.
  2. Питання вже не актуальне. Архітектури CISC більше не існує, усі сучасні процесори є RISC в їх серці, але це не вбило набір інструкцій x86. Процесори x86 ще з епохи Pentium-Pro (17 років тому) використовують переклад оп-коду, щоб по суті RISC-ядро виглядало як зовнішній процесор x86 зовні.
  3. Класичне гірше - краще . Ітерація, прагматизм, мережеві та екосистемні ефекти щоразу перемагають чистоту.

1

Microkernel - це майбутнє x86 вимирає, а архітектури RISC домінуватимуть на ринку (через 5 років) усі будуть мати безкоштовну ОС GNU

Це залежить від того, як ви бачите та визначаєте майбутнє, в традиційному розумінні його передбачення провалилися.

Однак час ще не закінчився (осторонь ще однієї більш глибокої дискусії) .

Таким чином, все ще може змінитися:

  1. Мікрохвильові канали чи якийсь варіант можуть повернутись

  2. RISC / ARM цілком може домінувати -> планшети / мобільні телефони

  3. Через 10 чи 15 років. Хто знає, відкритий код повільно змінює світ ..


1
Звичайно, в майбутньому все може змінитися. Моє запитання - про те, яким є світ зараз, і чому він ще не відобразив його передбачень.
Робз

Ці причини готові перераховані іншими, я даю вам альтернативну точку зору, оскільки в рамках будь-якої здорової дискусії всі точки зору повинні бути принаймні враховані. Живіть довго і процвітайте, мій друг.
Темна ніч

Близько 3, різниця полягає в тому, що Операційна система GNU вже не є актуальною. Ніхто не використовує ядро ​​GNU Hurd, і якщо ви видалите всі інструменти простору користувачів GNU з настільних ПК Linux та OS X, більшість людей навіть не помітить. Якщо ви подивитесь на інші успішні розгортання ОС з відкритим кодом (наприклад, маршрутизатори на базі Linux та Android), більшість з них також не залежать від компонентів GNU. Є багато інструментів GNU, які дуже популярні та корисні, так, але вони далеко не є частиною «операційної системи», яку використовують люди.
ehabkost

0

Для 2: Набір інструкцій CISIC має велику перевагу: він більш компактний, як стислий машинний код. На сьогоднішній день дуже дешево декодувати інструкції CISC в мікрооперації та отримати доступ до оперативної пам'яті дуже дорого. Таким чином, CISC має перевагу в тому, щоб просувати більше коду в кешах L1 / L2 / L3


0

Я пам’ятаю час - і час, який йому передував. Давно про мікрокернали, але

2) Ідея RISC мала дві ноги: оптимізація програмного забезпечення може бути зроблена в програмному забезпеченні краще, ніж у апаратному забезпеченні, і чіпи RISC можна зробити економічно швидшими, ніж чіпи CISC.

Обидві ідеї виявилися помилковими в короткий термін. Intel могла і зробила чіпи CISC, які виконували інструкції швидше, ніж конкуруючі чіпи RISC, за конкурентною ціною. Intel могла та зробила мікросхеми CISC, які оптимізували програму краще в апаратному забезпеченні, ніж це можна зробити в компіляторі чи в супроводі виконання програмного забезпечення - і будь-яка оптимізація програмного забезпечення може бути додана до цього, як і в Чіп RISC.

3) Комп'ютерні науки, програмування та операції були повністю переосмислені 4 рази в моїй кар'єрі. Від основного кадру до ПК. З командного рядка до GUI. Від GUI до Інтернету. Від Інтернету до iPad. Революція здається нормальною зараз, але ми НЕ ПРИЧИТАЄМО ЦЕ. Як і всі старі програмісти того часу, він передрікав "кінець історії".

Дуже мало людей працювало в ОС GNU за п’ять років, тому що підрахунок перезапустився.

Можливо, це все ще відбувається. 5 років тому ви могли б передбачити, що наш сервер Windows буде замінений * nix-серверами (Як я вже писав, SAMBA випустив сервер домену AD, який був відсутнім фрагментом головоломки). Це не відбудеться там, де я працюю: у нас не буде локальних серверів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.