ROS Blog Monstera

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

Monstera

Оригинал статьи - http://www.reactos.org/node/754

Дата публикации оригинальной статьи - 05.01.2014

Автор оригинальной статьи - Цзылян Гуо

Честно говоря, этот пост должен был бы появиться ещё несколько месяцев назад, однако мне становится всё сложнее и сложнее найти достаточное количество времени, чтобы сесть и написать полноценный выпуск новостей. Так что в краткосрочной перспективе я решил публиковать весь материал, который обычно занимает одну секцию выпуска новостей, в отдельные записи в блоге, таким образом мне больше не нужно ждать и собирать достаточное количество исходного материала для написания нового выпуска новостей.

После того, как Алексей сделал коммит с анонсом Monstera, в сообществе стало появляться немало слухов и догадок по поводу его назначения, а кое-кто даже предполагал, что это повторение эксперимента Алексея с ARWINSS, но нацеленное на создание диспетчера памяти. Однако это не так. Monstera по большей части является экспериментальной разработкой, созданной потому, что Алексей решил попробовать упростить разработку диспетчера памяти воспользовавшись C++ и некоторыми принципами объектно-ориентированного программирования. Необходимо помнить, что диспетчер памяти является очень большим и сложным компонентом, а его внутренняя организация представляет собой крайне C-ориентированный процедурный код. Одним из важных моментов здесь является то, что далеко не все верят, что подобный объектно-ориентированный дизайн компонента сможет облегчить его разработку. Кроме того, в C++ есть некоторые функции, которыми просто невозможно воспользоваться при написании кода режима ядра. Но всё же существуют некоторые приёмы программирования, которые отличают C++ от чистого C, например способ разделения данных и т.п., и ими вполне можно воспользоваться. Насколько всё это может быть полезно - это как раз и есть то, что Алексей пытается выяснить в ходе своего эксперимента.

Разумеется это будет очень непросто, поскольку диспетчер памяти NT предоставляет множество функциональных возможностей, которые являются критичными для работы более высокоуровневых компонентов. Алексей должен начать с простого, воссоздав самые базовые функции компонента, а затем перейти к более сложным. Будет ли этот эксперимент успешен, или же нет - зависит от множества факторов, но Алексей надеется, что знания, полученные в ходе этого эксперимента, будут полезны в ходе работ по завершению перехода с используемой на данный момент гибридной связки ARM3 и старого диспетчера памяти на полноценное использование ARM3.

Переводы блогов
MonsteraБезопасное программированиеИнтеллектуальная собственность: Идеология vs ПрактичностьИнтеллектуальная собственность: ОсновыОб ОС для настольных компьютеров...Перспектива: Microsoft и игрыПерспектива: Разработчики вне экосистемы MicrosoftПерспектива: Разработчики и MicrosoftСценарии использования ReactOSЦена прогресса