![Книга о разработке ОС Linux?](https://rvso.com/image/52104/%D0%9A%D0%BD%D0%B8%D0%B3%D0%B0%20%D0%BE%20%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B5%20%D0%9E%D0%A1%20Linux%3F%20.png)
Какая хорошая книга о том, почему Linux был разработан именно так? Например, почему HD в /dev/sda
, почему /dev/
null, zero, urandom и т. д. являются файлами (или каналами). Почему у нас есть устройство loopback (я вижу 0-7 и control в моем дистрибутиве Linux), почему у нас есть bin, sbin, lib и usr (и разница между ними). Все о /proc
. Что находится внутри ядра, а что нет? Насколько я помню, init.d не является частью ядра, и я не был уверен, как будет выполняться программа, и не знал, когда их запускать. Что такое блочное и символьное устройство, представленные в виде файлов? и почему символьное устройство не может быть блочным устройством размером «1 байт» (или int)?
Я понятия не имею, почему все является файлом (включая сокеты) и что происходит, когда я пишу cat /proc/cpuinfo
. Это именованный канал к ОС, который считывает информацию о ЦП на лету и генерирует этот текст каждый раз, когда я его вызываю?
решение1
Вот два хороших интернет-ресурса, которые проливают свет на разработку Unix-подобных ОС:
Проектирование и реализация операционной системы 4.4BSD
Искусство программирования Unix
Понимание ядра LinuxиРазработка ядра Linuxхорошие книги для понимания внутреннего устройства ядра.
КлассическийСреда программирования UNIX— замечательная книга, описывающая принципы проектирования систем UNIX и их практическое использование.
Это 7-частноеЧасто задаваемые вопросытакже является полезным ресурсом для понимания Unix в целом.