Это машинный перевод текста, который может содержать ошибки!
При сохранении файла программе требуется доступ к хранилищу. Когда несколько программ работают одновременно, им требуются как время процессора, так и память. Ядро операционной системы (kernel) — это часть ОС, которая управляет такими ресурсами и предоставляет программам контролируемый доступ к ним.
Здесь вы должны уметь объяснить функции ядра и отличать его от операционной системы в целом и пользовательского интерфейса.
Место в серии: Это Часть 3 раздела Операционная система. В Части 1 объясняется общая концепция; в Части 2 показаны варианты пользовательских интерфейсов. Начните с них, если эти понятия вам незнакомы. Эта страница также служит основой для изучения виртуализации и контейнеров на уровне Vg2.
Ядро является частью операционной системы
Операционная система включает в себя не только ядро. Она также содержит библиотеки, системные сервисы и инструменты, которые делают систему возможной для использования и администрирования. Командный интерпретатор или графический рабочий стол предоставляют вам пользовательский интерфейс к системе.
Поэтому вы можете удалить рабочий стол с сервера Linux и по-прежнему иметь функционирующую операционную систему. Ядро и другие необходимые компоненты системы по-прежнему будут там.
Что делает ядро?
| Ресурс или задача | Как с этим работает ядро |
|---|---|
| Процессор (ЦП) | Распределяет время процессора между процессами, то есть запускаемыми программами. |
| Оперативная память (ОЗУ) | Управляет областями памяти и защищает их от несанкционированного доступа другими процессами. |
| Хранилища и устройства | Обеспечивает доступ через файловые системы и драйверы. Драйвер — это программное обеспечение для управления определенным типом устройств. |
| Права | Контролирует многие запросы от программ на основе прав пользователя и процесса. |
Когда программе требуется услуга от ядра, она использует системный вызов, обычно через библиотеку. Программа обычно имеет меньше прав, чем ядро. Это важный рубеж в системе.
Пример: сохранение текстового файла
- Вы выбираете Сохранить в текстовом редакторе.
- Программа просит операционную систему записать данные в файл.
- Ядро обрабатывает запрос, включая права и доступ через файловую систему и драйверы.
- Программа получает уведомление о результате и может отобразить успешное или неудачное завершение сохранения.
Один и тот же тип системной службы используется независимо от того, начинается ли запрос из графической программы или команды. Графический интерфейс (GUI) и командная строка (CLI) — это пользовательские интерфейсы; ядро управляет системными ресурсами. Пример упрощен: кэширование и все детали записи на физический диск опущены.
Linux, Debian и Ubuntu: что есть что?
Linux — это название ядра операционной системы. В повседневном языке это имя также используется для обозначения всех операционных систем на базе Linux. Дистрибутив Linux, например Debian или Ubuntu, объединяет ядро Linux с библиотеками, инструментами, программой установки и системой пакетов.
| Понятие | Отношение к другим компонентам |
|---|---|
| Ядро Linux | Часть операционной системы на базе Linux. |
| Debian и Ubuntu | Дистрибутивы, основанные на ядре Linux. Они могут использовать различные версии ядер и конфигурации. |
| GNOME и KDE Plasma | Примеры графических сред рабочего стола. Их можно установить или удалить без замены самого ядра операционной системы. |
| Bash | Командная оболочка, позволяющая выполнять команды. Это программа, а не ядро. |
Осмотрите компьютер с Linux, если у вас есть один
В терминале Linux вы можете прочитать имя и версию загруженного ядра:
uname -s
uname -r
Первая команда должна отображать Linux. Вторая показывает версию ядра именно на этой машине; она не обязательно должна совпадать с версией у однокурсника. Команды ничего не изменяют и не требуют использования sudo.
Чтобы узнать, какая дистрибуция Linux используется вами, вы читаете другую информацию:
cat /etc/os-release
Ищите PRETTY_NAME, например имя, содержащее Debian или Ubuntu. Версия ядра и версия дистрибутива — это разные сведения. Используйте этот раздел в Linux; вам не нужно устанавливать Linux для выполнения самопроверки ниже.
Почему ядро появляется в ВМ и контейнерах?
Виртуальная машина работает с гостевой операционной системой со своим собственным ядром. Контейнеры на базе Linux разделяют ядро той системы Linux, на которой они работают. Когда Docker запускается внутри виртуальной машины Linux, контейнеры используют ядро этой ВМ.
См. карта взаимодействия ОС, ВМ и контейнеров, чтобы понять их взаимосвязи, а также ресурс по контейнеризации контейнеризация Уровень 1 — Контейнеры и виртуальные машины для иллюстрированного сравнения.
Проверьте своё объяснение
- Вы удаляете GNOME с сервера Debian. Удалили ли вы также ядро? Обоснуйте свой ответ.
- Две программы записывают файлы одновременно. Какая часть управляет доступом к системным ресурсам?
uname -rиPRETTY_NAMEпоказывают разные номера версий. Почему оба могут быть правильными?
Проверьте ответ: GNOME — это окружение рабочего стола, и его удаление само по себе не приводит к удалению ядра. Ядро управляет доступом программ к системным ресурсам вместе с другими компонентами системы. uname -r показывает версию ядра, а PRETTY_NAME описывает дистрибутив.
Вы готовы перейти дальше, когда сможете объяснить разницу между операционной системой, ядром и пользовательским интерфейсом на собственном примере. Если вы путаете компоненты, используйте схему и проследите процесс записи файла еще один раз. Если хотите углубиться в тему, объясните, как два различных Linux-дистрибутива могут основываться на одном типе ядра.
Источники: Red Hat: Ядро Linux, Операционные системы на базе Linux и uname. Иллюстрация создана специально для этого учебного материала.