ROS Newsletter61
Содержание
Выпуск новостей ReactOS №61
Подготовка к 0.3.10
Сейчас все усилия направлены на подготовку очередного релиза под номером 0.3.10. Наши тестеры проверяют программы из списка работавших ранее приложений для выявления возможных регрессий - и несколько уже было обнаружено. Особенно неприятная из них проявляется в случайной, по-видимому, порче данных в программе Download. Удалось отследить, что эта проблема появилась после обновления компоненты wininet из Wine. Поскольку никто из разработчиков не смог выяснить точной причины такого поведения, Камерон Гутман попросту откатил все изменения, связанные с синхронизацией кода этой библиотеки. Другой регрессией, проявляющейся в тестовой сборке 0.3.10, является невозможность запуска на процессорах Pentium I. Это связано с тем, что в настройках RosBE 1.4.3 в качестве целевой архитектуры был выбран Pentium III. Это затрагивает не только утилиты сборки, но и подключаемые библиотеки, такие как libgcc и libstdc++, в которых и заключается основная проблема. Использование этих библиотек вынуждает компилировать ReactOS под Pentium III, поэтому на Pentium I она и отказывается работать. Колин Финк полагает, что проблема будет устранена после импорта новой библиотеки C++, обсуждаемой ниже.
Тернистый путь UniATA
Несмотря на то, что формально ReactOS работает с дисками SATA, у пользователей всё ещё возникают проблемы. К сожалению, UniATA не поддерживает AHCI (Advanced Host Controller Interface), который довольно широко распространён в современных материнских платах. Это приводит к сбоям, которые не могут быть устранены, пока Алексей Брагин не реализует полноценную поддержку AHCI. Также было обнаружено несколько ошибок в работе с некоторыми контроллерами SATA без AHCI. Например, в случае с чипсетом ATI IXP700, отсутствие необходимого флага приводило к использованию контроллера в неправильном режиме. Кристоф фон Виттич пытался разобраться с этим параллельно с другой проблемой. К тому же, у UniATA возникают проблемы с несколькими SATA контроллерами, когда те работают в режиме эмуляции IDE. Это также происходит из-за неверной или отсутствующей информации и настроек в драйвере UniATA, который неверно определяет контроллер и пытается работать с ним в неправильном режиме. Работа Кристофа, однако, осложняется недостатком тестеров с нужным аппаратным обеспечением.
C++
Частью написания операционной системы является создание всех библиотек, необходимых для работы пользовательских программ и драйверов. Одним из таких модулей является run-time библиотека C++. Сейчас ReactOS использует libstdc++, поставляемую с GCC, но такое решение не является правильным, если мы надеемся добавить поддержку MSVC и, возможно, других компиляторов. По этой причине KJK::Hyperion предлагает использовать STLport, библиотеку C++ с открытым исходным кодом - совместимую с большим количеством компиляторов. Этот вопрос ещё обсуждается, но, похоже, не должно быть каких-либо серьёзных преград для реализации этой идеи. Кроме преимущества переносимости, использование библиотеки STLport позволит сделать стандартную библиотеку шаблонов (Standard Template Library) динамической (DLL), а не статической, что уменьшит размер всех C++ приложений, которые от нее зависят. После того, как будет добавлена поддержка MSVC, можно будет снять текущие ограничения на использование C++, однако всё же остаётся риск лишиться совместимости с GCC.
Поиск нового дизайна для сайта
Проекту ReactOS требуется новый дизайн и тема оформления сайта. Текущему дизайну уже несколько лет и хотелось бы его обновить. Подробности можно узнать на форуме. Мы ждем ваших предложений.
Newsletters | |
---|---|
30-39 | #30 • #31 • #32 • #33 • #34 • #35 • #36 • #37 • #38 • #39 |
40-49 | #40 • #41 • #42 • #43 • #44 • #45 • #46 • #47 • #48 • #49 |
50-59 | #50 • #51 • #52 • #53 • #54 • #55 • #56 • #57 • #58 • #59 |
60-69 | #60 • #61 • #62 • #63 • #64 • #65 • #66 • #67 • #68 • #69 |
70-79 | #70 • #71 • #72 • #73 • #74 • #75 • #76 • #77 • #78 • #79 |
80-89 | #80 • #81 • #82 • #83 • #84 • #85 • #86 • #87 • #88 • #89 |
90-99 | #90 • #91 • #92 • #93 • #94 • #95 • #96 • #97 • #98 • #99 |