Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
TmuxAI (GitHub) je AI asistent pro práci v terminálu. Vyžaduje účet na OpenRouter.
Byla vydána nová verze R14.1.4 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek i s náhledy v poznámkách k vydání. Podrobný přehled v Changelogu.
Bylo vydáno OpenBSD 7.7. Opět bez písničky.
V Tiraně proběhl letošní Linux App Summit (LAS) (Mastodon). Zatím nesestříhané videozáznamy přednášek jsou k dispozici na YouTube.
Vyšlo jádro verze 3.11, a to 2. září. Mezi významné novinky v tomto vydání patří distribuovaný systém souborů Lustre, podpora transparentních velkých stránek na ARM, virtualizace Xen a KVM pro ARM64, příznak O_TMPFILE, dynamická správa výkonu v ovladači Radeon, patch pro dotazování ethernetových karet s nízkou latencí a ještě více. Podrobnosti najdete na stránce na KernelNewbies.
Stabilní aktualizace: verze 3.10.10, 3.4.60 a 3.0.94 vyšly 29. srpna.
No tak, lidi! Když zasíláte adresy na ssh, tak do vaší žádosti o přetažení přidávajete i vaše uživatelské jmeno a heslo nebo privátní klíč.
Nevidím na výhradním používání hardwarového generátoru náhodných čísel žádné přednosti. Už teď přidáváme výstup hardwarového generátoru do /dev/random, a proto výhradním používáním hardwarového zdroje uděláme jádro zranitelnějším vůči útokům, kdy NSA zatlačí na několik zaměstnanců Intelu a donutí/podplatí je, aby poslední krok při generování AES přes RDRAND bylo používat klíč AES známý NSA a k tomu čítač.
-- Ted Ts'o
David Hermann popisuje nedávnou práci na grafických ovladačích, ve kterých je řízení režimů obrazovky odděleno od vykreslovacího enginu. Takže kdykoliv aplikace potřebuje hardwarově akcelerované vykreslování, přístup ke GPGPU nebo vykreslování mimo obrazovku, už se nemusí dotazovat grafického serveru (přes DRI nebo wl_drm), místo toho stačí otevřít libovolný dostupný vykreslovací uzel (render node) a začít jej používat. Řízení přístupu k vykreslovacím uzlům probíhá přes standardní přístupová práva systému souborů. Už není sdíleno s prostředky pro nastavování režimu obrazovky, a proto je možné jej poskytnout aplikacím s nižším oprávněním.
Greg Kroah-Hartman vytvořil jednoduchý tutoriál popisující, jak sestavit a nabootovat self-signed linuxové jádro na systému s UEFI secure boot. Tyto první dvě volby povolí režim EFI a poví jádru, že se má sestavit jako binárka EFI, kterou je možné spustit přímo z EFI BIOSu. To znamená, že se v systému nepoužívá žádný zavaděč [bootloader], UEFI BIOS přímo spustí jádro bez jakéhokoliv „mezikroku“. Jakkoliv mám gummiboot rád, tak pokud věříte obrazu jádra, které používáte, toto je nejsnazší způsob, jak spustit podepsané jádro.
Začleňovací okno 3.12 se tentokrát otevřelo přesně na čas – 3. září; do sepsání tohoto článku bylo do hlavní řady přetaženo více než 3500 patchů. Opět dochází k internímu pročišťování, které nevypadá v seznamu novinek tak zajímavě, ale v budoucnu ucítíme výhody, které to má. Zejména probíhala práce na výkonu, což by mělo Linux v řadě oblastí zrychlit.
Mezi změny viditelné uživatelům patří:
Změny viditelné vývojářům zahrnují:
Ke sledování životního cyklu struktur v jádře se často používají čítače referencí. Tyto čítače jsou sice efektivní, ale mohou vést ke spoustě přehazování řádků cache u často používaných objektů. Režie spojená s tímto přehazováním je ještě horší, pokud je čítač referencí nutné chránit spinlockem. Jádro 3.12 bude obsahovat nový nástroj pro zamykání nazvaný „lockref“, který tím, že kombinuje spinlock a čítač referencí do jediné osmibajtové hodnoty, tuto režii dokáže znatelně snížit.
V mnoha případech jsou čítače referencí implementovány pomocí proměnných typu atomic_t, které lze používat bez zámku. Bezzámková povaha atomic_t je užitečná jen tehdy, pokud je čítač referencí možné měnit nezávisle na zbytku struktury, ke které čítač přísluší. Jinak je celou strukturu nutné nejprve zamknout. Podívejme se například na intenzivně používanou strukturu dentry, kde není možné měnit počet referencí, pokud se strukturou pracuje jiná část jádra. Z tohoto důvodu až do verze 3.12 struct dentry obsahovalo tato pole:
unsigned int d_count; /* protected by d_lock */ spinlock_t d_lock; /* per dentry lock */
Pro změnu d_count je nejprve nutné uzamknout d_lock. Na systému s vysokou zátěží systémů souborů je čekání na d_lock významným úzkým hrdlem; nutnost získání zámku pro změnu počtu referencí je nemalou částí tohoto problému. Proto by bylo pěkné najít způsob, jak se režii zámku vyhnout, ale na d_count nelze používat atomické operace, protože vlákno, které drží d_lock nesmí vidět změny hodnoty d_count.
Mechanismus „lockref“ přidaný na začátku začleňovacího okna 3.12 umožňuje typicky bezzámkovou úpravu počtu referencí za současného respektování zámku; původně tuto funkčnost implementoval Waiman Long, před začleněním to ještě upravil Linus. Lockref funguje tak, že spojuje čítač referencí a spinlock do jediné osmibajtové struktury, která vypadá takto:
struct lockref { union { aligned_u64 lock_count; struct { spinlock_t lock; unsigned int count; }; }; };
Návrh je takový, že kód kontroluje, zda zámek někdo nedrží, pak inkrementuje (nebo dekrementuje) počet referencí a současně si hlídá, že někdo mezitím nezískal zámek. Klíčovou roli zde hraje kouzelné makro cmpxchg():
u64 cmpxchg(u64 *location, u64 old, u64 new);
Toto makro je mapované přímo na instrukci procesoru, která uloží novou hodnotu do *location, a to jen tehdy, pokud je hodnota v *location rovná old. V případě lockrefu odpovídá location poli lock_count ve struktuře – toto pole obsahuje jak spinlock, tak počet referencí. Při inkrementaci se ověří stav zámku, spočítá se nový počet referencí a pak se použije cmpxchg() pro atomické zapsání nové hodnoty, což zajišťuje, že se mezitím nezměnil stav zámku, ani počet referencí. Pokud ke změně došlo, pak se to buď zkusí znovu nebo se přejde na původní způsob zamykání v závislosti na tom, zda zámek zrovna někdo drží, nebo ne.
Tento trik umožňuje změnu počtu referencí, aniž by (většinou) bylo nutné zamykat spinlock a tedy bez dalšího vyvolávání čekání na spinlocky. Zlepšení výkonu může být obrovské – například šestinásobné s jedním z Waimanových benchmarků na testování systému souborů na velkém systému. Vzhledem k tomu, že se nový kód s lockrefem používá zatím jen na jediném místě (cache dentry), jde o obrovský přínos malé změny v kódu.
Aktuálně je kompletní implementace lockrefu jen na x86-64. Vypadá to ale, že ostatní platformy se podpory dočkají do konce vývojového cyklu 3.12 a že v pozdějších cyklech najdou lockrefy své využití v dalších částech jádra. Mezitím pozornost na režii zámků vedla k vylepšením na jiných místech ve vrstvě systémů souborů, která by se měla dostat do jádra ještě v tomto začleňovacím okně; současně se teď více pozornosti dostává i jiným místům, kde by se práce se zámky dala zlepšit. Dá se to tedy shrnout tak, že v 3.12 budeme svědky značných výkonnostních vylepšení a další ještě přijdou.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: