Архитектура операционной системы Linux
Введение в Linux
Уровни архитектуры Linux
Ядро Linux
Основные подсистемы ядра
Подсистема управления процессами и планировщик
Подсистема управления памятью
Виртуальная файловая система (VFS)
Подсистема сетевого стека (Networking Stack)
Драйверы и подсистема I/O
Заключение
127.91K
Category: softwaresoftware

full_linux_architecture

1. Архитектура операционной системы Linux

Новокшонов Максим Фиб

2. Введение в Linux

• Свободная и открытая ОС
• Многопользовательская и многозадачная
• Используется от смартфонов до
суперкомпьютеров

3. Уровни архитектуры Linux

• Аппаратное
обеспечение
• Ядро
• Системные
библиотеки и вызовы
• Службы (демоны)
• Оболочка и
приложения

4. Ядро Linux

Ядро — это монолитная, но модульная система, написанная
преимущественнона C. Все ключевые функции (управление
процессами,
пятью,
файловыми
системами,
сетью,
драйверами)
реализованы
внутри
ядра,
что
обеспечиваетмаксимальную производительность.

5. Основные подсистемы ядра

• Управление
процессами
• Управление памятью
• Виртуальная
файловая система
• Сетевой стек
• Подсистема вводавывода и драйверы

6. Подсистема управления процессами и планировщик

Подсистема управления процессами — сердце
многозадачной системы. Каждый процесс
описывается
структурой
task_struct,
содержащей всю информацию о нём.
Планировщик задач, Completely Fair Scheduler
(CFS), распределяет время процессора,
используя
красно-чёрное
дерево
для
runnable-процессов.

7. Подсистема управления памятью

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

8. Виртуальная файловая система (VFS)

• Единый интерфейс для всех ФС
• Основные объекты VFS: superblock,
inode, dentry и file.
• Page cache кэширует содержимое файлов в
оперативной памяти для быстрого доступа.

9. Подсистема сетевого стека (Networking Stack)

1. Полноценная реализация TCP/IP
2. Socket API — единый интерфейс для TCP, UDP, Unix sockets
3. Внутри: структура sk_buff (сетевой буфер)
4. Оптимизации:
• Минимизация копирования данных
• NAPI — эффективный приём пакетов
• eBPF — безопасное расширение сетевой логики
5. Фильтрация: Netfilter (iptables/nftables)

10. Драйверы и подсистема I/O

Подсистема ввода-вывода управляет взаимодействием ОС с
физическими устройствами, используя принцип "всё является
файлом".
• Устройства представлены через /dev
• Типы: символьные, блочные, сетевые
• Драйверы преобразуют системные вызовы
в команды устройства

11. Заключение

• Производительная и гибкая архитектура
• Подходит от микроконтроллеров до
суперкомпьютеров
• Модульность и расширяемость
English     Русский Rules