MS Windows for Linux
АрхивКомментарий дняДля конечного пользователя, операционная система Windows - всего лишь оконный интерфейс, предоставляющий набор знакомых функций для общения с прикладными программами. Заменив ядро этой ОС на разрабатываемое сообществом Open Source ядро Linux, Microsoft смогла бы выиграть сразу несколько сражений с конкурентами.
Вчерашняя колонка об алгоритмической подоплёке полумифического браузера XWEBS и возможных принципах ускорения работы веб-браузеров вообще, вылилась в неожиданно бурную техническую дискуссию, в которой понемногу досталось всем её участникам. С этой точки зрения тема, которую хотелось бы обсудить с вами сегодня, опасна вдвойне - ибо за идею, что будет представлена ниже, можно влёгкую получить по ушам, будучи обвинённым в дилетантстве. Тем не менее, находясь в здравом уме и трезвой памяти, признаю, что отказаться от обсуждения этого вопроса нет никаких сил. Поэтому - к делу. Скажите, как вы смотрите на то, чтобы положить в основу MS Windows ядро операционной системы Linux? :-)
Несколько дней назад в Сети появилась статья "What Lies Beneath" ("А что внизу?"), написанная известным компьютерным журналистом Робертом Крингли (Robert X. Cringely). Статья посвящёна подноготной операционных систем семейства Microsoft Windows, а точнее - раскрытию величайшего обмана всех времён и народов: использованию MS-DOS в качестве основания всех без исключения Windows, от первой версии до XP. Как утверждает Крингли, DOS является тем краеугольным камнем, который по сей день держит всё здание Windows. Все внешние элементы, благодаря которым пользователь воспринимает продукт как ОС Windows, на этот камень попросту навешаны. Утверждение, мягко говоря, спорное и даже скорее всего не соответствующее истине, но Крингли не приходится опасаться за свою судьбу: его имя - всего лишь коллективный псевдоним, под которым в разные времена скрывались разные авторы. Вместе с тем, есть во всём этом и рациональное зерно.
Вспомните, чем была ОС Windows вплоть до своей 95-й версии. Родившаяся в 1985-м году в качестве графической оболочки, призванной повысить удобство работы с DOS (более интуитивным интерфейсом и многозадачностью), Windows оставалась таковой на протяжении своих первых трёх версий и десяти лет эволюции. Многое говорит в пользу того, что и в Windows 95 ситуация изменилась незначительно - выразившись лишь в смене старой версии DOS на её более совершенную модификацию (7.0), по-прежнему работавшую в тесном контакте с обретшим некоторую самостоятельность программным интерфейсом Windows. В Windows 2000 и XP, DOS, наконец, была выведена из состава системы, став лишь процессом, запускаемым по желанию пользователя. Но посмотрите на картину в целом - что изменилось с момента появления Windows 1.0?
Вспомните проект XPde, в рамках которого создаётся графическая оболочка для Linux, функционирующая идентично "рабочему столу" Windows XP. Столкнувшись с таким продуктом (теоретически, конечно) не каждый пользователь сразу сообразит, что он в другой ОС. "Винда" для пользователя - набор окошек с кнопками определённого вида, панель задач, стандартные приложения. А если так - почему бы Microsoft не положить в основу Windows ядро Linux, отказавшись от дальнейшей разработки своего ядра? Самое замечательное, что живой пример подобного перехода уже есть. Это Mac OS X компании Apple, сумевшей сменить ядро своей операционной системы, почти не повредив восприятию продукта его пользователями: те же окна, те же принципы работы…
Главный плюс такого перехода (возвращаясь к Microsoft) очевиден: будут сэкономлены средства на разработке ядра, берущего на себя все низкоуровневые функции - ведь всё, что потребуется от софтверного гиганта, это написать промежуточную прослойку, эмулирующую Windows API для прикладного программного обеспечения, но взаимодействующую с Linux. Кроме того, коммерческая компания сможет заделаться крупнейшим в мире сторонником открытого софта, одним махом избавившись от обвинений в нечестной конкуренции и постоянных упрёков в некачественном (читай - дырявом) коде операционной системы. Впрочем, главный минус также на поверхности: совмещение двух сложных систем (ядро Linux + Windows API) вряд ли пройдёт безболезненно, по крайней мере в первое время снизив общую надёжность всего продукта и его быстродействие. Но так ли уж критична скорость работы ОС в эпоху гигагерцовых процессоров? Какие ещё достоинства и недостатки таит в себе перевод Windows на Linux-ядро? Насколько обоснован он соображениями экономии и не будет ли выгодней продолжать развитие собственного ядра? Возможен ли вообще такой переход - учитывая фантастическую сложность Windows? Любые предположения и идеи приветствуются - поучаствуйте в дискуссии!