от task_struct(10-09-2009)

1. USB 3.0

Тази версия на ядрото добавя поддръжка на USB 3.0 устройства (благодарение на Сара Шарп от Интел) и на хардуера, който имплементира спецификацията eXtensible Host Controller Interface (xHCI) 0.95 .

2. CUSE (character devices in userspace) и OSS Proxy

CUSE е разширение на FUSE, което позволява знакови устройства да бъдат имплементирани в потребителското пространство (създадено от Tejun Heo (SUSE)). CUSE може да бъде използван за много цели, примерно за прокси между OSS аудио и ALSA или за аудио система, която изпраща звук през мрежата. ALSA поддържа OSS емулация, но за съжаление тя е зад мултиплексиращия слой (който е в потребителското пространство), което означава, че ако вашата аудио карта не поддържа множество аудио потоци (повечето модерни не го правят), само един от двата интерфейса (ALSA или OSS) ще бъде достъпен в даден момент.


OSS Proxy използва CUSE за да имплементира OSS индерфес - /dev/dsp, /dev/adsp and /dev/mixer. От гледна точка на приложенията, тези устройства са най-обикновени знакови устройства и се държат като такива, така че могат да бъдат направени доста гъвкави. Приложението изпраща звука към тези устройства и OSS Proxy-то го предава на "slave". За сега има само 1 имплементиран slave - ossp-padsp (pulseaudio).

3. Подобрена интерактивност на десктоп средата при голямо натоварване на паметта

PROT_EXEC страниците са страници от паметта, които принадлежат на някои изпълними файлове, които в момента се изпълняват и свързани с тях библиотеки. Те трябва да се кешират агресивно с цел да се предостави бързо реагираща среда на потребителя. Ако това не се прави, десктоп приложенията могат да страдат от много дълги и забележими паузи, когато кода на приложението скочи на някоя своя част, която не е кеширана в паметта и трябва да бъде прочетена от хард диска, а това е много бавна операция. Поради някои промени заради скалируемостта на управлението на паметта в последните версии на ядрото, може да се случи така, че някои от тези страници да бъдят изпратени за кеширане на хард диска. Резултатът от това е работна среда със слаба интерактивност.

В тази версия са използвани някои евристични алгоритми, с цел да се направи по-трудно PROT_EXEC страници да бъдат кеширани на хард диска. Резултатът е силно подобрена производителност на работната среда (за повече информация и резултати от тестове вижте линка на края на новината).

4. Поддръжка на ATI Radeon в Mode Setting

За повече информация: Mode Setting

Поддържаните видео карти са R1XX,R2XX,R3XX,R4XX,R5XX (radeon до X1950). Усилията са насочени към осигуряване на поддръжка за R6XX, R7XX и по-новият хардуер (radeon от HD2XXX до HD4XXX).

5. Броячи на производителността

Пропоръчана статия от LWN: http://lwn.net/Articles/ 311850/ Тази подсистема осигурява абстрактно представяне на специални хардуерни регистри, съществуващи в повечето модерни процесори, които отчитат производителността. Тези регистри следят и броят някои типове хардуерни събития като брой на изпълнените инструкции, брой на неуспешните опити за запис/четене от процесорния кеш, грешно прогнозирани разклонения на изпълнението на програмните инструкции и други, без да забавят ядрото или приложенията. Също така тези регистри могат да предизвикат прекъсвания, когато се достигне определен праг на броя на събитията, което може да бъде използвано за профилиране на кода, който се изпълнява на процесора. В тази версия е добавена поддръжка за x86, PPC и частична за S390 и FRV.

Други интересни и важни новости и подобрения са:

  1. Поддръжка на Gcov - 2.6.31 позволява използването на изтрумента на GCC за покриване на кода, gcov, в ядрото.
  2. Kmemcheck - Динамично се проверява и предупреждва за използването на неинициализирана памет.
  3. Kmemleak - позволява да бъдат открити вероятни течове на памет в ядрото.
  4. Fsnotify - бекенд за известия от файловата система.

За повече информация: kernelnewbies.org


<< Facebook пуска свободен високо производите... | Търси се преподавател  C++ >>