Portál AbcLinuxu, 5. května 2025 11:40
Aktuální verze jádra: 3.2. Citáty týdne: Andrew Morton, Tim Bird, Greg Kroah-Hartmann. K dlouhodobé údržbě jader. Konec systémových zařízení. První polovina začleňovacího okna Linuxu 3.3.
Jádro verze 3.2 vyšlo 4. ledna po 72 dnech vývoje. Mimo jiné toto jádro přidává algoritmus pro proporcionální omezení rychlosti TCP, rozšířený ověřovací modul, řadič šířky pásma plánovače CPU, IPC mechanismus „cross-memory attach" (čtení/zápis paměti jiného procesu), architekturu Hexagon DSP, lepší obnovu poškozených souborových systémů Btrfs a kód pro zpomalování zpětného zápisu. Na stránce na Kernelnewbies najdete spoustu dalších informací.
V době psaní tohoto textu je začleňovací okno řady 3.3 otevřené, dále v článku naleznete přehled toho, co bylo zatím začleněno.
Stabilní aktualizace: stabilní jádra 2.6.32.53, 3.0.16 a 3.1.8 vyšla 6. ledna. Každé obsahuje obvyklý dlouhý seznam důležitých oprav (no dobře, 2.6.32.53 jich má jen devět, ale ta ostatní jich mají podstatně víc).
Zjednodušování kódu by mělo vždy být prvopočátečním návrhem. Nabalování dalších složitostí je možnou variantou, až když všechno ostatní selhalo. Přesto po této variantě tak často hned saháme.
Kdyby se v případě tohoto kódu jednalo o znakový ovladač pro obskurní sériový port na méně známé architektuře čipu, nemyslím si, že by si toho vůbec někdo všímal. Tak, jak to je, to vypadá, že by bylo potřeba alespoň několik člověkoměsíců práce a navíc k tomu i relativně zbytečné změny v uživatelském prostoru Androidu, aby se tato funkce dostala do trvale přijatelného stavu. Nepřekvapilo by mě, kdyby se to protáhlo na několik roků.
Kód, který specializuje jádro prapodivným způsobem je přijímán v jednom kuse, a já se snažím přijít na to, proč se s tímto konkrétním kouskem kódu zachází jinak. Zvláště vezmu-li v úvahu, že tento kód je soběstačný, konfigurovatelný a nepředstavuje do budoucna žádnou znatelnou zátěž co se údržby týče.
-- Tim Bird
Už jsem to říkal mnohokrát a řeknu to znovu:
Ano, jsi výjimečný a jedinečný, stejně jako kdokoliv jiný.
Další člověk, co zopakuje frázi „embedded je odlišné“, mi bude viset pivo.
Greg Kroah-Hartmann zveřejnil aktuální informace o svých plánech na dlouhodobou údržbu jádra. Jak už oznámil dříve, řada 3.1 je téměř na konci údržby; ke konci se už blíží i nekonečná řada 2.6.32. Blíží se to ke konci údržby a řekl bych, že vydání už budu dělat asi jen měsíc. Až s tím skončím, tak to po mě může převzít někdo jiný, ale nic neslibuji. A co se nestalo, Tim Gardner řekl, že Ubuntu bude podporovat Linux 2.6.32 až do dubna 2015 – ačkoliv není jasné, jestli se toto projeví i v podobě vydání nových verzí mimo Ubuntu. Ubuntu se dále chystá použít Linux 3.2 jako dlouhodobě udržované jádro.
Už od počátku modelu zařízení na Linuxu existovala zvláštní třída zařízení pro „systémová zařízení“, typicky šlo o ta, která jsou vestavěna do platformy samotné. A téměř stejně dlouho vývojáři od kódu zařízení cítili, že tento typ zařízení není doopravdy potřeba – vypadá ve srovnání se všemi ostatními typy divně. V jádře 3.3 s tím konečně něco udělali, zatli jim tipec.
Všechna systémová zařízení ve stromě byla opravena tak, aby používala běžná zařízení. Proces to je relativně prostý; lze jej například vidět v tomto commitu, který upravuje kernel/time/clocksource.c. Ve zkratce je místo struct sys_device použito struct device. Atributy definované pomocí SYSDEV_ATTR() jsou přehozeny na DEVICE_ATTR(). Struktura sysdev_class je proměněna na téměř prázdnou strukturu bus_type. To jest vše, co je potřeba.
Tyto změny pochopitelně způsobují změnu v ABI pro uživatelský prostor; systémová zařízení měla své speciální místo pod /sys a to teď zmizí. To může rozbít programy a skripty, což není dobré. Aby bylo problému zabráněno, byla přidána speciální funkce:
int subsys_system_register(struct bus_type *subsys, const struct attribute_group **groups);
Registrace subsystému tímto způsobem obnoví původní hierarchii v /sys/devices/system. Snad ani netřeba dodat, že tato funkce existuje pouze za účelem zpětné kompatibility; s pochvalou se asi nesetká, pokud bude použita v nových ovladačích.
V době psaní textu bylo do hlavní řady přetaženo více než 5700 neslučovacích sad změn pro vývojový cyklus 3.3. K přetažení zbývá ještě dost věcí, takže to vypadá na další dosti aktivní cyklus, i když se verzi 3.2 asi nevyrovná.
Některé z významnějších, viditelnějších změn zahrnují:
Změny viditelné vývojářům zahrnují:
Začleňovací okno zůstane otevřeno přibližně do 18. ledna 2012.
Souborový systém ext4 získal podporu pro změny velikosti za běhu přes příkaz ioctl() EXT4_IOC_RESIZE_FS. Tato operace prozatím nefunguje na souborových systémech, které používají funkce „bigalloc“ nebo „meta_bg“.Mám tomu rozumět tak, že u ext4 při použité těchto parametrů dosud za běhu změnit velikost nešlo?
a tam se to dělá výhradně při namountovaném oddíle.To jako že to neumí offline?
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.