0,0
рейтинг
12 июня 2008 в 01:05

Почему MS Windows 7 никогда не сможет стать надежной ОС

Мы живём в post/информационном, глобализированном мире, где компьютеры управляют атомными станциями, военными объектами стратегического назначенияи т.д. И при этом в современных операционных системах (ОС) имеются две характеристики, делающие их ненадежными и небезопасными: они огромны и обладают очень плохой изоляцией сбоев. В ядре ОС Linux содержится более 2,5 миллионов строк кода, а в ядре Windows XP более 5 миллионов строк кода. По данным исследователей университета Carnegie-Mellon, на 1000 строк кода приходится от 5 до 15 ошибок. При таких оценках ядро Linux содержит около 15000 ошибок, а в ядре Windows XP — больше 30000 ошибок. Еще хуже то, что около 70% кода ОС занимает код драйверов устройств, в которых ошибки встречаются в 3-7 раз чаще, чем в обычном коде. Понятно, что просто невозможно найти и исправить все ошибки; более того, при исправлении ошибок часто привносятся новые.

Большой размер современных операционных систем означает, что ни один человек не может понимать систему целиком, в результате чего управление системой становится очень трудным делом. Но то же можно сказать, например, и про авианосец. Ни один отдельный человек не знает, как работает авианосец, но все его подсистемы хорошо изолированы. Проблема засоренного туалета не влияет на подсистему запуска ракет. У операционных систем отсутствует подобная изоляция компонентов. Современная операционная система содержит сотни и тысячи связанных вместе процедур, которые образуют единую бинарную программу, выполняемую в ядре. Каждая из миллионов строк кода ядра имеет возможность записи в ключевые структуры данных, используемые несвязанным с ней компонентом, что может привести к краху системы. [см.: «Эндрю Таненбаума, Джоррита Хердера и Херберта Боса «Можем ли мы сделать операционные системы надежными и безопасными»]

Windows NT:
MS Windows 7 Milestone является развитием ОС MS Windows NT. 1-я коммерческая версия Windows NT была выпущена 27 июля 1993 (скоро исполняется 15 лет). Версия сразу вышла под номером 3.1 только из-за того что к изначальному ядру ОС NT были добавлены Windows API, включая оконный интерфейс от среды MS Windows 3.1 [см.: Microsoft Windows — Материал из Википедии]
»Разработка Windows NT, начатая в ноябре 1988 г. под рабочим названием NT OS/2, велась параллельно с разработкой фирмой IBM собственной ОС, OS/2 2.0, которая окончательно вышла только в апреле 1992 г. Одновременно с этим фирма Майкрософт продолжала разрабатывать свои ОС семейства DOS и Windows, отличающиеся меньшими требованиями к ресурсам компьютера, чем IBM OS/2. После того, как была выпущена Windows 3.0 в мае 1990, Microsoft решила добавить в NT OS/2 программный интерфейс (API), совместимый с Windows API. Это решение вызвало серьёзные трения между фирмами Майкрософт и IBM, которые закончилась разрывом совместной работы. IBM стала продолжать разработку OS/2 в одиночку, а Майкрософт стала работать над системой, которая была в итоге выпущена под названием Windows NT. Хотя эта система не принесла немедленной популярности подобно DOS или Windows, Windows NT оказалась существенно более успешной, чем OS/2.
Интересно заметить, что в качестве программных интерфейсов ОС NT изначально планировались API OS/2, и затем POSIX — поддержка Windows API была добавлена в последнюю очередь. Кроме того, в качестве аппаратной платформы для NT изначально планировались Intel i860, и затем MIPS — точно так же, поддержка Intel x86 была добавлена позднее..." [см.: Windows NT — Материал из Википедии]
То, что сегодня называется Windows Vista, это NT до ужаса обвешенная всякими библиотеками API и интерфейсами придуманными в Microsoft. По информации MS в ОС Windows 2000 содержится 35 – 60 миллионов строк кода, а в Windows XP более 45 миллионов строк кода, который постоянно дорабатывается и модернизируется. Исходный код написан на языках программирования ассемблер, С и С++. Даже в самой Microsoft не совсем точно понимают, что же они разработали. Разбираться в коде очень и очень сложно. Скорее всего Microsoft Windows во всех своих версиях содержит уязвимость, которую исправить невозможно (по мнению некоторых сторонних исследователей в разных версиях подобные Абсолютные Ошибки разные). Лечить её примерно то же самое, как заделывать дыру в середине фундамента, на котором уже стоит многоэтажный дом. Безусловно Microsoft прекрасно осведомлены насчёт наличия Абсолютной ошибки, но не считают её уязвимостью.

Выходом из сложившегося тупика являются Микроядерные ОС, которые могут обрести новую жизнь благодаря потенциальной возможности обеспечивать более высокую надежность:
Надежность Микроядрных ОС происходит из разных источников. Во-первых, размер кода, выполняемого в ядре, составляет около 4000 строк, и общее число ошибок — всего около 24 (на примере микроядра ОС Minix 3). Небольшой размер ядра позволяет верифицировать его код вручную или на основе формальных методов. Особенности IPC позволяют избежать потребности управления буферами в ядре. Кроме того, для каждого процесса ограничены доступные примитивы IPC, включая адреса назначения и события, о которых происходит уведомление. Например, пользовательские процессы могут использовать только принцип рандеву и посылать сообщения только Posix-серверам. В дополнение к этому, все структуры ядра являются статическими. Все эти свойства значительно упрощают код и устраняют ошибки в ядре, связанные с переполнением буферов, «утечку памяти» (memory leak), несвоевременные прерывания и т.д. Конечно, перемещение большей части операционной системы в процессы, выполняемые в режиме пользователя, не устраняют неизбежные ошибки в драйверах и серверах, но это ограничивает их воздействие на систему в целом. Ошибочный код в ядре может испортить критичные структуры данных, записать на диск ненужные данные и т.д.; ошибочный же код в большинстве драйверов и серверов не может принести такого вреда, поскольку эти процессы строго разделены и очень ограничены в своих возможностях.
Еще одной особенностью, повышающей надежность, является использование раздельных пространств команд и данных. Даже если ошибочный код или вирус вызовут переполнение буфера и поместят чужой код в пространство данных, этот код будет невозможно выполнить путем перехода на него, поскольку ядро не запустит код, не находящийся в пространстве команд процесса (доступном только по чтению).
Среди других особенностей, способствующих повышению надежности, наиболее важным является свойство самовосстановления. Если драйвер производит запись по неверному указателю, впадает в бесконечный цикл или дурно ведет себя каким-либо другим образом, то сервер реинкарнации автоматически заменит его, часто без влияния на другие процессы.

MS Singularity:
Цитата Эндрю С. Таненбаума: «…Microsoft тоже интересуется микроядрами. Она как никто другой отчётливо понимает все проблемы сопровождения монолитных ядер. Windows NT 3.1 была нерешительной попыткой создания микроядерной системы, однако попытка эта была реализована не совсем корректно. Да и производительность ОС на оборудовании начала 90х годов также была недостаточно хороша, поэтому Microsoft на время отказалась от этой идеи. Но недавно Microsoft попыталась сделать это снова, но уже на новом оборудовании, что привело к появлению ОС Singularity. Сегодня, как я вижу, многие полагают, что если Microsoft делала это, то она явно сошла с ума. Но руководившие проектом Singularity Гален Хант (Galen Hunt) и Джим Ларус (Jim Larus) – очень умные ребята и они-то как раз хорошо понимают, какую мешанину на самом деле представляет собой ОС Windows и насколько компании Microsoft необходим совершенно новый подход для её дальнейшего развития. Даже работающие над Vista люди видят, что у них имеются серьёзные проблемы. Поэтому-то они и переносят драйверы в пространство пользователя, то есть делают именно то, что я и рекомендую.» [см.: «Вторая часть «Марлезонского балета». Дискуссия Таненбаума и Торвальдса: часть II»]
Проект Singularity разработанный в в Microsoft Research предлагает наиболее радикальный подход к разработке надежной ОС построенной на микроядре. Но к Singularity никак не возможно прикрутить Windows API и не возможно перенести Soft написанный под Windows API на эту систему, так что этот теоретический по своему уникальный проект никак не сможет помочь рядовым пользователям MS Windows:( [ см.: «Эндрю Таненбаума, Джоррита Хердера и Херберта Боса «Можем ли мы сделать операционные системы надежными и безопасными»]

Микроядро L4:
L4 построено таким образом, что на его базе можно построить практически любой API. Оно абстрагируется от конкретных алгоритмов управления памяти и прочих стратегий, но предоставляет механизмы для реализации их (стратегий) в произвольном виде. Также оно поддерживает много аппаратных платформ, имеет поддержку многопроцессорности (SMP) в ядре. Поддерживаются драйверы в user space и запуск одновременно нескольких ОС на одном микроядре. Кроме того, поддерживается создание как ОС реального времени, так и обычных ОС с разделением времени; как ОС для embedded применений, так и desktop OS; можно реализовать различные стратегии планировщика процессов (и управления памятью).
Если сравнивать Mach и L4, то микроядро Mach было очень громоздким, у него было больше сотни системных вызовов, оно содержало в себе порядка 100000 строк кода, занимало около 500 Кбайт на диске. L4 же на 1-2 порядка компактнее. Оригинальная реализация L4 содержала всего 7 системных вызовов, сложность его была порядка 10000 строк кода, на диске оно занимает примерно 100 К (формат ELF, платформа Intel; данные для L4Ka::Pistachio), а вот в памяти оно занимает всего 12 Кбайт! (По другим данным — 32 Кбайт, это зависит от версии ядра). Поэтому L4 также часто называют наноядром (nanokernel), поскольку его размер на 1-2 порядка меньше классического микроядра.
NICTA — Национального исследовательского центра информационно-коммуникационных технологий, который занимается развитием ядра L4, создал коммерческую компанию под названием Open Kernel Labs (OK Labs), для продвижения на рынке решений (в основном, встраиваемых) на базе L4. OK Labs разрабатывает собственную коммерческую реализацию NICTA::Pistachio- embedded, вместе с Wombat и Iguana. Эта собственная версия L4, Wombat и Iguana носит название OKL4. „Коммерческость“ OKL4 не отменяет свободности ее лицензии. OKL4 лицензируется под BSD лицензией и ее исходники открыты. OK Labs обещает примерно к середине 2009 года выпустить первое микроядро с математически доказанным отсутствием ошибок (formally-proven bug-free microkernel)!

Apple MacOS X:
В NICTA кроме проектов Kenge/Iguana/Wombat, существует проект под названием Darbat, или L4/Darwin. Это ни что иное как порт ядра Darwin, на котором основана MacOS X, на микроядро L4. Darbat пытается улучшить производительность Darwin за счет использования IPC L4, которое намного более производительное, чем IPC микроядра Mach, на котором основан Darwin. Также Darbat содержит порт IOKit на L4, который стремится получить выгоду от использования user-level драйверов (в Darwin многие драйвера работают в режиме ядра, а в Darbat они выносятся в userlevel). Одной из целей является поддержка немодифицированных драйверов Darwin в userspace. Darbat не стремится полностью удалить Mach из Darwin, а взамен этого получить версию MacOS X, почти без изменений работающую под L4, и использующую выгоды, которые дает L4 по сравнению с Mach.
Цитата Эндрю С. Таненбаума: «Mac OS X также является разновидностью микроядерной ОС. Изнутри она представляет собой Berkeley UNIX, функционирующий поверх модифицированной версии микроядра Mach. Однако, поскольку всё это запускается в режиме ядра (для того, чтобы выбрать всю возможную производительность), Mac OS X не является истинно микроядерной. Тем не менее, поскольку Университет Карнеги-Меллона (Carnegie Mellon University) уже много лет назад запускал Berkeley UNIX в пространстве пользователя поверх микроядра Mach, то это, вероятно, могло бы быть сделано снова, хотя и с небольшой потерей производительности, как в случае с L4Linux. В частности, существует проект Darbat по портированию кода Apple BSD (Darwin) на L4 с тем, чтобы сделать её истинно микроядерной ОС.» [см.: «Вторая часть „Марлезонского балета“. Дискуссия Таненбаума и Торвальдса: часть II»]
Говорят, что в Apple параллельно с текущей системой-наследником Mac OS X 10.6 Snow Leopard, ведется разработка, новой системы „большого скачка“. Возможно именно о ней, Джобс упомянул в интервью в 2007 году, по случаю официального выпуска „Леопарда“. В ней, судя по тщательности зачистки „Снежного барса“, будут уже „открытия“. И не простые открытия, а весьма серьезные. Учитывая одержимость Apple простотой и элегантностью решений, логично было бы предположить, что новая система (Apple OS X 11, или еще какая-нибудь), в своей основе будет построена на уникальном Микроядро L4, и будет использоваться на всей, без исключения, продукции Apple. От смартфонов iPhone до серверов. Это достаточно красиво, чтобы могло прийти в голову Стива Джобса. А превращать сумасшедшие мысли в изделия, которые имеют сумасшедший успех, у Джобса обычно получается. [см.: «Возможно, следующей будет Mac OS 10.6 „Snow Leopard“»]
И если это случиться, то Apple OS X 11 будет иметь непревзойденную надежность и универсальность!

И вывод напрашивается сам собой у MS Windows нет будущего. При современном подходе в Microsoft к разработке ОС, будущая MS Windows 7 к сожалению так и останется с 10-ми тысяч багов и с раздраженными пользователями. И я бы ни за что не стал разрабатывая большие и требующие надежности программные проекты, выбирать за базовую ОС творение компании Microsoft:(
Борис Владимирович @zboris
карма
35,7
рейтинг 0,0

Похожие публикации

Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (285)

  • +4
    Я думаю что не только вы, но и Майкрософт понимает это. Думаю что Singularity перерастёт в нечто большее чем проект для исследований.
    • НЛО прилетело и опубликовало эту надпись здесь
      • +1
        хоть чуть-чуть почитать можно было про ядро висты, перед тем как ярлыки развешивать?
        вакс вещь хорошая, но была
  • +3
    а по чему автор забыл про GNU Hurd ?
    • +1
      Да я не забыл:)
      Просто не хотел загромождать текст. В тексте много ссылок и тот кого интересуют Микроядерные ОС может о них подробнее прочитать по ссылкам в статьях:
      • "Микроядро L4 как основа ядра ОС" - http://www.ru2.halfos.ru/core/articles/c…
      • "Вторая часть "Марлезонского балета". Дискуссия Таненбаума и Торвальдса: часть II" - http://citkit.ru/articles/359/
      • –1
        Есть еще Таненбаумовский minix, но он еще младенец.
        • 0
          Дитяте уже 21 годик
        • 0
          Им и останется навсегда по желанию самого Таненбаума.
        • +1
          Уточню немного: minix и minix3 это разные операционные системы, вот minix3 это младенец, да.
  • +3
    Спасибо автору! Интересная статья, есть над чем поразмышять.
    • НЛО прилетело и опубликовало эту надпись здесь
      • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        Может просто статья ориентирована не на "рядовых" пользователей.
      • 0
        Во-первых пользователь, он не один на весь мир, они разные есть.
        Во-вторых знать как устроенна ОС в общем и знать особенность каждого дистриба это несколько разные вещи.
        В общем не путайте теплое и мягкое...
  • +1
    >>OK Labs обещает примерно к середине 2009 года выпустить первое микроядро с математически доказанным отсутствием ошибок (formally-proven bug-free microkernel)!

    А можно об этом немного поподробнее?
    • +1
      Я эту информацию взял из статьи "Микроядро L4 как основа ядра ОС" - http://www.ru2.halfos.ru/core/articles/c…
      А подробнее это вы у Open Kernel Labs сами пожалуйста расспросите - http://www.ok-labs.com/
      • 0
        Спасибо. Почитаю. Для меня это очень интересно.
  • –5
    Аффтор, ваши пустопорожние рассуждения оторваны от реальности.
    • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      В этой статье моего текста немного, в основном эта статья скомпелирована из статей разных умных людей (в основном проф. Эндрю С. Таненбаума).
      Ну если для вас слова проф. Эндрю С. Таненбаума "пустопорожние рассуждения", то я уж и не знаю кто для вас может быть авторитетом:(
      • 0
        СкомпИлирована. Что касается профессора Таненбаума, то будь он хоть трижды умным, его доходящая до абсурда самоувереность (судя по дискуссиям с Торвальдсом) никак не дает его уважать.
  • +4
    Первая половина поста чрезмерно апокалиптична имхо. А в остальном — очень интересно, спасибо :)
  • +1
    хммммм.
    So what? Windows вряд ли захочет что то менять в близжайшие много много лет.
    Ему выгодно каждые несколько лет выпускать новые версии своих ОС.
    А если появится Windows без багов, то следующую версию будут брать, конечно, менее охотно)))
    Все остальные игроки рынка ОС, конечно могут изменить ситуацию, но пока что то я не вижу особого роста доли GNU-Linux и Mac.
    В общем, время покажет. Причем долгое время.
    • –1
      Молодой человек, а с каких пор Windows вообще может чего-то хотеть и получать какую-то выгоду? =))
      • 0
        а с каких пор эта компания не может этого делать? особенно получать прибыль?
        • +1
          "Компания Windows" ( (с) - Floodmonster) очень рада, что многоуважаемый Виктор (также неизвестный под ником Floodmonster), не видит роста доли других игроков. И бежит делать все что, может! Особенно получать прибыль!
          • 0
            Господи. Ну я протупил!!
            Конечно же Microsoft, а не кхм.... дааа, пошел ка я спать.
    • НЛО прилетело и опубликовало эту надпись здесь
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Да уж, надо какие-нибудь визуальные направляющие сделать для одинаковых уровней комментариев.
  • +3
    MS Error!!
    Извените, но ракеты не могут запуститься. Попробуйте прочистить туалет.
  • +18
    Боюсь что большинство (если не все) Ваши тезисы, в разной степени справедливы для любой из существующих и/или находящихся в разработке ОСей, а не только к продуктам MS. Меня как (преимущественно) пользователя Windows, 30 тыс. XP-багов совершенно не пугают. По удельному кол-ву фатальных крэшей (по моим наблюдениям), что XP, что MacOSX примерно равны. А что касается "повисняков" отдельных приложений то kill'ом я пользуюсь ну может чуть реже чем виндовым диспетчером задач :)
    В связи с этим хотелось бы понять что Вы имели ввиду под надежностью? Доверять ли Windows 7 офисные документы и домашнюю медиатеку или доверять ей рулить ядерным реактором? Уверен что ни винде ни макоси реактор не доверят, равно как и любому коробочному дистрибутиву linux.
    А надежность винды от поколения к поколению только растет (вспомните win 98?). Почему Вы думаете что следующий релиз должен нарушить эту тенденцию?
    • +1
      Примерно те же самые наблюдения по поводу крэшей и "зависонов" :)
    • +1
      А помойму надежность всётаки падает. Win98 на очень слабом ноуте у меня за 2 года ниразу не упал и пару раз подвисал. WinXP на машине помощьнее за те же 2 года упала 3 раза и висла по нескольку раз на день. А вот WinVista это шедевр - полгода прекрасно работала на новеньком ноутбуке и вдруг выпустили SP1. Она как умная ОСь сама (за час) скачала, поставила (за 1.5 часа при этом 4 раза перезагрузившись) и ушла в бесконечный ребут. С тех пор (уже полгода) полностью пересел на линукс. Это тоже не идеал, но основлений которые уносят систему в бесконечный ребут под *nix системы я еще не видел.
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Это что же у вас за канал такой, что Мандрива качает обновления полтора дня???
        • +4
          Либо ваш 'программист' знаком с линуксами отдалёно и непонимает что у него происходит в системе, либо он вам наврал. Так что советую сделать вывод о 'программисте', а не о мандриве.
          • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          И так везде, где вместо админов нанимают программистов :(
      • 0
        Да, была аналогичная ситуация, ноут - Dell Inspiron 1520. Устранить весьма просто, перевести AHCI контроллер в IDE режим. НО это свинство со стороны MS. Выкинуть поддержку AHCI контроллера из драйвера...
    • 0
      а зачем вы сравниваете стабильность ОС и стабильность стороннего ПО?

      Адоб ЦС3 в 100 раз чаще падает чем Vista у меня.
      • +1
        т.е. вы заплатили тыщю баксов за ЦС3 и она у вас падает в день по нескольку раз и вы продолжаете её использовать? Мазахизм какой-то! =)
        • 0
          Подскажите альтернативу, пожалуйста)
          • НЛО прилетело и опубликовало эту надпись здесь
            • 0
              Действительно гыгы)
      • 0
        Откуда дровишки? На одной и той же машине за полгода не видел ни одного падения продукта CS3, хотя CS2 редко, но всё же вырубался.
        Может, нужно пенять не на софт, а на память?
        • 0
          А может лучше все таки пенять на креки?
          • 0
            Не могу, никак не могу: не падает :) А в КС и КС2 обычно многие ошибки и сбои начинались, когда кончался скретч-диск — а я не успевал это проконтролировать и чистил место только после первого сообщения, хотя иногда было поздно. Ну, и всякие псдшники по 120-300Мб валили изредка.
            Ах да, мы ушли от сабжа! :)
    • 0
      Что значит "надёжность Windows"? Об этом можно будет говорить - когда под Windows прекратят выпускать антивирусы.
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Теоретически да, а практически вирусы находят только в Windows :) Кстати, то что Windows уязвима благодаря своей популярности - миф. Windows уязвима благодаря своей архитектуре.
          • НЛО прилетело и опубликовало эту надпись здесь
            • 0
              Тогда скажите мне, почему на фантастически популярном компьютере PlayStation 2 нет ни одного вируса и антивируса?
              • НЛО прилетело и опубликовало эту надпись здесь
                • 0
                  Вы думаете приставка чем-то отличается от PC?

                  На PlayStation 2 можно подключить HDD, клавиатуру, мышь, там есть USB разьёмы, сетевая карта, на неё можно поставить Linux.
                  • НЛО прилетело и опубликовало эту надпись здесь
                    • 0
                      Речь о другом, железо на приставке и PC принципиально не различается, но вирус на приставке не возможен в принципе, т.к. там ОС расположена в ПЗУ, вот о чём я хотел сказать.
                      • НЛО прилетело и опубликовало эту надпись здесь
                        • –3
                          Вывод простой: Windows спроектирована заведомо ненадёжной системой.
                          • НЛО прилетело и опубликовало эту надпись здесь
                          • 0
                            дело в том, что вы хотите от Windows сразу того, что получаете от Linux путем долгих и кропотливых настроек.

                            у меня на виндовом рабочей станции никаких антивирусов не стоит. да и мало какой вирус сможет сделать хоть что-то деструктивное даже если я его сам запущу и дам права.

                            подобным холиваром вы просто показываете, что не очень разбираетесь в теме.
                            • –2
                              Возможно я не в теме, вероятно что Windows очень надежная система под которой работают военные компьютеры, медицинские системы жизнеобеспечения, космические аппараты, компьютеры самолётов, кораблей.

                              Возможно под Windows не существует вирусов и троянов, скорее всего этот миф придумали пользователи дргих ОС. Наверняка IE самый безопасный браузер из всех существующих.

                              Скорее всего вы великолепно разбираетесь в теме, спасибо что сделали мне замечание. Вам нужно разослать ваш способ настройки Windows на крупнейшие форумы по информационной безопасности, а то там столько дыр публикуют - видимо просто не умеют работать с Windows.

                              Кстати, я работаю в OS X :)
                              • 0
                                возможности по обеспечению безопасности в *nix-средах и nt-средах очень схожи и, я бы сказал, находятся на одном уровне развития.

                                или вы хотите сказать, что вредоносного ПО под никсы не существует? ) а огромную кучу руткитов и разного пошива ботов забыли?

                                Кстати, я работаю в виндовой сетке. Дома мак, winxp64, centos и долбанная убунту.
                              • 0
                                а насчет количества отчетов об уязвимостях я бы еще поспорил.
                          • +1
                            Тогда объясните мне один простой факт: почему мировой лидер среди сайтов по посещаемости работает на Windows?

                            MySpace.com was definitely the biggest highlight. For those that aren’t familiar with MySpace.com, it is the fastest growing site on the Internet right now. They have 65 million registered subscribers, and are registering 260,000 new users each day.

                            MySpace.com is now processing 1.5 Billion page views per day MySpace.com handles 2.3 million concurrent users during the day

                            Работает кстати на ASP.NET, и в довершение:

                            4 of the top 6 sites (MySpace, MSN, Ebay and Hotmail) run on IIS and Windows.

                            Отсюда: http://weblogs.asp.net/scottgu/archive/2006/03/25/Handling-1.5-Billion-Page-Views-Per-Day-Using-ASP.NET-2.0.aspx
                            • 0
                              Ну это не мировой лидер, но в целом сайты типа myspace подтверждают, что серверные системы на базе windows иключетельно надежны, хорошо масштабируемы и пригодны для задач любого уровня. В правильных руках разумеется.
                              • 0
                                Откройте нам тайну - кто же тогда мировой лидер, если не myspace.com?
                                • 0
                                  http://www.alexa.com/site/ds/top_sites?t…

                                  Алекса конечно штука не слишком точная, но для сайтов такого уровня показывается она правильно..
                                  • 0
                                    Я чтото не увидел там никаких цифр. Popular и Rank это количество ссылок насколько я понял на тот сайт. И везде процент, проценты... Где там цифры по посещаемости за какой-нибудь период? В униках, хитах, мегабайтах?
                    • 0
                      А кому и что приносит написание вируса под венду? Кроме крайнего вируса-вымогателя. Остальное всё ровно то же самое. Ботнет на приставках ничуть не хуже ботнета на офисных компьютерах.
                      • 0
                        вы заходите с приставки на свой банковский аккаунт?
                        • 0
                          Вирусы, похищающие банковские аккаунты из систем клиент-банк? Вы серьёзно???
                          Гм. Похоже, что серьёзно :), не будете ли тогда так любезны, раз вы в курсе, поделиться цифирькой. Поделите количество таких вирусов на их общее количество. А в остальном - почему нет? Не вижу ничего, препятствующего совершению онлайн платежей с приставки. Оплату за следующий месяц игры внести, там, или ещё чего...
          • +1
            в линуксе тоже находят дыры. читайте газеты.
            • –1
              И что? Сильно это помогло вирусописателям?
              • +1
                вы в курсе, сколько разных руткитов есть под разные никс-платформы?)
                а сколько разных ботов...

                у меня snort раньше регулярно отлавливал всякую паразитическую активность.
                • 0
                  Я в курсе даже про sudo rm -rf / :)
                  Видите ли в чём дело... Если я правильно понимаю, количество руткитов под униксы не сильно меньше, чем количество руктитов под венду (из чего отпадает псевдодовод вендузятников о том, что униксы не ломают потому, что они непопулярны - популярны и ломают). Я даже представляю примерно, как руткит можно использовать в вирусописательских целях :). Но где же, где же вирусы! :) :)
                  • 0
                    вирусы в классическом понимании? которые заражают файлы и т.п.? так они везде вымерли. и elf и pe.
                    или вы о червяках? это уже, имхо, проблема доверчивости пользователя.
          • +1
            Мил человек, вы бредите...
            • 0
              А что именно вы считаете бредом?
          • 0
            >>> вирусы находят только в Windows
            Уязвимость какой-либо архитектуры - это одно, но вы так рассуждаете, будь-то вирусы
            там сами заводятся, биологические они стали :)
            Давайте вам где-то в скрипте сборки некоторого приложения под ваш osx напишем: rm -rf /*
            Вот вам и будет самый простой "вирус", снесет все с файловой системы....
            • 0
              Такой скрипт запросит права администратора, которые ему никто не даст.
              • 0
                Ну вы же понимаете, что этот скрипт не будет запускаться втихаря. Вот вы берете, решаете собирать и устанавливать программу, соответственно вначале для запуска скрипта входите в рутовую консоль, а в дебрях скрипта такая милая добрая шутка... :):)
                • 0
                  Что значит "собирать и устанавливать программу"? В OS X программа просто копируется в нужное место и всё.
                  • +1
                    Это вы уже себя сами в рамки загоняете. Кроме нативных приложений под эппл, можно можно еще и пользоваться программами из-под BSD и других unix.
              • 0
                ок, тогда rm -rf /home/user.
                так даст?
                • 0
                  Эта команда сотрет файлы в домашней директории, но никоим боком не затронет систему.
                  • 0
                    чем не вредоносное ПО, которое все файлы пользователя стирает.
                    под виндой, чтобы систему стереть тоже админские привилегии нужны. однако даже с админом ты много не потрешь.
                    • –1
                      Тогда откуда на Windows вирусы? Следуя вашей логике - они там принципиально не могут работать.
                      • 0
                        а что вы вообще под вирусами подразумеваете?
                      • 0
                        вообще, банальное разграничение прав пользователей, в общем, спасает положение в любой системе.
                        в маке, линуксе или винде.
      • 0
        Антивирусы выпускаются под все распространённые OS. Включая Linux, Symbian и прочие. Надо, не надо - главное продать.
        • 0
          Ну антивирусы под линукс в основном служат для отлавливания windows-вирусов.
          • НЛО прилетело и опубликовало эту надпись здесь
            • +1
              Linux очень распространён на серверах, по-этому антивирусы на линукс защищают windows-клинтов (samba, web, proxy, mail) от возможного заражения. Плюс очень многие держат на своих компьютеров кроме linux ещё и windows, здесь антивирусы тоже очень помогают.
              • НЛО прилетело и опубликовало эту надпись здесь
                • 0
                  м? Linux-сервер и windows-клиенты очень распространённая схема. Взять хоты бы web, большая половина сайтов хостятся на Apache (и ngix) + *nix (Linux, *BSD), на nix* хостингах стоят антивируссы, которые почту и файлы на вирусы проверяют, в качестве клиентов в этой схеме выступают множество windows пользователи с браузера, почтовыми, ftp и im клиентами.
                  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Про надежность довольно спорное утверждение, на мой взгляд будучи пользователем ветки Win NT Workstation со стажем, начиная с версии 3.51 (ибо тогда у меня была двухпроцессорная машина) субъективно не припомню такой надежности ни у кого другого, как у двух версий Винды — 3.51 и 4.0 Workstation (серверные версии были скорее всего не хуже, но я их активно не юзал). До сих пор, когда я ставлю в VMWare или виртуалбоксе 4.0 не могу удержатся от пускания скупой мужской слезы, до того шустро и хорошо работает зараза! а самый смех, что даже браузинг под 4.0 быстрее в виртуальной машине, нежели на хосте (при том что под той же ХР удалены и QoS и снято ограничение с TCP/IP по числу connections)

      В общем же и целом самое лучшее впечатление от всего зверинца у меня осталось от именно что 4.0 да и просидел я на ней дольше всех. Если с самого начала удавить все службы на ней ненужные (например я сразу отрубал все службы типа DCOM и сервер и иже с ними) работает просто как автомат калашникова на рабочей станции для броузер-почта-САDы-игры.

      Что же до убунты — то последние версии сильно похужели в смысле крешей — начиная с 7.04 у меня впечатление что стало удобней в целом, но надежность упала. Доходит до того, что машина отказывается даже загружатся, без особых на то причин (я обычно ставлю на один из компьютеров свежий релиз — посмотреть что это за зверь) просто при настройке и рассматривании без умучания конфигов и прочей установки монструозного софта.

      От Win 7 впечатления противоречивые, особенно в части ресурсов, потребляемых системой, хотя вроде интерфейс сделал большой шаг вперед — особенно радует нормальный, на первый взгляд, механизм подгрузки драйверов.

      MAC OC еще не юзал, но всё к тому идёт — уж больно железо у них грамотно сделано, а если закрыть глаза на их цену — то вообще едва ли не самое лучшее, особенно штырит мак-мини и новый ай-мак 27"
  • +1
    На сколько мне известно, ядро МакОС Х - микроядро, и в Винде НТ тоже некоторое подобие микроядра, только чутка ближе к монолитному ядру. Разница не очень велика.В НТ, по-моему, неподписанные драйвера выносятся в более защищенную и изолированную область, чем подписанные. Так что не стоит так категорично х)
    • +3
      И в MacOS и в Windows "рекламные микроядра". Чем хороша система на основе микроядра? Тем что проблема в одной подсистеме не может "уложить" всю систему. Вот только в списке подсистем в MacOS имеется "настоящее ядро", а в Windows XT "подсистема работы с железом". Каждая из них может угробить всю систему. В результате такого использования микроядра надёжность не повышается, а снижается (к проблемам драйверов ещё добавляются проблемы общения драйверов с микроядром). Чего и следовало ожидать.

      Нормальные микроядерные системы с поддержкой широкого спектра оборудования не существуют - и неизвестно могут ли существовать. А то, что QNX много надёжнее Linux'а может быть вызвано как тем, что микроядро обеспечивает повышенную надёжность так и тем, что QNX обычно не ставят на машины с железом, драйвера к которому писал полуграмотный китаец в режиме "давай-давай", а софт - вообще неизместно кто...
  • +2
    Windows 7 будет востребована если на неё будет спрос. Спрос в свою очередь мало зависит от количества ошибок в ядре.
    • 0
      Зато спрос рождает популярность, популярность увеличивает количество юзеров. Чем больше юзеров, тем больше потенциальных Одинаковых машин для взлома, тем больше смысла писать эксплойт именно под винду.

      Юный хакер, написав мега-вирус, вторгающийся в миллионы машин, становится популярен автоматически. А вот какой-нибудь бедный Моррис утонет в лучах славы Митника.
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Социальным инжинирингом. Вообще, хватит троллить
          • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Поддерживаю.
      Большинство людей не задумывается о том, из скольких миллионов строк кода состоит его система и какой процент ошибок приходится на каждую строку.
      Главное — работает, картинки показывает, музыку проигрывает. Да еще и симпатична.
      Что еще для счастья нужно рядовому юзеру? ;-)
      • 0
        Если не будут решаться теоретические вопросы о архитектуре ядер, других компонентов системы, если все это будет писаться с наскоку и наобум без научного аналитического подхода, то компьютер музыку играть и картинки показывать будет тооормозно, глююючно, и не будет счастья рядовому Райану... тьфу, юзеру.
  • +1
    > И вывод напрашивается сам собой у MS Windows нет будущего.
    У винды будущего может и нет, а у MS есть и еще какое. Эта контора просто так рынок операционок не отдаст никому... Скорее всего просто приложит больше усилий и выпустит что-нибудь микроядерное, когда ну совсем станет невмоготу с Windows.
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        Мне очень хочется увидеть реального конкурента MS Windows, который решиться отобрать рынок у этого монополиста (хотя опыт AMD показывает, что с монополистами типа Intel и Microsoft лучше не спорить).
        Я думаю, что на эту роль лучше всего могла бы подойти Apple MacOS X, потому как она уже имеет хоть какой то, отличимый от Zero, процент рынка ОС и имеет достаточно большое количество популярных приложений (в отличии от Linux):)
        Об этом смотри в моих топиках:
        "А какое будущее у Apple MacOS X ?"
        "Apple может открыть OS X Leopard для установки на PC-клоны"
        Но беда в том, что Apple живет в своем гетто и похоже её устраивает положение сытого раба, поэтому восстание против всесильной Microsoft наверно мало вероятно, хотя... :)
        • 0
          > Я думаю, что на эту роль лучше всего могла бы подойти Apple MacOS X, потому как она уже имеет хоть какой то, отличимый от Zero, процент рынка ОС и имеет достаточно большое количество популярных приложений (в отличии от Linux)

          Сколько раз видел такие утверждения, оказывалось, что их автор последний раз видел Линукс в лучшем случае семь лет назад. Популярные приложения есть под всё. Мне wine за 2 года был нужен один раз. Ради узко-специализированной Win-only программки - Visual Prolog. Как раз бОльшая часть специализированного софта сделана под Win, а популярные приложения есть под всё. Вот сильно устаревшая и неполная таблица: http://www.linuxrsp.ru/win-lin-soft/table-rus.html
          • 0
            А где взять под Linux:
            Adobe PhotoShop, QuarkXPress, Microsoft Office, Autodesk AutoCAD, и т.д.
            • 0
              Вам шашечки или ехать? :) Adobe Photoshop - GIMP, Microsoft Office - OpenOffice.org. QuarkXPress и Autodesk AutoCAD - узкоспециализированный софт. Я упоминал о том, что узкоспециализированного софта недостаток имеется.
              • 0
                Нельзя говорить что GIMP это аналог Photoshop, в Linux вообще нет софта для профессиональной работы с графикой, говорю это как дизайнер.
                • 0
                  Верю. Я сразу сказал, что профессионального софта под Линукс мало, кроме программерского конечно же. Только речь в этой ветке про популярные приложения.
            • 0
              Кстати, для написания статей мной успешно применяется LaTeX, если я правильно понял назначение QuarkXPress. Ставить виртуальную машину только ради того, чтобы заценить демку платного конкурента как-то нет охоты. :)
              • 0
                Нет вы не правильно поняли назначение QuarkXPress:(
                Этот Soft нужен для верстки всяких книг и газет, после этой Soft`ины сверстанная книжка отправляется прямиком в типографию.

                В таблице "Аналоги Windows-программ в Linux - таблица соответствий"
                Раздел - 9) Научные и специальные программы:

                Издательские системы:
                под Win --- Adobe PageMaker, QuarkXPress.
                под Linux - Adobe Framemaker. (Больше не развивается...)

                Небольшие издательские системы:
                под Win --- MS Publisher.
                под Linux - 1) Scribus - Desktop Publishing for Linux;
                --------------- 2) KWord.

                О Scribus`е я читал отзывы на Форумах, пишут, что куча проблем со шрифтами, и практически невозможно найти работающие русские шрифты под Linux аналогичные по написанию со шрифтами Win TTF :(((
                Ну и как организовать нормальную профессиональную верстку под Linux, а?
                А на Apple MacOS X все прекрасно работает, это потому, что Apple Mac по сути была первая, доступная по цене, платформа для издательской деятельности!
                Кроме этого под Mac существуют проффесиональные пакеты Видео-Монтажа - Apple Final Cut Studio (на котором делается практически вся реклама которая крутится по TV), много CAD или САПР (системы автоматизированного проектирования) и куча другого профессионального Soft`а!
                Компьютер это же инструмент для профессиональной работы, а не для игрушек и забавок (для игрушек существуют приставки XBox и PS).
                Вот и выходит, что Linux пока подходит только девелоперам ибо для них в выборе Soft`а под Linux ограничений нет, а для других областей профессиональной деятельности Linux мало походит:(
                • +1
                  Благодарю за информацию. Правда некоторые типографии принимают в LaTeX...

                  > Компьютер это же инструмент для профессиональной работы, а не для игрушек и забавок (для игрушек существуют приставки XBox и PS).

                  Не спорю. Я же не фанатик, считающий что во всём мире нужно снести все ОС и поставить Линукс. Единственное, что ИМХО не правда это "Apple MacOS X... ... имеет большое количество популярных приложений (в отличии от Linux):)". Я бы не сказал, что вышеперечисленное является популярными приложениями.

                  > Вот и выходит, что Linux пока подходит только девелоперам ибо для них в выборе Soft`а под Linux ограничений нет

                  Как девелопер, подтверждаю. :)
          • 0
            Список Soft for Linux внушительный:
            http://www.linuxrsp.ru/win-lin-soft/tabl…

            Но давайте его сравним с 7340 Universal Mac applications, это только те которые запускаются как на Intel- так и на PowerPC-based Mac:
            http://guide.apple.com/universal/
            • 0
              Это не Soft for Linux, это устаревший на 5 лет обзор аналогов. Список пакетов для Gentoo: http://gentoo-portage.com/Browse или для традиционно считающегося более юзер-френдли Ubuntu: http://packages.ubuntu.com/ Только ИМХО опять же от количества ничего не зависит. Главное - есть всё что нужно.

              Не стоит недооценивать силу Open-source ;)
            • 0
              Если уж потянуло на !"№;%:мерние :) : http://en.wikipedia.org/wiki/Comparison_…

              Лидирует Debian - 26000 пакетов. Но из-за некоторых особенностей их системы управления пакетами это число нужно поделить примерно на 2. Для Gentoo - 13000 пакетов.
        • 0
          >>> Apple MacOS X... ... имеет большое количество популярных приложений (в отличии от Linux):)

          Ну что вы говорите такое? Посмотрите только, сколько народу аж воет от желания иметь Amarok под Windows. Например, у меня друг один страшно хочет k3b под Windows. А о том какие !популярные! программы в OS X не знаю совсем... как и сам Эппл вижу только в магазинах с недавнего времени (ну не в Москве я живу), ни у кого среди друзей нет.

          >>>Но беда в том, что Apple живет в своем гетто
          Да, вы правы, им бы больше деловой агрессии, но портить отношения с MS не хотят, потому что они большие партнеры, при том что в то же время и конкуренты. Эппл любит быть "вещью в себе", что не есть хорошо.
          • 0
            > А о том какие !популярные! программы в OS X не знаю совсем...

            Я про iTunes краем уха что-то слышал. Больше ни одной популярной программки не припомню.
          • 0
            А вот я честно говоря не знаю, что такое Amarok или k3b и спокойно без них обхажусь (очевидно это не самые популярные и нужные для жизни программы) :)))

            А вот без Adobe PhotoShop и QuarkXPress и хороших русских шрифтов, множество моих знакомых просто не смогут зарабатывать себе на хлеб с маслом:(
            И как же нам теперь на Linux без них то податься, ведь по миру с сумой пойдем (тут должна бы нарисоваться крокодиловая слеза) ;(((
            • 0
              Это уже профессиональные, раз ими зарабатывают, нежели просто популярные :)
            • +1
              > А вот без Adobe PhotoShop и QuarkXPress и хороших русских шрифтов, множество моих знакомых просто не смогут зарабатывать себе на хлеб с маслом
              > И как же нам теперь на Linux без них то податься, ведь по миру с сумой пойдем (тут должна бы нарисоваться крокодиловая слеза) ;(((

              Я использую Линукс не потому, что это круто. :) А потому, что удобно. Очевидно, если б небыло нужного софта, я бы использовал что-нибудь другое. Если под Линукс нет аналога QuarkXPress, то решение для верстальщика простое и очевидное - использовать другую ОС.

              Amarok - самый популярный аудио-плеер\менеджер коллекции для KDE. Практически на 80% клон iTunes.
              k3b [kde burn baby burn] - ещё одна писАлка на диски. По функциональности примерно соответствует Nero Burning Rom. Где-то лучше, где-то хуже.
              Как видите, для KDE'шников это самые нужные для жизни программы. :)
  • –2
    Если 7 винда, будет такой же неудобной в обычном использовании, будет нагромождением в интерфейсе ненужных вещей, если ей банально не будет приятно пользоватся с точки зрения домохозяки:))))))))))))))))))))))) То придется пересаживатся на аппл.

    Меня не сильно интересует как оно работает уже, раньше интересовался, но сейчас надоело.

    Пусть в Маке есть вещи, которые мне не удобны, а в винде они удобны по определению (есть такие вещи), но например для меня как для простого пользователя такая вещь как программа 1 файлом в маке (вроде так), а не тонной разбросанной по всему диску с + в реестр нагадит, потом еще не захочет удалятся...

    ...так вот, многое значит.

    Есть столько способов сделать все удобнее, а не делают.

    Хочется простоты и понятности. ХР уменя работает очень стабильно, но глаз не радует совсем:)


    Виста красивее, но остальное все это убивает.

    Так что надо менять все, резко и радикально, пережить 1 раз несовместимость программ и игр думаю всем под силу.
    • 0
      > Так что надо менять все, резко и радикально, пережить 1 раз несовместимость программ и игр думаю всем под силу.

      Нет!! (одно время M$ сделали себе имя на этом факте). Читайте Спольского.
      http://www.joelonsoftware.com/articles/f…
      • 0
        Спасибо за ссылку. Очень впечатлило вот это:

        «Windows 95? No problem. Nice new 32 bit API, but it still ran old 16 bit software perfectly. Microsoft obsessed about this, spending a big chunk of change testing every old program they could find with Windows 95. Jon Ross, who wrote the original version of SimCity for Windows 3.x, told me that he accidentally left a bug in SimCity where he read memory that he had just freed. Yep. It worked fine on Windows 3.x, because the memory never went anywhere. Here's the amazing part: On beta versions of Windows 95, SimCity wasn't working in testing. Microsoft tracked down the bug and added specific code to Windows 95 that looks for SimCity. If it finds SimCity running, it runs the memory allocator in a special mode that doesn't free memory right away. That's the kind of obsession with backward compatibility that made people willing to upgrade to Windows 95.»
    • 0
      Вы живете в облаках.
    • 0
      >>>Так что надо менять все, резко и радикально, пережить 1 раз несовместимость программ и игр думаю всем под силу.

      А как быть с несовместимостью очень нужного ( и может даже очень дорогого ) программного обеспечения, не игр, плееров, фигнестрадалок, а ПО, на котором на хлеб зарабатывают?
      • 0
        Ну ведь аппл пережил переход на другие процессоры довольно легко, был режим эмуляции. Да и если надо, то основное ПО переведут через какое-то время, а пока можно и на ХП посидеть.
  • НЛО прилетело и опубликовало эту надпись здесь
    • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Спасибо:)
      Хотя, конечно тут моего текста немного, в основном эта статья скомпелирована из статей разных умных людей (в основном проф. Эндрю С. Таненбаума).
  • +1
    Apple OS X 11 =) масло масленное. Икс - это не икс, а десять. То есть логичнее сказать Apple OS XI
    • –2
      X - не обязательно 10, это может также быть Икс :)
      • +1
        ... а 10 X 11 это же... 110!
      • 0
        это именно 10, уверяю вас.
        • 0
          А с чего вы так уверены?
          А как по вашему читается название Developer Tools`а: "Xcode"? [ http://www.apple.com/macosx/developertoo… ]
          По-моему все читают её как "ИксКод" и никто пока не догадался читать как "ТенКод"!
          И смысл названия по-моему всем ясен это среда разработчика кода для операционной системы OS X
          По русские: «ИксКода» создает программы для «ОС Икс» - не ужели это не очевидно.

          А то что сегодня MacOS X 10 называют «Десяткой», так это потому, что она и есть Десятая версия операционной системы – MacOS X 10 [Мак ОС Икс Десять].
          А когда выйдет 11-ая версия операционной системы OS X [ОС Икс] все будут называть её «Одиннадцатой», для того что бы отличать MacOS X 11 [Мак ОС Икс Одиннадцать] от предыдущей [Мак ОС Икс Десять]
          Согласны:)
      • 0
        Всегда говорят: "Mac OS Ten"
        • 0
          А как произносят Apple Xsan Filesystem for Mac OS X Server, а?
          SAN - Storage Area Network [см.: Что такое SAN?]
          А Apple Xsan - это Apple`овская реализация Storage Area Network (SAN)
          - Xsan for Mac OS X == "ИксСан" для "Мак ОС Икс"!
          • 0
            • 0
              :)
              Ну и че вы думаете, что тупая программа знает как произноситься название Apple`овской ОСи?
              Да программа ничего про ОСь не знает, она просто читает латинскую букву "X" как римскую цифру.
              Вполне допускаю, что по правилам чтения в Английском языке, нужно "X" читать как "Ten", ну эти правила чтения никакого отношения не имеют к названию ОСи.
          • 0
            • 0
              Это просто технически неграмотные люди работают в журнале MacWorld.
              Среди америкосов, безграмотность - это обычное дело:)
      • 0
        Она сама себя так называет (Mac-O-S-Ten). Если в терминале Mac OS X написать "say Mac OS X", то скажет комп именно так.
    • 0
      Нет ну надо знать корни ОС MacOS X
      Она же произросла из ОС NeXTstep к которой просто компромисно прикрутили API MacOS
      (кстати из за этого NeXTstep хотя и приобрел кучу популярных программ, но потерял в логическом совершенстве, в надежности и элегантности)

      Х - имеет двойное толкование: с одной стороны это единственная буква указывающая преемственность с neXtstep, а с другой конечно 10-е поколение MacOS
      Но надо понимать, что MacOS X и старая MacOS это совершенно разные OS, поэтому не совсем корректно называть MacOS X просто 10-м поколением MacOS

      (В 1993 г. Microsoft выпустив 1-ю версию своей новой ОС - MS NT, добавила ей раскрученное и популярное название старой среды Windows, ну и за одно нумерация версий так же пришла со старой среды Windows 3.1 и так получилось название 1-ой версии новой ОС - MS Windows NT 3.1
      Так же и Apple поступила в 2000 г. выпуская 1-ю версию своей новой ОС - Apple OS X добавила ей популярное название старой среды MacOS, ну и за одно нумерация версий так же стала продолжаться со старой среды MacOS 9.0 и так получилось название 1-ой версии новой ОС - Apple MacOS X 10.0

      Причем замечу, что сама Apple на WWDC`08 стала называть свою операционку по новому:
      Apple OS X - это очень важный акцент который говорит о том, что в Apple MacOS X остается все меньше и меньше наследства от старого MacOS API, и все четче вырисовывается логическое совершенство NeXTstep
      Наконец таки Apple OS X возвращается к своему первозданному обектно-ориентированному логическому совершенству, понятности и надежности!
      Вы разве не заметили, что Стив Джобс развивает компьютеры Apple и их OS в продолжение семейства компьютеров компании NeXT.
      В современных рабочих станциях Apple MacPro от классических настольных Macintosh`ей (с обязательным встроенным дисплеем) уже мало что осталось, а все больше заметна схожесть с рабочими станциями NeXTcube, например многопроцессорность, изначальное свойство NeXTcube еще с конца 80-х кодов!
      • –1
        по мне наоборот - МакПро вымирающий пережиток прошлого :-/
  • 0
    ## автор! очень нужна ссылка на источник этой информации из первого абзаца: ##

    Еще хуже то, что около 70% кода ОС занимает код драйверов устройств, в которых ошибки встречаются в 3-7 раз чаще, чем в обычном коде.
    • 0
      Там же есть ссылка во втором абзаце на статью:
      • "Пересказ Сергея Кузнецова статьи Эндрю Таненбаума, Джоррита Хердера и Херберта Боса "Можем ли мы сделать операционные системы надежными и безопасными" - http://www.citforum.ru/operating_systems…
      из второго абзаца этой статьи эта информация и взята.
  • +7
    Господа!
    Это феерично.
    У меня несколько вопросов.
    а) Если это научная статья, на что приятно намекают концепции вроде математической доказанности отсутствия ошибок, то что в ней делает iДрочерство? Простите мою лексику, но иначе притягивание за уши МакОси на ядерных реакторах и великого Джобса в финале статьи и не назовёшь.
    б) Если это iДрочерская статья, то что в ней делают математические концепции?
    в) Господа! Давайте дрочить на математику, а не на Джобса? Даёшь математические статьи!
    • +3
      А что вам не нравиться? Рассказали про концептуальный проблемы любых современных ОС массового спросса - linux, windows, OS X. Потом рассказали про передовые разработки, такие как L4 и MS Singularity. Затем рассказали, что это уже применяется на практикте, упоминалось L4Linux и возможность применения L4 в OS X.

      ЗЫ. Вы что где-то когда-то видели объективные статьи? Такого не бывает, это вымысел. Давно пора научиться отсеивать все эти личные пристрастья авторов читая любойт текст в интернете.
      • 0
        Беда в том, что у Microsoft все теоретические исследования по MS Singularity никак пока не собираются использовать в коммерческом продукте Windows. Да и вообще этот проект Singularity настолько революционен, что его плоды прото не возможно применить в Windows. Для Singularity необходимо заново писать весь Soft да еще совершенно новым непривычным методом:(

        А у Apple теоретические исследования стараются применять на практике, так было еще в компании NeXT с ее проектом ОС NeXTstep, передовые разработки Университетов старались применять в ОС NeXTstep.
        Так же и сегодня Apple активно сотрудничает как с различными Университетскими коллективами, так и участвует в различных OpenSource проектах: http://www.apple.com/opensource/
        Я считаю подход к развитию своей ОС у Apple более логичный и полезный для пользователей MacOS X.
        Например результаты OpenSource проекта Darwin, Apple применяет в своей коммерческой ОС MacOS X:
        Darwin source code releases
        Getting Started with Darwin
        • 0
          Про Open Source вы немног ошибаетесь. "Участвует в различных OpenSource проектах" - не верно. Они открывает для публики некоторые свои проекты, такие как Darwin :)
          • 0
            Нет, ну не просто открывает свои проекты, а мне например известно, что программисты Apple активно участвуют в переносе таких продуктов как:
            OpenOffice и ZFS на платформу MacOS X,
            и все что они напрограммируют будет так же доступно обществу OpenSource.
            Откройте страницу: http://www.apple.com/opensource/ там приведен огромный список OpenSource проектов и написано, что Apple именно участвует в нижеперечисленных проектах.
            • 0
              Да вы немного не поняли мою мысль. Они ничего почти не дают в OpenSource, они только из него берут. Из того что дали - это открытие Darwin'а, который никому не нужен почти.
    • +5
      К сожалению именно "реальные учёные" (типа того же Танненбаума) любят приводить Mac OS X как пример коммерчески успешной системы с микроядром. Про то, что там монолитное обычное ядро поверх микроядра (что даёт в результате объединение недостатков обоих подходов) они обычно умалчивают.

      А что им ещё остаётся делать? Микроядра так хороши, что скоро завоюют весь мир, несмотря на то что до сих пор они не смогли выйти за пределы узкоспециализированных устройств? Такая агитация "не звучит". А вот магическое слово Apple создание слушателя будет будоражить.
  • 0
    Отлично. И мне бы тоже хотелось фактов, что компьютеры именно под управлением названных коммерческих ОС управляют стратегическими объектами. Что то мне сомнительно.
    И хотя в первом абзаце напрямую об этом не сказано, но намек прозрачен. Это такой журналистский ход?)))
    • 0
      Нет. Windows реально используется на авианосцах, например. С переменным успехом...
    • +1
      Как считаете, система управления и защиты реактора в атомной станции является стратегическим объектом? Думаю, да. На АЭС с реактором РБМК в новой системе управления и защиты технологические программы работают под DOS, а сеть данных работает на Linux. Защита от ошибок реализуется, в основном, резервированием и многоканальностью.
      Кстати использован ASP Linux
      • 0
        Можно уточнить - на какой именно АЭС? На всех?
        Это не скептицизм. Любопытство.
  • +1
    "Абсолютная ошибка" - напоминает "проблему 2000", истерию вокруг нее и освоение новых бюджетов.
    Конечно есть какието баги кочующие из версии в версию, но это скорее баги библиотек и приложений чем ядра ОС.
    • 0
      а еще напоминает "кольцо власти", чупакабру, "программу для мгновенного взлома любого пароля" и пр. легенды :)

      (единственное, что я слышал об абсолютной ошибке - это размышления на тему способа обмена информацией между "окнами")
    • НЛО прилетело и опубликовало эту надпись здесь
  • +1
    когда вышла виста и появились первые отзывы о ее "скорости" и "огромном выборе драйверов", мне показалось, что _вот оно_! MS, наконец сделало то говно, которые завалит его с головой... оказывается, нет, ошибся, все чуть хуже, чем при выходе XP, но не фатально... однако факт продления поставок XP - уже кое о чем говорит, равно как и исследования (разной степени предвзятости) о том, что самая частая причина перехода с винды на мак - виста и пр.

    на мой взгляд, чем универсальнее программный продукт, чем, естественно, хуже, тормознее и забажнее частные выполняемые им функции. это логично, это нормально, это так и есть. (простой пример - встроенный в винду графический редактор, в сравнении с гимпом)

    по заголовку поста, хочу сказать, что виндовс, насколько я помню (с 95й версии) особо надежным никогда и не был (в сравнении с маками и многими другими nix-ами, к примеру), однако уровень надежности, необходимый частным и большинству корпоративных пользователей - уже у XP достигнут (и с некоторым запасом, по видимому).

    п.с.: вот интересно: еще не все перешли на висту, еще не стихли дебаты на тему "стоит ли вообще использовать висту?", а мы уже рассуждаем о следующей версии и создается ощущение, что она, версия, не за горами...
    думаю, нас всех спасет от виндовс 7 следующая мировая война... :)))
    • 0
      Вы упускаете такой момент как аппаратная часть, которая со времен первой версии DOSа, значительно разрослась, и если на моем компе стабильно работает ХР, то я неуверен, что поменяв видеокарту у меня она будет работать так же стабильно.
      Все холивары Win vs Lin vs MacOs - суть непонимание - под виндами работает практически все доступное железо на рынке, больше софта, и это добавляет кучу багов. под линух железа на порядок меньше 9ели не на два) и его стабильность во многом обусловлена тем, что долгое время дрова и софт писали профессионалы под себя - т.е. появилась новая железка, под виндами пашет, а под линухом нет, что делает гуру линуха? - правильно ищет похожие дрова или сам пишет их, постепенно вылизывая код и избавляясь от багов. про мак ос вобще говорить неприходиться - до недавнего времени закрытая архитектора, да и щас не очень - стоит попробовать установить леопард на обычный комп, отличающийся от конфига тру мака. я не являюсь поклонником MS или intela, но респектим за то, что продвигают стандарты юсб и плуг-н-плэи всякие (кто настраивал в досе-винде звуковуху,сетевуху или еще какой девай занимающий прерывания меня поймет).
      • 0
        Linux прекрасно распознаёт оборудование. Единственное, что мне нужно было сделать для полной поддержки моих устройств - дописать в один файл слово "nvidia". Но система работала бы и без этого, просто это указание на использование проприетарных драйверов.
        • +1
          Наверное вы хотели сказать "Linux прекрасно распознаёт МОЕ оборудование" ;) .
          • –2
            Я хотел сказать: "Linux прекрасно распознаёт оборудование, в качестве примера можно привести моё".
            • 0
              Почитайте форумы линуксоидов ;)
              • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Угу. Чтобы работать со своим сканером Canoscan lide 600F мне приходится запускать винду в vmware, а вёбкамеру на ноутбуе так и не удалось заставить работать.
      • 0
        Все холивары Win vs Lin vs MacOs - суть непонимание - под виндами работает практически все доступное железо на рынке, больше софта, и это добавляет кучу багов. под линух железа на порядок меньше 9ели не на два
        Пора уже забыть про эти сказки. Так было несколько лет назад. А вот прямо сегодня, прямо сейчас Linux имеет больше драйверов чем Windows XP или Windows Vista. Не "на порядок или два меньше", не "примерно столько же", а "больше". Строго. Причём с неплохим отрывом.

        Разумеется проблемы бывают и там и там и, разумеется, ноут заточенный под Windows Vista будет для всего железа иметь драйвера, а Linux - может чего-то и не пойти (большая беда с WiFi и чуть получше - в видео, большая часть остального железа работает "из коробки"), но если взять железо не заточенное специально под Windows Vista - то ситуация меняется кардинально.
        • НЛО прилетело и опубликовало эту надпись здесь
  • +9
    К сожалению, основной объективный показатель, на основе которого автор делает столь масштабные выводы и обобщения, слишком неточен и относителен. Количество ошибок на 1000 строк кода очень существенно зависит от архитектуры системы и её отдельных программных модулей, языка реализации, и даже от инструмента разработки. И, наверное, всё-таки в первую очередь от того, хорошо ли выспался разработчик. Говорить, что в Linux в 2 раза меньше ошибок, чем в Windows просто потому, что оно содержит в 2 раза меньше строк кода - это, извините, абсурд. Я не защищаю Windows (даже скажу больше, я симпатизирую Linux), просто популистские высказывания такого рода раздражают.

    По поводу микроядерных ОС в целом хотел бы отметить следующее: у любой архитектуры имеются как достоинства, так и недостатки. Почему-то о недостатках микроядерной архитектуры, связанных с межпроцессным взаимодействием, Вы деликатно промолчали.

    А утверждение "Windows к сожалению так и останется с 10-ми тысяч багов и с раздраженными пользователями". Вы знаете, возможно, я очень толерантный пользователь, но у меня стоит Windows XP SP2 и я её работой в целом очень доволен (как минимум, не раздражён). Ошибок, связанных с некорректным функционированием самой ОС, честно говоря, даже не припомню.
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        Ну да, конечно. около 80% корректировок в ядро вносится различными фирмами и только 20 процентов свободными программистами (тут даже в каком-то посте об этом писалось), которые выспались, отдохнули и тп.
        И можно привести много причин, по которой одна контора выдаст лучший продукт, чем несколько слабо связанных компаний. Думаю сами с пяток наберете.
        • НЛО прилетело и опубликовало эту надпись здесь
      • НЛО прилетело и опубликовало эту надпись здесь
  • +2
    Логика автора сводится к следующему - в виндоус 50 миллионов строк кода, поэтому скорее всего там есть Абсолютная Ошибка. Ее никто не видел, но по мнению некоторых неназванных сторонних исследователей в разных версиях подобные Абсолютные Ошибки разные. Безусловно Microsoft прекрасно осведомлены насчёт наличия Абсолютной ошибки, но не считают её уязвимостью. И вывод напрашивается сам собой у MS Windows нет будущего.

    Информацию о том, сколько строк кода в Mac OS X найти не возможно - данные представлены только по Linux и Windows, но очевидно что Абсолютной Ошибки там быть не может. Сервис пак, который с помпой представили как Снежного Леопарда - зачистка перед новой системой "большого скачка". О ней неизвестно ВООБЩЕ НИЧЕГО, но очевидно, что Apple OS X 11 будет иметь непревзойденную надежность и универсальность!
    • +1
      сколько строк кода в Mac OS X найти не возможно
      Сорцы Дарвина открыты
      • 0
        Спасибо, прикольно! Тогда в связи с этим вопрос - если я это скачаю и установлю у себя на компе, у меня фактически будет Mac OS X? За что тогда платить $120 Эплу и о чем сыр бор, что нельзя установливать Mac OS на PC?
        • 0
          1) У вас будет ведро, приложений то не будет :-)
          2) Mac OS на PC есть, называется PC-Хакинтош. Это и стало возможным благодоря тому, что ядро открыто. Однако пока это всеголишь поделка хакеров. Всем ждут официального релиза от Apple.
          • 0
            Понял - и интерфейс там тоже похоже не макосовский, а линуксовый. Не интересно :)
            • 0
              Нет, у вас будет точно такая же Mac OS. Но понятное дело, что все это нелегально )
              • 0
                Это было бы классно, по судя по всему это не так. Тут http://docs.info.apple.com/article.html?artnum=60195 написано что в Darwin исходники пользовательского интерфейса (кроме всего прочего) не включены.
                • 0
                  Вы немножко не поняли. OS X уже работает под x86, но только на железе от Apple. Хакинтош - это хак ядра, что бы оно работало на любом железе x86. Все остальное для Хакинтоша берется уже готовое из дитрибутива OS X. Таким образом и достигается этот эффект. Так что в итоге у вас будет точно такая же OS X, как и на компьютерах Apple.
                  • 0
                    Да, спасибо, то что можно захачить OS X я понял. Я понадеялся, что можно официально скачать Darwin и будет мне OS X :)
                    • 0
                      Пока нет ) Возможно скоро, но понятное дело за деньги =)
                      • 0
                        да не будет этого никогда, забудьте. и слава богу.
                        • 0
                          "Никогда не говори никогда"
  • +1
    Давайте вернёмся к разговору о багах в "70% драйверных кодов", когда Linux или Mac OS X будут интересны такому же количеству хардварных вендоров, которым интересна Windows сейчас. Основные проблемы с надёжностью Windows — да, драйвера. Которые пишутся непонятно кем. WHQL должна была изменить ситуацию, но все комбинации железа и драйверов при таком их количестве перепробовать просто невозможно.
  • 0
    Переходим с ядер на картечь, а там и до шрапнели не далеко.
  • 0
    Пост - тенденциозная буйня. Больше и сказать-то нечего.
  • +1
    Теоретически необходимость микроядра обосновывается следующим образом.
    Операционные системы сложны. Для их упрощения применяется модульный подход.
    Вся соль микроядра в том, чтобы оставить у ядра, которое является основой
    основ, как можно меньше функций. Его главная задача — обмен информацией. А
    все возможности компьютера реализуются в виде сервисов, которые обеспечивают
    коммуникационные каналы микроядра. Предполагается, что вы разбиваете
    проблемы на такие мелкие части, что вся сложность пропадает.
    Мне это казалось глупым. Да, каждая отдельная часть получается простой.
    Но при этом их взаимодействие становится гораздо более сложным, чем при
    включении ряда сервисов в состав ядра, как это сделано в Linux. Представьте
    себе человеческий мозг. Каждая его составляющая проста, но их взаимодействие
    превращает мозг в очень сложную систему. В этом-то все и дело: целое больше
    частей. Если взять проблему, разделить ее пополам и сказать, что каждая
    половинка вполовину проще, то при этом вы игнорируете сложность интерфейса
    между половинками. Сторонники микроядра предлагали разбить ядро на пятьдесят
    независимых частей так, чтобы каждая часть была в пятьдесят раз проще. Они
    умалчивали о том, что взаимодействие между частями окажется сложнее исходной
    системы — при том, что и части сами по себе не будут элементарными.
    Это самое главное возражение против микроядра. Простота, обеспечиваемая
    микроядром, является мнимой.


    Это Линус Торвальдс. По вашему выходит, что и у Linux нет будущего. И только великая и могучая MacOS побеждает всех :)
    • 0
      Правильно, все остальные - еретики.
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        «Just for fun» прочитал на одном дыхании. Интересно мужик пишет.
    • 0
      Хорошо объяснил проблему, она наверно хорошо объясняется на примере того, чтобы попить чай достаточно облизать пакетик, поесть сахару и залить в рот кипяток))
    • 0
      > Аргумент Линуса Торвальдса против микроядерных ОС – «сложность взаимодействия между частями».

      Но я так понял, что вы согласны с постулатом: Чем меньше ядро ОС и отдельные её части тем меньше в них ошибок, и тем легче их проверять и вылизывать.

      А методы проектирования любой сложной системы состоящей из множества отдельных модулей, теоретически уже давно придуманы, эта область деятельности называется CAD или САПР (системы автоматизированного проектирования). Просто эти методы из других областей нужно перенести на проектирование ОС.
      Современный спор между микроядерными ОС и монолитными ОС, можно сравнить с эпохой начала 90-х когда Motorola проектировала свои CPU 68xxx практически вручную. Да процессоры M68xxx были очень эффективны и считались вершиной искусства проектирования CPU. А вот Intel в это время активно внедряла всевозможные P-CAD, занимаясь проектированием CPU из уже готовых модулей, а сам проект CPU как раз и состоял из искусства построения связей между частями CPU!
      Ну и где сегодня Motorola со своими CPU? А Intel оказалась права и сегодня уже ни один проектировщик CPU не обходится без автоматизации с помощью P-CAD систем.
      Подумайте сами, например сегодня Intel проектирует многоядерные процессоры состоящие из огромное количества частей и все эти части между собой успешно взаимодействуют.
      Сложность современных ОС неминуемо возрастает и рано или поздно все же придется перейти на проектирование ОС состоящих из небольших модулей, так же как в свое время это сделали разработчики CPU, даже несмотря на то что при этом действительно теряется некоторая эффективность. Но при современном развитии аппаратной части PC потери производительности в 5-10% будут незаметны по сравнению с выигрышем в надежности и не уязвимости ОС!
      • 0
        Нет, я не совсем согласен с Линусом. Просто высказывание хорошее. И к месту :) Вопрос стоит скорее в том, насколько ядро будет микро. Т.е. насколько мелкими будут части ОС. До безумия в этом плане тоже доходить не надо :)
  • 0
    Не понимаю.
    Разделение пространства команд и данные не относится к архитектуре ядра, это вообще отдельная песня, над которой многие нынче бьются. 9 из 10 уязвимостей - это как раз буффер оверфлоу, вызванные вседозволенность адресной арифметики C/CPP.
  • НЛО прилетело и опубликовало эту надпись здесь
    • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Почему под Singularity нельзя реализовать WinAPI, если под GNU/Linux есть свободная реализация?
    • 0
      Потому что совместимость будет такая же убогая как в Linux. Не будет bug-to-bug compatibility - а это фактически будет обозначать что совместимости нет. Почему в своё время Windows 2000/Windows XP с таким скрипом замещала Windows 9X что даже пришлось выпустить убожество под именем Windows ME? Вот именно потому что ядро разное. Но тогда никакие альтернативые вроде Mac OS или Linux никто вообще не воспринимал. Если сейчас затеять такой переход - можно потерять весь рынок...
      • 0
        От версии к версии у Windows всегда были проблемы совместимости, как и у любой ОС.
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Спасибо:)))
  • +1
    Есть у меня одна идейка. Могу предположить почему в Windows больше багов, чем в Linux. Все дело в людях, которые разрабатывают эти ОС. И в Microsoft достаточно профессионалов, но большую часть кода (пусть и не основного) пишут обычные люди, обычные программеры. Они делают это, потому что им за это платят. Думаю многие знают, что творится в больших конторах. Сотрудники нифига не делают, страдают всякой ерундой, потом пишут всякую фигню, чтобы их не уволили и платили зарплату. Отсюда и баги. Linux разрабатывают энтузиасты. Они делают это потому, что им это нравится. Они тщательно вылизывают свой код, делая его простым и эффективным. Совсем другое дело, когда кто-то пишет код по своей воли, когда над ним не стоит менеджер и не капает на мозги, когда можно в любое время прерваться или просто не работать, если нет настроения. И я абсолютно не согласен с заявлением автора, что в винде в 2 раза больше ошибок. Я думаю раз в 10, не меньше. Но уж точно не потому, что в винде кода больше. :)
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        Найти помешанных в хорошем смысле профессионалов не так-то просто. Сколько по-твоему людей работает над написанием Windows? 10? 100? Мне кажется многим больше. Я уверен, что среди них куча профессионалов, но не все, далеко не все. В статье мне понравилась идея про то, что современные ОС (как Windows и Linux) недостаточны хороши, так как из-за их сложности их структуру не может понять один человек. Из-за этого и проблемы. Здесь тоже самое. Я думаю, что руководители проекта четко представляют как все должно быть в общих чертах, но не все. Код пишут обычные люди. Из-за этого иногда можно наблюдать несогласованность. Например всем известная венгерская нотация - рекламируется профессионалами, однако сама Microsoft ее часто не соблюдает. Есть и более существенные упущения, так сразу все и не вспомнишь. Мне кажется, что если бы существовал человек, который мог бы понять всю структуру такой ОС как Windows, и если бы он один ее написал, тщательно все проверяя и не отходя от намеченного плана, то эта ОС была бы практически совершенна.
        Мне Linux подуше. Многое мне в нем нравится. Однако ошибки в нем у меня возникают почаще. Мне кажется, что это из-за кривости моих рук. ;) А точнее неопытности. В Windows тоже есть ошибки. Ошибки есть везде. Linux лучше тем, что предоставляет большее число возможностей для их устранения.
        • 0
          насколько мне известно отдельные компоненты делают разные люди. если же судить по ИЕ, которые делают куча индусов, то возможно и винду клепают так же, а потом просто вылизывают код остальное время
    • 0
      > Могу предположить почему в Windows больше багов, чем в Linux.

      А с чего вы вообще взяли, что их там больше?
    • 0
      Учитывая, что около 75-80% комитов в linux — те-же самые «обычные програмеры, работающие на зарплату в больших корпорациях» это более чем странно.

      Программист из MS(входит в top 20 разработчиков linux) немного поговнокодил для MS и бегом тщательно вылизывать код для Линукса? :D
  • +3
    Мерять качество кода количеством строчек кода - это, простите, трындец. Как и все выводы автора. Крайне неудачная попытка ещё раз подрочить на макось.
  • 0
    | И вывод напрашивается сам собой у MS Windows нет будущего.
    К сожалению с этим тяжело согласится. Маркетинг и мощь MS будут пробивать дорогу для Windows ещё долго. К сожалению.
  • 0
    Опять Таненбаум?
    И где сейчас его супернавороченная Minix с ее микроядром?
    Проблема в том, что хоть мелкие элементы легче. чем большие, но связей между мелкими гораздо больше и проблемы будут приходиться именно на них.
    • 0
      Minix 3 вполне развивающийся проект, последняя версия 3.1.3a — 8 июня 2007
      http://ru.wikipedia.org/wiki/Minix
      Попробуйте, а вдруг понравиться:
      http://www.minix3.org/
      • 0
        Какие преимущества она мне даст по сравнению с Linux как серверная или десктопная платформа? ))
        • 0
          Надежность;)
          • 0
            DOS тоже надежный...причем надежнее Linux и WIN вместе взятых.
            • 0
              Согласен:) Это же потому, что DOS маленькая OC и сначала была вручную запрограммирована практически одним человеком на ассемблере, а потом много лет вылизывалась в MS.
              И это еще раз подтверждает основной постулат, что чем меньше ядро ОС и отдельные части ОС тем меньше в них ошибок, и тем легче их проверять и вылизывать.

              Выше "proxor 12 июня 2008 06:53" привел сильный аргумент Линуса Торвальдса против микроядерных ОС – «сложность взаимодействия между частями».

              Но теоретически уже давно придуманы методы проектирования любой сложной системы состоящей из множества отдельных модулей, это область деятельности называется CAD или САПР (системы автоматизированного проектирования). Просто эти методы из других областей нужно перенести на проектирование ОС.
              Современный спор между микроядерными ОС и монолитными ОС, можно сравнить с эпохой начала 90-х когда Motorola проектировала свои CPU 68xxx практически вручную. Да процессоры M68xxx были очень эффективны и считались вершиной искусства проектирования CPU. А вот Intel в это время активно внедряла всевозможные P-CAD, занимаясь проектированием CPU из уже готовых модулей, а сам проект CPU как раз и состоял из искусства построения связей между частями CPU!
              Ну и где сегодня Motorola со своими CPU? А Intel оказалась права и сегодня уже ни один проектировщик CPU не обходится без автоматизации с помощью P-CAD систем.
              Подумайте сами, например сегодня Intel проектирует многоядерные процессоры состоящие из огромное количество частей и все эти части между собой успешно взаимодействуют.
              Сложность современных ОС неминуемо возрастает и рано или поздно все же придется перейти на проектирование ОС состоящих из небольших модулей, так же как в свое время это сделали разработчики CPU, даже несмотря на то что при этом действительно теряется некоторая эффективность. Но при современном развитии аппаратной части PC потери производительности в 5-10% будут незаметны по сравнению с выигрышем в надежности и не уязвимости ОС!
  • 0
    Резануло - Apple OS X 11. Джобс всегда говорил, что "X" в названии системы это не "икс", а 10. Можете исправить?
    • 0
      Выше уже написали. Прошу прощения за повтор.
  • НЛО прилетело и опубликовало эту надпись здесь
  • +1
    На счет ошибок. Пусть в двайверах будет 10^6 ошибок, но при этом список поддерживаемых устройств будет составлять 10^7.
    Ошибки ошибками, но мне лично плевать, насколько будет бажливый код в той ветке, по которой выполнение никогда не пойдет.
    • 0
      Это ты пока так говоришь. Потому что сидишь дома и в ус не дуешь. Мне тоже как бы сейчас плевать на это. У меня и антивируса нету. И не нужен он мне. На все подобные вопросы типа "Ай-ай-яй, твой компьютер уязвим." я отвечаю - "А никто ничего не поимеет с взлома моего компа." Но это только пока. Если выбирать ОС для серьезной работы (и ОС за которую я заплачу деньги ;) ), то здесь важны другие факторы. Если так как ты будут мыслить админы в банках, хакеры быстро разбогатеют за их счет. Профессионалы знаю, что направить выполнение в ту ветку в которой есть баг - дело довольно простое. У меня возникло подозрение, что ты уж точно не программист. А если программист - то очень плохой, потому что когда пишешь важный код - нужно проверять ВСЕ. Даже самое невозможное. Уж поверь. Я сам пишу драйвера под Windows. И уж поверь, по головке тебя никто не погладит, если ты не проверишь действительно ли тебе выделили память. Кажется ну как это? Абсурд полный - ОС не смогла выделить память. Так думают только новички да и то, до первого падения. Если ты и вправду программер - задумайся над моими словами. Я не в обиду тебе говорю, а так - опытом делюсь.
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Интересовались? Да я живу в Беларуси. Но кто сказал, что я работаю в Беларуси? ;) Насколько я знаю достояных контор в Беларуси, которые занимаются разработкой драйверов под Windows, практически нету (разве что CheckPoint, но там не часто приходится писать именно драйвера).
          • НЛО прилетело и опубликовало эту надпись здесь
            • 0
              С этим я пожалуй соглашусь. Именно поэтому я и не работаю в беларуских IT конторах. Разве что хочется отметить, что на мой взгляд, филлиал CheckPoint (Zone Labs) в Минске является все таки достойной конторой. А остальные конторы просто ужасают. Страшко даже как-то универ заканчивать. Не дай бог придется работать в одной из этих контор. :(
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Это смотря что понимать под надёжностью ОС. Само ядро, или ещё и драйвера под весь зоопарк железяк, которые воткнуты в комп?
      А то знаете ли, я вчера поставил древнющий Canon BJC-1000 под Win2000, так у меня документы Excel перестали открываться: Excel при открытии документа уходит в себя, один из процессов svchost жрёт 99% ресурсов проца. Налицо прелесть микроядра по майкрософтовски: один корявый драйвер приводит систему в нерабортоспособное состояние.
      Да и сама винда на этой, относительно новой машине, тормознее, чем на гораздо более старой.
      Или сетевую печать в сети из зоопарка виндов разных версий, когда в итоге локально на принтер печатать можно, а по сети, да ещё из терминалки — хер. Где глюк — ХЗ, со всех сторон всё вроде работает. Пока само по себе. А в связке — нет. А надо. Офисная, ?*(%*:%№;%, работа.
  • 0
    А ведь автор прав, когда написал, что у Винды нет будущего. Я это понял в январе 2007 года в Вегасе на презентации Vista. Это был натуральный сумасшедший дом. Не может быть будущего у системы, разработчики которой держат пользователей за полных идиотов.
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        Речь идет не о понимании. У меня возникли ассоциации с младенцем, перед которым трясут разноцветной погремушкой. Кстати, когда пытаешься найти понимание с идиотами, рискуешь потерять общий язык с нормальными людьми.
        • НЛО прилетело и опубликовало эту надпись здесь
          • 0
            Да я и не хожу. Но там был огромнейший павильон, а за ним была экспозиция фирмы, которая мне была нужна, вот и пришлось через него идти. А там еще специально ковер с толстым ворсом положили - ноги в нем увязали, поэтому быстро идти не получалось.
  • 0
    Мне кажется что Microsoft вполне посилам написать недежную и быструю ОС, которая бы всем нравилась. Вопрос ведь не в этом, а в том - захочет ли она это сделать. Microsoft - комерческая организация, и как ни крути ее цель - деньги. А их можно немало нагрести просто выпуская такой бред как Vista и прочее. Ну и что, что она не так популярна как XP? Думаю денег они не мало заработали с ее продаж. И еще сколько заработают. =)
    • 0
      Мне кажется что Microsoft вполне посилам написать недежную и быструю ОС, которая бы всем нравилась.
      Нет. Выберите две позиции из трёх, но не все три :-) Разработчики Windows Vista выбрали первый и третий пункты. Получилось... так себе.
      • 0
        Согласен, упущение. Но насчет надежности я должен не согласится. Что-то я не вижу в ней особо выдающейся надежности. По-моему XP понадежнее будет. И насчет того, что Vista всем нравится - разве что визуально. Графика прикольная. В остальном - ее все недолюбливают. Имею множество знакомых, которые купили ноут с предустановленной лицензионной Vista, снесли ее и поставили XP наверх. Думаю так бы и я поступил, если бы купил себе ноут. Или еще как-нибудь, но Vista наврядли оставил бы.
        • НЛО прилетело и опубликовало эту надпись здесь
          • 0
            Как ОС виста точно провалилась. Но как комерческий проект, цель которого приносить побольше прибыли, я думаю она удалась. Так уж мир устроен, что тут поделаешь. :(
    • 0
      На разработку MS Windows Vista затрачено ~ 6 миллиардов $ [ Windows Vista - новая vista Microsoft ]
      И вы говорите, что Microsoft - это коммерческая организация?
      Да за такие деньжищи можно целый город небоскребов построить!
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      >1. Я уверен, что код тчательнейшим образом документируется.
      >2. Уж простите, возмутило до ужаса! Откуда Вам известно, что понимают, а что непонимают в Микрософт?
      Прикольно. То есть вы уверены в непогрешимости мс с одной стороны, но допустить уверенность в противном от другого человека не можете до состояния возмущения с другой стороны? Оччень интересно. Какая-то аберрация? :)
      >Не поверю, что там работают некомпетентные девелоперы, которые даже сами не могут понять, что написали.
      Дело не в этом. Просто система стала и большой и сложной.
      >Второе аявление, простите, безпочвенно, что называется, пальцем в небо. Процесс разработки сокрыт от общественности в определенной степени.
      Но, в определённой степени так же и известен. Ссылку на статью Спольского тут уже кидали. Существование Абсолютной ошибки так же очевидно всем, кто когда-либо слышал что-нибудь о вирусах :).
      • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Windows Vista cоздавалась более 5 лет силами 10 000 девелоперов.
      На разработку MS Windows Vista затрачено ~ 6 миллиардов $
      Если вы её эксплуатировали, то вы должны были удивиться чем же заниались эти 10 000 девелоперов в течении 5 лет:
      • создавали 3D интерфейс Windows Aero;
      • API DirectX 10;
      • и внедряли новый TCP/IP протокол.
      Не слишком ли мало работы для такой аравы людей?
      А может они разбирались в коде который на нашкодили девелопер Windows XP?
      • НЛО прилетело и опубликовало эту надпись здесь
  • НЛО прилетело и опубликовало эту надпись здесь
  • НЛО прилетело и опубликовало эту надпись здесь
  • –1
    а мне понравился пост. и пофиг на всё.
  • 0
    Бред... =.)
  • +1
    Хорошая обработка материала, который вы в соседней ветке предоставили в виде ссылок, однако есть промашка: в разделе о L4 можно видеть "Если сравнивать Mach и L4", при этом о mach ранее не было слова, так что осторожно с копи пастом :)

    Касательно статьи. Надежность нужна, безусловно, но только там, где в ней есть острая потребность. К примеру QNX на микроядре (да да, и с драйверами в user space), но кто же его будет сейчас использовать на десктопе? Нужен красивый интерфейс, поддержка оборудования и хорошие медиавозможности. Точно также Windows и Windows CE не будут использовать там, где важна сверхнадежность, или есть потребности в RTOS.

    В Майкрософт и Apple это прекрасно понимают, потому и не торопяться отправлять в утиль накатанные разработки и срочно менять ядро ОС. Хотя Apple это сделать значительно легче.


    А касательно надежности микроядерных ОС - это ведь тоже понятие относительное. Даже если драйвер будет работать в user space, то это не мешает ему положить всю систему. К примеру в DMA контроллер устройства передаеться неверный адресс на шине, и DMA контроллер весело перезаписывает кусок ОЗУ, или к примеру это самое микроядро в памяти, и все, приехали. На х86 архитектуре для этого еще больше предпосылок, поскольку bus address = physical memory address, и еще нет аппаратного IO MMU, который бы мог как-то защищать определенные области системной памяти от записи. Получаеться у ОС нет никаких средств контролировать подобные явления, т.е. единственный в данном случае выход - тестирование и отладка драйверов устройств, т.е. фактически те же методы, что и для монолитных ядер.

    Поймите верно, Windows Se7en будет надежной настолько, насколько это нужно для текущих потребностей среднестатистической домохозяйки. И это не потому, что Microsoft злые гении, зацикленные на прибыли, а потому, что рынок - инертен. Как видно, в рамках x86 архитектуры (которая дырявая очень: всевозможные отладочные регистры и брекпоинты; отсутствие хорошей аппаратной защиты памяти; SMM, через который можно взять целиком контроль над системой, потому как SMM полноценный режим работы процессора, аля real mode; уже не говорю о подмене lgdt и выхода в ring0 из юзермодного процесса) абсолютная надежность - труднореализуема. Отмести х86 сейчас, и переключится к примеру на PPC - тоже сложно, как стимулировать покупателя покупать новые компьютеры (которые возможно на начальных этапах будут менее производительны)?

    Однако выход есть, и все стремительно к нему движуться. Обращали внимание на IPO проведенное VMWare? Так вот, будущее в рамках текущей архитектуры, это ограничение и разделение ресурсов на аппаратном уровне, т.е. технологии виртуализации (VMX, Pacifica). Т.е. единый гипервайзор, который будет контроллировать в системе абсолютно все ресурсы, вплоть до устройств (к примеру в PS3 даже обращение к сетевой карте или WiFi адаптеру происходит путем вызова функций гипервайзора) и разграничивать ресурсы между гостевыми ОС.

    Может что-то не четко описал, но тем не менее.
    • 0
      Спасибо!
      Сразу видно слово практика, а не теоретика:)
  • +2
    каменты наглядно демонстрируют, во что скоро превратится хабр
    • 0
      Он, вроде бы, уже превратился.
      • 0
        Угу. Если с win/lin большинство решили, что win — неизбежное зло, на котором часто приходится работать. Но на Хабре особый вид холиваров: эпл/не эпл.
  • 0
    Не того что бы холивар разгорелся по полной - не хватает Линуса :)
  • НЛО прилетело и опубликовало эту надпись здесь
  • НЛО прилетело и опубликовало эту надпись здесь
  • НЛО прилетело и опубликовало эту надпись здесь
    • +1
      Весьма интересно было почитать ваш комментарий. Действительно. Какая же на ваш взгляд хорошая ОС ?
      • НЛО прилетело и опубликовало эту надпись здесь
  • +1
    Даже в самой Microsoft не совсем точно понимают, что же они разработали. Разбираться в коде очень и очень сложно. Скорее всего Microsoft Windows во всех своих версиях содержит уязвимость, которую исправить невозможно (по мнению некоторых сторонних исследователей в разных версиях подобные Абсолютные Ошибки разные). Лечить её примерно то же самое, как заделывать дыру в середине фундамента, на котором уже стоит многоэтажный дом. Безусловно Microsoft прекрасно осведомлены насчёт наличия Абсолютной ошибки, но не считают её уязвимостью.
    Откуда эта информация взята? Автор сам ее придумал? =))
    О какой абсолютной ошибке идет речь?
  • 0
    Н-да, "почему автомобили никогда не станут надежным средством передвижения?" (пользуйтесь альтернативными), "почему презервативы никогда не станут надежным средством предохранения?" и прочее.
  • 0
    очередной вендекапец, а сколько лет она уже вполне хорошо себе существует и развивается :)
    автор врядли представляет себе, что в коде винды вообще твориться - он же закрытый, а соглашение о неразглашении все подписывали, ага
  • 0
    Хочу понять мнение автора.
    Ваш вывод: у windows нет будущего, потому что он на макроядре. Так?
    Linux - макроядро, сделовательно у него тоже нет будущего. Верно?
    Или, по-вашему, суровое макроядро линукса принципиально отличается в своей макроядерности от макроядра винды? :)
    • 0
      Все дороги ведут к MacOS X :)
    • 0
      Над вылизыванием ядра и частей Linux работают 10-ки тысяч добровольцев и десятки крупных компаний, таких как: IBM, Oracle, RedHad, Novell, HP, SGI и т.д.
      И это коллективное творчество приносит свои результаты. Общепризнано что в Linux ошибок в разы меньше чем в Windows.
      Подумайте сами, почему SGI [ http://www.sgi.com/products/software/lin… ] использует Linux for Itanium, а не MS Windows Server for Itanium на суперкомпьютерах предназначенных для министерства обороны, а?
      • 0
        Спасибо, ваша точка зрения ясна: опенсорс надёжность макроядра осиливает, а вот закрытые разработчики только на микроядро способны, может быть :)
        Просто в статье, насколько я помню, речь идёт о том, что макроядро в принципе архитектурно ненадёжно, но ничего не сказано, что речь идёт только о макроядре винды.
  • +1
    Автор, исправьте, пожалуйста, следующее: "Надежность Микроядрных ОС происходит из разных источников. Во-первых, размер кода, выполняемого в ядре, составляет около 4000 строк, и общее число ошибок - всего около 24."
    Это что, у всех микроядерных ОС размер кода, выполняемого на уровне ядра, составляет 4000 строк? Если пишите про MINIX, так и указывайте.
    Спасибо.
  • +1
    Осталось только Apple сделать свою ось устанавливаемой на PCюки, и тогда уж точно настанет вендекапец, а особенно вистекапец.
  • 0
    не особо читал комменты, может было, но если кому надо, то можно качнуть исходники Singularity, которые опубликовала Microsoft не так давно: http://www.codeplex.com/singularity/Release/ProjectReleases.aspx?ReleaseId=11305
  • 0
    Microsoft потихонечку о "перепишут" офис, студию, сервера, и т.д. на .net, и портируют .net на "новую" ось на основе singularity.
    • 0
      Ага, M$ - двигатель прогресса. Где бы без них сейчас железо находилось?
  • 0
    кроме l4, есть еще две интересные системы, это Inferno и Оберон-2, и кстати защитить память можно на на уровне системного языка, а не только ядра.
  • 0
    Windows 7 выйдет ещё не скоро, а уже делают выводы какой она будет =))
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    -1. Предисловие

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

    0. Определения.

    Давайте сначала разберемся, что будем понимать под «надежностью ОСи» именно с точки зрения ее практического использования, а не как «сферическую надежную/ненадежную ОСь в вакууме».

    Очевидно что как раз для пользователя «ОС» намного больше чем просто «Ядро ОС». На голом ядре каши не сваришь.
    Для пользователя ОС — это и стандартное окружение, и стандартная оболочка и набор стандартных утилит, и набор стандартных запущенных процессов, да и вообще многое чего. А о самом ядре, кстати, пользователь может вовсе зачастую и вообще не догадываться (так если рядовому пользователю сначала показать «KDE пропатченное под FreeBSD» а потом показать какую-нибудь Kubuntu, и спросить в чем разница, не думаю что много кто скажет про ядро, большинство скажут про цвет обоев, и расположение иконок).

    1. О ОСи, определение «надежности ОСи», и почему и как глючит винда

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

    Только так и никак иначе! Или сбои в работе ОС являются «слабым звеном в бизнес-процессах пользователя» для пользователя (тогда ОС по данному определению ненадежна) или таковым не является!

    Кстати (для всяких холиварщиков, чтобы меньше было повода холиварить), точно такое же определение можно отнести не только к «стабильности ОС» но также и к «функционалу ОСи»: так например, в функционал ОСи айфона не включено штатное средство приема/передачи файлов через блютус, но это не является «слабым звеном в бизнес-процессах» айфон-юзера который спрашивает «а что такое блютус и нафиг он нужен», а поэтому и вовсе не агрумент в холиварном споре с поклонниками телефонов Nokia/Motorola которые радостно ведут свои «бизнес-процессы», перекидывая друг другу файлы, и которые очень бы огорчились нехватки данной функциональности.

    Так вот, если следовать нашему опеределению, то как раз с точки зрения надежности бизнес-процессов пользователя как раз абсолютно не важно «почему зависла винда», для него по сути важен факт срыва выполнения бизнес-процессов (что-то работало-перестало работать — это очень плохо).

    Но нам, как раз интересно рассмотреть возможные причины «ненадежности работы Винды» которые так подло срывают налаженную работу миллионов юзеров:

    1) Итак, Во-первых, конечно, первая причина — упомянутые много раз в статье и комментах несчастные говнодрайвера, работающие в ring0. Да, что есть, то есть, винду вполне может подвесить какой-нибудь кривой драйвер например вебкамеры или еще какого-нибудь массового говножелеза. Но ведь это не единственная причина, не будет торопиться с выводами, быть может эта причина слишком преувеличена!

    2) Следующая причина ненадежности — это любой из многочисленных кривых COM-компонентов. Btw, если кто не в курсе, MS Windows — это система основанная на COM (Component Object Model — компонентно-обьектная модель, обьектная модель компонентов, типа того… а еще он же OLE, он же ActiveX, он же еще много страшных слов). Вернее на COM основано все стандарное и нестандартное окружение винды. Вы наверное с трудом найдете в винде что-нибудь что прямо или косвенно не использовало бы COM (поэтому просто так «отключить нафиг разом все кривые COM-компоненты» у вас не получится, вся винда — один большой взаимосвязанный ком, ссори за каламбур).
    Так вот,«подвесить винду» абсолютно легко может любой из многочисленных кривых COM-компонент, которые во множестве входят во всякие MSIE, Outlook, Обеспечивают работу всяких таких вещей как «Рабочий Стол», «Сетевое Окружение», «Корзина», «Мой компьютер» и всего многого прочего, чего у вас не хватит представить самой смелой фантазии.

    А теперь заметим (мы же обсуждаем микроядро и стабильность), все это многочисленное переплетение разнообразных компонент великолепно сидит себе в ring3 и даже не помышляет лазить куда-то к ядру в ring0, и казалось бы совсем не может никак навредить

    НО: (!NB!) «не может навредить ядру» != «не может навредить пользователю». Если смотреть с точки зрения пользователя, у которого из-за какого-то говнокомпонента вдруг внезапно подвисла «оболочка» — перестали, например, кликаться ярлыки на «Рабочем Столе»? Для юзера это означает однозначно «подвисла винда». Да, для юзера это называется именно «подвисла винда», хотя «винда» при этом т.е. «windows kernel» при этом прекрасно себе в этот момент работает в своем ring0 и горя себе не знает!

    Думаете, на компонентах дело о «ненадежной винде» заканчивается? не-а!

    3) Но на деле все еще хуже. ОСь это не только ядро и куча непонятных юзеру компонентов, это еще и работа кучи многочисленных служб, которые крутятся в фоновом режиме незаметно для пользователя (опять-таки эти службы в ring0 тоже обычно не лезут).

    Все это незаметно для пользователя, конечно — незаметно! Ведь не каждый юзер знает «где что смотреть». И Незаметно, пока где-то в них что-то не сбойнет… А вот тут-то для неподготовленного юзера бывает большим сюрпризом узнать, что винда например, просто буквально жить не может без какого-нибудь непонятного процесса типа lsass.exe (отвечающего оказывается за какую-то там не менее непонятную (для конечного юзера) авторизацию, «а вообще что такое авторизация» спросит юзер, и «почему у меня вообще на компе вдруг все исчезло»).

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

    4) Есть еще и Прочее Програмное Обеспечение. Представим, Другой юзер «ненадежной винды» у нас оказался «продвинутым», он наставил себе разных программ, для «бизнес-процессов с размахом». Например, решил поработать, с базой данных MSSQL на ASP.NET под сервером IIS, и вдруг обнаружил что у него все глючит, тормозит и не работает? И что? Но тут-то причем казалось бы «нестабильность винды»?

    С точки зрения «windows kernel» совсем нипричем! Но НЕ С точки зрения бизнеспроцессов юзера, решившего настроить работу связки IIS+ASP.NET+MSSQL и имеющего на этот счет какие-то ожидания для своих бизнес-процессов!

    Это опять-таки означает, представьте себе, «глючная и ненадежная винда», и именно «винда» опять-таки очень даже причем!!! Хотя никамим «ядренным ring0» уж тут-то даже и близко не пахнет!

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

    А уж представьте насколько «ненадежной виндой» будет винда у матерого геймера, у которого под Win7 не завелась любимая игрушка, тут downgrade однозначно, и еще всем друзьям-геймерам злобно сообщить что Win7-глючное говно, а XP-рулезфорева, потому что любимая игрушка не завелась :)

    Вывод: А теперь давайте попробуем посчитать из этих вышеприведенных 4x причин «ненадежной винды». А потом можно будет прикинуть обьему кода, и плотность багов на тысячу строк кода и количество человеко-часов и всего остального. Ring0 из этого только первый пункт- драйвера. Но они, как раз составляют настолько ничтожно малую часть по сравнению с пунктами 2)-4). Выведение из ring0 в ring1-ring3 (геморойный, кстати процесс, связанный с пересмотром архитектуры ядра) каких-то пары-тройки несчастных мегабайт, совсем ничто по сравнению с остальными десятками гигабайт всякого софта, сервисов и компонент.

    Хозяйке на заметку: Кстати, тут кстати видно, что если исходить из «надежности ОС» как надежности работы стандартных библиотек ОСи и стандартных утилит ОСи работающих со стандартными настройками дистрибутива ОСи, то вот тут как раз споры «что надежнее Gentoo или Ubuntu» как раз имеют под собой хоть какие-то основания, несмотря на то, что они основаны на одном ядре Linux.

    Любой здравомыслящий человек вам скажет, что выпилить драйвера из ядра винды это слишком много мороки, а выхлоп ~0. Почему? Да просто нерентабельно.

    Если те же самые человеко-часы программистов направить, например, на закрывание багов в стандартных компонентая и системных службы, с точки зрения юзера винда получит "+10 к стабильности", "+100 к понтам", "+1000 к росту акций microsoft" и "+1000000 в карман Билу Гейтсу".

    А как-же вы спросите, насчет, например, кривых драйверов какой-нибудь вебкамеры или принтера? А по-большему счету, хрен на них, это бизнес, детка! Я совершенно серьезно!!! Чисто по программисто-человеко-часам нерентабельно!!! Вот закрыть дыру например в какой-нить стандартной компоненте MSIE или Outlook — это разом «аффектит» десятки миллионов пользователей по всему миру (да и к тому же можно очередной раз пропиариться «вышло очередное обновление безопасности KBXXXXX, теперь винда стала еще круче и стабильней, бла-бла-бла..»).

    А еще то, что драйвер какого-нить говнопринтера не работает под Vistой/Win7 это ведь по большей части проблема производителя самого принтера. Если ему интересен этот сегмент рынка — он как миленький допилит драйвера, а если не интересен то ССЗБ, пусть теряет потенциальных юзеров, они великолепно купят принтер другого производителя драйвера которого работают под его ОС. Это бизнес!!! Никто не будет просто так решать бесплатно чужие проблемы!!! Microsoft вообще в бескорыстном альтруизме замечена не была! Кстати, насчет драйверов железа, btw, MS сама пишет допиливает и поддерживает массу драйверов для железа, которое является более-менее стандартным и массовым (т.е. в тех случаях когда это действительно рентабельно для нее).

    Как вы видите, в этом плане как раз с практической точки зрения проблема с багами в драйверах по меньшей мере немного преувеличена.

    2. Hardware. Или а что же все-таки там в ядре и в ring0 и все ли так гладко

    Теперь о kernel-mode/user-mode драйверах железа. А давайте рассмотрим конкретный пример (что-нибудь такое близкое к реальным примерам из жизни).

    Представим себе, например юзер пошел в магазин и купил, например новый рейд-говно-контроллер из категории «что-нибудь подешевле», ну и предположим, он принес себе домой, втавил в комп и этот говноконтроллер у него не заработал.

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

    А это причина может быть как в говнодрайвере этого говноконтроллера, так в говножелезке этого говноконтролера, так и в говнофирмвере этого говноконтроллера, так и в материнской говноплате, а еще даже в говнобиосе этой материнской говноплаты.
    А также не забываем о таком сверхважном факторе как соотношение погоды на марсе с фазами луны.

    Но скорее всего причина этих зависаний (ненадежности бизнес-процессов данного юзера при общении с ОС, не забываем наше определение «надежности» выше) в хитром сочетании конкретной версии конкретного драйвера под конкретную ОС, работающим на контроллере с конкретной версией фирмвера, воткнутому в конкретную модель материнской платы проявляющийся из-за особенностей конкретной версии конкретной версии прошивки биоса материнки возникающего из-за конфликта данного говноконтроллера с говноконтроллером встроенным в материнку! Так-то! Почти что влияние фаз луны не совпавшие с погодой на марсе:)

    Вот так! Такое вот хитрое сочетание факторов может быть в реале (а обычно так и происходит, у соседа юзера такой же контроллер работает в другой материнской плате, а у однокурсника — на другой операционной системе, а у коллеги по работе тоже все глючило, но ему «подсказали умные люди» — он поменял прошивку и все заработало).

    Вот пример абсолютно реальной проблемы которая проявляется в драйвере, при этом причины ее находятся в хитром програмно-аппаратном переплетении обстоятельств именующимся реальная жизнь.

    Как вы думаете, что сделает пользователь столкнувшись с такой бедой? Правильно, попробует поискать сначала методы софтверного решения (например, найдет в интернете, что можно обновить прошивку этого говноконтроллера, или скачает свежую версию драйвера данного контроллера). Кстати, юзер пробует сначала софтверное решение — потому что оно проще, чем хардверное, и в этом нет никакой мистики!

    Или не найдет, тогда он решит проблему железно — выкинет нахрен этот говноконтроллер и купит новый, возможно чуть подороже, но обращая на этот раз внимание на отзывы в интернете и проследив что новый контроллер точно заработает с его осью и материнкой.

    А собственно, при чем тут наша тема «микроядро как серебрянная пуля» и данный пример с говноконтроллером? Мы ведь обсуждаем тему «надежность ОС».
    Да, предположим, в драйвере того говноконтроллера был баг, хитро проявляющийся в тех случаях когда на материнской плате уже был похожий встроенный говноконтроллер с отличающейся версией прошивки.

    Но что, кто-нибудь серьезно думает, что «проблема надежности ОСи» бы волшебным образом сама разрешилась от одного того факта, что этот драйвер говноконтроллера выполнялся бы в usermode, в ring3? Наверное, все-таки нет, юзер так бы и не получил желаемую работу с дисками подключенными к этому говноконтроллеру.

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

    А если посмотреть на «Хорошие Примеры», является ли это вообще «серебрянной пулей»: просто взять и вывести всю работу с железом в юзерспейс? Увы, к сожалению, нет, «серебрянных пуль не существует»!

    В *nix, например есть замечательный пример вынесения части работы с железом в userspaceX-сервер. Процесс X-сервера работает с регистрами VGA-адаптера и со смапленной в адресное пространство видеопамятью напрямую из userspace.

    X-Server — это действительно, Хороший Пример, он повышает надежность системы, чуть-чуть немного повышает (причем повышает надежность, что характерно там, где это не в ущерб производительности), в ядре не болтается куча всего того что в ядре действительно никаким боком не нужно.
    Ведь в ядре, по сути действительно абсолютно не нужен код отвечающий на запросы приложений вроде «отображай мое окошко в позиции 100 пикселей слева и 20 пикселей сверху», «скажи мне, когда мышка будет находиться над моим окном»,«а теперь отрисуй мне, пожалуйста, в этом окне в такой-то координате x:12 y:30 слово из трех букв большим красным цветом» и прочие радости относящиеся к реализации GUI.

    X-Server — Хороший Пример! Но увы, это не панацея в случае аппаратных проблем, вызванных в том числе и сбоем в драйвере/программе. Что будет, если X-Server немножко ошибется и запишет немножко не то значение не в тот регистр? Правильно, мы получим неработающую железку видеокарты и парализованную работу с GUI. Да, если сбой в видеокарте не фатальный, можно перезапустить X-Server, это хорошо, а если фатальный?
    Так что даже в «хорошем примере» userspace-вовсе не панацея, а просто приятная фишка, убирающая из ядра то что там не нужно (кстати, многие части используемые X-Serverом, такие как аппаратное ускорение, считающиеся критичными по перфомансу, все-таки используют модули ядра, поэтому нельзя сказать что вся работа «железом» у «Иксов» происходит исключительно в userspacе).

    3. Микроядро. Так все-таки что насчет микроядра?

    А давайте посмотрим где все-таки используются микроядра «в реальном мире». Мы видим, что это в основном это realtime и embedded. И это неспроста.

    Т.е. есть такие особые случаи, где у конкретного «програмно-аппаратного комплекса» имеется достаточно конкретная узкоспециализированная область задач, причем обычно там, где идет очень тесная связь с узкозаточенной аппаратурой.

    Это те случаи, где такими вещами как надежность можно управлять. И ради этой лишней управляемости можно пойти на лишние накладные расходы, которые вносит микроядерная архитектура.

    P.S.: наверное надо было данный коммент оформлять в виде отдельной статьи, уж больно он развернутым получился, ну ладно.
    • 0
      А ещё, вы наверное удивитесь, микроядра сейчас активно испльзуются во всяких смартфонах. И да. Установка, замена, перезагрузка драйвера «на лету», без перезагрузки, использование драйвера «чужой» ОС, тоже дорогого стоят.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.