Pull to refresh

Выпуск новостей ReactOS #90 и заметки на полях

Software
Translation
Original author: Z98
image
Текст перевода новости под катом, а здесь маленькое объявление-просьба.

Поддержите ReactOS на конкурсе Lenovo

Помогите проекту выиграть ноутбук ThinkPad X1 и 25 000$ на развитие. Сегодня по-видимому крайний день голосования. Алексею Брагину (координатору проекта) будет особенно приятно получить вашу поддержку, ведь вчера он праздновал свой день рождения.

Для этого нужно потратить всего две минуты вашего времени:
1) donetwork.lenovo.com/ru/login.html — по этой ссылке авторизоваться через facebook;
2) перейти по ссылке donetwork.lenovo.com/ru/projects/view/id/2977 и нажать кнопку «голосовать за проект»;
3) оставить какой-либо комментарий при желании, нажать на лайк фейсбука и +1 гугла…
4)… темпы голосования очень хорошие, но есть риск не успеть, поэтому пожалуйста делитесь этой новостью с хабра в своих твиттерах и вконтактиках (кнопки внизу публикации рядом с голосованием).
Чтобы вырваться вперед, проекту нужно набрать не так уж и много — не менее 2500 голосов. (скоромная цифра по меркам хабра )


Беспроводные сети

Кэмерон Гутман (Cameron Gutman) в течение почти всего прошедшего месяца был занят разработкой компонентов, необходимых для поддержки беспроводных сетевых карт в ReactOS. Значительная часть работы заключалась в написании драйвера протокола NDIS (ndisuio), поддерживающего передачу сообщений идентификатора объекта NDIS (OID). Эти сообщения предназначены для запроса сетевых драйверов об их состоянии и возможностях, а также для установки режима приёма, в котором должно функционировать устройство. Помимо кода в режиме ядра, необходима утилита пользовательского режима, позволяющая конечным пользователям совершать эти запросы. На текущий момент в состав ReactOS включена утилита wlanconf, поддерживающая привязку сетевых адаптеров к ndisuio. Кроме всего этого, была проведена работа над службой DHCP, связанная с быстрым завершением запросов на освобождением и обновлением IP-адресов, а также драйвером TCP/IP, что позволит убедиться в правильности используемых сообщений OID при проверке состояния сетевого устройства.
В связи с приближающимся выпуском релиза версии 0.3.14, Кэмерон добавил результаты своих трудов в кодовую базу проекта, и теперь свежие сборки ReactOS могут подключаться к отрытым беспроводным сетям, а также к беспроводным сетям, использующим шифрование WEP, что показывает, что драйвер сети функционирует корректно. Сети с более надежными видами шифрования, такими, как WPA и WPA2, требуют от операционной системы обеспечения более сложного процесса установления связи, но этого функционала в ReactOS пока нет. Однако, текущее состояние поддержки беспроводных сетей представляет собой большой шаг вперёд в плане обеспечения пригодности работы ReactOS на современном оборудовании.

Состояние поддержки USB

Иоханнес Андервальд (Johannes Anderwald) недавно провёл большую работу над стеком USB, которую он начал совместно с Михаэлем Мартином (Michael Martin), и завершил разработку двух из четырех драйверов интерфейса хост-контроллера, необходимых для поддержки используемых на данный момент стандартов. У ReactOS в настоящий момент есть ohci для USB 1.1 и ehci для USB 2.0. Теперь проекту необходим uhci для поддержки стандарта Intel для интерфейса USB 1.0, и xhci для поддержки нового интерфейса USB 3.0. Кроме того, был завершен и протестирован в Windows драйвер HID (устройств взаимодействия с человеком) для мышей, но множество различных проблем в ReactOS препятствовало его функционированию. Драйвер HID для клавиатур тоже находится в разработке, но ещё не готов. Для поддержки устройств хранения информации потребуются дополнительные драйверы. Ещё одним отсутствующим элементом USB-стека является поддержка составных USB-устройств, таких, как объединённый разъём клавиатуры/мыши.
Кэмерон, пришедший на помощь на этом этапе, исследовал большое количество ошибок при регистрации и установке устройств, а также занялся исправлением проблем, препятствовавших работе USB-мыши в ReactOS. Он также устранил несколько других проблемы непосредственно в стеке USB, начиная с критических сбоев системы и до ошибок при компиляции различных компонентов. Йоханнес рассчитывает что теперь, благодаря исправлениям Кэмерона, реализация поддержки клавиатуры в системе не должна вызвать затруднений. Как только ветка USB будет достаточно хорошо протестирована и объединена с основной кодовой базой проекта, ReactOS сделает еще один весомый шаг вперед с точки зрения удобства пользования. Этот шаг, однако, будет предпринят уже после выхода 0.3.14.

image image

Подробнее, о текущем состоянии USB в wiki

UPD twitter.com/#!/reactos/status/162638367970963456 — установка ReactOS на флешку.

Shell32

Рафал Харабиен (Rafał Harabień) был занят работой над библиотекой shell32, устраняя различные проблемы, начиная с ошибок загрузки значков и диалоговых окон, и до исправления множества ошибок буфера/памяти. Для загрузки значков в окнах свойств использовалась неполная реализация кода, который уже существовал в shell32. Рафал удалил поврежденный код и изменил окна свойств таким образом, чтобы использовать уже имеющуюся в shell32 реализацию. Теперь окна свойств в состоянии загрузить любые значки, а не только те, которые были заданы в реестре. Код диалогового окна «Открыть с помощью» также был переписан, что позволило показать все заданные в реестре приложения. Диалоговое окно больше не будет также добавлять дублирующиеся записи в реестр. Тем не менее, осталось ещё провести огромный объём работы над библиотекой shell32 до того, как она и explorer_new смогут заменить текущую оболочку. К примеру, меню «Пуск» не документировано и в ReactOS не реализовано, поэтому Рафал не знает точно, каким образом разделены функциональные обязанности по просмотру содержимого папок между оболочкой проводника и библиотекой shell32. Пока не удастся полностью разобраться с этими проблемами, в ReactOS останется его текущая оболочка.

Повреждение файловой системы

Пьер Швейцер (Pierre Schweitzer) недавно переписал код в dir.c, спровоцировав обнаружение уже существовавшей до этого проблемы – записи на диск поврежденных данных. Исследуя проблему, Пьер заметил, что один из тестеров уже встречался с подобной проблемой и предоставил протокол отладки. Этот протокол, однако, указывал на то, что причиной такого поведения была другая функция, а не та, которую обнаружил сам Пьер в ходе собственных исследований. При ближайшем рассмотрении Пьер заметил, что обе виновные функции вызывали другую внутреннюю функцию в библиотеке времени исполнения, которая обрабатывала пути. Эта функция была одной из нескольких, которыми занимался Алекс Ионеску (Alex Ionescu) в процессе переработки и исправления кода, но так и не закончил работу. В результате, несостоятельность старого кода, вкупе с собственными изменениями Пьера, так или иначе провоцировали повреждение файловой системы. Пьер закончил работу, начатую Алексом, и проблема с повреждением, кажется, пропала, хотя он до сих пор не до конца понял, что именно было неправильно в старом коде и приводило драйвер файловой системы к записи на диск испорченных данных.

P.S. В переводе кроме меня участвовали: evilslon, seven_ro

Продолжается сбор пожертвований

Уже собрано более 9600 рублей.
Поступили следующие предложения из числа актуальных и адекватных:
*Support for all SATA drives. Ну или хотя бы популярные.
*Be compatible with .net 2.0 apps or be able to install Framework.
* Хоть и сижу на *nix, но поддержал сотней за Multimonitor support.

Несколько человек просили поддержку тем оформления, но эта фича уже реализована практически полностью.
Tags: reactoswirelessusbwooswineopen source
Hubs: Software
Total votes 63: ↑54 and ↓9 +45
Comments 48
Comments Comments 48

Popular right now