Строение ядра в Линуксе
Модератор: Модераторы разделов
-
Ринальдус
- Сообщения: 293
- Статус: линуксоид-энтузиаст
- ОС: Ubuntu 7.10 (Gutsy Gibbon)
Строение ядра в Линуксе
Вчера буквально на одном дыхании прочитал книжку Линуса Торвальдса "Just for fun". Очень интересная книжка, мне очень понравилась. В частности заинтересовало вот что. Там он пишет, что он против модульного ядра (микроядра, как он это называет), что если разбить все ядро на модули, будет очень трудно описывать взаимодействие каждого модуля с другими. Что он за монолитное ядро. Вот чего непонятно: ведь в Линуксе модульное ядро! Я сам его конфигурировал, все процессы, которыми редко пользуешься, можно сконфигурировать в качестве модуля, чтобы они не загружали постоянно систему. А частоиспользуемые процессы надо включать прямо в ядро. Так вот... противоречие между мнением создателя и ядром, которое он создал? Или я чего-то недопонял? Объясните, пожалуйста.
Сейчас происходит расцвет Линукса, поэтому у меня хорошее настроение! :)
Дневник линуксоида
Новости про Linux
Дневник линуксоида
Новости про Linux
-
alv
- Бывший модератор
- Сообщения: 7275
- Статус: Пенсионер в законе
- ОС: Cintu
-
ddc
- Бывший модератор
- Сообщения: 3535
- Статус: OpenBSD-compatible
- ОС: OpenBSD -current
Re: Строение ядра в Линуксе
Он говорил не о модульном ядре (т.е. фактически монолитном ядре с подключаемыми-отключаемыми модулями, как это в Linux), а о микроядре.
Впрочем, он всё равно не прав.
-
Ринальдус
- Сообщения: 293
- Статус: линуксоид-энтузиаст
- ОС: Ubuntu 7.10 (Gutsy Gibbon)
Re: Строение ядра в Линуксе
Тогда я значит не понял, чем модульное ядро отличается от микроядра.
Сейчас происходит расцвет Линукса, поэтому у меня хорошее настроение! :)
Дневник линуксоида
Новости про Linux
Дневник линуксоида
Новости про Linux
-
BlackStar
- Сообщения: 1338
- Статус: We are all Kosh
- ОС: Fedora 10
Re: Строение ядра в Линуксе
Linux модули работают в едином адресном пространстве ядра, в отличии от микроядра в котором обмен данными происходит посредством сообщений между модулями и самими ядром (кажется так).
LightLang Team
-
ddc
- Бывший модератор
- Сообщения: 3535
- Статус: OpenBSD-compatible
- ОС: OpenBSD -current
Re: Строение ядра в Линуксе
Принипиально тем, что в монолитном ядре модули подключаются к ядру и взаимодействуют с ним напрямую.
В микроядре наоборот - там все системные процессы взаимодействуют через IPC, т.е. так же, как и все остальные процессы.
Собственно поэтому иногда и раздаются недовольные крики: "В Linux все драйверы дышат синхронно!"
Если хотите пример микроядра - Minix3.
-
k01
- Сообщения: 104
- ОС: Archlinux
Re: Строение ядра в Линуксе
в системе с микроядром каждый модуль имеет своё адресное пространство(т.е. не имеет непосредственного доступа к данным других модулей) , выполняется в режиме задачи и взаимодействует с другими через микроядро.
В ядре линукса модули имеют единое адресное пространство, выполняются с привилегиями ядра, могут вызывать ф-и , читать переменные других модулей.
В ядре линукса модули имеют единое адресное пространство, выполняются с привилегиями ядра, могут вызывать ф-и , читать переменные других модулей.
Рациональное программирование — наш ответ MicroSoft!
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
Re: Строение ядра в Линуксе
с другой стороны, FUSE есть. libusb - есть. первые шаги сделаны.
осталось вынести всё остальное, и будет здорово (:
осталось вынести всё остальное, и будет здорово (:
слава роботам!
-
ddc
- Бывший модератор
- Сообщения: 3535
- Статус: OpenBSD-compatible
- ОС: OpenBSD -current
-
Ринальдус
- Сообщения: 293
- Статус: линуксоид-энтузиаст
- ОС: Ubuntu 7.10 (Gutsy Gibbon)
Re: Строение ядра в Линуксе
Все понятно. Интересно, а в Windows какое ядро: микро или монолитное? Почему она так часто виснет? 
Сейчас происходит расцвет Линукса, поэтому у меня хорошее настроение! :)
Дневник линуксоида
Новости про Linux
Дневник линуксоида
Новости про Linux
-
ddc
- Бывший модератор
- Сообщения: 3535
- Статус: OpenBSD-compatible
- ОС: OpenBSD -current
Re: Строение ядра в Линуксе
NT - модульное (это если делить ядра на монолитные и микроядра; если делить на монолитные, модульные и микроядра, то гибридное).
В Win9х тоже самое, но больше в сторону монолитности. Фактически это DOS.
-
Santa_Klaus
- Сообщения: 160
- Статус: О`Балдуй
- ОС: Debian Lenny и много чего ещё
Re: Строение ядра в Линуксе
ddc писал(а): ↑04.05.2007 12:07Принипиально тем, что в монолитном ядре модули подключаются к ядру и взаимодействуют с ним напрямую.
В микроядре наоборот - там все системные процессы взаимодействуют через IPC, т.е. так же, как и все остальные процессы.
Собственно поэтому иногда и раздаются недовольные крики: "В Linux все драйверы дышат синхронно!"
Если хотите пример микроядра - Minix3.
MacOS X туда же
Я не тормоз, я основательный :)
-
eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
Re: Строение ядра в Линуксе
Нафиг MacOS X. Её назвать микроядерной OS конечно можно, но с ооочень большой натяжкой.
В дисгармонии со вселенной.
-
deninok
- Сообщения: 585
- Статус: Программист С++
- ОС: Debian GNU/Linux
Re: Строение ядра в Линуксе
Вообще-то, как писал о том Роберт Лав в своей книге "Разработка ядра Linux", современное ядро является чем-то средним между микроядром и ядром монолитным. Именно возможность динамического включения модулей в ядро (с целью расширения его возможностей) и реализовало эту середину. Ядро ведь можно сконфигурировать так, что все, могущее быть модулем, будет скомпилировано воедино. Тогда это будет истинно монолитное ядро. Кстати, для некоторых систем ядро, собранное таким образом, будет наилучшим решением. А можно собрать ядро с поддержкой "абсолютной" модульности, то есть все, могущее быть модулем, им и будет. Тогда образ ядра без их подключения будет очень маленьким. Но, разумеется, это не будет микроядром (как например, ядро QNX).
Кстати, именно по причине того, что Linux ядро не является в полной степени микроядром, в этой системе не реализуемо жесткое реальное время (как в той же QNX).
Кстати, именно по причине того, что Linux ядро не является в полной степени микроядром, в этой системе не реализуемо жесткое реальное время (как в той же QNX).
-
SODIX
- Сообщения: 944
- Статус: Почетаемый хранитель бубна
- ОС: Mandriva GNU/Linux
Re: Строение ядра в Линуксе
Люддобрыее))А ухде можно почитать о Mach на русском?Конкретно о том,клон ли это UNIX или его "потомок"?
Пересмотрел матрицу и все встало на свои места...There is no spoon.
http://wiki.mandriva.com/en/Home
http://wiki.mandriva.com/en/Home
-
Uncle_Theodore
- Сообщения: 3339
- ОС: Slackware 12.2, ArchLinux 64
Re: Строение ядра в Линуксе
Строго говоря, не клон и не потомок. Совершенно оригинальный проект.
http://ru.wikipedia.org/wiki/Mach
http://www.citforum.ru/operating_systems/sos/glava_23.shtml
-
SODIX
- Сообщения: 944
- Статус: Почетаемый хранитель бубна
- ОС: Mandriva GNU/Linux
Re: Строение ядра в Линуксе
Ну,в вики я уже давно читал...
А за вторую ссылку спасибо,добавил в закладки обязательно прочту.Интересно!
А за вторую ссылку спасибо,добавил в закладки обязательно прочту.Интересно!
Пересмотрел матрицу и все встало на свои места...There is no spoon.
http://wiki.mandriva.com/en/Home
http://wiki.mandriva.com/en/Home
-
BaBL
- Сообщения: 767
- ОС: Debian GNU/Linux SID
Re: Строение ядра в Линуксе
на сколько я помню, NT - это очень жирное микроядро =) по крайней мере МС его разрабатывала и всегда рекламировала как микроядро, но после всаживания в него куска win32.... язык у меня не повернется.
-
ddc
- Бывший модератор
- Сообщения: 3535
- Статус: OpenBSD-compatible
- ОС: OpenBSD -current
Re: Строение ядра в Линуксе
Драйверы в Windows - это модули к ядру. Это составляет модульную природу ядра. Но часть системных сервисов работает как отдельные процессы. Т.е. ядро гибридное.
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: Строение ядра в Линуксе
ну и, в поддержку образовательной компании — о терминологии.
фраза «строение ядра в линукс» равноценна «строению двигателя в дизеле».
linux — это название ядра. имя собственное. такое имя дал ему создатель. точнее, не совсем создатель, но это к делу не относится.
а работает это ядро в операционной системе gnu. ну, чтобы не обижать Линуса, gnu/linux. хотя gnu/x-window, imho, гораздо ближе сердцу многих пользователей (:
фраза «строение ядра в линукс» равноценна «строению двигателя в дизеле».
linux — это название ядра. имя собственное. такое имя дал ему создатель. точнее, не совсем создатель, но это к делу не относится.
а работает это ядро в операционной системе gnu. ну, чтобы не обижать Линуса, gnu/linux. хотя gnu/x-window, imho, гораздо ближе сердцу многих пользователей (:
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
Re: Строение ядра в Линуксе
sash-kan писал(а): ↑04.05.2007 20:05linux — это название ядра. имя собственное. такое имя дал ему создатель. точнее, не совсем создатель, но это к делу не относится.
а работает это ядро в операционной системе gnu. ну, чтобы не обижать Линуса, gnu/linux. хотя gnu/x-window, imho, гораздо ближе сердцу многих пользователей (:
Согласен, но уже был диспут на этом же форуме по этому же поводу. Далеко не все согласны с этим мнением...
В дисгармонии со вселенной.
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Строение ядра в Линуксе
Да, FUSE - это круто, это как в понедельник заорать "Епт!.. Завтра-то уже выходной." Никогда, увы, Linux уже не станет микроядром, а если станет, то это будет полная лажа - проще будет переписать всю систему.
-
ddc
- Бывший модератор
- Сообщения: 3535
- Статус: OpenBSD-compatible
- ОС: OpenBSD -current
Re: Строение ядра в Линуксе
serzh-z, +1
-
ddc
- Бывший модератор
- Сообщения: 3535
- Статус: OpenBSD-compatible
- ОС: OpenBSD -current
Re: Строение ядра в Линуксе
Лирическое отступление.
Ну нету имени у этой ОС. GNU - это не ОС, а нечто абстрактное. Linux - точно не ОС. В целом ощущается, что GNUstep поверх Linux, Darwin или HURD - это одна и та же ОС, но вот не ясно, та же ли, что и KDE поверх всего того же. Также Hurd (с любым ядром) и Linux - одна ОС?
P.S.: Если эта тема будет развиваться, выделю в отдельную ветку.
Ага. "Строение ядра в 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
Дневник линуксоида
Новости про Linux
-
ddc
- Бывший модератор
- Сообщения: 3535
- Статус: OpenBSD-compatible
- ОС: OpenBSD -current
Re: Строение ядра в Линуксе
И что? Они исполняются в пространстве имён ядра, а не в отдельных процессах, так что именно модули.
По-моему, Вы путаете расположение кода и способ взаимодействия с ядром.
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Строение ядра в Линуксе
Вы явно засланник Торвальдса... Прямо заинтриговали. Я не осилил эту книгу дальше 30% - спекся на рассусоливании, как Торвальдс собирал деньги на новый комп, вроде бы еще ZX, и как пытался писать игры. Теперь придеться осиливать.
-
ddc
- Бывший модератор
- Сообщения: 3535
- Статус: OpenBSD-compatible
- ОС: OpenBSD -current
-
Ринальдус
- Сообщения: 293
- Статус: линуксоид-энтузиаст
- ОС: Ubuntu 7.10 (Gutsy Gibbon)
Re: Строение ядра в Линуксе
ddc, почему?
Сейчас происходит расцвет Линукса, поэтому у меня хорошее настроение! :)
Дневник линуксоида
Новости про Linux
Дневник линуксоида
Новости про Linux
-
ddc
- Бывший модератор
- Сообщения: 3535
- Статус: OpenBSD-compatible
- ОС: OpenBSD -current