Skip to content

Подсистемы Linux

В Linux существует множество подсистем, обеспечивающих различные аспекты функционирования операционной системы. Ниже перечислены некоторые из основных подсистем:

Управление процессами (Process Management):

Отвечает за создание, управление и завершение процессов в системе.

Про процессы и потоки

Подсистема планирования (Scheduler)

Отвечает за управление доступом процессов к процессорному времени и их распределение между ядрами процессора.

Про Планировщик задач

Управление памятью (Memory Management):

Управляет физической и виртуальной памятью, включая выделение и освобождение памяти для процессов.

Про виртуальную память

Про stack and heap

Сетевая подсистема (Networking):

Отвечает за управление сетевыми соединениями и протоколами, такими как TCP/IP.

Про OSI модель

Про netfilter and iptables

Файловая система (File System):

Отвечает за организацию файлов и директорий, а также предоставляет интерфейс для их чтения и записи.

Через vfs происходит взаимодействие с дисками, реальными файловыми системами, которые подключаются к вирт файловым системам , перевод одних системных вызовов в api реальной файловой системы это задача решается в пространстве ядра.

Системные вызовы (System Calls):

Обеспечивают интерфейс между прикладными программами и ядром операционной системы.

Проследить системные вызовы можно с помощью утилиты:

strace -f -tt -s 150 -o strace_log.txt smbclient //localhost/users -U smbuser%smbpassword -c 'cd user-directory; mkdir test_directory'
В результате выполнения этой команды, все системные вызовы, которые выполняются smbclient и его дочерними процессами(-f), будут записаны в файл strace_log.txt с метками времени и срезами строк до 150 байт.

Виртуализация (Virtualization):

Подсистемы, обеспечивающие возможность создания и управления виртуальными машинами.

Про контейнеризацию и виртуализацию

Управление устройствами (Device Management):

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

Управление вводом-выводом (I/O Management):

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

Управление энергопотреблением (Power Management):

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

Управление пользователями и доступом (User and Group Management):

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

Безопасность (Security):

Обеспечивает механизмы безопасности, такие как контроль доступа и аутентификация.

Это лишь небольшой обзор основных подсистем Linux. Каждая из них выполняет ключевые функции, обеспечивая надежную и эффективную работу операционной системы.