ARWINSS: новая реализация подсистемы win32

Обсуждаем ReactOS по-русски

Moderators: fog, fireball

Post Reply
unxed
Posts: 220
Joined: Mon Aug 28, 2006 11:11 pm
Contact:

ARWINSS: новая реализация подсистемы win32

Post by unxed »

Презентация 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.
Last edited by unxed on Mon Apr 26, 2010 11:40 am, edited 20 times in total.
unxed
Posts: 220
Joined: Mon Aug 28, 2006 11:11 pm
Contact:

Re: Что за ветка arwinss?

Post by unxed »

То, что fireball комиттит туда что-то связанное с win32k, и так видно.
Какая цель? Чем реализация win32k из ветки arwinss будет отличаться от нынешней?
Кто-нибудь в курсе?

PS: больше всего удивили в логах коммитов слова wineserver и x11. В ReactOS?!
Last edited by unxed on Thu Mar 04, 2010 11:01 am, edited 1 time in total.
unxed
Posts: 220
Joined: Mon Aug 28, 2006 11:11 pm
Contact:

Re: Что за ветка arwinss?

Post by unxed »

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.
fireball
Developer
Posts: 358
Joined: Tue Nov 30, 2004 10:40 pm
Location: Moscow, Russia
Contact:

Re: Что за ветка arwinss?

Post by fireball »

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

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

И ещё один бонус, это поддержка удаленного X сервера. Очень удобно, чтобы полностью заменить вайн, используя вместо него реактос+arwinss в виртуальной машине (той же KVM например).
Aleksey Bragin,
ReactOS Project Lead
unxed
Posts: 220
Joined: Mon Aug 28, 2006 11:11 pm
Contact:

Re: Что за ветка arwinss?

Post by unxed »

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.
NOX86
Posts: 164
Joined: Tue Jun 20, 2006 12:21 pm

Re: Что за ветка arwinss?

Post by NOX86 »

Мировой кризис добрался и до ReactOS. Оптимизация затрат и поиск выгодных решений. По-моему неплохо, хотя бы для тестирования остальных частей ReactOS.
И вопрос по теме. позволит ли arwinss сосредоточиться на ядре\дровах?
fireball
Developer
Posts: 358
Joined: Tue Nov 30, 2004 10:40 pm
Location: Moscow, Russia
Contact:

Re: Что за ветка arwinss?

Post by fireball »

Нет, архитектурно X Windows там нету. Есть опциональный драйвер (плагин), с помощью которого вывод пойдет не на экран, а на удаленный X server.
Но всё остальное построено без него (ну, есть конечно чуть-чуть исходного кода взятого оттуда самим вайном для, например, работы с графическими регионами, но это буквально один-два файла из исходников).

Кстати, действительно, сейчас больше половины всех проблем при разработке новой ветки - это поиск и исправление глюков в остальных частях системы.
unxed
Posts: 220
Joined: Mon Aug 28, 2006 11:11 pm
Contact:

Re: Что за ветка arwinss?

Post by unxed »

В контексте последней newsletter возникает естественный вопрос: планируется ли в будущих релизах заменить классический ReactOS win32k на arwinss, а "мэйнстримный" win32k, наоборот, вынести в branch на время его переписывания?
Last edited by unxed on Thu Mar 04, 2010 11:02 am, edited 1 time in total.
NOX86
Posts: 164
Joined: Tue Jun 20, 2006 12:21 pm

Re: Что за ветка arwinss?

Post by NOX86 »

На досуге поговорил с ВанГой (дочь Ван Гога), она мне сообщила что если arwinss будет работать, то он очень даже может финансово обеспечить развитие идеологически верного win32k и проч.. Но вполне возможно, что всё это мне приснилось.
fireball
Developer
Posts: 358
Joined: Tue Nov 30, 2004 10:40 pm
Location: Moscow, Russia
Contact:

Re: Что за ветка arwinss?

Post by fireball »

unxed wrote:В контексте последней newsletter возникает естественный вопрос: планируется ли в будущих релизах заменить классический ReactOS win32k на arwinss, а "мэйнстримный" win32k, наоборот, вынести в branch на время его переписывания?
Думаю, да. Хотя, очевидно, что те немногие, что пишут сейчас транковый win32k довольно сильно возмутились и обиделись на эту тему. Но в любом случае, как я уже говорил, это не моя вина, что вин32 в транке уже 10 лет пилится и до сих пор недопилен. Значит не так его пилят, пила не та :)
unxed
Posts: 220
Joined: Mon Aug 28, 2006 11:11 pm
Contact:

Re: Что за ветка arwinss?

Post by unxed »

fireball wrote:
unxed wrote:В контексте последней newsletter возникает естественный вопрос: планируется ли в будущих релизах заменить классический ReactOS win32k на arwinss, а "мэйнстримный" win32k, наоборот, вынести в branch на время его переписывания?
Думаю, да. Хотя, очевидно, что те немногие, что пишут сейчас транковый win32k довольно сильно возмутились и обиделись на эту тему. Но в любом случае, как я уже говорил, это не моя вина, что вин32 в транке уже 10 лет пилится и до сих пор недопилен. Значит не так его пилят, пила не та :)
Спасибо за ответ. Надеюсь, такое положение вещей не приведет к серьезному расколу в проекте.

Думаю, не мне одному будет интересно услышать ответ на еще один вопрос: в каком состоянии arwinss сейчас, и сколько человек активно трудятся над ней (branch-ветка-женский род)?
Last edited by unxed on Thu Mar 04, 2010 11:02 am, edited 1 time in total.
hto
Developer
Posts: 2193
Joined: Sun Oct 01, 2006 3:43 pm

Post by hto »

unxed wrote: … и сколько человек активно трудятся над ней
Если к fireballу прибавить разработчиков Wine, которые трудятся над кодом, который потом используется в arwinss, то наверное будет много. :)
asd1!
Posts: 21
Joined: Tue Jul 07, 2009 9:24 pm

Re: Что за ветка arwinss?

Post by asd1! »

Если я правильно понимаю, проект arwinss - как бы мостик между вайном и виндоуским (т.е. реактоским) ядром. Вайн переводит api функции в линукское ядро, а arwinss будет все переводить назад - быстрее пишется, но медленнее работает.
В таком случае идея хорошая - через относительно короткое время можно будет увидеть не максимально быстрый, но зато максимально стабильный реактос! А потом можно будет спокойно дополнительные 10 лет допиливать текущий код.

Если я все совсем не правильно понял, поясните пожалуйста, интересно. :)
NOX86
Posts: 164
Joined: Tue Jun 20, 2006 12:21 pm

Re: Что за ветка arwinss?

Post by NOX86 »

Да, именно так
Это альтернативная реализация Win32 подсистемы. Данное решение НЕ предназначено для полного замещения оригинальной реализации Win32 подсистемы, и может быть неактуально после завершения работ над ReactOS Win32 подсистемой. ... Arwinss использует архитектурные решения как Wine так и Windows NT в надлежащих местах для правильной реализации функционала. Более подробное описание дано на отдельной странице Архитектура Arwinss
Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot] and 9 guests