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


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

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

Все это согласуется с идеей менеджера драйверов, который по событиям стартует или останавливает драйвера/сервисы. Также можно взять на вооружение идею сервера реинкарнации из Minix3. Этот сервер "пасет" службы и драйвера и следит за их бесперебойной работой. Если служба падает, сервер реинкарнации перезапускает ее; также при этом может производиться запись в лог о сбое либо отправка письма об этом событии системному администратору. Сервер реинкарнации можно объединить с менеджером служб/драйверов/ресурсов

> Все ресурсы являются именованными в духе UNC: \машинаимя ресурса<строка, специфичная для данного типа ресурсов>. Это необходимо в том числе и для поддержки кластеризации. Таким образом любой ресурс, даже память, вовсе не обязан быть физически расположен на той машине, где выполняется приложение.

Это можно реализовать через иерархический Name Server. Причем не обязательно в виде UNC. Есть также вариант URI-подобного синтаксиса запросов к Name Server'у: resource --Name-server'ов много, и они могут находиться на разных машинах и не объединены в одно дерево; или просто запрос в виде обычных путей вида /path/to/resource?resource&specific&things, то есть, все Name server'ы объединены в одно дерево и "монтируются" в определенную ветвь Namespace.

Пример уже реализованного иерархического Name Server'а есть в L4Env, это служба под названием L4VFS, она интегрирует в одно дерево файлы, консоли/терминалы и прочие ресурсы. Демо L4VFS есть в TUD OS демо диске: demо.tudos.org ,


Wed 06 Jun 2007 11:03 Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.7.10) Gecko/2005




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.