Что необходимо знать о микроядре L4

Nov 22, 2007 01:56

Прежде всего необходимо знать историю микроядра L4Также необходимо иметь представление о L4 IPC. IPC - это аббревиатура от словосочетания Inter Process Communication. В переводе на русский это означает "Взаимодействие между процессами". Каким же образом осуществляется такое взаимодействие в системах, построенных на базе L4? Это взаимодействие ( Read more... )

l4

Leave a comment

_changer_ November 26 2007, 20:13:33 UTC
> Для передачи больших объёмов данных между различными адресными
> пространствами, микроядро L4 предоставляет следующие возможности:
> Строки, Составные Строки, Элементы Отображения Адресного Пространства.

Я думаю, что этот момент стоит увести в сторону минимализма. Т.е. передавать указатель базового виртуального класса, по которому будет создан объект необходимого типа. А объект-приёмник всегда может привести этот указатель к тому, что ему надо. Т.е. отказаться от привязки на конкретные объекты. Т.к. этим все случае не покроешь, т.е. своего рода частные решения: строки, и пр. Конечно возникает вопрос о базовом объекте, и стандартных объектах, и где будет храниться их рантайм-инфа. Хорошая задачка, при защищённых адресных пространствах. Интересного рода системное расширения языка С++: создать функцию ОС, которая регистрирует объект как глобальный(можно даже со всякими группами/уровнями доступа и пр. и пр.) для ОС на время исполнения своего процесса. При этом ОС копирует райнтамовскую инфу в свой пул. Задача решена. :-) На мой взгляд, так элегантней, и подобное - действительно новьё в нашей индустрии. :-)

Reply

mandrykin November 28 2007, 23:17:14 UTC
> Я думаю, что этот момент стоит увести в сторону минимализма.

Минимализм на низком уровне. Каждый уровень обрастает новыми возможностями.

> Т.е. передавать указатель базового виртуального класса, по которому будет создан объект необходимого типа. А объект-приёмник всегда может привести этот указатель к тому, что ему надо. Т.е. отказаться от привязки на конкретные объекты.

Да да да! Совершенно согласен! Для одного адресного пространства наработки уже есть, а вот как реализовать нечто похожее на COM для разных адресных пространст - буксую.

Reply

_changer_ November 29 2007, 19:35:04 UTC
Тут будет большая стирка, при этом вероятно может появиться зависимость от компилятора, т.к. каждый хранит свою рантайм-инфу по своему. Меня вот где-то в феврале-апреле этого года сподвигло заняться этим вопросом... Далеко не ушёл, дебри там сумашедшие по объёму работы. Потом нашёл способ С++ свойствами как мне надо оперировать(поэтому ту разработку отменил), потребовалась довольно чёкнутая алгоритмика, которая большую часть вопросов закрыла красиво и надолго. Если есть вопросы, то спрашивай - помогу, если будет что дельного сказать, и спотыкался раньше об подобные грабли. :-)

Reply


Leave a comment

Up