
Какая хорошая книга о том, почему 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 в целом.