Components

Материал из Русский WINE
Перейти к: навигация, поиск

Компоненты системы

Данная статья частично является переводом официальной вики.


Текущее состояние компонентов

Название Текущий статус
Общее
Локализация системы Зависит от языка. Спросите сопровождающего вашего языка.
Программная совместимость Вы можете помочь проекту, поделившись результатами своих тестов или отправив отчеты об ошибках.
Win32-подсистема
Win32 DLLs См. отчеты Testman
Win32k
Поддержка драйверов принтера в пользовательском режиме: нереализовано.
Текст/шрифт системы: необходимо полностью переписать.
код DIB: в основном, реализован, необходима оптимизация в некоторых местах.
Указатель мыши: отсутствует поддержка alpha.
Поддержка регионов: необходимо улучшение интерфейса, ROS-специфичные структуры устарели.
Ручки: отсутствует поддержка геометрических ручек.
Кисти: отсутствует поддержка драйверов, управляющих штрихами кистей.
GDI handle manager: переписан в r51470.
User handle manager: необходимо исправить, для работы эквивалентной Windows.
Bitmap code: секция DIB очень испорчена и нуждается в большом количестве исправлений.
Отрисовка линий: необходимо полностью переписать.
Coordinate transfomation: возможно перенести в режим пользователя.
Core
Загрузчик В довольно хорошей форме, нуждается в дальнейшем развитии, с точки зрения добавления некоторых дополнительных функций и исправлении ошибок в существующих. Разработчики перешли к NT-совместимому методу начальной загрузки с r43273. Старый метод был удален в r52491.
Ядро
Диспетчер (менеджер) памяти В процессе мягкого переписывания, в результате которого должен получиться по функционалу эквивалентным NT (Windows Server 2003) диспетчеру памяти, без ROS-специфичных реализаций и допущений.
Диспетчер объектов Почти идеален. Функционально эквивалентен диспетчеру объектов Windows Server 2003. Код протестирован, работает очень хорошо.
Common Cache (CC) Адаптируется к изменяющемуся диспетчеру памяти. Существует три переписывания: No-Cc (версия ядра, которая не производит кэширование вообще, очень медленная); arty-cc от Art Yerkes, полностью новый Cc с хорошей, отдельной от Mm архитектурой, и находящийся в разработке.
Поддержка файловых систем – Файловые системы
FAT32 Требуется переписать драйвер (с использованием fastfat), и протестировать его в Windows 2003. Начато в r38693
NTFS На текущий момент, Пьером Швейцером добавлена поддержка NTFS, пока readonly.
Ext2 Переписан, с использованием ext2fsd.
Поддержка драйверов
PNP-manager Поддерживает все операции над драйверами. Однако, функциональная логика не всегда такая же, как в Windows. Реализация так же по-прежнему отличается от Windows PNP. В будущем, планируется полная перезапись части ядра.
2D/3D графика
GDI В целом, в хорошей форме, отсутствует поддержка метафайлов. Сильно зависит от win32k.
GDI+ Полностью основана на реализации Wine, основана на GDI.
OpenGL По-умолчанию, использует программный рендеринг через драйвер Mesa3D ICD. API полностью совместимо, только отсутствуют несколько wgl*-функций. Может загружать различные ICD-драйвера, а так же нормально работает в WinXP.
ReactX API-интерфейсы D3D9, D3D8 & DDraw поддерживаются через WineD3D – обертку, транслирующую функции DirectX в OpenGL.
Звук
Portcls Класс драйвера для драйвера аудиосистемы. Поддержка MIDI отсутствует. Необходимо HW-тестирование для реализации драйвера порта (IPortWavePci & IPortWaveRT). Для WaveIn (запись аудио) также необходимо протестировать и исправить ошибки Portcls/sysaudio.
Sysaudio Обработчик доступа аудио драйверов для управления интерфейсом устройства. Необходимо совместить несколько аудиопотоков в один с помощью kmixer. Portcls/sysaudio так же необходимо протестировать и исправить в них ошибки для WaveIn (записи аудио).
Wdmaud Компонент режима ядра wdmaud.drv. Реализует API Wave / Mixer / MIDI. Необходимо написать реализацию MIDI APIs и поддержку WaveIn + Mixer.
Kmixer Выполняет смешивание / преобразование потоков. В настоящий момент реализован очень плохо. Перед исправлением kmixer, необходимо реализовать поддержку Kernel FPU float saving.
ReactOS
Search.png
Доклады
О ReactOS • ARWINSS • ЧеЗа
Информация Новости Выпуски новостей • Переводы блогов • Новости проекта • Видео • ReactOS на Хабре • USB от Вадима Галянта
Разработка Руководство по программированию • Отсутствующая функциональность • Ветви разработки • Компоненты системы • ReactOS и Wine • План работ • Roadmap ядра by Vgal • Разработчики • Совместимость с dll Windows • Наиболее значимые изменения за год • Используемые проекты • Google Summer of Code • Известные проблемы
Порты AMD64 • ARM • Xbox • PowerPC
Компоненты Файловые системы • Режим совместимости • Отчеты об ошибках • Печать • USB • Ядро
Загрузчик Восстановление MBR • Загрузка из GRUB • Параметры загрузки
Прочее ARWINSS • Приложения в ReactOS • Оформление ReactOS • Координаторы • "Пасхальные яйца" • Монетизация
Другое Типы ядер • FreeWin95
Помощь
RAM-диск ReactOS по PXE • с жесткого диска
Разработка Стиль написания кода • Стандарты RC-файлов • Работа с документацией • Венгерская нотация • GNU Indent • [ Subversion : ветви • слияние • использование TortoiseSVN ] • Основы перевода • Отправка патчей
Репорты Отладка в VirtualBox • Отладка на экран • Добавление программы в менеджер приложений • Отправка отчетов
Отладка Com0com • GDB • Kdbg • Rossym.gdb • Roswin.gdb • WinDBG • Руководство по WinDBG • Включение трассировки ядра • Коды DPRINT • Удалённый отладчик ReactOS
Сборка CMake • RBuild • Файлы RBuild • Автоматическое копирование файлов • Сборка MINGW-w64 • Сборка модулей • Среда сборки
Тестирование VirtualBox • VMware • QEMU • Hyper-V • Необходимый объём диска • Перенос файлов на виртуальный диск • Установка ReactOS • Установка драйверов
Сеть Общие папки • Samba • NFS
Игры Установка DirectPlay
Обновление ReactOS • Загрузочная флешка • Чем можно помочь проекту • Создание нового пользователя • Звук и сеть в VirtualBox • Съемка и публикация видео • IRC-канал • Сторонние компоненты • FAQ • ReactOS как рабочая станция • ReactOS и UEFI
Обзоры Оболочка • NTVDM • WOW • Community Edition • История сайта • ReactOS Server • Криптография • ПО времен XP