OSDev http://osdev.su/ |
|
вопрос по микроядрам. http://osdev.su/viewtopic.php?f=6&t=952 |
Страница 1 из 2 |
Автор: | Lincor [ 19 июн 2014, 12:37 ] |
Заголовок сообщения: | вопрос по микроядрам. |
вот появился вопрос о микроядрах: как они грузят сервисы? ведь файловую систему тоже выносят в отдельный сервис. |
Автор: | SII [ 19 июн 2014, 13:40 ] |
Заголовок сообщения: | Re: вопрос по микроядрам. |
Ну а как не микроядра делают то же самое? Ведь без драйверов загрузка невозможна. На самом деле первоначальная загрузка всегда осуществляется специальным загрузчиком, и от архитектуры системы зависят лишь его особенности, но не общий набор функций. |
Автор: | Lincor [ 19 июн 2014, 13:53 ] |
Заголовок сообщения: | Re: вопрос по микроядрам. |
монолитные ядра грузят инит через драйвер ФС, который находится в нем же и, следовательно, загружен загрузчиком. а в микроядрах сервисы вынесены в отдельные программы, соответственно, главная часть ядра должна их запустить. но как она это делает, если файловой системы нет? или же загрузчик грузит не только основную часть, но и сервисы? была такая мысль, но тогда уж точно хз, как он это делает. GRUB так умеет? |
Автор: | Lincor [ 19 июн 2014, 13:55 ] |
Заголовок сообщения: | Re: вопрос по микроядрам. |
Lincor писал(а): главная часть ядра должна их запустить. но как она это делает, если файловой системы нет? хех, т.е. получается замкнутый круг - нужно загрузить драйвер ФС из ФС, чтобы использовать ФС. |
Автор: | pavia [ 19 июн 2014, 14:25 ] |
Заголовок сообщения: | Re: вопрос по микроядрам. |
Загрузчик грузит не 1 программу, а целый образ. В этом образу лежат все нужные файлы и сервисы. По сути для микроядра (впрочем как и для любого другого) можно сохранить "снимок" состояния и его грузить. Как правило образ просто конструируется прямо на диске, а не сохраняется. Как было сказано в одной книге написание загрузчика, это попытка вытянуть себя из болота за волосы. |
Автор: | Lincor [ 19 июн 2014, 14:42 ] |
Заголовок сообщения: | Re: вопрос по микроядрам. |
я так понимаю, это initrd? тогда понятно... но все равно в ядре должен быть драйвер inird, эх, не Ъ... впрочем, он занимает максимум сотню строк. |
Автор: | SII [ 19 июн 2014, 15:02 ] |
Заголовок сообщения: | Re: вопрос по микроядрам. |
1. Система с монолитным ядром вовсе не означает, что все драйверы намертво пришиты к этому самому ядру. В Винде, например, драйверы вполне себе загружаемые и выгружаемые, поэтому технически вполне реально грузить отдельно ядро и отдельно драйверы. 2. Для быстрой загрузки можно (и нужно) сделать образ памяти уже загруженной системы со всеми необходимыми драйверами, службами и т.д. -- а для этого нет разницы, какова её архитектура. 3. Для работы на произвольном оборудовании в любом случае придётся загружать систему "врассыпную" -- драйверы по мере необходимости, исходя из того, какие устройства обнаруживаются в процессе загрузки. Так что без "умного" загрузчика не обойтись в любом случае. |
Автор: | Lincor [ 19 июн 2014, 15:37 ] |
Заголовок сообщения: | Re: вопрос по микроядрам. |
1. это потому, что в мастдайке гибридное ядро. линукс тоже так умеет, там ядро модульное. ну я понял, грузить дамп. повторюсь, GRUB умеет? |
Автор: | Yoda [ 19 июн 2014, 16:23 ] |
Заголовок сообщения: | Re: вопрос по микроядрам. |
Lincor писал(а): хех, т.е. получается замкнутый круг - нужно загрузить драйвер ФС из ФС, чтобы использовать ФС. Нет. Встроенный в загрузчики драйвер обычно сильно упрощён. Он достаточен для того, чтобы только читать файлы, да ещё без всяких кеширований/буферизаций. А полнофункциональный драйвер грузится потом. Кроме того, загрузка обычно производится только с ограниченного набора достаточно простых ФС, а последующая работа осуществляется уже с большим набором, включающим крутые файловые системы, достаточно тяжёлые для загрузки. |
Автор: | pavia [ 19 июн 2014, 20:23 ] |
Заголовок сообщения: | Re: вопрос по микроядрам. |
Lincor Всё не так как вы думаете. За вас никто грузить не будет. И запускать тоже. И делать придётся самому и разбираться тоже. И лучше тянуть загрузчик или стартер в ядро. И да обычно стартер имеет вид леса или как говорят кастыли. Микрояро конечно красиво. В реальной жизни оно не работает. Для запуска надо грузить вместе с драйверами. Надо налаживать связи между компонентами системы. |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |