RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : горы зоолтые...


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : valerius
To : valerius
Subj : горы зоолтые...

> > А чем Pistachio лучше MACH?
>

Я забыл про еще одно важное отличие L4 от Mach :)
Mach (по крайней мере, IBM-овское микроядро, на котором была основана OS/2 PPC),
имела в качестве механизма обеспечения безопасности, механизм портов и прав дос-
тупа к портам (port rights). Подробности опускаю, так как сам пока не совсем
с этим разобрался, пока больше читал про L4, к сожалению. Так вот, этот механизм
был достаточно тяжеловесным и, наряду с медленным IPC оказывал отрицательное влияние
на производительность.
L4 же использует более просто устроенные и легковесные механизмы, а именно: механизм
кланов и шефов (clans and chiefs). Этот механизм контролирует поток сообщений IPC в
системе, и разделяет между собой независимые части OC и разные ОС между собой тоже.
Идея такова: Задача, создавшая несколько других задач, становится их шефом, а сами
эти задачи образуют клан. Задача может напрямую слать сообщения IPC только членам
своего клана или своему шефу. Если задача шлет сообщение другой задаче, не входящей
в ее клан, то сообщение принудительно перенаправляется ее шефу, от шефа дальше, и в
конце концов через шефа целевой задачи достигает задачи-получателя. А вот, если IPC
не достигает цели, проходя цепочку шефов и вложенных кланов, то это дает разграничение
между разными частями системы.
Еще насчет механизмов безопасности -- L4 дает доступ к своим ресурсам первому запрашиваю-
щему серверу, а последующих обламывает с доступом. Так как первыми ресурсы (например, память,
доступные tasks и др.) запрашивают первичные сервера (initial servers), а набор этих серверов
задается администратором системы или составителем дистрибутива, то "левые" задачи не могут
без разрешения получить ресурсы, они их могут получить только у начальных серверов.
Еще один механизм безопасности -- user space pagers -- могут давать другим задачам
ресурсы (память, порты, которые тоже отображаются на область памяти), следуя некоторой
политике предоставления.

Вот, но к сожалению, не могу сделать нормальное сравнение L4 и Mach, так как про последний
очень мало читал, а про первый еще не полностью разобрался :)
Принимаю замечания, сорри за неточности...

WBR,
Валерий


Tue 19 Jul 2005 03:08 Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.4.1) Gecko/20040




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.