Подсистемы Linux¶
В Linux существует множество подсистем, обеспечивающих различные аспекты функционирования операционной системы. Ниже перечислены некоторые из основных подсистем:
Управление процессами (Process Management):¶
Отвечает за создание, управление и завершение процессов в системе.
Подсистема планирования (Scheduler)¶
Отвечает за управление доступом процессов к процессорному времени и их распределение между ядрами процессора.
Управление памятью (Memory Management):¶
Управляет физической и виртуальной памятью, включая выделение и освобождение памяти для процессов.
Про stack and heap
Сетевая подсистема (Networking):¶
Отвечает за управление сетевыми соединениями и протоколами, такими как TCP/IP.
Про OSI модель
Файловая система (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'
Виртуализация (Virtualization):¶
Подсистемы, обеспечивающие возможность создания и управления виртуальными машинами.
Про контейнеризацию и виртуализацию
Управление устройствами (Device Management):¶
Предоставляет интерфейс для взаимодействия с аппаратными устройствами, такими как диски, принтеры, графические карты и другие.
Управление вводом-выводом (I/O Management):¶
Обеспечивает взаимодействие с внешними устройствами ввода-вывода, такими как клавиатура, мышь, диски и другие устройства.
Управление энергопотреблением (Power Management):¶
Отвечает за управление энергопотреблением компьютера, включая схемы питания и управление энергосберегающими режимами.
Управление пользователями и доступом (User and Group Management):¶
Обеспечивает управление пользователями и группами, а также контроль доступа к ресурсам.
Безопасность (Security):¶
Обеспечивает механизмы безопасности, такие как контроль доступа и аутентификация.
Это лишь небольшой обзор основных подсистем Linux. Каждая из них выполняет ключевые функции, обеспечивая надежную и эффективную работу операционной системы.