ARWINSS: новая реализация подсистемы win32
ARWINSS: новая реализация подсистемы win32
Презентация ARWINSS на open life
Перевод PDF-файла, входящего в презентацию
Страница ARWINSS в ReactOS wiki
Техническая информация по ARWINSS
Ошибки, относящиеся к ARWINSS
Здесь можно найти свежие сборки ARWINSS.
Ветка ARWINSS представляет собой альтернативную реализацию подсистемы win32. Вместо того, чтобы "с нуля" воспроизводить громоздкую подсистему win32 по аналогии с тем, как она устроена в Windows NT, в ARWINSS используются библиотеки user32 и gdi32 из проекта Wine.
Такое использование стало возможным благодаря тому, что Wine использует промежуточный "слой совместимости" с графической подсистемой конкретной платформы, на которой он работает. В linux/*nix этот слой представляет собой "драйвер" winex11.drv, перенаправляющий графический вывод Wine на X Windows System.
Алексею Брагину (его ник fireball на форуме и в svn), инициатору и одному из авторов ARWINSS, удалось сделать замену этому "драйверу", под названием winent.drv, использующую графические возможности соответствующей ему части ядра ReactOS, исключив, таким образом, необходимость в X Window System, и получив фактически работающие в ReactOS библиотеки user32 и gdi32 из Wine, что ранее считалось невозможным.
Так как код user32/gdi32 в Wine является протестированным и относительно надёжным, предполагается, что ARWINSS обеспечит большую совместимость с приложениями, чем нынешняя реализация win32 в ReactOS, содержащаяя "кашу" из разных версий Wine с вкраплениями собственного кода ReactOS той или иной степени актуальности.
Кроме того, ARWINSS позволит обмениваться с проектом Wine гораздо большим количеством кода, а также использовать "дешевые" (не требующие значительного времени разработчиков) синхронизации с Wine библиотек user32 и gdi32.
Таким образом, ARWINSS должна (по крайней мере, теоретически) обеспечить работоспособность в ReactOS как минимум всех тех программ, которые работают в последних версиях Wine.
Перевод PDF-файла, входящего в презентацию
Страница ARWINSS в ReactOS wiki
Техническая информация по ARWINSS
Ошибки, относящиеся к ARWINSS
Здесь можно найти свежие сборки ARWINSS.
Ветка ARWINSS представляет собой альтернативную реализацию подсистемы win32. Вместо того, чтобы "с нуля" воспроизводить громоздкую подсистему win32 по аналогии с тем, как она устроена в Windows NT, в ARWINSS используются библиотеки user32 и gdi32 из проекта Wine.
Такое использование стало возможным благодаря тому, что Wine использует промежуточный "слой совместимости" с графической подсистемой конкретной платформы, на которой он работает. В linux/*nix этот слой представляет собой "драйвер" winex11.drv, перенаправляющий графический вывод Wine на X Windows System.
Алексею Брагину (его ник fireball на форуме и в svn), инициатору и одному из авторов ARWINSS, удалось сделать замену этому "драйверу", под названием winent.drv, использующую графические возможности соответствующей ему части ядра ReactOS, исключив, таким образом, необходимость в X Window System, и получив фактически работающие в ReactOS библиотеки user32 и gdi32 из Wine, что ранее считалось невозможным.
Так как код user32/gdi32 в Wine является протестированным и относительно надёжным, предполагается, что ARWINSS обеспечит большую совместимость с приложениями, чем нынешняя реализация win32 в ReactOS, содержащаяя "кашу" из разных версий Wine с вкраплениями собственного кода ReactOS той или иной степени актуальности.
Кроме того, ARWINSS позволит обмениваться с проектом Wine гораздо большим количеством кода, а также использовать "дешевые" (не требующие значительного времени разработчиков) синхронизации с Wine библиотек user32 и gdi32.
Таким образом, ARWINSS должна (по крайней мере, теоретически) обеспечить работоспособность в ReactOS как минимум всех тех программ, которые работают в последних версиях Wine.
Last edited by unxed on Mon Apr 26, 2010 11:40 am, edited 20 times in total.
Re: Что за ветка arwinss?
То, что fireball комиттит туда что-то связанное с win32k, и так видно.
Какая цель? Чем реализация win32k из ветки arwinss будет отличаться от нынешней?
Кто-нибудь в курсе?
PS: больше всего удивили в логах коммитов слова wineserver и x11. В ReactOS?!
Какая цель? Чем реализация win32k из ветки arwinss будет отличаться от нынешней?
Кто-нибудь в курсе?
PS: больше всего удивили в логах коммитов слова wineserver и x11. В ReactOS?!
Last edited by unxed on Thu Mar 04, 2010 11:01 am, edited 1 time in total.
Re: Что за ветка arwinss?
Ага, т.е. даже разработчики ничего не знают, кроме Алексея.I will explain thoroughly and in all details what's being done. Just
let me commit the remaining of my stuff first.
WBR,
Aleksey Bragin.
Last edited by unxed on Thu Mar 04, 2010 11:02 am, edited 2 times in total.
Re: Что за ветка arwinss?
Я уже кое-что в мейллист написал. В общем это замена большой части подсистемы Win32 на новую, базирующуюся на вайне, и имеющую (когда она будет закончена) гораздо большую стабильность и совместимость чем то, что есть сейчас.
Также, в результате, будут "бесплатные" (т.е. затраты времени на их применения сравнительно малы) обновления из вайна - естественно протестированные, и т.п.
И ещё один бонус, это поддержка удаленного X сервера. Очень удобно, чтобы полностью заменить вайн, используя вместо него реактос+arwinss в виртуальной машине (той же KVM например).
Также, в результате, будут "бесплатные" (т.е. затраты времени на их применения сравнительно малы) обновления из вайна - естественно протестированные, и т.п.
И ещё один бонус, это поддержка удаленного X сервера. Очень удобно, чтобы полностью заменить вайн, используя вместо него реактос+arwinss в виртуальной машине (той же KVM например).
Aleksey Bragin,
ReactOS Project Lead
ReactOS Project Lead
Re: Что за ветка arwinss?
Спасибо за разъяснения! Интересная попытка, вне всякого сомнения.fireball wrote:Я уже кое-что в мейллист написал. В общем это замена большой части подсистемы Win32 на новую, базирующуюся на вайне, и имеющую (когда она будет закончена) гораздо большую стабильность и совместимость чем то, что есть сейчас.
Также, в результате, будут "бесплатные" (т.е. затраты времени на их применения сравнительно малы) обновления из вайна - естественно протестированные, и т.п.
И ещё один бонус, это поддержка удаленного X сервера. Очень удобно, чтобы полностью заменить вайн, используя вместо него реактос+arwinss в виртуальной машине (той же KVM например).
Базирующуюся на вайне - в смысле, на архитектуре х-сервер - х-клиент, и все это, собранное под ROS, я правильно понимаю?
(и нескромный вопрос) Как скоро можно ждать чего-то, на что уже можно будет взглянуть?
PS: при фразе заменить вайн - сразу вспомнилось обсуждение wine 2.0 в ЖЖ

Last edited by unxed on Thu Mar 04, 2010 11:02 am, edited 2 times in total.
Re: Что за ветка arwinss?
Мировой кризис добрался и до ReactOS. Оптимизация затрат и поиск выгодных решений. По-моему неплохо, хотя бы для тестирования остальных частей ReactOS.
И вопрос по теме. позволит ли arwinss сосредоточиться на ядре\дровах?
И вопрос по теме. позволит ли arwinss сосредоточиться на ядре\дровах?
Re: Что за ветка arwinss?
Нет, архитектурно X Windows там нету. Есть опциональный драйвер (плагин), с помощью которого вывод пойдет не на экран, а на удаленный X server.
Но всё остальное построено без него (ну, есть конечно чуть-чуть исходного кода взятого оттуда самим вайном для, например, работы с графическими регионами, но это буквально один-два файла из исходников).
Кстати, действительно, сейчас больше половины всех проблем при разработке новой ветки - это поиск и исправление глюков в остальных частях системы.
Но всё остальное построено без него (ну, есть конечно чуть-чуть исходного кода взятого оттуда самим вайном для, например, работы с графическими регионами, но это буквально один-два файла из исходников).
Кстати, действительно, сейчас больше половины всех проблем при разработке новой ветки - это поиск и исправление глюков в остальных частях системы.
Re: Что за ветка arwinss?
В контексте последней newsletter возникает естественный вопрос: планируется ли в будущих релизах заменить классический ReactOS win32k на arwinss, а "мэйнстримный" win32k, наоборот, вынести в branch на время его переписывания?
Last edited by unxed on Thu Mar 04, 2010 11:02 am, edited 1 time in total.
Re: Что за ветка arwinss?
На досуге поговорил с ВанГой (дочь Ван Гога), она мне сообщила что если arwinss будет работать, то он очень даже может финансово обеспечить развитие идеологически верного win32k и проч.. Но вполне возможно, что всё это мне приснилось.
Re: Что за ветка arwinss?
Думаю, да. Хотя, очевидно, что те немногие, что пишут сейчас транковый win32k довольно сильно возмутились и обиделись на эту тему. Но в любом случае, как я уже говорил, это не моя вина, что вин32 в транке уже 10 лет пилится и до сих пор недопилен. Значит не так его пилят, пила не таunxed wrote:В контексте последней newsletter возникает естественный вопрос: планируется ли в будущих релизах заменить классический ReactOS win32k на arwinss, а "мэйнстримный" win32k, наоборот, вынести в branch на время его переписывания?

Re: Что за ветка arwinss?
Спасибо за ответ. Надеюсь, такое положение вещей не приведет к серьезному расколу в проекте.fireball wrote:Думаю, да. Хотя, очевидно, что те немногие, что пишут сейчас транковый win32k довольно сильно возмутились и обиделись на эту тему. Но в любом случае, как я уже говорил, это не моя вина, что вин32 в транке уже 10 лет пилится и до сих пор недопилен. Значит не так его пилят, пила не таunxed wrote:В контексте последней newsletter возникает естественный вопрос: планируется ли в будущих релизах заменить классический ReactOS win32k на arwinss, а "мэйнстримный" win32k, наоборот, вынести в branch на время его переписывания?
Думаю, не мне одному будет интересно услышать ответ на еще один вопрос: в каком состоянии arwinss сейчас, и сколько человек активно трудятся над ней (branch-ветка-женский род)?
Last edited by unxed on Thu Mar 04, 2010 11:02 am, edited 1 time in total.
Re: Что за ветка arwinss?
Если я правильно понимаю, проект arwinss - как бы мостик между вайном и виндоуским (т.е. реактоским) ядром. Вайн переводит api функции в линукское ядро, а arwinss будет все переводить назад - быстрее пишется, но медленнее работает.
В таком случае идея хорошая - через относительно короткое время можно будет увидеть не максимально быстрый, но зато максимально стабильный реактос! А потом можно будет спокойно дополнительные 10 лет допиливать текущий код.
Если я все совсем не правильно понял, поясните пожалуйста, интересно.
В таком случае идея хорошая - через относительно короткое время можно будет увидеть не максимально быстрый, но зато максимально стабильный реактос! А потом можно будет спокойно дополнительные 10 лет допиливать текущий код.
Если я все совсем не правильно понял, поясните пожалуйста, интересно.

Re: Что за ветка arwinss?
Да, именно так
An alternative implementation of core Win32 subsystem components. This is NOT designed to replace the ReactOS Win32 subsystem, instead it is a temporary solution that may become irrelevant when the Win32 subsystem is finished. .... Arwinss uses parts of Wine architecture, and parts of Windows NT architecture in appropriate places and in a good way. A detailed description is provided on a standalone page called Arwinss architecture.
Это альтернативная реализация Win32 подсистемы. Данное решение НЕ предназначено для полного замещения оригинальной реализации Win32 подсистемы, и может быть неактуально после завершения работ над ReactOS Win32 подсистемой. ... Arwinss использует архитектурные решения как Wine так и Windows NT в надлежащих местах для правильной реализации функционала. Более подробное описание дано на отдельной странице Архитектура Arwinss
Who is online
Users browsing this forum: No registered users and 4 guests