Что такое ядро Linux | OTUS

Что такое ядро Linux

Ядро Linux® является основным компонентом операционной системы (ОС) Linux и основным интерфейсом между аппаратным обеспечением компьютера и его процессами. Оно обменивается данными между двумя, максимально эффективно управляя ресурсами.

Ядро названо так потому, что оно, как семя внутри жесткой оболочки, существует в ОС и контролирует все основные функции оборудования, будь то телефон, ноутбук, сервер или любой другой компьютер.

kernel_linux_min_1-1801-7bf190.jpg

Что делает ядро

В ядре 4 задания:

  1. Управление памятью: отслеживать, сколько памяти используется для хранения чего и где.
  2. Управление процессами: определить, какие процессы могут использовать центральный процессор (ЦП), когда и как долго.
  3. Драйверы устройств: действуют как посредник/интерпретатор между оборудованием и процессами.
  4. Системные вызовы и безопасность: получение запросов на обслуживание от процессов.

Ядро, если оно реализовано правильно, невидимо для пользователя, работая в своем собственном маленьком мире, известном как пространство ядра, где оно выделяет память и отслеживает, где все хранится. То, что видит пользователь, например веб-браузеры и файлы, называется пространством пользователя. Эти приложения взаимодействуют с ядром через интерфейс системных вызовов (SCI).

Подумайте об этом так. Ядро – это занятый персональный помощник для мощного руководителя (оборудования). Задача помощника – передавать сообщения и запросы (процессы) от сотрудников и общественности (пользователей) руководителю, помнить, что и где хранится (память), и определять, кто имеет доступ к руководителю в любой момент времени.

Место ядра в ОС

Чтобы поместить ядро ​​в контекст, вы можете представить себе машину Linux как имеющую 3 уровня:

  1. Аппаратное обеспечение: физическая машина – нижняя часть или основание системы, состоящая из памяти (RAM) и процессора или центрального процессора (CPU), а также устройств ввода/вывода (I/O), таких как хранилище, сеть и графика. ЦП выполняет вычисления, читает из памяти и записывает в нее.
  2. Ядро Linux: ядро ОС. (Видите? Это прямо посередине). Это программное обеспечение, находящееся в памяти, сообщает процессору, что делать.
  3. Пользовательские процессы: это запущенные программы, которыми управляет ядро . Пользовательские процессы – это то, что вместе составляет пользовательское пространство. Пользовательские процессы также известны как просто процессы . Ядро также позволяет этим процессам и серверам взаимодействовать друг с другом (так называемое межпроцессное взаимодействие или IPC).

Код, выполняемый системой, выполняется на процессорах в одном из двух режимов: режиме ядра или пользовательском режиме. Код, работающий в режиме ядра, имеет неограниченный доступ к оборудованию, а пользовательский режим ограничивает доступ к процессору и памяти для SCI. Аналогичное разделение существует для памяти (пространство ядра и пространство пользователя). Эти две небольшие детали составляют основу для некоторых сложных операций, таких как разделение привилегий для безопасности, создание контейнеров и виртуальных машин .

Это также означает, что в случае сбоя процесса в пользовательском режиме ущерб ограничен и может быть восстановлен ядром. Однако из-за доступа к памяти и процессору сбой процесса ядра может привести к сбою всей системы. Поскольку существуют меры безопасности и требуются разрешения для пересечения границ, сбои пользовательских процессов обычно не могут вызвать слишком много проблем.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто