LINUX.ORG.RU

Требуется помощь в завершении работы над двумя книгами по ядрам Linux 0.01 и 1.0.


1

6

Несколько лет работал над двумя книгами.

Первая похожа на «A Heavily Commented Linux kernel Source Code», но переписана с нуля и рассчитана на школьников или людей с нулевым знанием программирования. Комментарии даны практически к каждой строке.

Вторая содержит инструкцию по сборке ядра 1.0 с нуля, т.е. в первой главе ядро состоит всего из одного файла и далее к нему поочередно присоединяются различные подсистемы (ввода вывода, планировщик, сетевой стек и т.д.).

Все это реализовано процентов на 80-85 (хотя может и меньше).

Думаю разместить книгу в виде открытого wiki. Если кто-то предоставит бесплатный хостинг и поднимет wiki-движок - буду очень благодарен (есть небольшой опыт, но помощь профессионалов не помешает).

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

Здесь я хотел бы узнать ваше мнение о том, найду ли я энтузиастов, и вообще, о том нужны ли такие книги. Заявки на участие в проекте пишите на rtlx73{ Soббakа }gmail.com. Я не хочу зарабатывать на этом, но хотелось бы чтобы материалы как-то были защищены авторским правом.

★★★★★

Последнее исправление: tlx (всего исправлений: 3)
Ответ на: комментарий от true_admin

>>>Если цель именно методическая и обучательная (основам ОСостроения), то линух вообще не годится.

Время рассудит. Хочется сделать большой образовательный проект на основе данного материала с перекрестными ссылками, форумом и т.д.

есть книга «Азбука ядра 2.6» довольно таки свежо и подробно расписанно с примерами написания драйверов и прочего.

Там про PowerPC много. Мне ближе x386_64 и ARM. Эту и еще кучу книг читал в процессе подготовки к третей книге (просьба не смеяться). На мой взгляд, начинающий хакер ядра теряет интерес в процессе чтения. Я, например, читал книгу «Ядро Linux» в 1000 страниц 2 раза и запомнил из нее только общие конструкции. Как в точности работает ядро она не объясняет. Нужно что-то еще большее и объясняющее с нуля.

Почему в исходниках в архиве cp1251 и dos-переносы строк?

В архиве просто текстовики, а не исходники. Исходники, адаптированные под современные компиляторы можно скачать с http://www.oldlinux.org/. Там же можно скачать книгу «A Heavily Commented Linux kernel Source Code», но она только на китайском. Выбор кодировки очевиден – линуксоид подберет кодировку, а пользователь Windows может и не подобрать.

Молодец. А черновики нигде взять нельзя?

Все на ru.wikibooks.org кроме десятка схем. Со временем выложу

Если не найдёшь хостинг пиши, что-нить придумаю.

Думаю нужно все-таки делать сайт под это дело с форумом и wiki. Так что от помощи не откажусь.

Выложил вторую книгу.

Ядро Линукс 1.0 шаг за шагом

Если кто-то еще не нашел ссылку на первую

Волшебное_путешествие_в_Линукс_(ядро_0.01)

Просьба ко всем кто заинтересован в развитии проекта: пишите пока на rtlx73{ Soббakа }gmail.com или в эту ветку. Вопросы предложения, в общем всё. Как только обзаведемся ресурсом будем общаться там.

tlx ★★★★★
() автор топика
Ответ на: комментарий от tlx

>Думаю будут читать.

Будут. В кружках юных кодеров точно будет востребовано. И среди студентов - тоже.

...не хочется чтобы ктото заработал на чужом труде.

Абсолютно справедливо.

drSchur ★★★
()
Ответ на: комментарий от tlx

Я щас экстримально занят, давай в середине след. недели обсудим. Я думаю я выделю виртуалку(скажем, 5гиг места, под вики, форум и репозитории если нужны) и поставлю софт+ежедневные бэкапы. А дальше ты сам. Может тебе trac поставить? Есть предпочтения по софту?

true_admin ★★★★★
()
Ответ на: комментарий от svu

Я, наверное, очень туп - в чем смысл книжки о версии ядра 1.0???

можно надосуге с нуля написать свой линукс.

а потом писать свою ось уже с опытом написания осей... пусть даже фиктивным :)

в универе этому как-то не учат

stevejobs ★★★★☆
()
Ответ на: комментарий от svu

чем использование более свежих ядер

более свежее ядро написать с нуля чёрт ногу сломит и жизни не хватит

stevejobs ★★★★☆
()
Ответ на: комментарий от svu

> в чем смысл книжки о версии ядра 1.0???

Обучение на примере. В идеале на минимально возможном примере.

LamerOk ★★★★★
()
Ответ на: комментарий от Ingwar

> хочется услышать слова специалистов в защиту книги о ранних ядрах.

О самих ядрах писать смысла нет. Но вот о принципах работы ОС на примере ранних ядер - определенно есть. Тем более, что на книжном рынке такой литературы практически нет.

LamerOk ★★★★★
()
Ответ на: комментарий от ZenitharChampion

>>> Добавил в избранное, книгу почитаю, но вряд ли найду ошибку

Книгу читать рановато. Пока это просто черновики. Расчет на то, чтобы найти энтузиастов которые будут заниматься по второй книге и если что-то не понятно в коде, будут обращаться к первой (заодно исправляя в ней ошибки) . Ну и задавать вопросы друг другу и мне. Таким образом, вторая книга наполнится ответами на вопросы и дополнит первую.

Третья книга должна была содержать сравнительный анализ ядер 2.0 и 3.0. Есть много тупиковых решений принятых к настоящему времени в ядре (мнение не лично мое). Может мы вместе, изучая старые ядра, найдем новые пути. На данный момент я начал, но понял, что одному не справится и решил выложить книги, чтобы над ними работало сообщество. Очень надеюсь, что всё получится.

tlx ★★★★★
() автор топика
Ответ на: комментарий от derlafff

>> разметку поправь, не очень читабельно

Это был скорее «поток сознания», чем полноценная работа над книгой. Так что извините.

ну и код лучше не на народ выложить, а на что-то более надежное

Скоро, с помощью true_admin открою сайт (идет набор в команду). Присоединяйтесь. Пригодится любая помощь. Если не будете писать, расскажите людям, которые будут. Начинание то хорошее.

tlx ★★★★★
() автор топика
Ответ на: комментарий от LongLiveUbuntu

>>> FDL

Кстати вопрос открыт. Пока книги на на wiki они CC Attribution/Share Alike. И наверное Noncommercial лучше не добавлять. Вдруг они все же будут изданы в печатном варианте.

После публикации на wikibooks.org текст точно защищен от того, что кто-нибудь опубликует его и заставит закрыть ресурс? Из статей по защите прав я так и не понял.

tlx ★★★★★
() автор топика
Ответ на: комментарий от true_admin

>> О, хочешь поадминить? :) Я тоды тебе рута дам, дальше вы сами :).

Нет. нет. Кроме сайтов на Joomla и немного на чистом PHP на бесплатных хостингах я ни чего не делал. Так что помощь очень нужна.

tlx ★★★★★
() автор топика
Ответ на: комментарий от Trieforce

>> Почему не последнее ядро?Именно костяк, без драйверов и прочего.

Как сказал один из предыдущих ораторов в этой ветке. Есть риск сломать «парсер» на сложном тексте

tlx ★★★★★
() автор топика
Ответ на: комментарий от tlx

Tlx, задумка, без единого сомнения, стоящая. Тем не менее, думаю, что под формат wikibooks она (по крайней мере, в нынешнем своём состоянии) не подходит. При всём уважении к вашему труду, мне кажется, что было бы лучше перенести проект на какой-нибудь другой ресурс, вроде предложенных выше, или даже на отдельный хостинг/VPS. Дело в том, что весь выложенный вами в wikibooks материал абсолютно не оформлен, что, согласно правилам, не является хорошим тоном, так как такие тексты обычно заливаются копипастерами, и удаляются без какого-либо обсуждения. После обнаружения вашей книги у меня создалось точно такое же впечатление, до тех пор, пока не наткнулся на данное обсуждение. Поэтому, могу вам, в качестве временного решения, предложить перенос книги в ваше личное пространство (адрес вида http://ru.wikibooks.org/wiki/User:Tlx/Волшебное_путешествие_в_Линукс_(ядро_0.01)) для дальнейшей её доработки под формат wikibooks, или просто для сохранения кода перед переносом в другой проект если вы это сочтите нужным (как мне кажется, в отдельном проекте реализовать механизм совместной работы+форум было бы намного удобнее, чем в учебнике, тем более, что движок MediaWiki не поддерживает создание форумов как таковых). С уважением, один из администраторов проекта wikibooks.

anonymous
()
Ответ на: комментарий от stevejobs

Не надо с нуля писать еще одну кучу неизвестно чего. Линукс архитектурно - систем эволюционная. А значит - костыль на костыле. Методически хорошо бы учиться на более стройных архитектурах. Устроить бардак человек всегда успеет.

svu ★★★★★
()
Ответ на: комментарий от svu

Ты знаешь какую-нибудь книжку в стиле «как написать свою ОС с 0»? Чтобы пошаговое руководство всё-в-одном, без знания матана.

stevejobs ★★★★☆
()
Ответ на: комментарий от svu

>Линукс архитектурно - систем эволюционная. А значит - костыль на костыле.

В первых версиях костылей как таковых - мало. Есть неправильный подход в некоторых местах, но вот это как раз и стоит описать в книге. Хорошо бы с примерами из других ядер, типа в линуксе это сделали плохо и потом вылез 12309, а вот в NT...:)

Костыли наросли уже ближе к нашему времени, когда ядро растолстело до жути.

anonymous
()
Ответ на: комментарий от tlx

Мне интересно. И ещё начинающим программистам будет полезно

darkshvein ☆☆
()

Отличная идея! И как вовремя. Как раз занялся изучением ядра и да, тоже была идея начать с первых версий. Я не специалист, но думается, что это верный подход. По поводу внесения правок и дополнительных разъяснений, то попробую помочь по мере своих сил. Удачи!

elijahss
()
Ответ на: комментарий от stevejobs

Нет, не знаю. И сам бы почитал с интересом. На примере хорошей правильной стройной ОС. Даже, может, не самой высокопроизводительной и масштабируемой.

svu ★★★★★
()
Ответ на: комментарий от anonymous

Ну, если книга в ключе «критический сравнительный разбор версии 1.0 с демонстрацией будущих проблем» - тогда это архиценная книга, я готов отказаться от всей критики, высказанной в этом топике.

svu ★★★★★
()

Интересное начинание. Если будет время, на досуге почитаю.

Кто-нибудь знает, сколько в 3.1 линий кода? Просто есть хотя бы один человек, который во всём этом разбирается?

Rakot ★★
()
Ответ на: комментарий от LamerOk

>> Дело в том, что весь выложенный вами в wikibooks материал абсолютно не оформлен, что, согласно правилам, не является хорошим тоном

Сделаем так. С wikibooks книгу по ядру 0.01 уберем. А по 1.0 отформатируем (это просто, там всего 20 недописанных глав), но редактировать будем на создаваемом ресурсе и по мере готовности обновлять на wikibooks.

Ну ок-ок. Вики я ему подниму.

Огромное спасибо. В середине недели начнем.

Сейчас присматриваюсь к доменным именам. true_admin, ваш хостинг не накладывает ограничения? Это же виртуалка. Присмотрел одно, но может у кого-нибудь есть идеи?

tlx ★★★★★
() автор топика
Ответ на: комментарий от tlx

>Сделаем так. С wikibooks книгу по ядру 0.01 уберем. А по 1.0 отформатируем (это просто, там всего 20 недописанных глав), но редактировать будем на создаваемом ресурсе и по мере готовности обновлять на wikibooks.

Ok. Первая книга убрана, вторая временно перенесена в ваше личное пространство для доработки (http://ru.wikibooks.org/wiki/Участник:Tlx/Ядро_Линукс_1.0_шаг_за_шагом).

anonymous
()

Идея отличная - тоже как раз интересно стало внутренности ядра - спасибо за проект - если получится помогу.

s1392781
()

Зачем убрали первую книгу, очень интересно почитать код планировщика в 0.01, можно выложить снова?

unt1tled ★★★★
()
Ответ на: комментарий от tlx

Зачем убрали первую книгу, очень интересно было бы почитать код планировщика ядра 0.01. Можно выложить снова?

unt1tled ★★★★
()
Ответ на: комментарий от unt1tled

>> Зачем убрали первую книгу, очень интересно было бы почитать код планировщика ядра 0.01. Можно выложить снова?

Убрал по требованию wikibooks

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

Старт нашего проекта kliga.ru (книга по Линукс) переносится на конец ноября - начало декабря (извините). Пишите на rtlx73{ Soббakа }gmail.com. Набираю команду.

tlx ★★★★★
() автор топика

супер... хороший проект. желаю успехов!

Evil_Wizard ★★★
()
Ответ на: комментарий от Yareg

>>Можешь временно выложить где-нибудь ещё?

Текст не оформлен. На другом вики будет тоже самое. Хотелось бы, чтобы люди не просто скачивали, но и начинали править, так что ссылку выкладывать не вижу смысла.

Работу по правке нужно как то координировать.

Долго не отвечал, потому что думал 21-го откроется сайт. Придется подождать еще не много или пишите, rtlx73{ Soббakа }gmail.com - договоримся.

tlx ★★★★★
() автор топика

хотел бы включиться в работу. Есть правда ньюансы. Выскажу свое мнение, если оно покажеться разумным, пиши на почту (я зарегился на форуме).

1. Вики не самый удобный вариант работы над книгой.

2. Книгу желательно хранить в СКВ (не знаю как там ДокуВики ее хранит).

3. Удачный выбор формата хранения хранения даст:

а) облегчение труда

б) предохранит в будущем отпеределок

в) даст красивый ВОСПРОИЗВОДИМЫЙ результат.

Сходу первая попавшаяся ссылка:

http://book.realworldhaskell.org/read/getting-started.html

варианты: 1) asciidoc + (git | mercurial)

2) markdown [pandoc] + (git | mercurial)

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

kpykc
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.