Строение ядра в Линуксе

Любые разговоры которые хоть как-то связаны с тематикой форума

Модератор: Модераторы разделов

Аватара пользователя
Ринальдус
Сообщения: 293
Статус: линуксоид-энтузиаст
ОС: Ubuntu 7.10 (Gutsy Gibbon)

Строение ядра в Линуксе

Сообщение Ринальдус »

Вчера буквально на одном дыхании прочитал книжку Линуса Торвальдса "Just for fun". Очень интересная книжка, мне очень понравилась. В частности заинтересовало вот что. Там он пишет, что он против модульного ядра (микроядра, как он это называет), что если разбить все ядро на модули, будет очень трудно описывать взаимодействие каждого модуля с другими. Что он за монолитное ядро. Вот чего непонятно: ведь в Линуксе модульное ядро! Я сам его конфигурировал, все процессы, которыми редко пользуешься, можно сконфигурировать в качестве модуля, чтобы они не загружали постоянно систему. А частоиспользуемые процессы надо включать прямо в ядро. Так вот... противоречие между мнением создателя и ядром, которое он создал? Или я чего-то недопонял? Объясните, пожалуйста.
Сейчас происходит расцвет Линукса, поэтому у меня хорошее настроение! :)
Дневник линуксоида
Новости про Linux
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu

Re: Строение ядра в Линуксе

Сообщение alv »

Он не против модульного ядра ратует, а против микроядра.
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Строение ядра в Линуксе

Сообщение ddc »

Ринальдус писал(а):
04.05.2007 11:42
Так вот... противоречие между мнением создателя и ядром, которое он создал? Или я чего-то недопонял? Объясните, пожалуйста.
Он говорил не о модульном ядре (т.е. фактически монолитном ядре с подключаемыми-отключаемыми модулями, как это в Linux), а о микроядре.
Впрочем, он всё равно не прав. ;) (Это провокация, не реагировать!)
Спасибо сказали:
Аватара пользователя
Ринальдус
Сообщения: 293
Статус: линуксоид-энтузиаст
ОС: Ubuntu 7.10 (Gutsy Gibbon)

Re: Строение ядра в Линуксе

Сообщение Ринальдус »

Тогда я значит не понял, чем модульное ядро отличается от микроядра.
Сейчас происходит расцвет Линукса, поэтому у меня хорошее настроение! :)
Дневник линуксоида
Новости про Linux
Спасибо сказали:
Аватара пользователя
BlackStar
Сообщения: 1338
Статус: We are all Kosh
ОС: Fedora 10

Re: Строение ядра в Линуксе

Сообщение BlackStar »

Linux модули работают в едином адресном пространстве ядра, в отличии от микроядра в котором обмен данными происходит посредством сообщений между модулями и самими ядром (кажется так).
LightLang Team
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Строение ядра в Линуксе

Сообщение ddc »

Ринальдус писал(а):
04.05.2007 11:57
Тогда я значит не понял, чем модульное ядро отличается от микроядра.
Принипиально тем, что в монолитном ядре модули подключаются к ядру и взаимодействуют с ним напрямую.
В микроядре наоборот - там все системные процессы взаимодействуют через IPC, т.е. так же, как и все остальные процессы.

Собственно поэтому иногда и раздаются недовольные крики: "В Linux все драйверы дышат синхронно!"
Если хотите пример микроядра - Minix3.
Спасибо сказали:
Аватара пользователя
k01
Сообщения: 104
ОС: Archlinux

Re: Строение ядра в Линуксе

Сообщение k01 »

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

В ядре линукса модули имеют единое адресное пространство, выполняются с привилегиями ядра, могут вызывать ф-и , читать переменные других модулей.
Рациональное программирование — наш ответ MicroSoft!
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Строение ядра в Линуксе

Сообщение elide »

с другой стороны, FUSE есть. libusb - есть. первые шаги сделаны.
осталось вынести всё остальное, и будет здорово (:
слава роботам!
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Строение ядра в Линуксе

Сообщение ddc »

elide писал(а):
04.05.2007 12:14
с другой стороны, FUSE есть. libusb - есть. первые шаги сделаны.
осталось вынести всё остальное, и будет здорово (:
Угу. А с третьей стороны, под Hurd уже идёт GNOME. :)
Спасибо сказали:
Аватара пользователя
Ринальдус
Сообщения: 293
Статус: линуксоид-энтузиаст
ОС: Ubuntu 7.10 (Gutsy Gibbon)

Re: Строение ядра в Линуксе

Сообщение Ринальдус »

Все понятно. Интересно, а в Windows какое ядро: микро или монолитное? Почему она так часто виснет? :)
Сейчас происходит расцвет Линукса, поэтому у меня хорошее настроение! :)
Дневник линуксоида
Новости про Linux
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Строение ядра в Линуксе

Сообщение ddc »

Ринальдус писал(а):
04.05.2007 12:42
Все понятно. Интересно, а в Windows какое ядро: микро или монолитное? Почему она так часто виснет? :)
NT - модульное (это если делить ядра на монолитные и микроядра; если делить на монолитные, модульные и микроядра, то гибридное).
В Win9х тоже самое, но больше в сторону монолитности. Фактически это DOS.
Спасибо сказали:
Аватара пользователя
Santa_Klaus
Сообщения: 160
Статус: О`Балдуй
ОС: Debian Lenny и много чего ещё

Re: Строение ядра в Линуксе

Сообщение Santa_Klaus »

ddc писал(а):
04.05.2007 12:07
Принипиально тем, что в монолитном ядре модули подключаются к ядру и взаимодействуют с ним напрямую.
В микроядре наоборот - там все системные процессы взаимодействуют через IPC, т.е. так же, как и все остальные процессы.

Собственно поэтому иногда и раздаются недовольные крики: "В Linux все драйверы дышат синхронно!"
Если хотите пример микроядра - Minix3.

MacOS X туда же
Я не тормоз, я основательный :)
Спасибо сказали:
Аватара пользователя
eduard_pustobaev
Сообщения: 2629
Статус: Ленивец
ОС: Arch/Debian.

Re: Строение ядра в Линуксе

Сообщение eduard_pustobaev »

Santa_Klaus писал(а):
04.05.2007 13:08
MacOS X туда же

Нафиг MacOS X. Её назвать микроядерной OS конечно можно, но с ооочень большой натяжкой.
В дисгармонии со вселенной.
Спасибо сказали:
Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Строение ядра в Линуксе

Сообщение deninok »

Вообще-то, как писал о том Роберт Лав в своей книге "Разработка ядра Linux", современное ядро является чем-то средним между микроядром и ядром монолитным. Именно возможность динамического включения модулей в ядро (с целью расширения его возможностей) и реализовало эту середину. Ядро ведь можно сконфигурировать так, что все, могущее быть модулем, будет скомпилировано воедино. Тогда это будет истинно монолитное ядро. Кстати, для некоторых систем ядро, собранное таким образом, будет наилучшим решением. А можно собрать ядро с поддержкой "абсолютной" модульности, то есть все, могущее быть модулем, им и будет. Тогда образ ядра без их подключения будет очень маленьким. Но, разумеется, это не будет микроядром (как например, ядро QNX).
Кстати, именно по причине того, что Linux ядро не является в полной степени микроядром, в этой системе не реализуемо жесткое реальное время (как в той же QNX).
Спасибо сказали:
Аватара пользователя
SODIX
Сообщения: 944
Статус: Почетаемый хранитель бубна
ОС: Mandriva GNU/Linux

Re: Строение ядра в Линуксе

Сообщение SODIX »

Люддобрыее))А ухде можно почитать о Mach на русском?Конкретно о том,клон ли это UNIX или его "потомок"?
Пересмотрел матрицу и все встало на свои места...There is no spoon.

http://wiki.mandriva.com/en/Home
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Строение ядра в Линуксе

Сообщение Uncle_Theodore »

SODIX писал(а):
04.05.2007 17:17
Люддобрыее))А ухде можно почитать о Mach на русском?Конкретно о том,клон ли это UNIX или его "потомок"?

Строго говоря, не клон и не потомок. Совершенно оригинальный проект.
http://ru.wikipedia.org/wiki/Mach
http://www.citforum.ru/operating_systems/sos/glava_23.shtml
Спасибо сказали:
Аватара пользователя
SODIX
Сообщения: 944
Статус: Почетаемый хранитель бубна
ОС: Mandriva GNU/Linux

Re: Строение ядра в Линуксе

Сообщение SODIX »

Ну,в вики я уже давно читал...
А за вторую ссылку спасибо,добавил в закладки обязательно прочту.Интересно!
Пересмотрел матрицу и все встало на свои места...There is no spoon.

http://wiki.mandriva.com/en/Home
Спасибо сказали:
BaBL
Сообщения: 767
ОС: Debian GNU/Linux SID

Re: Строение ядра в Линуксе

Сообщение BaBL »

ddc писал(а):
04.05.2007 13:06
NT - модульное (это если делить ядра на монолитные и микроядра; если делить на монолитные, модульные и микроядра, то гибридное).

на сколько я помню, NT - это очень жирное микроядро =) по крайней мере МС его разрабатывала и всегда рекламировала как микроядро, но после всаживания в него куска win32.... язык у меня не повернется.
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Строение ядра в Линуксе

Сообщение ddc »

BaBL писал(а):
04.05.2007 17:44
на сколько я помню, NT - это очень жирное микроядро =) по крайней мере МС его разрабатывала и всегда рекламировала как микроядро, но после всаживания в него куска win32.... язык у меня не повернется.
Драйверы в Windows - это модули к ядру. Это составляет модульную природу ядра. Но часть системных сервисов работает как отдельные процессы. Т.е. ядро гибридное.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Строение ядра в Линуксе

Сообщение sash-kan »

ну и, в поддержку образовательной компании — о терминологии.
фраза «строение ядра в линукс» равноценна «строению двигателя в дизеле».
linux — это название ядра. имя собственное. такое имя дал ему создатель. точнее, не совсем создатель, но это к делу не относится.
а работает это ядро в операционной системе gnu. ну, чтобы не обижать Линуса, gnu/linux. хотя gnu/x-window, imho, гораздо ближе сердцу многих пользователей (:
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
eduard_pustobaev
Сообщения: 2629
Статус: Ленивец
ОС: Arch/Debian.

Re: Строение ядра в Линуксе

Сообщение eduard_pustobaev »

sash-kan писал(а):
04.05.2007 20:05
linux — это название ядра. имя собственное. такое имя дал ему создатель. точнее, не совсем создатель, но это к делу не относится.
а работает это ядро в операционной системе gnu. ну, чтобы не обижать Линуса, gnu/linux. хотя gnu/x-window, imho, гораздо ближе сердцу многих пользователей (:

Согласен, но уже был диспут на этом же форуме по этому же поводу. Далеко не все согласны с этим мнением...
В дисгармонии со вселенной.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Строение ядра в Линуксе

Сообщение serzh-z »

elide писал(а):
04.05.2007 12:14
с другой стороны, FUSE есть. libusb - есть. первые шаги сделаны.
осталось вынести всё остальное, и будет здорово (:
Да, FUSE - это круто, это как в понедельник заорать "Епт!.. Завтра-то уже выходной." Никогда, увы, Linux уже не станет микроядром, а если станет, то это будет полная лажа - проще будет переписать всю систему.
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Строение ядра в Линуксе

Сообщение ddc »

serzh-z, +1
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Строение ядра в Линуксе

Сообщение ddc »

Лирическое отступление.
sash-kan писал(а):
04.05.2007 20:05
а работает это ядро в операционной системе gnu. ну, чтобы не обижать Линуса, gnu/linux. хотя gnu/x-window, imho, гораздо ближе сердцу многих пользователей (:
Ага. "Строение ядра в gnu/linux" я ещё как-то представляю, а вот на тему "Строение ядра в gnu/x-window" я бы среагировал однозначно: какого ядра: Linux, Mach, L4, Coyotos, Darwin, kFreeBSD?
Ну нету имени у этой ОС. GNU - это не ОС, а нечто абстрактное. Linux - точно не ОС. В целом ощущается, что GNUstep поверх Linux, Darwin или HURD - это одна и та же ОС, но вот не ясно, та же ли, что и KDE поверх всего того же. Также Hurd (с любым ядром) и Linux - одна ОС?

P.S.: Если эта тема будет развиваться, выделю в отдельную ветку.
Спасибо сказали:
Аватара пользователя
Ринальдус
Сообщения: 293
Статус: линуксоид-энтузиаст
ОС: Ubuntu 7.10 (Gutsy Gibbon)

Re: Строение ядра в Линуксе

Сообщение Ринальдус »

Драйверы в Windows - это модули к ядру.

Это еще почему? Драйверы в Windows - это файлы с расширениями .sys, .dll, .drv. Это в Линуксе драйвера устройств являются частью ядра, а в Windows совсем не так.
P.S. У меня на работе у моего компа с Windows 2000 не работает USB, потому что нет драйвера материнской платы. А драйвера нет по причине ее древности. Если бы драйверы Windows входили в состав ядра, у меня бы USB работало, потому что Windows 2000 умеет обращаться с USB.
Сейчас происходит расцвет Линукса, поэтому у меня хорошее настроение! :)
Дневник линуксоида
Новости про Linux
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Строение ядра в Линуксе

Сообщение ddc »

Ринальдус писал(а):
05.05.2007 00:35
Это еще почему? Драйверы в Windows - это файлы с расширениями .sys, .dll, .drv.
И что? Они исполняются в пространстве имён ядра, а не в отдельных процессах, так что именно модули.

Ринальдус писал(а):
05.05.2007 00:35
Если бы драйверы Windows входили в состав ядра, у меня бы USB работало, потому что Windows 2000 умеет обращаться с USB.
По-моему, Вы путаете расположение кода и способ взаимодействия с ядром.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Строение ядра в Линуксе

Сообщение serzh-z »

Ринальдус писал(а):
04.05.2007 11:42
Вчера буквально на одном дыхании прочитал книжку Линуса Торвальдса "Just for fun". Очень интересная книжка, мне очень понравилась.
Вы явно засланник Торвальдса... Прямо заинтриговали. Я не осилил эту книгу дальше 30% - спекся на рассусоливании, как Торвальдс собирал деньги на новый комп, вроде бы еще ZX, и как пытался писать игры. Теперь придеться осиливать.
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Строение ядра в Линуксе

Сообщение ddc »

serzh-z писал(а):
05.05.2007 01:02
Теперь придеться осиливать.
Книжка забавная на самом деле, хотя моё мнение о Торвальдсе по итогам её прочтения только ухудшилось.
Спасибо сказали:
Аватара пользователя
Ринальдус
Сообщения: 293
Статус: линуксоид-энтузиаст
ОС: Ubuntu 7.10 (Gutsy Gibbon)

Re: Строение ядра в Линуксе

Сообщение Ринальдус »

ddc, почему?
Сейчас происходит расцвет Линукса, поэтому у меня хорошее настроение! :)
Дневник линуксоида
Новости про Linux
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Строение ядра в Линуксе

Сообщение ddc »

Ринальдус писал(а):
05.05.2007 01:16
ddc, почему?
Почему мнение о Торвальдсе испортилось? Он привирает. Опцион, микроядра и ещё по мелочи... Много чего было не так судя по описаниям очевидцев и рассказам Торвальдса в других местах...
Спасибо сказали: