|
2.8, _Nick_ (??), 17:06, 01/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
HURD - совсем не для обучения :)
и точно не "построен по принципу как можно большего упрощения кода."
| |
|
|
2.10, _Nick_ (??), 17:12, 01/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
>А смысл?
>Типа, мы сделаем свой линукс с блекджеком и шлюхами!
угу
смысл прослеживаеться с трудом :)
вернее вообще не прослеживаеться
| |
|
1.14, Аноним (-), 17:28, 01/08/2007 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Как понимаю аналог minix, для обучения.
То что сейчас изучать ОС в университете на основе кода ядра Linux тяжело - думаю никто спорить не будет.
Minix для этих целей подходит куда лучше.
Зачем писать новое ядро - не совсем ясно - может дипломная работа?
| |
|
2.15, _Nick_ (??), 17:31, 01/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
>Как понимаю аналог minix, для обучения.
>То что сейчас изучать ОС в университете на основе кода ядра Linux
>тяжело - думаю никто спорить не будет.
еще как будет.
Сырцы пингвина на удивление неплохо документированы и откоментированы.
Но самое главное, что код там БОЕВОЙ, а не учебный.
Человек, учащийся на коде пингвина при остальных равных условиях
будет лучшим спецом, чем обученный на таких вот обучалках.
>Зачем писать новое ядро - не совсем ясно - может дипломная работа?
вот тут есть нота смысла. просто работа в универе. Ессьно, что в универе все делаеться
для обучение :)
| |
|
3.17, yantux (??), 18:10, 01/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
>Человек, учащийся на коде пингвина при остальных равных условиях
будет лучшим спецом, чем обученный на таких вот обучалках.
ну да... Не знаю, правда или нет, но на одином из форумаов было сказано со ссылкой на Линуса Торвальдса, что нормально ядро знают человек 50 всего в мире.
| |
|
4.21, _Nick_ (??), 18:19, 01/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
>>Человек, учащийся на коде пингвина при остальных равных условиях
>
>будет лучшим спецом, чем обученный на таких вот обучалках.
>
>ну да... Не знаю, правда или нет, но на одином из форумаов
>было сказано со ссылкой на Линуса Торвальдса, что нормально ядро
>знают человек 50 всего в мире.
"учиться на ядре" и "знать ядро" - дифф в состоянии сгенерить?
| |
|
3.22, klalafuda (?), 20:15, 01/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
> еще как будет.
и очень зря.
> Сырцы пингвина на удивление неплохо документированы и откоментированы.
исходный текст ядра Linux в большинстве своём фактически не содержит комментариев равно как и документации. если конечно же под документацией проекта вы не подразумеваете код проекта как таковой и микровзрыв на макаронной фабрике в Documentation.
> Но самое главное, что код там БОЕВОЙ, а не учебный.
что IMHO совсем не есть плюс. учиться нужно "как правильно", а не "чтобы работало". уже другое дело, что после на практике он все-таки будет плясать от второго, но первому его хотя бы когда-то учили.
> Человек, учащийся на коде пингвина при остальных равных условиях
будет лучшим спецом, чем обученный на таких вот обучалках.
человек, которому выпала "удача" учиться на коде ядра Linux с бОльшей вероятностью откажется связывать свою профессиональную деятельность с системным программированием да и с программированием в целом. менталитет же тех немногих, кто уцелел, будут в корне и скорее всего неисправимо испорчен, равно как их вкус и стиль.
// wbr
| |
|
4.27, fresco (??), 09:01, 02/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
>исходный текст ядра Linux в большинстве своём фактически не содержит комментариев равно
>как и документации. если конечно же под документацией проекта вы не
>подразумеваете код проекта как таковой и микровзрыв на макаронной фабрике в
>Documentation.
Не замечал. Я, конечно, не весь его излазил. Ковырялся в ФС. Код практически всех файловых систем, кроме, разве что, ext2/3/4, комментирован достаточно, что бы практически с ходу разобраться, как он работает.
Не хочется начинать флэйм, это просто замечание: посмотрите на FreeBSD, вот там код действительно не коментирован. Как пример приведу fsdetect (определяет тип и статистику ФС на заданном разделе без его монтирования): при написании программы разбираться в структурах данных UFS пришлось по коду Linux-драйвера -- в BSD-коде темный лес и никаких комментариев.Можете проверять.
| |
|
5.34, klalafuda (?), 13:00, 02/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
> Не замечал. Я, конечно, не весь его излазил. Ковырялся в ФС. Код практически всех файловых систем, кроме, разве что, ext2/3/4, комментирован достаточно, что бы практически с ходу разобраться, как он работает.
а код самого уровня VFS..? одни только пространства имён чего стоят с учётом того, что они всё пухнут и пухнут фичамит от версии к версии...
> Не хочется начинать флэйм, это просто замечание: посмотрите на FreeBSD, вот там код действительно не коментирован. Как пример приведу fsdetect (определяет тип и статистику ФС на заданном разделе без его монтирования): при написании программы разбираться в структурах данных UFS пришлось по коду Linux-драйвера -- в BSD-коде темный лес и никаких комментариев.Можете проверять.
зачем флейм? проверяли, ack. да и отсутствие проектной документации в ядре Linux отнюдь не подразумевает автоматическое её наличие, например, в *BSD :) там то-же хватает своим тараканов...
скорее всего, это общее свойство волонтёрских проектов: пока за спиной разработчика не поставить автоматчика, который бы заставлял его аккуратно оформлять код, писать документацию и пр., сам по себе он это делать скорее всего не будет, так как в большинстве случаев ему лениво/не умеет/не привык/нет времени/да просто пофигу. c'est la vie.
// wbr
| |
|
6.36, fresco (??), 13:35, 02/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
Согласен, VFS -- жесть. Вообще весь код, оставшийся со времен Линуса и первых разработчиков комментирован отвратительно. Корпорации предоставляют гораздо более внятный код. Драйвера от IBM (JFS), SGI (XFS) и особенно NameSys (reiserfs и reiser4) приятно почитать. Неприятно выделяется RedHat с ext3/4, но и они программируют несколько более четко, чем core kernel team.
| |
|
5.35, klalafuda (?), 13:19, 02/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
> Не хочется начинать флэйм, это просто замечание: посмотрите на FreeBSD, вот там код действительно не коментирован. Как пример приведу fsdetect (определяет тип и статистику ФС на заданном разделе без его монтирования): при написании программы разбираться в структурах данных UFS пришлось по коду Linux-драйвера -- в BSD-коде темный лес и никаких комментариев.Можете проверять.
хотя можно посмотреть на проблему и с другой стороны: чем сложнее и запутаннее код ядра и выше планка, необходимая для вхождения, тем меньше людей, которые действительно в состоянии что-то понять в этом проекте. как следствие, тем больше ценятся их знания и опыт в вечнозелёных и меньше конкурентов. что в принципе то-же есть неплохо на фоне популяризации Linux в массах трудящихся. во всём можно найти и положительные моменты :)
// wbr
| |
5.37, _Nick_ (??), 20:00, 02/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
>Не хочется начинать флэйм, это просто замечание: посмотрите на FreeBSD, вот там
>код действительно не коментирован. Как пример приведу fsdetect (определяет тип и
>статистику ФС на заданном разделе без его монтирования): при написании
>программы разбираться в структурах данных UFS пришлось по коду Linux-драйвера --
>в BSD-коде темный лес и никаких комментариев.Можете проверять.
+5 ")
| |
|
|
|
|
1.16, yantux (??), 18:07, 01/08/2007 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>Сырцы пингвина на удивление неплохо документированы и откоментированы.
Абсолютно не согласен. Коди Линукса очень тяжело читать. Многие вещи вводят в ступор.
Вы можете объяснить, зачем нужны MS_SHARED, MS_SLAVE, MS_PRIVATE в отношении sys_mount? Я этот вопрос задаю здесь постоянно. Ответа ноль.
| |
|
2.20, _Nick_ (??), 18:18, 01/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
>>Сырцы пингвина на удивление неплохо документированы и откоментированы.
>
>Абсолютно не согласен. Коди Линукса очень тяжело читать. Многие вещи вводят в
>ступор.
>
>Вы можете объяснить, зачем нужны MS_SHARED, MS_SLAVE, MS_PRIVATE в отношении sys_mount? Я
>этот вопрос задаю здесь постоянно. Ответа ноль.
ну, предусматриваеться, что человек заканчивает хотя бы детский сад перед тем как
полезть в сырцы ;)
смотри и четай:
Documentation/sharedsubtree.txt
и вообще, обрати внимание на эту чудную диру Documentation
| |
|
3.24, yantux (??), 23:36, 01/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
Читали :) и поболее этого. Флаг вам в руки и терпения разобраться.
Допустим MS_BIND это понятно и это работает, не смотря на то, что он не поддерживается файловыми системами (хотя тоже нафиг оно надо?). Всё же, кроме советов чтения документации и бравадных заявлений о боевом ядре, вы сможете сказать зачем нужно этот MS_SHARED, MS_PRIVATE, MS_SLAVE? Какую проблему решают эти флаги?
| |
|
4.25, _Nick_ (??), 23:59, 01/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
>Читали :) и поболее этого. Флаг вам в руки и терпения разобраться.
>
>
>Допустим MS_BIND это понятно и это работает, не смотря на то, что
>он не поддерживается файловыми системами
сразу видно "знание" линуха...
оно поддерживаеться VFS'ом и этого выше крыши для этого bind'инга.
физические ФС и знать ниче не должны об этом.
Тебе уровень абстракции VFS изучить не помешает ;)
>(хотя тоже нафиг оно надо?). Всё
>же, кроме советов чтения документации и бравадных заявлений о боевом ядре,
>вы сможете сказать зачем нужно этот MS_SHARED, MS_PRIVATE, MS_SLAVE? Какую проблему
>решают эти флаги?
ну, исзходя из того, что ты не знаешь(??) о существовании и функциях VFS
будет тяжеловато объяснить...
но смотри.
Делаешь ты
mount --bind /a /b
после этого в /b будет все содержимое /a
НО
что будет в /a когда ты начнешь монтировать что-либо в /b?
в таком конфиге - тоже копия.
Но если монтировать с --private (пока не реализовано в публичной версии util-linux)
то все точки монтирования в /b будут только там и не будут отражены обратно в /a
Ну и shared, slave - подобные израты.
Причем, как я уже написал, стандартные тулзы этого пока не умеют,
но ядро уже. Причем, в файле, что я указал есть прога для руления этими флагами.
Удачи в изучении пингвина :)
| |
|
5.31, yantux (ok), 11:21, 02/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
>сразу видно "знание" линуха...
>оно поддерживаеться VFS'ом и этого выше крыши для этого bind'инга.
>физические ФС и знать ниче не должны об этом.
Ну да, результаты биндинга сохраняются до первой перезагрузки.
Думаю виртуализация была придумана впервую очередь для монтирования различных устройств, разделов с разными фс и прочей хрени. Не вижу смысла в подмене достаточно приличной команде ln
Пример:
каталог /a монтируем биндим к каталогу /b
если удалить каталог /a, то в зависимости от типа файловой системы каталог /b будет ссылаться на разные каталоги. Например RaiserFS и ext2.
Собственно биндинг каталогов не решает ни каких проблем - для жизни он не нужен.
>Ну и shared, slave - подобные израты.
согласен, изврат... восхитительно бесполезный изврат
>Удачи в изучении пингвина :)
спасибо, мне её понадобиться очень много...
| |
|
6.38, _Nick_ (??), 20:10, 02/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
>Ну да, результаты биндинга сохраняются до первой перезагрузки.
а у тя какая-либо иная ФС все также примонтирована после перезагрузки если она не в fstab'e?? %))))
>Не вижу смысла в подмене достаточно приличной команде ln
счастливый.
Я вижу и без биндинга ФС Линуха была бы ужасна. как в венде.
Кое-какие операции стали бы... невозможны или крайне затруднены
Пример: закончилось место на разделе и нужно например /usr/distfiles унести на
другую ФС с миниальными заметными изменениями.
Двигаем диру на другую ФС, --bind его оттуда назад в /usr/distfiles
и запись в fstab - ВСЕ. НИЧЕГО больше в конфиге системы не изменилось
и все работает так как и раньше.
Симлинк говоришь? Может и да для этого случая. А когда заданную диру щупает софтина,
которая по stat() ожидает там увидеть диру, а не линк?
Да и вообще красота пропадает с этими симлинками.
>Пример:
>каталог /a монтируем биндим к каталогу /b
>если удалить каталог /a, то в зависимости от типа файловой системы каталог
>/b будет ссылаться на разные каталоги. Например RaiserFS и ext2.
бред.
давай дамп сессии от создания этих ФС до заветного "удалить каталог /a"
для reiser и ext2.
>Собственно биндинг каталогов не решает ни каких проблем - для жизни он
>не нужен.
см. выше. Просто либо тебе не понадобилось, либо с фантазией проблемы.
| |
|
7.44, yantux (ok), 14:13, 03/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
>Да и вообще красота пропадает с этими симлинками.
>
Красота наступает, когда надо понять чтоже и куда у нас примонтировано. Вывод cat /proc/mounts и df дают разный результат. С симлинками всё понятнее.
| |
7.45, yantux (ok), 14:34, 03/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
>бред.
>давай дамп сессии от создания этих ФС до заветного "удалить каталог /a"
>
>для reiser и ext2.
Linux 2.6.18-gentoo
mkdir ./a
mkdir ./b
mount --bind ./a ./b
ls -lt > ./a/test
cat ./b/test выводит всё корректно, как я писал выше оно работает.. но...
rm -R ./a - проходит без ошибок. Это правильно? Ладно фиг с ним...
делаем:
mkdir ./a
ls -lt > ./a/test
cat ./b/test не находит файла, это логично
mount --bind ./a ./b
mount: No such file or directory
ну хорошо, делаем:
umount ./b
после этого биндинг проходит. Логично же, что не должен он позволять удалять директорию ./a?
Но если он позволяет удалять, то хоть бы мусор в ядре подчищал... Я не такой умный как все, я не знаю, как узнать о существовании такого мусора.
Рекомендую сделать двадцать раз mount --bind ./a ./b и один раз cat /proc/mounts ...
cat /proc/mounts выводит у меня двадцать строчек:
/dev/root /home/stupiduser/b reiserfs rw 0 0
Будем думать какую директорию прибиндили к ./b ?
Про перенаправление напишу чуть позже. Надо мне было баг записать :(
| |
7.46, yantux (ok), 14:48, 03/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
Вспомнил и главное проверил :)
mkdir ./a
mkdir ./b
mount --bind ./a ./b
ls -lt > ./a/test
mc
Из mc удаляем каталог ./a затем переходим в каталог ./b ... и восхитительно ловко попадаем с корень /
Так можно делать много раз. Особенно это круто, когда путь длинный. Хотя ls -lt ./b показывает пустоту...
В общем с этим ни кто не работает, примеров нет. В этой ветке вы конечно объяснили лучше чем написано в доке :) Большое человеческое спасибо :)
Но по доке у меня не получается... Ещё раз... ms_shared проходит только если метить корень, а не отдельный каталог типа /home/a , /home/b и т.д.
| |
|
8.50, _Nick_ (??), 06:45, 04/08/2007 [^] [^^] [^^^] [ответить] | +/– | gt оверквотинг удален тут все просто strace юзаешь ваще очень полезная вещь ... текст свёрнут, показать | |
|
|
6.42, Zulu (?), 11:53, 03/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
> Ну да, результаты биндинга сохраняются до первой перезагрузки.
Это потому что ты man fstab не читал
> Не вижу смысла в подмене достаточно приличной команде ln
Это потому что ты дурак.
Хинт: процесс, видящий /b, совершенно не обязан видеть /a. Существуют chroot'ы, существуют vserver'ы.
| |
|
5.33, yantux (ok), 11:42, 02/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
>Причем, в файле, что я указал есть прога для
>руления этими флагами.
Спасибо, я в курсе этого :) честь и хвала тому, кто их осилит ;)
Только по доке, если я правильно понял, флагом ms_shared можно пометить любую директорию. В реально жизни почемуто получается удачно пометить можно только раздел примонтированный к корню. Тогда эффекты ms_shared прощупать можно.
Опять же, осознать термин propagation event это хороший способ напрячь мосг :)
Конечно название флага ms_slave выбрано не удачно. Мне до сих пор не понятно, как раздел может быть слейвом и по отношению к кому. ns_shared - кому мы расшариваем раздел? Название флага явно не раскрывает его смысла. Дока тоже мало чем помогает в этом смысле.
Примеров кода с флагами ms_shared (и др.) гугль не даёт, за исключением патчей.
| |
|
6.39, _Nick_ (??), 20:20, 02/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
>Спасибо, я в курсе этого :) честь и хвала тому, кто их
>осилит ;)
кому надо - тот уже осилил ;)
>Опять же, осознать термин propagation event это хороший способ напрячь мосг :)
я ваще люблю Линух за то, что он "хороший способ напрячь мос"Къ :)
>Конечно название флага ms_slave выбрано не удачно.
поржал %)
неудачно - предложи патч мейнтейнеру
>Мне до сих пор не
>понятно, как раздел может быть слейвом и по отношению к кому.
ну так почитай доку вдумчиво. Или алкоголем уже моск совсем разрушен?
>ns_shared - кому мы расшариваем раздел? Название флага явно не раскрывает
>его смысла. Дока тоже мало чем помогает в этом смысле.
пример из доки за нумером "2a":
БЕЗ shared флага
mount --bind /a /b
mount -t somefs /dev/some /b/mnt
в дире /a/mnt НЕ БУДЕТ этой somefs. А если сделать /a shared - то все что примоунчено
в "детку" (то место, КУДА биндим) отразиццо и на "родителе".
Неужели так сложно?
(раньше я мог писать, что обратная передача моунт пойнта происходит и просто так - ну
извини, это детали что и с каким флагом как работает. Я это на ночь не повторяю :)
>Примеров кода с флагами ms_shared (и др.) гугль не даёт, за исключением
>патчей.
если тебе мало проги, приведенной в доке - то тебе срочно на венду или бзд.
Вот там порядок и "все" документировано.
| |
|
7.43, yantux (ok), 14:08, 03/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
>А если сделать /a shared
> - то все что примоунчено
Я тоже наивно верил доке я тоже так пробовал. Вот вы всё делали по доку, у вас получилось - у меня нет. У меня ms_shared более-менее работает (т.е. не очень стабльно), если метить флагом MS_SHARED не /a (или например /home/a), а корень т.е. /
| |
|
8.47, _Nick_ (??), 06:18, 04/08/2007 [^] [^^] [^^^] [ответить] | +/– | видимо, ты пробовал просто делать shared именно диру, хотя это же свойство _маун... текст свёрнут, показать | |
|
|
|
|
4.29, Zert (?), 09:29, 02/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
Как ты уже задрал с этими MS_SHARED, MS_PRIVATE, MS_SLAVE. Похоже, что нашёл первое, что до конца не понял, и трындишь, показывая свою неграмотность. Тебе объяснили зачем, что ты ещё хочешь?
| |
|
|
6.40, _Nick_ (??), 20:21, 02/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
>Уверяю вас, там ещё много не понятного ;)
даже больше чем ты думаешь.
Но неужели тебе кто-то что-то должен из-за того, что _тебе_ что-то непонятно? :)
Непонятно - читай доки. Все равно непонятно - сырцы. Дальше тока в вытрезвитель...
| |
|
5.32, yantux (ok), 11:30, 02/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
>Похоже, что нашёл первое, что до конца не понял, и трындишь, показывая свою неграмотность.
я не испытываю ни малейщих комплексов по этому поводу
| |
|
6.41, _Nick_ (??), 20:22, 02/08/2007 [^] [^^] [^^^] [ответить]
| +/– |
>я не испытываю ни малейщих комплексов по этому поводу
вот это верно.
Не стыдно не знать. Стыдно гнать пургу, когда думаешь, что знаешь и это не так.
| |
|
|
|
|
|
1.23, BelSoft (?), 22:31, 01/08/2007 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Не надо новое ядро создавать, лучше существующее меньше сделать.
Ситуация как с Wine 0.9.42 . Что бы все преложения работали её создают с теми же
проблемами что и в Windows. Но и иногда получается даже лучше, ноиногда - нет ;)
| |
1.52, Ne01eX (??), 21:01, 15/08/2007 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Не читал кучу левых комментов выше, а потому извиняюсь если повторюсь:
У этого велосипеда есть один плюс по сравнению с ядром GNU/Linux - оно под одну платформу. Если дальше будет продолжаться в том же темпе, то у него есть реальные шансы занять соответствующую нишу. А плюсов от отсутствия кроссплатформенности гораздо больше чем минусов.
И вообще - даешь по отдельному тарболу для каждой архитектуры ядра GNU/Linux! Это как ответ на пост выше.
| |
|