Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ядро Linux.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
117.25 Кб
Скачать

"Операционные среды" На тему: "Ядро Linux – архитектура и API"

Содержание

Операционная система Linux 2

Нумерация версий 2

Архитектура ядра linux 3

Монолитное ядро 3

Принцип генерируемости 7

Функциональной избыточности 7

IPC как пример функциональной избыточности 8

Совместно используемая память 8

Каналы. 11

Linux kernel API 13

Простейший модуль 13

Список литературы 15

Операционная система Linux

Linux — ядро операционной системы, разработка которого была начата финским студентом Линусом Торвальдсом в 1991 году. В большинстве своём его код написан на C с некоторыми расширениями GNU C и частями, написанными на ассемблере (с использованием синтаксиса GNU Assembler "AT&T"). Распространяется свободно на условиях лицензии GNU General Public License.

Следует отметить, что "Linux" — это название только ядра, а не операционной системы. Часто системы, основанные на ядре Linux, называют просто "Linux", но большинство из них на самом деле называются GNU/Linux, так как состоят из ядра Linux и множества системных библиотек и программ, написанных в рамках проекта GNU.

Торвальдс продолжает выпускать новые версии ядра, объединяя изменения, вносимые другими программистами, и внося свои. В дополнение к официальным версиям ядра существуют альтернативные ветки, которые могут быть взяты из различных источников. Как правило, разработчики дистрибутивов GNU/Linux поддерживают свои собственные версии ядра Linux, например, включая в них драйвера устройств, которые ещё не включены в официальную версию.

Нумерация версий

Номер версии ядра Linux в настоящее время содержит четыре числа, следуя недавнему изменению в долго используемой до этого политики схемы версий, основанной на трёх числах. Для иллюстрации допустим, что номер версии составлен таким образом: A.B.C[.D] (например 2.2.1, 2.4.13 или 2.6.12.3).

Число A обозначает версию ядра. Оно изменяется наименее часто и только тогда, когда вносятся значительные изменения в код и концепцию ядра. Оно изменялось дважды в истории ядра: в 1994 (версия 1.0) и в 1996 (версия 2.0).

Число B обозначает старшую версию ревизии ядра. Чётные числа обозначают стабильные ревизии, то есть те, которые предназначены для промышленного использования, такие как 1.2, 2.4 или 2.6. Нечётные числа обозначают ревизии для разработчиков, такие как 1.1 или 2.5. Они предназначены для тестирования новых улучшений и драйверов до тех пор, пока они не станут достаточно стабильными для того, чтобы быть включёнными в стабильный выпуск.

Число C обозначает младшую версию ревизии ядра. В старой трёх числовой схеме нумерации, оно изменялось тогда, когда в ядро включались заплатки связанные с безопасностью, исправления ошибок, новые улучшения или драйвера. С новой политикой нумерации, однако, оно изменяется только тогда, когда вносятся новые драйвера или улучшения; небольшие исправления поддерживаются числом D.

Число D впервые появилось в случае, когда смертельная ошибка, которая требовала незамедлительного исправления, была обнаружена в коде ядра 2.6.8, связанного с NFS. Однако, было недостаточно других изменений, для того чтобы это послужило причиной для выпуска новой младшей ревизии (которой должна была стать 2.6.9). Поэтому была выпущена версия 2.6.8.1 с единственным исправлением в виде исправления для этой ошибки. С ядра 2.6.11, эта нумерация была адаптирована в качестве новой официальной политики версий. Исправления ошибок и заплатки безопасности теперь управляются с помощью четвёртого числа, тогда как большие изменения выполняются в изменениях младшей версии ревизии ядра (число C).

Последней стабильной версией ядра на сегодняшний день является 2.6.18.1