Ядро операционной системы Linux - штука непростая, а потому в его изучении не обойтись без специальной документации. Лучше будет начинать не с "мануалов", написанных на специфическом техническом английском, а с русскоязычной книги, рассказывающей обо всём подробно и последовательно. Именно такой книгой является "Разработка ядра Linux" Роберта Лава.
Начинается книга, естественно, с введения. В нём автор рассказывает о ядрах различных операционных системах, сравнивает ядро Linux с ядрами других UNIX-подобных систем, описывает версии ядра Linux. После введения идёт глава под названием "Начальные сведения о ядре Linux", в которой идёт речь о сборке ядра и об отличиях ядра от обычных пользовательских приложений, с точки зрения программиста. Следом идёт глава про управление процессами, в которой автор рассказывает о таких премудростях, как работа с дескрипторами процессов, реализация потоков пространства ядра, завершение процесса. В следующей главе, "Планирование выполнения процессов", раскрываются подробности работы с процессами, а затем автор плавно переходит к системным вызовам и к системе обработки прерываний - эти темы раскрываются в последующих двух главах. Автор рассказывает о контексте прерываний, запрещении и разрешении прерываний, о совместно используемых обработчиках и о других интересных вещах.
В следующей главе идёт разговор об отложенных прерываниях, тасклетах, "нижних половинах", а после - о синхронизации: о блокировках, атомарных операциях, семафорах и прочем. Далее следуют главы о таймерах и управлении временем, об управлении памятью, о виртуальной файловой системе, блочном вводе-выводе и адресном пространстве процесса. Затем идут главы, посвящённые страничному кэшу и обратной записи страниц, сборке и инсталляции модулей, объектам kobjects и системе sysfs, отладке ядра, переносимости. Последняя, двадцатая по счёту, глава рассказывает о стиле написания исходного кода, принятого среди разработчиков ядра Linux, об отправлении сообщений об ошибках и о заплатах.
Думаю, наш Linux-мастер Михаил Астапчик присоединится к моей рекомендации приобрести эту книгу всем линуксоидам, желающим хорошо разбираться в самых сокровенных особенностях своей любимой операционной системы. Думаю, что книга, написанная одним из ведущих разработчиков ядра Linux, будет интересна очень многим поклонникам этой ОС.
Вадим СТАНКЕВИЧ
Горячие темы