Прежде всего необходимо знать
историю микроядра L4Также необходимо иметь представление о L4 IPC. IPC - это аббревиатура от словосочетания Inter Process Communication. В переводе на русский это означает "Взаимодействие между процессами". Каким же образом осуществляется такое взаимодействие в системах, построенных на базе L4? Это взаимодействие
(
Read more... )
> пространствами, микроядро L4 предоставляет следующие возможности:
> Строки, Составные Строки, Элементы Отображения Адресного Пространства.
Я думаю, что этот момент стоит увести в сторону минимализма. Т.е. передавать указатель базового виртуального класса, по которому будет создан объект необходимого типа. А объект-приёмник всегда может привести этот указатель к тому, что ему надо. Т.е. отказаться от привязки на конкретные объекты. Т.к. этим все случае не покроешь, т.е. своего рода частные решения: строки, и пр. Конечно возникает вопрос о базовом объекте, и стандартных объектах, и где будет храниться их рантайм-инфа. Хорошая задачка, при защищённых адресных пространствах. Интересного рода системное расширения языка С++: создать функцию ОС, которая регистрирует объект как глобальный(можно даже со всякими группами/уровнями доступа и пр. и пр.) для ОС на время исполнения своего процесса. При этом ОС копирует райнтамовскую инфу в свой пул. Задача решена. :-) На мой взгляд, так элегантней, и подобное - действительно новьё в нашей индустрии. :-)
Reply
Минимализм на низком уровне. Каждый уровень обрастает новыми возможностями.
> Т.е. передавать указатель базового виртуального класса, по которому будет создан объект необходимого типа. А объект-приёмник всегда может привести этот указатель к тому, что ему надо. Т.е. отказаться от привязки на конкретные объекты.
Да да да! Совершенно согласен! Для одного адресного пространства наработки уже есть, а вот как реализовать нечто похожее на COM для разных адресных пространст - буксую.
Reply
Reply
Leave a comment