OSDev

для всех
Текущее время: 29 апр 2024, 19:52

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




Начать новую тему Ответить на тему  [ Сообщений: 13 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: вопрос по микроядрам.
СообщениеДобавлено: 19 июн 2014, 12:37 

Зарегистрирован: 24 ноя 2013, 15:59
Сообщения: 40
вот появился вопрос о микроядрах: как они грузят сервисы? ведь файловую систему тоже выносят в отдельный сервис.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: вопрос по микроядрам.
СообщениеДобавлено: 19 июн 2014, 13:40 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Ну а как не микроядра делают то же самое? Ведь без драйверов загрузка невозможна. На самом деле первоначальная загрузка всегда осуществляется специальным загрузчиком, и от архитектуры системы зависят лишь его особенности, но не общий набор функций.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: вопрос по микроядрам.
СообщениеДобавлено: 19 июн 2014, 13:53 

Зарегистрирован: 24 ноя 2013, 15:59
Сообщения: 40
монолитные ядра грузят инит через драйвер ФС, который находится в нем же и, следовательно, загружен загрузчиком.
а в микроядрах сервисы вынесены в отдельные программы, соответственно, главная часть ядра должна их запустить. но как она это делает, если файловой системы нет?
или же загрузчик грузит не только основную часть, но и сервисы? была такая мысль, но тогда уж точно хз, как он это делает. GRUB так умеет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: вопрос по микроядрам.
СообщениеДобавлено: 19 июн 2014, 13:55 

Зарегистрирован: 24 ноя 2013, 15:59
Сообщения: 40
Lincor писал(а):
главная часть ядра должна их запустить. но как она это делает, если файловой системы нет?

хех, т.е. получается замкнутый круг - нужно загрузить драйвер ФС из ФС, чтобы использовать ФС.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: вопрос по микроядрам.
СообщениеДобавлено: 19 июн 2014, 14:25 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
Загрузчик грузит не 1 программу, а целый образ. В этом образу лежат все нужные файлы и сервисы. По сути для микроядра (впрочем как и для любого другого) можно сохранить "снимок" состояния и его грузить. Как правило образ просто конструируется прямо на диске, а не сохраняется.

Как было сказано в одной книге написание загрузчика, это попытка вытянуть себя из болота за волосы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: вопрос по микроядрам.
СообщениеДобавлено: 19 июн 2014, 14:42 

Зарегистрирован: 24 ноя 2013, 15:59
Сообщения: 40
я так понимаю, это initrd? тогда понятно... но все равно в ядре должен быть драйвер inird, эх, не Ъ... впрочем, он занимает максимум сотню строк.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: вопрос по микроядрам.
СообщениеДобавлено: 19 июн 2014, 15:02 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
1. Система с монолитным ядром вовсе не означает, что все драйверы намертво пришиты к этому самому ядру. В Винде, например, драйверы вполне себе загружаемые и выгружаемые, поэтому технически вполне реально грузить отдельно ядро и отдельно драйверы.

2. Для быстрой загрузки можно (и нужно) сделать образ памяти уже загруженной системы со всеми необходимыми драйверами, службами и т.д. -- а для этого нет разницы, какова её архитектура.

3. Для работы на произвольном оборудовании в любом случае придётся загружать систему "врассыпную" -- драйверы по мере необходимости, исходя из того, какие устройства обнаруживаются в процессе загрузки. Так что без "умного" загрузчика не обойтись в любом случае.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: вопрос по микроядрам.
СообщениеДобавлено: 19 июн 2014, 15:37 

Зарегистрирован: 24 ноя 2013, 15:59
Сообщения: 40
1. это потому, что в мастдайке гибридное ядро. линукс тоже так умеет, там ядро модульное.

ну я понял, грузить дамп. повторюсь, GRUB умеет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: вопрос по микроядрам.
СообщениеДобавлено: 19 июн 2014, 16:23 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
Lincor писал(а):
хех, т.е. получается замкнутый круг - нужно загрузить драйвер ФС из ФС, чтобы использовать ФС.

Нет. Встроенный в загрузчики драйвер обычно сильно упрощён. Он достаточен для того, чтобы только читать файлы, да ещё без всяких кеширований/буферизаций. А полнофункциональный драйвер грузится потом. Кроме того, загрузка обычно производится только с ограниченного набора достаточно простых ФС, а последующая работа осуществляется уже с большим набором, включающим крутые файловые системы, достаточно тяжёлые для загрузки.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: вопрос по микроядрам.
СообщениеДобавлено: 19 июн 2014, 20:23 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
Lincor
Всё не так как вы думаете. За вас никто грузить не будет. И запускать тоже. И делать придётся самому и разбираться тоже. И лучше тянуть загрузчик или стартер в ядро. И да обычно стартер имеет вид леса или как говорят кастыли. Микрояро конечно красиво. В реальной жизни оно не работает. Для запуска надо грузить вместе с драйверами. Надо налаживать связи между компонентами системы.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ]  На страницу 1, 2  След.

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


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

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


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

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