мета-данные страницы
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| notes:howlinuxworks:vol1 [2026/05/12 13:31] – radi0dev | notes:howlinuxworks:vol1 [2026/05/12 17:17] (текущий) – radi0dev | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== Глава 1: Общая картина ====== | ====== Глава 1: Общая картина ====== | ||
| - | ===== 1.1 уровни абстракции ===== | + | ===== 1.1 Уровни абстракции ===== |
| linux можно поделить на 3 уровня обстракции: | linux можно поделить на 3 уровня обстракции: | ||
| Строка 14: | Строка 14: | ||
| - | ===== 1.3 ядро ===== | + | ===== 1.3 Ядро ===== |
| Ядро отвечает за управление задачами в четырех основных областях | Ядро отвечает за управление задачами в четырех основных областях | ||
| Строка 23: | Строка 23: | ||
| * Системные вызовы и поддержка. Процессы обычно используют системные вызовы для связи с ядром. | * Системные вызовы и поддержка. Процессы обычно используют системные вызовы для связи с ядром. | ||
| - | ==== 1.3.1 управление процессами ==== | + | ==== 1.3.1 Управление процессами ==== |
| **переключение контекста** - это акт передачи одним процессом управления процессором другому процессу. | **переключение контекста** - это акт передачи одним процессом управления процессором другому процессу. | ||
| Строка 40: | Строка 40: | ||
| Переключение контекста позволяет понять, | Переключение контекста позволяет понять, | ||
| - | ==== 1.3.2 управление памятью ==== | + | ==== 1.3.2 Управление памятью ==== |
| Ядро должно управлять памятью во время переключения контекста, | Ядро должно управлять памятью во время переключения контекста, | ||
| Строка 55: | Строка 55: | ||
| При использовании виртуальной памяти процесс не получает прямого доступа к памяти через ее физическое местоположение в компьютерной системе. Вместо этого ядро настраивает каждый процесс, | При использовании виртуальной памяти процесс не получает прямого доступа к памяти через ее физическое местоположение в компьютерной системе. Вместо этого ядро настраивает каждый процесс, | ||
| зрения процесса в фактическое физическое местоположение памяти в системе. Ядро по-прежнему должно инициализировать, | зрения процесса в фактическое физическое местоположение памяти в системе. Ядро по-прежнему должно инициализировать, | ||
| + | |||
| + | Реализация таблицы соответствий адресов памяти называется **таблицей страниц**. | ||
| ++++ | ++++ | ||
| + | |||
| + | ==== 1.3.3 Управления драйверами устройств ==== | ||
| + | |||
| + | Роль ядра в работе с устройствами относительно проста. Устройство обычно доступно только в режиме ядра, поскольку неправильный доступ (например, | ||
| + | |||
| + | ==== 1.3.4 Системные вызовы и поддержка ==== | ||
| + | |||
| + | Существует несколько других функций ядра, доступных пользовательским процессам. К примеру, | ||
| + | |||
| + | Ядро поддерживает пользовательские процессы с функциями, | ||
| + | |||
| + | P.S Технически пользовательский процесс, | ||
| + | |||
| + | ===== 1.5. Пользователи ===== | ||
| + | |||
| + | Ядро Linux поддерживает традиционную концепцию пользователя Unix. Пользователь (user) — это сущность, | ||
| + | |||
| + | Ядро не управляет именами пользователей, | ||
| + | |||
| + | Пользователи существуют в основном для поддержки прав и границ в системе. Каждый процесс пользовательского пространства имеет владельца (**owner**) и, как говорят, | ||
| + | и выбирать, | ||
| + | |||
| + | Помимо пользователей, | ||
| + | |||