Архивы: по дате | по разделам | по авторам

Окна для пингвина

АрхивКомментарий дня
автор : Евгений Золотов   26.01.2004

Идея скрестить Windows с Linux кажется злой насмешкой над чаяниями миллионов пользователей, но нашлись хакеры, сумевшие сделать невозможное.

Всю прошедшую ночь и весь предстоящий день темами, определяющими настрой Сети и традиционных СМИ, были и наверняка останутся успешная посадка марсохода Opportunity и запуск (и клиническая смерть под наплывом несметных орд привлечённых брендом пользователей) сервиса Orkut, построенного разработчиками Google. Но мне бы хотелось обратить ваше внимание на свежую разработку, появившуюся не вчера, но попавшую в поле зрения общественности лишь на днях. Её уникальное свойство - возможность раз и навсегда решить волнующую тысячи умов задачу об идеальной операционной системе для персонального компьютера. Задача интернациональна, и актуальность её несомненна, в том числе и для русскоязычных пользователей. Загляните на форум "Компьютерры": соответствующая дискуссия там насчитывает уже больше пяти сотен ответов и почти шесть тысяч просмотров. Интригует? Я сам, признаться честно, еле сдерживаю дрожь в руках - в ожидании того часа, когда смогу поставить этот эксперимент.

Начать, впрочем, позвольте издалека. Все разговоры об идеальной ОС ныне сводятся к идее и проблемам скрещивания двух продуктов, за которыми стоят наибольшие по численности группировки пользователей: Windows XP и Linux. Как устранить недостатки и воспользоваться преимуществами обеих ОС, не прибегая к переработке исходного кода одной из них? Ответ очевиден: запустить их параллельно на одном компьютере. Один из способов параллельного запуска - эмуляция аппаратных ресурсов с предоставлением каждой системе почти полноценного доступа к процессорному времени и устройствам. Так, в частности, работает классический инструментарий VMware. Минусы такого подхода заключаются, во-первых, в затратах времени на эмуляцию оборудования, во-вторых, в цене самого софта (сопоставимых по качеству с VMware свободных продуктов пока нет). О существовании второго, гораздо более практичного способа до недавнего времени, если кто и подозревал, то никак своего знания не показывал: именно второй способ воплощён в код и развивается в рамках проекта Cooperative Linux (coLinux).

Если не углубляться в технические подробности, идея, положенная в основу coLinux, достаточно проста: взять обычную Windows XP и запустить в ней под видом системного процесса другую операционную систему (в данном случае Linux). Реализуется это посредством имплантации специального драйвера в нулевое кольцо защиты (ring 0), в котором в XP работают процессы системного ядра. Драйвер, получив управление, передаёт его загрузчику Linux, результатом чего становится запуск сперва самого Linux-ядра, а потом и Linux-приложений в графическом интерфейсе Windows. Главное преимущество такого подхода перед аппаратной эмуляцией, собственно, заключается в отсутствии необходимости что-либо эмулировать. Если Windows XP не нагружает машину сама, производительность Linux будет лишь незначительно отличаться от случая, в котором свободная ОС работала бы на данной машине одна.

Учитывая тот факт, что coLinux в состоянии запускать Linux-приложения без внесения в них каких-либо изменений, единственной серьёзной проблемой можно считать процессы ввода/вывода. Чтобы не нарушать работу XP, coLinux обращается к внешним устройствам через драйверы Windows и в ряде случаев вынуждена использовать промежуточные программы (к примеру, в качестве X-сервера используется сервер, написанный для Windows). Конечно, такая двухступенчатая процедура может преподносить сюрпризы и тормозить работу, но если судить по отзывам самих разработчиков и скриншотам, ни на производительности, ни на надёжности она особо не сказывается. К примеру, под coLinux устойчиво работает большой и сложный Linux-дистрибутив Knoppix.

К сожалению, опробовать coLinux в настоящий момент смогут немногие, поскольку доступны только исходные тексты продукта. Но учитывая привлечённое к проекту внимание, логично предположить, что в самом скором будущем появятся первые дистрибутивы, включающие драйвер coLinux с набором Linux-приложений для простой и быстрой установки в Windows. И именно такое софтверное сочетание претендует на то, чтобы называться идеальной ОС, наделённой всеми достоинствами самых популярных операционных систем XXI века.

© ООО "Компьютерра-Онлайн", 1997-2018
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.