Выпуск новостей ReactOS №45 |
- Statistics
- Participants
- Translate into Russian
- Translation result
- Translation complete.
Отчёт о LinuxWorld
На прошлой неделе Арт Йеркес(Art Yerkes) представлял ReactOS на выставке Linux World, в Калифорнии. К сожалению, только он имел возможность заняться этим, но всё прошло достаточно успешно. Во время подготовки к выставке, Артом была найдена ошибка, которую я опишу позже. Эта непринятность вынудила его использовать для публичной презентации ReactOS эмулятор QEMU. Множество людей, среди которых были и пользователи Линукс, заинтересовалось ReactOS. Была продемонстрирована работа программ Abiword, Firefox (с html-файлами, т.к. отсутствовало интернет подключение на стенде), WinRAR, 7zip, игры the LMarbles и xemacs.
Арт встретил несколько журналистов из Ars Technica и из Alternageek. Результатом стал видеорепортаж, который можно посмотреть по ссылке: http://alternageek.com/linuxworldexpo/art-yerkes-reactos-linuxworld-2008/ . Также, Арт познакомился с Hans Peter Anvin, который заинтересовался нашим загрузчиком winldr, для использования его в SYSLINUX.
Common Cache(Менеджер кэш-памяти)
Работа над Cc (Common cache, Менеджер кэш-памяти) уже упоминалась раньше, когда я рассказывал о намерениях Алексея относительно NoCc. С тех пор Арт Йеркес взялся за дело и практически завершил отделение Cc от Mm(Memory Manager, менеджера виртуальной памяти). Значительной проблемой была общая для них структура данных, которая связывала Mm и Cc. Они оба имели доступ к этой структуре и работали с ней, но её не должно быть в Mm. Это "отвязывает" Cc от Mm и позволяет Арту начать переписывать кэш, чтобы он зависел только от интерфейсов, экспортируемых Mm. Сейчас, Cc использует данные Mm для создания его кэша через критические секции.
Кэш, над которым сейчас работает Арт, остаётся достаточно простым и будет работать по схеме "часы". Для людей, не знакомых с алгоритмами управления памятью, "часы" реализуются так: элементы кэша хранятся в виде списка, по которому указатель перемещается каждый раз, когда нужно найти свободный участок. Записи помечаются флагом "используется", который определяет, что указатель должен освобождать эту запись для последующего использования. Каждый раз, когда указатель находит запись с флагом, он сбрасывает флаг, чтобы при следующем проходе запись могла быть освобождена. Освобождение записи кэша возможно только при не установленном для неё флаге "используется", поэтому, указатель проходит по списку записей, пока не обнаружит запись без флага, после полного прохода по списку - начиная с его начала, по кругу, вследствие чего алгоритм и получил свое название. Это объяснение упрощено, но позволяет уловить общую идею. Существует много вариантов этого алгоритма, как с несколькими указателями, так и с различным приоритетом для каждой записи.
Арт реализует кэш с одним указателем, который не сбрасывает флаг с записей. Это означает, что система должна ожидать, пока приложение снимет флаг с записи, или произойдёт фатальный сбой всей системы. В данной реализации при поиске свободного места для новых записей, указатель только ищет элементы кеша без установленного флага. Сам кэш паредставлен в виде битовой карты, в которой непомеченные записи - нули, что позволяет определить, какую запись использовать следующей.
Работа далека от завершения, так как Арту нужно разобраться со всеми странностями системы. В данный момент, он исследует различные компоненты, взаимодействующие с CC, в том числе - критическую секцию Mm и свои драйверы файловой системы. Пройдёт ещё немало времени, прежде чем всё начнёт работать, как следует, но Арт уже добавил часть кода в новую ветку репозитория, так что все могут следить за его прогрессом и помогать.
Причуды установки ReactOS
Проще говоря, ReactOS при установке ведёт себя неправильно, например, не проверяет, является ли установочным диском раздел, с которого будут скопированы файлы; выбирает неправильный том для установочного диска, если другие разделы присутствуют на диске; использует даже те тома, которые не указаны для использования. Упомянутые выше ошибки связаны с неправильным присвоением буквы диску. При этом, ReactOS продолжает работать, хотя сбой предпочтительнее в данном случае, потому, что свидетельствовал бы о том, что что-то идёт не так. Именно с этими ошибками встретился Арт при установке системы, когда у него имелся для тестирования раздел Ext2. Описанные проблемы, очевидно, проявятся и в других ситуациях, но установка окажется первым местом, в котором Вы столкнётесь со сложностями, если Ваша система сконфигурирована подобным образом. Исправление второй проблемы частично устранит первую, в то время как решить третью из проблем должно быть проще.
Original (English): ReactOS Newsletter #45
Translation: © А.Макс, LRN, NOX, jedi-to-be, Ковалёв Юрий .
