После 11 месяцев разработки представлен релиз ReactOS 0.3.12,
операционной системы с открытым исходным кодом, нацеленной на
обеспечение совместимости с программами и драйверами Microsoft Windows
семейства NT (XP/2003/Vista). Серия 0.3.x находится на "альфа"-стадии
разработки.
Из наиболее значительных улучшений можно отметить:
- Продолжается работа над новым менеджером управления
распределением памяти. Большая работа проделана для обеспечения
поддержки платформы ARM. Хотя в настоящий момент ReactOS еще не
полностью переведен на новый менеджер памяти, но уже в текущем релизе
можно наблюдать такие отголоски новой модели, как увеличение
стабильности, скорости и совместимости;
- Добавлена поддержка обработки немаскируемых прерываний (NMI).В
случае обнаружения аппаратных проблем, обнаруженных процессором или
шиной, теперь выводится "красный экран смерти". Для серверных систем
интегрирована поддержка подключения внешних обработчиков NMI. Начата, но
еще не доведена до конца, возможность генерации crash-дампа со срезом
данных на момент генерации NMI (например, может оказаться полезным для
выявления причины зависания, если система поддерживает возможность
ручной генерации NMI).
- Полностью переработан механизм обработки ловушек
(trap), что привело к переписыванию ощутимой части ядра системы. Теперь
весь код, обрабатывающий сбои CPU, трапы, исключения и системные вызовы
переписан с ассемблера на язык Си. В итоге, код стал более ясным и
надежным. Возможные потери производительности с лихвой компенсируются
средствами оптимизации Си-компилятора, способного учитывать особенности
различных аппаратных архитектур при генерации кода (вручную написанный
ассемблерный код учитывал особенности всего нескольких моделей CPU).
Другое достоинство - увеличение объема кода, который можно использовать
одновременно для архитектур x86 и ARM. Также удалено много устаревшего
кода и отключен по умолчанию отладочный код, оказывающий негативный
эффект на производительность. В будущем будет продолжен процесс перевода
на язык Си процедур, написанных на языке ассемблера.
- Частично реализован режим экстренного управления
системой (Emergency Management System), при котором поддерживаются
совместимые с Windows загрузочные флаги, возможен вывод отладочной
информации через последовательный порт и запуск отладчика. В разработке
находится драйвер административной консоли (Special Administration
Console);
- Проведена работа по увеличению совместимости
PnP-подсистемы с оборудованием и по реализации возможности загрузки
драйверов, от сторонних производителей;
- Улучшение в поддержке ACPI - для платформы ARM
реализованы базовые драйверы, необходимые для поддержки контроля
аккумуляторов и UPS. Добавлен код для поддержки спецификации ACPI
Composite Battery, который пока отключен по умолчанию;
- Добавлен новый драйвер шины PCI-X. Ранее в ReactOS
использовался достаточно примитивный и устаревший драйвер, не
поддерживающий многие современные возможности PCI-шин и PCI-to-PCI
мостов. С новым драйвером значительно увеличена совместимость с реальным
оборудованием и увеличена производительность;
- Добавлена поддержка технологии Side-by-side
(WinSxS), позволяющей избавиться от проблем с организацией загрузки
DLL-библиотек (конфликты версий, отсутствие DLL, дубликаты DLL,
некорректная регистрация DLL);
- Переписан код обработки сообщений и работы с
таймером, что позволило избавиться от ранее возникавших взаимных
блокировок в некоторых приложениях, некорректно обрабатывающих не
поставленные в очередь сообщения. Переработка кода таймера позволила
избавиться от таких проблем, как "необходимость пошевелить мышь чтобы
сработала загрузка в Firefox";
- На начальной стадии находится развитие порта для
64-разрядных систем: решены основные проблемы сборки, реализована самая
необходимая базовая функциональность;
- Исправлено 259 ошибок, включая более 60 регрессивных
изменений, некоторые из которых тянутся еще с релиза ReactOS 0.3.7.
Десять ошибок оставались неисправленными на протяжении более трех лет, а
одна из ошибок оставалась неисправленной 5 лет.
Источник
|