Linux

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

Список каталога / boot.

Для обычных пользователей и менее чем хардкорных поклонников Linux — операционная система. Однако для пуристов название Linux зарезервировано для ядра, которое обеспечивает работу операционной системы.

Режимы

Прежде чем объяснить, что такое ядро, важно понять термины пользовательский режим и режим ядра . Пользовательский режим — это когда исполняемый код не имеет возможности прямого доступа к аппаратной или справочной памяти. Чтобы получить доступ к оборудованию и памяти, код, работающий в пользовательском режиме, должен делегировать инструкции системным интерфейсам прикладного программирования. Режим ядра — это когда исполняемый код имеет неограниченный доступ ко всему оборудованию — он зарезервирован для наиболее надежных функций операционной системы.

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

Каждая операционная система имеет ядро. Windows, macOS , iOS , Android , Chrome OS и Linux имеют низкоуровневую систему, которая отвечает за взаимодействие всех приложений с физическим оборудованием компьютера. Без ядра ни одно из ваших приложений не сможет использовать физический компьютер; такие приложения, как Firefox, Chrome, LibreOffice или Outlook не будут работать. Ядро также отвечает за разрешение процессам обмениваться информацией, используя то, что называется межпроцессным взаимодействием.

Существует (вообще говоря) три типа ядер:

  • Монолитные ядра . Эти ядра включают процессор , память, IPC, драйверы устройств, управление файловой системой и вызовы системного сервера. Он также отвечает за передачу свободной системной памяти приложениям. Эти типы ядер обычно лучше обращаются к оборудованию и многозадачности.
  • Микроядра . Микроядра используют минималистский подход и управляют только процессором, памятью и IPC.
  • Гибридные ядра : гибридные ядра имеют возможность решать, что они хотят запускать в режиме пользователя или в режиме ядра. Хотя это обеспечивает лучшее из обоих миров, от производителей оборудования требуется гораздо больше для создания драйверов, которые служат для взаимодействия между работающим кодом и оборудованием.

Linux использует открытый источник Monolithic Kernel, тогда как macOS и Windows используют Hybrid Kernels. Ядро Linux было задумано в 1991 году Линусом Торвальдсом. По сей день Торвальдс продолжает оставаться ведущим разработчиком ядра Linux, а разработчики со всего мира вносят свой вклад в ядро ​​Linux. На самом деле, по оценкам, с начала отслеживания в 2005 году около 10 000 разработчиков из более чем 1000 компаний внесли свой вклад в ядро ​​Linux.

Где ядро?

Если вы откроете окно терминала и введете команду ls / boot , вы увидите файл с именем vmlinuz-VERSION (где VERSION — имя или номер выпуска). Файл vmlinuz — это собственно загружаемое ядро ​​Linux, а z указывает, что ядро ​​сжато, поэтому вместо vmlinux у нас есть vmlinuz .

Список каталога / boot.

В этом каталоге / boot находятся другие важные файлы ядра, такие как initrd.img-VERSION, system.map-VERSION и config-VERSION (где VERSION — это имя или номер выпуска). Эти другие файлы служат следующим целям:

  • initrd : используется как небольшой RAM-диск, который извлекает и выполняет фактический файл ядра.
  • system.map : используется для управления памятью до загрузки ядра.
  • config : Указывает ядру, какие опции и модули загружать.

Модули

Без модулей ядро ​​было бы бесполезно. Модули эффективно включают драйверы, необходимые для связи с оборудованием, не занимая всю системную память. Модули также добавляют в ядро ​​такие функции, как взаимодействие с периферийными устройствами, управление файловыми системами, безопасность и т. Д. Перечисление, добавление и удаление модулей в ядре с помощью следующих команд:

  • lsmod перечисляет все загруженные в данный момент модули ядра.
  • insmod загружает модуль ядра в работающее ядро.
  • rmmod выгружает модуль из работающего ядра.

С помощью некоторых простых команд ядро ​​Linux может быть достаточно гибким.

Текущее ядро

Ядра Linux
kernel.org

Ядро Linux часто обновляется, но не все дистрибутивы Linux будут содержать последнее ядро.

Вы можете бесплатно скачать разные версии ядра Linux с сайта kernel.org и скомпилировать их самостоятельно. Компиляция ядра Linux — это задача, которую лучше оставить тем, кто действительно знает, что делает. Неправильно скомпилированное ядро ​​может сделать систему не загружаемой. Так что, если вы не готовы погрузиться в сложную задачу компиляции кода на этом уровне, используйте ядро ​​по умолчанию, которое поставляется и обновляет выбранный вами дистрибутив.

Похожие посты
Linux

8 лучших окружений рабочего стола Linux

AndroidIphone и ipadLinuxWindows

Окончательное руководство по включению темного режима везде

LinuxКак сделать

Что такое Swappiness в Linux? (и как это изменить)

LinuxКак сделать

Как использовать команду ls для вывода списка файлов и каталогов в Linux