Similar presentations:
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/IP2. Socket API — единый интерфейс для TCP, UDP, Unix sockets
3. Внутри: структура sk_buff (сетевой буфер)
4. Оптимизации:
• Минимизация копирования данных
• NAPI — эффективный приём пакетов
• eBPF — безопасное расширение сетевой логики
5. Фильтрация: Netfilter (iptables/nftables)
10. Драйверы и подсистема I/O
Подсистема ввода-вывода управляет взаимодействием ОС сфизическими устройствами, используя принцип "всё является
файлом".
• Устройства представлены через /dev
• Типы: символьные, блочные, сетевые
• Драйверы преобразуют системные вызовы
в команды устройства
11. Заключение
• Производительная и гибкая архитектура• Подходит от микроконтроллеров до
суперкомпьютеров
• Модульность и расширяемость
software