Как работает ядро ​​Linux независимо от платформы, на которой оно установлено?

Я постараюсь помочь:

1 )Механизм протокола SSL — это именно тот механизм, который управляет протоколом SSL (, также известным как HTTPS ). Этот движок предоставляется модом _ssl, но он не включен по умолчанию, так как это потребует дополнительных ресурсов. Он настолько сильно отличается от протокола HTTP, что ему потребовалось собственное обозначение HTTPS

.

2 )Открытие порта 443 и включение SSLEngine происходит только из-за того, что сопровождающие вашей операционной системы упаковывают эту конфигурацию в пакет mod _ssl. При сборке и установке Apache непосредственно из исходного кода поведение по умолчанию соответствует описанию в документации.

3 )Файл ssl.conf предоставляется сопровождающими вашего дистрибутива, ни Apache, ни документация Apache ничего о нем не знают, поэтому они просто документируют значения по умолчанию. Я не уверен, что это за содержимое для вашей системы, но, скорее всего, вы должны включить его в каждый из ваших виртуальных хостов, поскольку в документации Apache указано, что SSLEngine следует использовать внутри конфигурации виртуального хоста. Его нужно включить в каждом виртуальном хосте, чтобы не потреблять ресурсы там, где он не нужен.

4 )Если у вас так работает, то, скорее всего, это очередное удобство, предоставляемое вашей операционной системой. Apache понятия не имеет, как каждая операционная система будет настраивать Apache в своих пакетах, поэтому они описывают только самое основное поведение по умолчанию. Вы можете просмотреть все файлы конфигурации Apache, предоставленные вашим дистрибутивом, и посмотреть, как каждый из них влияет на поведение Apache, таким образом вы можете многому научиться.

2
11.03.2020, 21:30
1 ответ

What I specifically want know here is irrespective of the underlying hardwares it is on how Linux kernel manages to work on all different pcs

Прежде всего, ядро ​​может работать на любом ПК, если оно скомпилировано для этой конкретной архитектуры. С вашими компьютерами общего назначения архитектура, как правило, одна и та же (x86 _64/amd64 ), но она меняется, когда вы имеете дело со встроенными устройствами.

Устройство -дерево

За исключением компиляции, само ядро ​​не зависит от аппаратного обеспечения. Дарю тебе устройство -дерево !

Ядро linux заботится о -недоступном для обнаружения оборудовании через дерево устройств -. Это сообщает ядру информацию о процессоре, памяти, шинах, устройствах, подключенных через I2C, SPI и т. д. Вместо того, чтобы жестко -запрограммировать компоновку устройства, ее можно изменить с помощью дерева устройств -. Это все действительно волшебно, когда вы это понимаете. Дерево устройств -также сообщает ядру, какой драйвер следует использовать для конкретного устройства, через параметр compatible.

Дерево устройств -может храниться самыми разными способами в зависимости от того, как было скомпилировано ядро, но обычно иерархию можно увидеть в /proc/device-treeили /sys/firmware/devicetree/base.

Для таких вещей, как USB-устройства, обо всем позаботится драйвер USB. В ядре есть базовый код для управления такими вещами, как клавиатура и мышь. У некоторых поставщиков есть специальные драйверы, которые затем поставляются с устройством.

Модули

Для драйверов ядро ​​Linux использует так называемые модули ядра . Все модули можно найти в разделе /lib/modules. Существует два типа модулей: :загружаемые модули и встроенные -модули.Вы можете просмотреть все загруженные модули с помощью команды lsmod. Когда ядро ​​находит определенное устройство в дереве устройств -или даже когда вы подключаете устройство к периферийному устройству, оно проверяет, есть ли модуль, который оно может загрузить для этого устройства, и этот модуль становится драйвером для этого устройства..

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

БСП

Вы попадаете в (пакет поддержки плат BSP ), когда поставщик поставляет ядро ​​и набор специальных модулей для своего оборудования (, включая процессор и подключенное оборудование ). Иногда поставщики вносят изменения в существующие модули или поставляют пользовательские модули с ядром. Некоторые поставщики вносят изменения в само ядро, и весь этот пользовательский пакет становится BSP. Это часто происходит во встроенном мире.

ХАЛ

HAL (Уровень аппаратной абстракции )может быть синонимом BSP. Я не видел, чтобы он так часто использовался в мире Linux, но когда вы попадаете в микроконтроллеры, он используется довольно часто. По сути, HAL — это набор библиотек, используемых для доступа к оборудованию, что значительно упрощает взаимодействие с оборудованием. Например, с чипом Wi-Fi он даст вам базовые процедуры для подключения к точке доступа, сканирования сети, создания точки доступа и т. д. В этом смысле он действует как драйвер.

5
28.04.2021, 23:20

Теги

Похожие вопросы