> man operating_systems
Ядро Linux 2.6
Краткое описание новинок ядра 2.6
на Воскресенье, 18 Июль 2004, 21:11
добавил: Джозеф Праневич список авторов печатать элемент контента создать pdf-файл  элемент контента
категория Статьи > Unix
комментарии: 0
просмотров: 3752


Другие изменения

Защита

Другими серьезными изменениями в ядре 2.6., не получивших достаточного внимания, стали изменения, связанные с безопасностью. Наиболее существенное заключается в том, что система безопасности, полностью обеспечиваемая ядром (права супер-пользователя в Unix клонах), была "" (от "") и стала одним из многих альтернативных модулей обеспечения безопасности (сегодня, однако, существует лишь одна модель системы защиты по умолчанию и пример, как создать собственную). Вследствие этого изменения все части ядра были изменены, и теперь используют новую систему как базовую, в отличие от старой системы "суперпользоватея". Все Линукс системы и в дальнейшем будут иметь учетную запись суперпользоватея, но при этом будет учитываться возможность ее отсутствия. Другим изменением в безопасности стало то, что исполняемые модули (например драйверы, поставляемые производителем оборудования) теперь не могут "" системные вызовы по собственному усмотрения, а также не смогут модифицировать таблицу системных вызовов. Эти меры существенно ограничивают возможности модулей с не-окрытыми исходниками в ядре и, возможно, прикрывают некоторые юридические лазейки обхода GPL. Последнее изменение, относящееся к безопасности, - теперь Линукс способен работать с аппаратными генераторами случайных чисел (присутствующих в некоторых современных процессорах), лучшего чем основанный на энтропии пул (довольно хороший по общему признанию), базирующийся на случайных аппаратных флуктуациях.

Виртуализация Линукс

Одно из интереснейших нововведений в Линуксе 2.6. - поддержка архитектуры "user mode" (непривилегированого режима). По существу это портирование Линукса (как на различные аппаратные архитектуры), реализующее полностью виртуальную среду выполнения Линукса-в-Линуксе. Новая инстанция Линукса выполняется также как обычное приложение. "" приложения вы можете конфигурировать"" сетевые интерфейсы, ФС и другие устройства посредством специальных драйверов, которые безопасным образом связаны с головной копией Линукса. Такой подход полезен как в задачах разработки (профилирование и прочее), так и для анализа системы безопасности и забавы ради))). И хотя большинство пользователей не нуждаются в такой поддержке, все же эта "прикольная " достойна быть запущенной на вашем "" (Поразите своих друзей!))).

Ноутбуки.

Кроме описанных ранее общих усовершенствоваий (APM и ACPI, улучшенная поддержка беспроводного оборудования и т.п.), Линукс также включил две трудно классифицируемы возможности для пользователей ноутбуков. Первая из них заключается в полной поддержке новой редакцией ядра режима приостановки-ПО-на-диск (software-suspend-to-disk). Вторая - это поддержка возможности современных мобильных процессоров изменять частоту (и энергопотреблене) основываясь на том, питается ноут от сети или от батарей.

Поддержка "наследия"

Хотя Линукс 2.6. является серьезным апгрейдом, пользовательски приложения почти не почувствуют разницы в работе. Единственное исключение касается вопроса распараллеливаня (threading): некоторые вещи, которые делали приложения под 2.4. или 2.2, теперь не позволительны. Однако подобные приложения являются скорее исключением из правила. Естественно низкоуровневые приложения, такие как утилиты модулей, определенно не будут работать. Кроме того, некоторые файлы и форматы в каталогах /proc и /dev были изменены, и приложения имеющие зависимости от них, также могут работать не корректно (особенно это касается тех частей, которые были перемещены в виртуальную ФС /sys. В случае с /dev, имена устройств могут быть легко сконфигурирован для обратной совместимости).

В дополнение к изменениям оговоренным в стандартах, есть несколько мелких изменений, которые затрагивают окружение ядра. Во-первых, древние "" (файл или раздел подкачки в Линукс 2.0 и более ранних версиях) должны быть переформатироваы для использования с ядром 2.6. (поскольку своп не содержит постоянной информации, это не станет проблемой для обычных пользователей). Демон kHTTPd, позволяющий обрабатывать вэб-содержимое непосредственноядром, был перемещен, также как и многие другие, влияющие на производительноть сервисы, включая Apache, Zeus, решив таким образом проблему достижения максимальной производительноти ядра. Были исключены: поддержка древних ДОСовских диск-менеджеров (OnTrack и EzDrive ) для старых жестких дисков; а также поддержка совместимости с ДОС. Из ядра была удалена поддержка специального загрузочного сектора, предназначенног для загрузки с дискет, вместо этого следует использовать SysLinux. И последнее, поддержка "soundmodem" (для игр со звуком и модемом) была вынесена из ядра в пользовательско пространство, где имеется лучшая поддержка и более своевременное обновление этого ПО.

Материал лежащий в основании

Этот документ составлен прежде всего на основании долгих часов изучения логов изменений (changelogs), изучения и экспериментировния с исходниками, чтения рассылок и многих и долгих поисков на Google и Lycos документации по данной теме. В некоторых местах могут быть неточности и ошибки, в некоторых - изменения, сделанные уже после описания (автор с особенной осторожностью говорил о двух версиях реализации поддержки IDE над которыми велась работа при написании данного слога, но есть и другие примеры). Также автор старался осторожно использовать информацию с вэб-страниц проектов, интегрированныхв ядро, но существенно преуспевших по сравнению с тем, что было включено в ядро официально. Если у вас возникли вопросы, замечания или что еще угодно, можете связаться со мной по адресу jpranevich@kniggit.net.

Для технически продвинутых людей, которым нужен лишь список изменений и возможностей, Дэйв Джонс (Dave Jones) сделал превосходное резюме процесса разработки ядра 2.6. доступное по адресу http://www.codemonkey.org.uk/post-halloween-2.5.txt. Все совпадения в этих двух документах вполне естественны, так как мы оба работали с исходниками, причем версии для i386.

Правом на этот документ обладает Джозеф Праневич (Joseph Pranevich). Разрешается распространениев "" этого документа без изменений, но, пожалуйста, сообщите по электронной почте автору о ваших намерениях иным способом распространения (журналы и т.п.). В любом случая автор будет благодарен за письмо, поскольку может быть доступна более свежая версия этого документа.


Перевод: Death_Mokar.



Комментарии доступны только авторизованным пользователям, авторизуйтесь или зарегистрируйтесь на сайте здесь

© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.