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


233

Мне недавно дали задание читать из дебатов о Таненбауме-Торвальдсе в моем классе ОС. В дебатах Таненбаум делает некоторые прогнозы:

  1. Микроядра - это будущее
  2. x86 вымрет, а RISC-архитектуры будут доминировать на рынке
  3. (Через 5 лет) все будут использовать бесплатную ОС GNU

Мне было год, когда проходили дебаты, поэтому мне не хватает исторической интуиции. Почему эти прогнозы не оправдались? Мне кажется, что с точки зрения Таненбаума, это довольно разумные прогнозы на будущее. Что случилось, чтобы они не осуществились?


189
Предсказывая будущее, отдавайте предпочтение энтропии и удаче, а не инновациям и идеалам.
zzzzBov

18
Я написал немного марафона ответа здесь , который покрывает некоторые земли на пункте 1. На самом деле, это довольно трудно избежать этой дискуссии при обсуждении различий в архитектуре ядра. Самая сладкая ирония на самом деле - подпись, Linus "my first, and hopefully last flamefest" Torvaldsкоторая, очевидно, тоже не сбылась :)
Тим Пост

13
Я оставляю это как комментарий, а не как ответ (я не думаю, что это «достаточно сложно», чтобы быть ответом): Таненбаум не ошибся, полагая, что микроядра лучше, что x86 должен покинуть арену и что GNU OS (на каком бы ядре оно ни работало) было лучшим решением. Может быть, он был наивен, если он действительно твердо верил, что это произойдет так быстро (или произойдет вообще), отчасти из-за социальной инерции и монополий, а отчасти из-за того, что эффективные микроядра не так просто реализовать в системах общего назначения. , (так что да, удачи )
njsg

15
Таненбаум не ошибается: в новую эпоху после ПК 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 даже не обязательно является самым важным игроком в сообществе Open Source, поэтому даже более широкое распространение программного обеспечения с открытым исходным кодом не обязательно переводит в ОС GNU. Тем не менее, существует множество вещей, связанных с GNU (например, все Mac поставляются с GNU Bash . Возможно, на Android-телефонах есть некоторые системные инструменты GNU). Я думаю, что компьютерная экосистема намного разнообразнее, чем предвидела Таненбаум, даже если вы ограничиваете свой взгляд настольными компьютерами.


8
Что касается пункта 3, Linux очень широко распространен, вероятно, наиболее часто используемые ОС, Windows и VxWorks следуют. Так что пункт 3 можно считать верным. Это делает 2 очка из 3 правильных, что очень хорошо, учитывая непредсказуемость ИТ.
Deadalnix

11
@deadalnix - я хотел сделать явное упоминание о области действия 3, ограничиваясь настольными компьютерами. Если на ферме серверов Google работает Linux (не так ли?), И каждое поле учитывает количество Linux, а мой кабельный модем использует сокращенную версию Linux и мой телефон Android, то Linux, вероятно, доминирует. Но хотя я видел хорошие графики ARM против процессоров x86, проданных / используемых со временем, я не видел ни одной диаграммы для ОС, особенно когда вы смешиваете встроенные устройства.
Ccoakley

6
Что касается второй части, то различные модернизации x86 фактически выходят за рамки RISC и делают несколько увлекательных вещей с внутренними «микрооперациями», которые обеспечивают еще большую гибкость планирования благодаря переупорядочению команд на лету, что приводит к значительному повышению производительности. за пределами того, что приверженцы RISC могут даже мечтать. Процессоры RISC тоже могут это получить, но на данный момент вы не сравниваете RISC с CISC, вы сравниваете различные аппаратные стратегии JIT с довольно абстрактными интерфейсами ISA.
пушистый

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

5
Я не думаю, что пункт 3 верен в том смысле, который имел в виду Таненбаум. В то время вокруг GNU HURD было много оптимизма. Утверждение Linux (в любом варианте) как победа ОС GNU просто не является исторически обоснованным. В пространстве пользователя? Конечно. Но в некотором смысле Linux ядро выиграл, несмотря на GNU.
регулярный Фрай

60

Программные эксперты проигнорировали экономику аппаратного обеспечения

... или "Мур был прав, и они оба были неправы"

Самая большая вещь, которая была упущена в ходе этой дискуссии, это влияние технологий и экономики производства процессоров, обусловленное уменьшением размеров транзисторов, как это выражено в законе Мура (неудивительно, что они много знали об аппаратном обеспечении процессора, эти ребята изучали и обсуждали программное обеспечение, а не Производство процессора или экономика). Постоянные производственные затраты, амортизируемые по процессорам (например, проектирование ISA, проектирование процессоров и производство процессоров), быстро росли, что увеличивало экономию за счет масштаба; с учетом удельной стоимости ЦП (с точки зрения «отдачи за доллар» и «отдачи за ватт») стоимость ЦП не должна амортизироваться по такому широкому выбору функций для обеспечения ценности, поэтому вычисления в продуктах с фиксированной функцией взорвался; Бюджет транзисторов процессора вырос в геометрической прогрессии,

1. Масштаб CPU выигрывает у процессора

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

2. Открытый исходный код выиграл битву, но проиграл войну

Больше отдачи означает, что большую долю вычислений выполняют продукты с фиксированными функциями, где возможность модифицировать продукт не является частью ценностного предложения для клиента. По иронии судьбы, в этих устройствах с фиксированными функциями процветал открытый исходный код, но чаще всего преимущества этих свобод в большей степени реализуются производителями продуктов, а не конечными пользователями (что на самом деле было верно для рынка программного обеспечения даже тогда: Microsoft был большим потребителем программного обеспечения с открытым исходным кодом, но их клиенты не были). Точно так же можно утверждать, что открытый исходный код больше боролся в настольном пространстве общего назначения, чем где бы то ни было, но по мере роста веб- и облачных вычислений настольные вычисления все чаще используются для более узких целей (в основном, с использованием браузера), с остальными функциями, работающими в облаке (как ни странно, в основном на платформах с открытым исходным кодом). Вкратце: open source действительно владеет вычислительным пространством общего назначения, но рынок стал более изощренным; упаковка вычислительных продуктов реже останавливается на функциях общего назначения, но продолжается вместе с продуктами, предназначенными для фиксированных функций, где большая часть преимуществ вычислений с открытым исходным кодом находится в противоречии с целями продукта.

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 обеспечивает обобщенную связь, планирование, обработку прерываний и управление памятью для всех других компонентов ОС; его компоненты имеют тенденцию иметь различный код и структуры данных. Пока модули загружаются динамически, Слабосвязанные фрагменты переносимого кода, которые взаимодействуют через фиксированные интерфейсы, не используют одно оставшееся свойство микроядра: они не являются процессами пространства пользователя. В конце концов, закон Мура гарантировал, что проблемы, вызванные проблемами с оборудованием, такими как переносимость (забота Таненбаума) и производительность (забота Торвальдса), уменьшились, но вопросы разработки программного обеспечения стали первостепенными. Оставшиеся нереализованные преимущества, которые может обеспечить разделение адресных пространств, перевешиваются дополнительным багажом, налагаемым на программное обеспечение ОС из-за ограничений дизайна и повышенной сложности интерфейсов компонентов. Закон гарантировал, что проблемы, вызванные проблемами с оборудованием, такими как переносимость (забота Таненбаума) и производительность (забота Торвальдса), уменьшились, но вопросы разработки программного обеспечения стали первостепенной важностью. Оставшиеся нереализованные преимущества, которые может обеспечить разделение адресных пространств, перевешиваются дополнительным багажом, налагаемым на программное обеспечение ОС из-за ограничений дизайна и повышенной сложности интерфейсов компонентов. Закон гарантировал, что проблемы, вызванные проблемами с оборудованием, такими как переносимость (забота Таненбаума) и производительность (забота Торвальдса), уменьшились, но вопросы разработки программного обеспечения стали первостепенной важностью. Оставшиеся нереализованные преимущества, которые может обеспечить разделение адресных пространств, перевешиваются дополнительным багажом, налагаемым на программное обеспечение ОС из-за ограничений дизайна и повышенной сложности интерфейсов компонентов.

Интересно то , что уже было сильной тенденцией является появление гипервизора, который так же, как микроядер, абстрагируется из аппаратных средств. Некоторые утверждают, что гипервизоры являются микроядрами. Однако архитектура гипервизора отличается, поскольку обязанности, которые должны принадлежать микроядрам, обрабатываются «гостевыми» ядрами, расположенными поверх них, с мультиплексорами гипервизоров между ними, и абстракция гипервизора - это не общий обмен сообщениями и адресное пространство памяти, а преимущественно фактическая аппаратная эмуляция.

В заключение: будущее благоволит тем, кто принимает наименьшую строгую семантику

* .. или "придурки сосут, предсказывая будущее"

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

ТЛ; др

Большинство 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. Вместо этого он использует собственный Google Bionic . А доля рынка стандартного настольного Linux по-прежнему ниже 2%. Но имел ли он в виду потребительские ПК? На рынке серверов Linux абсолютно доминирует с 70-90% доли в зависимости от сегмента.


5
«На рынке серверов Linux абсолютно доминирует с 70-90% доли в зависимости от сегмента». Где доказательства для этого?
Quant_Dev

4
Числа vartec, вероятно, преувеличены. Я оставлю это здесь en.wikipedia.org/wiki/OS_market_share#Servers
Федерико Клез Каллока

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. Half-вправо. Сегодняшние чипы "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
@ Мейсон: когда вы в последний раз видели, например, Ubuntu? Обычную задачу для конечного пользователя проще выполнить в Ubuntu без знания консоли, чем в OSX (черт возьми, в OSX для отображения скрытых файлов требуется доктор философии в Nerdology). В 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 (например, в мобильных телефонах). Чего они не упомянули, так это повсеместности того, что я бы назвал «микроядром 2.0». Теперь это чаще называют «виртуальной машиной» или «гипервизором». Они действительно в значительной степени микроядра, хотя.

Большая разница в том, что Таненбаум думал о микроядре и эмуляции ОС в пользовательском режиме, разработанных специально для друг друга. Вместо этого мы сохранили ОС практически без изменений и настроили микроядро, чтобы оно работало как есть. Технически это не так приятно, но с точки зрения рынка, оно значительно превосходит - вместо совершенно новой системы сверху вниз пользователь может продолжать использовать большую часть своего существующего кода как есть, и просто добавить классную новую «Утилита», которая действительно является микроядерной ОС.


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, но вы не могли позволить себе купить его; веселые винды или дешевые. Linux заняла слишком много времени, чтобы заменить Unix, и до сих пор не хватает убедительного решения для работы на настольном компьютере (отчасти из-за идеологических проблем с различными системами Windows, бинарных графических драйверов и отсутствия стабильного 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 против мира?

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 закончились деньги, прежде чем Alpha получила достаточно доли рынка, чтобы иметь значение. Intel смогла значительно повысить производительность по сравнению с x86, поэтому действительно не было веских причин для изменений (для большинства людей). Теперь, когда производительность измеряется в ваттах, а не в МГц, x86 начинает постепенно снижать свою значимость.
TMN

Да, я знаю, я просто имел в виду, почему RISC вырос намного быстрее, чем RISC в начале. Конечно, в эти дни это сильно изменилось.
Лукас Кауфман

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

1

Микроядро - будущее x86, и архитектуры RISC будут доминировать на рынке (через 5 лет) каждый будет использовать бесплатную ОС GNU

Это зависит от того, как вы видите и определяете будущее, в традиционном смысле его предсказания не оправдались.

Однако время еще не закончилось (еще одно более глубокое обсуждение) .

Таким образом, все еще может измениться:

  1. Микроядра или какой-то другой вариант может вернуться

  2. RISC / ARM вполне могут доминировать -> планшеты / мобильные телефоны

  3. Через 10 или 15 лет Кто знает, open source медленно меняет мир ..


1
Конечно, все может измениться в будущем. Мой вопрос о том, каким сейчас является мир и почему он еще не отразил его предсказания.
Robz

Эти причины уже были перечислены другими, я даю вам альтернативную точку зрения, так как в рамках любого здорового обсуждения все точки зрения должны быть, по крайней мере, рассмотрены. Живи долго и процветай, мой друг.
Darknight

Около 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 раза в моей карьере. С основного кадра на ПК. Из командной строки в графический интерфейс. Из графического интерфейса в интернет. Из Интернета в iPad. Революция сейчас кажется нормальной, но МЫ ЭТОГО НЕ ПРОГНОСИЛИ. Как и все старые программисты того времени, он предсказывал «конец истории».

Очень немногие работали с ОС GNU в течение пяти лет, потому что подсчет возобновился.

Возможно, это все еще происходит. 5 лет назад вы предполагали, что наш Windows Server будет заменен * nix-серверами (как я пишу, SAMBA выпустила AD Domain Server, который был недостающим элементом головоломки). Там, где я работаю, этого не произойдет: у нас не будет локальных серверов.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.