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

Краткое описание новинок ядра Linux 2.6
<hr>

Казалось бы, только вчера мы запускали наши первые Linux-системы с ядром 2.4, время летело, контора писала, вот уж озимые заколосились и? команда разработчиков ядра приблизилась к завершению работы над новой версией ядра - 2.6. В этом документе будут описаны новые особенности ядра 2.6 (с сильным уклоном к i386 порту Linux.). В отличие от объявлений предварительныхвыпусков закрытого ПО, все особенности, описанные здесь, доступны уже сейчас (одни более, другие менее свободны от багов) в экспериментальнм ядре Linux 2.5 (по традиции Linux, четно пронумерованныеядра "" и предназначены для готовых систем, в то время как нечетные ядра - для смельчаков))). Учитывая сказанное следует иметь в виду, что некоторые из особенностей, описанные здесь, могут быть удалены или помечены как "экспериментальн" в актуальных выпусках ядра 2.6. Однако на текущий момент развитие ядра имеет статус "feature-freeze", т.е. никакие новые возможности более не добавляются в ядро, и это радавает нас, патаму ша карашо, ибо финальный релиз не будет сильно отличаться от того что описано тута. Также следует учесть, что некоторые из "" особенностей, обсуждаемых здесь, возможно, были портированы задним числом в Linux 2.4 после их появления в Linux 2.6, официально ли или дистрибутором, опять же ли.

При создании данного документа возникли некоторые сложности, точный номер ожидаемой версии Linux еще не был определен. Наиболее вероятный номер - v2.6, но были предложения, чтобы v3.0 стал следующим номером из-за включения NUMA и MMU-less поддержки в будущей версии (подробнее об этом позже). Для удобства, этот документ будет всегда, что касается будущей версии ядра, ссылаться на него как на v2.6 и в настоящем времени.

То что вы читаете - первый проект этого документа, датированный 13.07.2003 и основывается на экспериментальнм ядре 2.5.75. Будут выпущены и другие версии этого проекта, по мере завершения работы над ядром, но этот документ "" не будет закрыт до выхода финального релиза ядра. Поскольку это первый черновик, то могут быть ошибки или упущения; если вы найдете их, сообщите мне, я буду счастлив устранить их (а иначе ты будешь несчастен до конца дней своих?))).

Скоро сказка сказывается...

Ядро Linux было зачато в 1991 году Линусом Торвальдсом как Minix-подобная операционная система для его кампика, i386. Изначально Линус хотел назвать проект Freax, но нам всем крупно повезло, потому что он передумал (спрашивается: ПОЧЕМУ??? - двойной смысл вопроса))).

Первый официальный выпуск Linux 1.0 был представлен в марте 1994-го, официально он поддерживал только i386 и только однопроцессорны персональные компьютеры. Linux 1.2 был выпущен в марте 1995-го и стал первой версией, которая официально поддерживала различные архитектуры (в частности Alpha, Sparc, и Mips). Linux 2.0 появился в июне 1996-го и поддерживал много новых архитектур, но что наиболее важно, это была первая версия, которая поддерживала многопроцессорне машины (SMP). Linux 2.2 вышел в январе 1999-го как дополнительное усовершенствоваие, которое существенно повысило производительноть на многопроцессорнх машинах и снова был расширен диапазон поддерживаемых аппаратных средств. И наконец, Linux 2.4 был выпущен в январе 2001-го как следующее основное усовершенствоваие масштабируемост с SMP, при этом много десктопных особенностей было интегрировано в основную ветку ядра, включая USB, PC Card (aka PCMCIA), встроенный plug-and-play и т.д. Linux 2.6 базируется не только на этих особенностях, но также делает другой "большой " в улучшении поддержки как больших систем (полагаю немеряных м?йнфреймов), так и встраиваемых (PDA и прочие embedded Linux`s).

Расширение списка поддерживаемых архитектур.

Одной из многих сильных сторон ОС основанных на Linux (типа GNU ОС, ОС и различное окружение, так часто распространяемые с Linux, что уже не воспринимаются как отдельные объекты) - является то, что они поддерживает широкий диапазон аппаратных средств и платформ. Каждая версия начиная с 1.2 включала поддержку новых типов процессоров и особенностей. Linux 2.6 не является исключением в этой тенденции, и хотя этот факт прямо не влияет на использование Linux на Intel-е, он очень важен для Linux, для его как можно более широкого распространения.

Масштабированиевниз - Linux для Встроенных Систем

Одним из главных направлений роста Linux 2.6 была поддержка множества платформ, в частности посредством включения многих возможностей из проекта uClinux в основное ядро. Проект uClinux (возможно произношение "you-see-Linux", но более верно произносить с греческими символами "mu" (это как это???) - это проект Linux для микроконтроллерв. Много лет это ответвление Linux было основой поддержки многих встраиваемых процессоров, и очень приятно получить более высокую степень интеграции в ядре основной ветки.

В отличие от обычных портов Linux, встраиваемые порты описанные здесь не имеют всех возможностей обычного Linux из-за аппаратных ограничений. Основное различие в том, что процессоры, под которые эти порты созданы, не поддерживают MMU. (В мире Intel, MMU был представлен с i386). В то время как эти Linux системы истинно многозадачны, они не имеют защиты памяти (так что любая программа может разрушить любая другую) и некоторые системные вызовы, имеющие дело с клонированием процессов, заблокированы. И поскольку эти системы не имеют защиты памяти (в самом деле, какая уж тут безопасность), они оказываются бесполезными в качестве многопользоватеьских систем.

Есть четыре основных линейки встраиваемых процессоров, поддерживаемых Linux 2.6. Первый из этих портов - для новейшей линейки встраиваемых процессоров m68k фирмы Motorola. Эти процессоры выпускаются с именами типа Dragonball и ColdFire и включены в системы и "" платы, изготовленные фирмой Motorola, Lineo, Arcturus, и другими. Большинство пользователей Linux знакомы с этими процессорами как лежащими в основе Palm Pilot-ов, начиная с первого (Palm 1000), и до Palm III. Печально, но поддержка старших m68k процессоров без MMU (типа 68000, используемый в ранних Macintosh) еще не включена в это ПО. Среди новых поддерживаемых встраиваемых платформ такие как серия H8/300 от Хитачи (H8S еще не поддерживается, но вскоре могут быть включены) и NEC v850 процессор.

Акцентирую внимание на том, что это серьезное смещение приоритетов в сторону поддержки систем без MMU под Linux 2.6. Все предыдущие версии Linux были получены, однако косвенно, ограниченным наследованием начальной разработки Линуса на Intel 80386. Экстраполируя в этом направлении, будем надеяться что поддержка и других устаревших аппаратных средств будет реализована в будущем (ацтой!!! даешь вечный апгрейд!!!))) (действительно, есть проекты, которые работают в этом направлении), а также много новых и захватывающих дверей будут открыты? (смысл понятен). В отличие от работы на современных и разрабатываемыхвстраиваемых процессоров, перечисленных здесь, поддержка устаревших моделей в значительной степени определяется ""))))) и наиболее вероятно бесполезна для конечных пользователей (и возможно не достаточно важна для включения в официальные релизы Линукса в будущем).

Несмотря на то, что часть uClinux интегрирована, не технически (потому что включает MMU), последние версии Линукса также включает поддержку процессоров Axis Communications' ETRAX CRIS ("Code Reduced Instruction Set - код с уменьшенным количеством "). (В частности поддерживаются ETRAX 100LX и более новые). Фактическая поддержка этих процессоров появилась в процессе разработки ветки 2.4, но данная возможность была представлена после релиза 2.4.0, поэтому заслуживает упоминания здесь. Axis Communications' ETRAX CRIS - это встраиваемый процессор, который используется прежде всего в сетевом оборудовании. ETRAX100 родственник MMU-less процессоров, которые поддерживаются в uClinux, но его поддержка в основной ветке дерева ядер Линукса не была интегрирована.

Opteron Поддержка - 64 бит Линукс для Потребителя

Другой процессор, поддержка которого была интегрирована при развитии ветки 2.4.x, но заслуживающая упоминания здесь - поддержка Линуксом процессоров AMD Opteron (основанных на архитектуре AMD64.) Это новый чип обратно совместим с существующими процессорами-клонами Intel и получивший даже "обратную" поддержку от Microsoft. Станет ли этот процессор или же член Itanium-семейства Intel стандартом де-факто для 64-битных пользовательски продуктов покажет время.

В то время как более поздние редакции ядра 2.4 поддерживали этот процессор, все же были ограничения не позволявшие широкое использование этих систем. Наиболее критичным при использовании в высокопроизводиельных системах является то, что каждая задача ограничена 512 Мбайтами памяти.. Кроме того была улучшена поддержка х86 (32-разрядных) программ.



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