Ядро Linux

Как просмотреть и просмотреть исходный код ядра Linux?

Как просмотреть и просмотреть исходный код ядра Linux?
Ядро Linux - это ядро ​​операционной системы (ОС), которое позволяет ей поддерживать оборудование, протоколы и многое другое и управлять им. В этом руководстве будет кратко объяснена структура исходного кода ядра. Корневая папка ядра, расположенная в / usr / src /, обычно / usr / src / linux *, содержит его исходный код, подобный тому, который вы можете просмотреть в https: // git.ядро.org / pub / scm / linux / kernel / git / стабильный / linux.git / tree /?h = v5.1.3

Исходный каталог содержит следующие подкаталоги, называемые дерево ядра, изучение структуры дерева ядра и функции каждого пути - это первый шаг к началу просмотра ядра.

Корневой каталог дерева ядра:

Документация/: документация исходного кода ядра.

ЛИЦЕНЗИИ /: Он содержит лицензии, которые должны применяться к исходному тексту ядра и отдельным исходным файлам, которые могут иметь разные лицензии. Внутри этого каталога вы найдете 3 подкаталога: предпочтительный (GNU GPL), исключения перечислены в файле КОПИРОВАНИЯ и Другие.

арка /: исходные коды для конкретных архитектур (e.g powerpc, x86 и т. д.). Внутри этого каталога вы найдете подкаталоги, принадлежащие каждой поддерживаемой архитектуре: i386, sparc, arm и т. Д.

блокировать/: уровень блочного ввода-вывода, содержит код для управления блочными устройствами (такими как жесткие диски, DVD, гибкие диски и т. д.).) и их запросы.

Сертификаты /:
сертификаты и файлы подписи, чтобы включить подпись модуля, чтобы ядро ​​загружало подписанные модули, это может быть полезно для предотвращения запуска вредоносного кода с такими модулями ядра, как руткиты.

Крипто /: Крипто API. Содержит криптографические шифры, которые решают задачи шифрования и сжатия.

драйверы /: Драйверы аппаратных устройств. Содержит код драйверов устройств для поддержки оборудования, внутри этого каталога вы найдете подкаталоги для каждого оборудования, такого как видео, Bluetooth и т. Д. (Любое поддерживаемое оборудование).

fs /: код для виртуальной файловой системы и дополнительных файловых систем. Этот каталог содержит код для поддержки, чтения и записи файловых систем.

включать/: заголовки ядра. Этот каталог содержит заголовки C для файлов ядра, таких как функции для компиляции кода.

в этом/: загрузка ядра. Содержит исходный код, связанный с инициализацией ядра. Исходный код хранится в файле с именем  mainc.c в каталоге /в этом. Код инициализирует ядро ​​и некоторые начальные процессы.

ipc /: Межпроцессное взаимодействие, такое как сигналы и каналы.

ядро /: Основные подсистемы, такие как код обработки сигналов планировщика и т. Д.

lib /: библиотечные подпрограммы стандартные строковые операции, аппаратно-зависимые операции, процедуры отладки и синтаксический анализ командной строки.

мм /: Управление памятью и виртуальная память. Ядро управляет как оборудованием, так и виртуальной памятью (свопинг). В этом каталоге хранится код для управления памятью.

сеть/: Сетевой стек. Содержит код, связанный с протоколами связи, такими как IP, TCP, UP и т. Д.

образцы /: образец кода и файлы конфигурации.

скрипты /: скрипты для сборки ядра.

безопасность/: Модуль безопасности Linux (LSM) - это структура, позволяющая использовать политики безопасности для управления модулями.

звук/: Звуковая подсистема, здесь вы найдете звуковые драйверы и код, связанный со звуком, например ALSA,


инструменты/:
инструменты для разработки сжатого ядра, такие как ACPI, cgroup, инструменты тестирования USB, тестовый модуль vhost, инструменты GPIO, IIO и spi, инструмент внутренней энергетической политики и многое другое.

usr /: initramfs, который укореняет файловую систему и init в кеш памяти ядра.

virt /: Виртуализация, этот каталог содержит модуль KVM (Kernel Virtual Machine) для гипервизора.

Это основные подкаталоги дерева ядра и их функции, надеюсь, они вам пригодятся.

Как записать и транслировать игровую сессию в Linux
В прошлом игры считались только хобби, но со временем игровая индустрия увидела огромный рост с точки зрения технологий и количества игроков. Игровая ...
Лучшие игры с отслеживанием рук
Oculus Quest недавно представил отличную идею отслеживания рук без контроллеров. С постоянно растущим числом игр и действий, которые осуществляются фо...
Как показать наложение OSD в полноэкранных приложениях и играх Linux
Игра в полноэкранные игры или использование приложений в полноэкранном режиме без отвлекающих факторов может отрезать вас от соответствующей системной...