Разработчиков ReactOS в последнее время уже неоднократно просили прокомментировать заявления южнокорейской компании TmaxSoft о создании операционной системы, поддерживающую выполнение Windows- и Linux-приложений. Я напомню, что уже было несколько громких проектов, таких как Lindows, David и Alky Project, которые обещали обеспечить полную совместимость ПО. написанного для Windows и Linux, тем не менее, эти обещания так и остались только обещаниями.
В статье «Tmax Window: южнокорейская альтернатива Windows». Алексей Брагин, координатор ReactOS, отвечает:
Действительно, где-то встречались упоминания, что в проекте используются наработки ReactOS. Но, в целом, у нашей команды нет единого мнения, так как очень мало информации и нет ничего, кроме текстового описания, и видеороликов работы системы. Эти видеоролики также вызывают целый ряд вопросов, например, на одном из них видно, как сразу после загрузки на одну секунду появляется половинка рабочего стола с запущенным окном StarCraft, потом экран заливается голубым цветом, и отображается чистый рабочий стол. Какое-либо логическое объяснение придумать сложно, кроме одного: наиболее вероятно, что все видео — плохо сделанные «рекламные» ролики, которые не показывают реальное состояние дел. Что касается самой технологии, то возможно, что используется ядро Linux, а поддержка Windows-программ реализована с помощью некоего гибрида Wine и ReactOS. Но мы будем надеяться, что специалисты TmaxSoft уважают авторское право, и будут выполнять лицензионные соглашения тех проектов, чей код они используют.
Таким образом, ReactOS'у ничего не известно о том, что cделали в TmaxSoft, разработчики никак не взаимодействовали с этой компанией и в проекте ReactOS нет ни одного южнокорейского разработчика.
создании операционной системы, поддерживающую выполнение Windows- и Linux-приложений
— невозможно. И есть тому не одна причина: закрытые библиотеки, разная архитектура ядер ОС и т.п. Или я ошибаюсь, и теоретически это возможно?
Кстати — идея. Если ReactOS будет работать столь же полноценно, как Windows, можно будет создать своего рода «песочницу» для UNIX-приложений, наподобие Java-машины для Java-приложений. Т.е. для конкретного приложения запускается небольшая имитация ядра, напр. Линукс, и в таком инкапсулированном виде это всё работает, исполняется. Что-то на подобие того, как сейчас Linux-приложения работают в OpenSolaris.
Возможно, но это будет весьма не быстро работать.
С запуском линуксовых программ в FreeBSD и Solaris проще, у них различаются только соглашение о системных вызовых (в линуксе параметры передаются через регистры, в BSD через стек), а API и формат исполняемого файла примерно одинаковый. Там не происходит полная эмуляция чужого ядра.
Совместимость на уровне исходного кода сделать проще, и даже логичнее. Кстати, в серверных версиях винды есть Services for UNIX, она же Interix, представляющая собой реализацию POSIX API для Win32 приложений.
закрытые библиотеки, разная архитектура ядер ОС и т.п. Или я ошибаюсь, и теоретически это возможно?
Теоретически, конечно, возможно… и даже практически есть какие-то результаты, например Linux Unified Kernel Кстати, насколько я понял, этот LUK тоже родом из азии и, по моему мнению, внутри Tmax Window, как раз он и используется.
А насчет исполнения Unix-приложений в ROS… я постараюсь написать в ближайшее время отдельный пост. :-)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Кстати — идея. Если ReactOS будет работать столь же полноценно, как Windows, можно будет создать своего рода «песочницу» для UNIX-приложений, наподобие Java-машины для Java-приложений. Т.е. для конкретного приложения запускается небольшая имитация ядра, напр. Линукс, и в таком инкапсулированном виде это всё работает, исполняется. Что-то на подобие того, как сейчас Linux-приложения работают в OpenSolaris.
С запуском линуксовых программ в FreeBSD и Solaris проще, у них различаются только соглашение о системных вызовых (в линуксе параметры передаются через регистры, в BSD через стек), а API и формат исполняемого файла примерно одинаковый. Там не происходит полная эмуляция чужого ядра.
Совместимость на уровне исходного кода сделать проще, и даже логичнее. Кстати, в серверных версиях винды есть Services for UNIX, она же Interix, представляющая собой реализацию POSIX API для Win32 приложений.
А насчет исполнения Unix-приложений в ROS… я постараюсь написать в ближайшее время отдельный пост. :-)