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


Абстракция Объектов Ядра

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

С этой новой информацией, полностью размещенной в ядре, Линукс способен лучше поддерживать системы, где требуется глубокое знание оборудования. Очевидным примером использования этой информации является управление электропитанием В последние годы стандартом управления питанием является ACPI. ACPI - "Advanced Configuration and Power Interface" (продвинутая конфигурация и интерфейс питания) - поддерживается начиная с Линукса 2.4. В отличие от APM, системы с этим новым интерфейсом должны индивидуально сообщать всем совместимым устройствам о том, что они должны изменить свое состояние питания. Новая система ядра это то, что доктор прописал; она позволяет подсистеме контролировать устройства, которые должны быть отключены или переведены в другое состояние питания. Другой пример использования данной возможности - шины с "горя" подключением. Возможность подключать устройства после загрузки системы сейчас воспринимается как должное, но до Линукса 2.2. включительно ядро не поддерживало "горя" подключение. Начиная с ядра 2.4. эта возможность была отработана и включена поддержка "горячего подключения" PCI, PC Card, USB, и Firewire устройств. Новая ревизия централизованно системы устройств ядра развивает данную поддержку и практически стирает разницу между устройствами с "горя" подключением и без оного. Когда вы загружаете компьютер, подсистема обнаружения устройств систематически "подклю" все устройства вашей системы. После того, как были созданы представления в ядре для всех объектов системы после их обнаружения, независимо от того когда это произошло - во время загрузки или позже, становится гораздо проще работать со съемными устройствами.

Системная Файловая Система.

Возможно наиболее очевидным видимым для пользователя в новой модели устройств является создание новой системной файловой системы (дополняющей `proc` для процессов, `devfs` для устройств и `devpts` для псевдотерминало UNIX98), называемой "sysfs". Эта файловая система (монтируемая в `/sys`) является визуальным представлением дерева устройств, каким его видит ядро. Ядро получает эту информацию непосредственноот подсистемы объектов ядра: когда создается объект ядра, также создается файл или каталог (возможен явный отказ объекта ядра от создания записи в sysfs, если в этом есть необходимость).

После того как каждое устройство в системе (точнее К-объект) получает уникальную структуру каталогов, следующим логическим шагом становится экспорт различных известных атрибутов устройства (имя устройства, режим питания, прерывания и подобное) в дерево таким образом, что они могли быть прочитаны и записаны администратором Это выгодный побочный эффект (вначале слегка запутывающий) позволяющий многие аппаратно-зависимые случаи использования /proc/sys перенести в /sys уже сегодня или же в будущем.

Поддержка Оборудования в Ядре

За последние годы Линукс существенно продвинулся вперед и в направлении мэйнстрима (ширпотреба))), каждый этап развития ядра был скачком, лучшим чем предыдущий в контексте поддерживаемых устройств - как вновь появившихся технологий (USB в 2.4.), так и старых технологий (MCA в 2.2.). Таким образом мы пришли к тому, что число устройств, не поддерживаемых ядром 2.6. относительно мало. Осталось очень мало, если вообще осталось, основных направлений РС оборудования, требующего исследований. По этой причине большинство (но, конечно, не все) улучшений в поддержке оборудования РС (включая вышеупомянутую модель устройств) были связаны с упрочнением уже существующей поддержки.

Внутренние Шинные Архитектуры Устройств.

Не менее важными чем процессор, являются системные шинные архитектуры, служащие связующим звеном между устройствами. Мир РС прошел длинный путь системных шинных архитектур, от старейшей ISA (разработанной в оригинальных IBM PC) до современных внешних последовательны и беспроводных шин. Линукс всегда быстро реагировал на появление новых типов шин и устройств, по мере их распространения среди потребителей, и значительно менее быстро адаптируется к технологиям, относительно меньше распространенны.

Примером того, как Линукс включил поддержку нового типа шины позднее, чем коммерческие ОС, стало расширение ISA Plug-and-Play (PnP) в ядре 2.4. (вы могли ранее иметь данную поддержку сделанными наспех пользовательскии утилитами). В Линукс 2.6. включено существенное обновление данной подсистемы, делая ее практически законченной и хорошо интегрированнойв остальную часть новой модели устройств. Среди новых возможностей - полная поддержка PnP BIOS, базы данных имен устройств и другие изменения, делающие поддержку более устойчивой. Результатом всех изменений стало то, что Линукс теперь является полностью Plug-and-Play ОС и может быть установлен в машины с совместимым BIOS.

Альтернативами PnP в ISA (довольно не популярными) были MCA (архитектура микро канала) и EISA (расширенная стандартная архитектура промышленного применения). Обе эти подсистемы были улучшены в процессе разработки Линукса 2.6. с целью улучшения поддержки новой модели устройств. Более того, EISA была далее стандартизироваа с другими подсистемами посредством включения базы данных имен устройств.

Другими, не столь кардинальными, стали несколько примечательных изменений Линукса в поддержке шинных архитектур. Шина PCI - наиболее распространенна и важная из всех шин - получила существенно улучшенную поддержку в процессе разработки ядра 2.6. включая усовершенствоваие "горя" подключения и поддержки управления питанием. В этой же струе, новое ядро теперь поддерживает системы с несколькими AGP ("accellerated graphics ports" - ускоренный графический порт - выделенная высокоскоростна шина, также использующая протокол PCI), такие как высокопроизводиельные графические станции. В свете поддержки описанных типов внутренней организации РС, Линукс идет в ногу с общими тенденциями на рынке.

Кроме поддержки всех "" шинных архитектур, Линукс 2.6. привнес концепцию "" шины (по крайней мере внутренне). Шина этого типа определена в каждой архитектуре и содержит все мыслимые устройства, которые вы ожидаете увидеть. В РС, например, она может включать набортные последовательны, параллельный и PS/2 порты - устройства, которые имеют место быть, но не привязаны к какой-либо физической шине в системе. На некоторых платформах, данная функциональная поддержка может включать множество сложных вещей (таких как запрос встроенного ПО), но чаще всего это лишь обертка, позволяющая устройству быть обработанным стандартным образом согласно новой парадигме драйвера.

Шины Внешних Устройств

Все вышеперечисленне "" стандарты созревали и добавляли относительно немного новых возможностей в систему, чего нельзя сказать о USB. Универсальная Последовательна Шина претерпела множество изменений в течение недавнего времени. Самое заметное изменение - поддержка новым ядром устройств USB 2.0. USB2 - это новый стандарт, поддерживающий передачу данных со скоростью 480 Мбит/с (по сравнению с 12 Мбит/с у USB 1.1.). Устройства поддерживающие этот стандарт и маркируемые как "high speed" USB ("высокоскоростно USB) постепенно завоевывают рынок. Новый родственный стандарт, называемый USB On-The-Go (или USB OTG) - вариант точка-точка протокола USB, для соединения устройств напрямую друг с другом (например, для подключения цифровой камеры к принтеру без участия РС), в настоящее время не поддерживается ядром 2.6. (патчи с возможностью такой поддержки существуют, но пока не включены в официальный выпуск ядра). В дополнение к поддержке новых устройств, был пересмотрен внутренний пересчет USB устройств таким образом, что стало возможным иметь доступ к намного большему числу однотипных устройств в Линуксе. В основном при этом выиграли большие принт- и файл-серверы (хотя последние, вероятно, будут использовать выделенную шину памяти). Это определенно область технологий, существенно повзрослевших за последние несколько лет, и Линукс работает над тем, чтобы успевать за развитием устройств на рынке.



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