OSDev

для всех
Текущее время: 17 ноя 2019, 23:09

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: VFS
СообщениеДобавлено: 25 авг 2011, 19:50 
Аватара пользователя

Зарегистрирован: 20 апр 2011, 10:54
Сообщения: 145
Не подскажите, где у наноядерной ОС должна быть VFS - в ядре или в сервисах?

Мне до этого конечно далеко, но обдумываю уже сейчас.

_________________
Found a CPU. LAPIC ID: 00


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VFS
СообщениеДобавлено: 25 авг 2011, 22:22 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1391
Давно пора уже безъядерные оси придумать. А то ядра всё меньше и меньше, судя по приставкам, а оси лишь жирнее да тормознее...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VFS
СообщениеДобавлено: 26 авг 2011, 08:26 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1204
Пусть автор сначала скажет, что он понимает под наноядром.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VFS
СообщениеДобавлено: 26 авг 2011, 11:17 
Аватара пользователя

Зарегистрирован: 20 апр 2011, 10:54
Сообщения: 145
наноядро:
-планировщик
-IPC
-контроль прав доступа*
-распределение памяти
-распределение прерываний между потоками (т. е. на каждое прерывание, кроме исключений и таймера, создается поток в пространсве пользователя)
Т. е. ядро, по сути дела - менеджер ресурсов. Все, что можно вытащить из ядра, вытаскивается.

*А права доступа - это ВФС чуть более чем полностью. Можно ли доверять такие вещи пространству пользователя (используется не 2, а 4 кольца).

_________________
Found a CPU. LAPIC ID: 00


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VFS
СообщениеДобавлено: 26 авг 2011, 13:08 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1391
Вообще-то это микроядро, причём довольно жирное. То, что сейчас называют микроядерными ОС, обычно таковыми не является (пример -- QNX, которая, по существу, является осью с обычным монолитным ядром, поскольку из него вынесены только драйверы, а всё остальное крутится в едином адресном пространстве ядра и никак не защищено друг от друга).

А доверять вполне можно. Если защита памяти работает не криво, никто из пользовательских программ получить доступ к другим пользовательским программам (как и к самому ядру) не сможет, а значит, диверсия невозможна (предполагается, что в АПИ отсутствуют явные дыры типа возможности легально получить доступ к чужой памяти и т.п.). Следовательно, любой модуль системного назначения будет одинаково неуязвим что внутри ядра, что в виде отдельной задачи (процесса) режима пользователя. Вопрос только в производительности и т.п. вещах: понятно, что увеличение числа переключений контекста её уменьшает. Однако, если время выполнения функций данным модулем существенно превышает время, необходимое для переключения контекста (возможно, неоднократного -- это уж от функции зависит), то на эти потери можно плюнуть (смысл экономить 0,1%?).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VFS
СообщениеДобавлено: 26 авг 2011, 13:25 
Аватара пользователя

Зарегистрирован: 20 апр 2011, 10:54
Сообщения: 145
Т. е. и защиту и ВФС из ядра можно выкинуть?

_________________
Found a CPU. LAPIC ID: 00


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VFS
СообщениеДобавлено: 26 авг 2011, 14:11 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1391
Конечно, можно. Для обеспечения надёжности надо выполнять все проверки, которые необходимы, ну а как именно они выполняются (в частности, где находится код, выполняющий проверки -- в ядре или снаружи), принципиальной роли не играет.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB