Nakon intenzivnog ciklusa razvoja i višenedeljnih testiranja u okviru release candidate (RC) faza, objavljeno je novo stabilno izdanje operativnog sistema Linux — Kernel 7.2. Ovo izdanje predstavlja važan korak napred u razvoju slobodnog softvera, sa posebnim fokusom na efikasnije upravljanje memorijom, proširenje bezbednosnih mehanizama za izolaciju aplikacija i značajne optimizacije u raspoređivanju procesorskih zadataka na modernim višejezgarnim arhitekturama.

Iako svaka nova verzija Linux kernela donosi stotine sitnih popravki i drajverskih zakrpa, izdanje 7.2 ističe se dubinskim zahvatima u samom jezgru podsistema. U nastavku sledi opširna i detaljna analiza ključnih tehnoloških novina koje definisanje performansi, pouzdanosti i bezbednosti na Linuxu podižu na viši nivo.

1. Napredno upravljanje memorijom: Btrfs i koncept „Velikih Folija” (Large Folios)

Jedna od najznačajnijih promena u podsistemu fajl sistema odnosi se na proširenje podrške za memorijske folije (Memory Folios) u okviru popularnog Btrfs fajl sistema.

Šta su memorijske folije (Folios)?

Tradicionalno, Linux kernel upravljao je virtuelnom memorijom preko jedinica fiksne veličine zvanih stranice (pages), čija je standardna veličina na većini x86_64 arhitektura iznosila 4 KiB. Kako je kapacitet RAM memorije na modernim računarima rastao od nekoliko megabajta do više terabajta, upravljanje stotinama miliona pojedinačnih stranica postalo je glavno usko grlo u radu procesora. Zbog toga se javljao veliki procenat TLB miss događaja (promašaja u Translation Lookaside Buffer keš memoriji procesora).

Koncept Folio uveo je Matthew Wilcox kao apstrakciju koja predstavlja grupu fizički spojenih, sukcesivnih stranica memorije koje garantovano pripadaju istoj namenskoj celini (npr. kešu stranica fajl sistema — Page Cache).

Klasične stranice (4 KiB): Svaka stranica zahteva sopstvenu struct page strukturu u kernelu, što stvara ogroman overhead.

Velike Folije (Large Folios): Omogućavaju da se u keš stranica učitaju celine veličine 16 KiB, 64 KiB, pa i više megabajta odjednom, koristeći samo jednu kontrolnu strukturu.

+——————————————————————-+

|                     Traganje kroz keš stranica                    |

+——————————————————————-+

| Stari metod (4 KiB stranice):                                     |

| [ Page 0 ] -> [ Page 1 ] -> [ Page 2 ] -> [ Page 3 ] (4 zaglavlja)|

|                                                                   |

| Novi metod (Large Folio – 16 KiB):                                |

| [                     Single Folio (16 KiB)                     ] |

| (Samo 1 zaglavlje u memoriji, drastično manji CPU overhead)       |

+——————————————————————-+

Unapređenje za Btrfs u izdanju 7.2

U verziji 7.2, Btrfs je dobio punu i stabilnu integraciju za operacije čitanja i upisa korišćenjem velikih folija. Ovo donosi konkretne prednosti:

Manji overhead po fajlu: Smanjen je broj poziva funkcija unutar samog drajvera za Btrfs prilikom obrade velikih sekvencijalnih datoteka.

Bolje iskorišćenje TLB-a: Procesor ređe mora da pretražuje stranice u RAM-u, što dovodi do većeg protoka podataka (throughput) pri radu sa bazama podataka, virtuelnim mašinama i multimedijalnim datotekama.

Smanjena alokaciona fragmentacija: Smanjuje se interno usitnjavanje struktura koje prate stanje bloka na disku.

2. Jačanje bezbednosti na nivou aplikacija: Landlock LSM

Bezbednost u Linux kernelu godinama se oslanjala na Linux Security Modules (LSM) arhitekturu, kroz koju funkcionišu mehanizmi poput SELinux-a ili AppArmor-a. Međutim, ovi mehanizmi zahtevaju administratorske (root) privilegije za pisanje i primenu pravila. Landlock rešava ovaj problem omogućavajući običnim unprivileged procesima da sami sebi (i svojim potomcima) ograniče pristup resursima.

+——————————————————————-+

|                 Arhitektura Landlock Sanboksa                     |

+——————————————————————-+

|  Aplikacija (Aplikativni nivo – npr. Web Pregledač)               |

|         │                                                         |

|         ▼ Poziva landlock_restrict_self()                         |

|  ┌─────────────────────────────────────────────────────────────┐  |

|  │              Landlock pješčanik (Sandbox)                   │  |

|  │  • Dozvoljeno: Чitanje /tmp                                 │  |

|  │  • Zabranjeno: Čitanje ~/.ssh, /etc/passwd                  │  |

|  │  • Zabranjeno: Mrežni sockets (TCP/UDP pozivi)              │  |

|  └─────────────────────────────────────────────────────────────┘  |

|         │                                                         |

|         ▼                                                         |

|  Kernel 7.2 Pristup sistemu (Odbija neovlašćene zahteve)          |

+——————————————————————-+

Šta je novo u Landlock-u sa Kernelom 7.2?

Sistemski modul Landlock u izdanju 7.2 donosi nova proširenja funkcija koje korisnicima i developerima pružaju veću kontrolu nad izolacijom aplikacija (sandboxing):

Poboljšana kontrola nad mrežnim protokolima: Pored ranije kontrole nad TCP portovima (povezivanje i bind-ovanje), nova verzija pruža finije granulisano restrukturiranje mrežnih utičnica (sockets), omogućavajući potpunu blokadu stvaranja određenih domena mreže (npr. zabrana AF_INET6 ili AF_UNIX utičnica unutar izolovanog okruženja).

Fina kontrola nad sistemskim pozivima fajl sistema: Proširen je opseg prava nad operacijama kao što su kreiranje tvrdih i simboličkih linkova (link, symlink), čime se sprečavaju napadi iskorišćavanjem privremenih datoteka (symlink race conditions).

Manje performansno opterećenje: Optimizovana je provera pravila u path_lookup rutinama kernela. Kada aplikacija izvrši hiljade pristupa datotekama u sekundi, Landlock u verziji 7.2 dodaje zanemarljivo malo kašnjenje (latency) u poređenju sa ranijim verzijama.

Ove izmene čine Landlock idealnim rešenjem za moderne web pregledače, obradu dokumenata i kontejnerske aplikacije koje žele samostalno da se izoluju od ostatka sistema u slučaju kompromitovanja koda.

3. Optimizacija raspoređivača: Bolji balans i efikasnost procesorskih jezgara

Jedan od najsloženijih delova Linux kernela jeste EEVDF (Earliest Eligible Virtual Deadline First) raspoređivač procesa (scheduler), koji je u skorašnjim verzijama zamenio stari CFS (Completely Fair Scheduler). U verziji 7.2, EEVDF je pretrpeo ključne optimizacije vezane za raspodelu opterećenja (load balancing) na savremenim heterogenim i višeprocesorskim sistemima.

Izazovi modernih procesora

Moderni x86 (Intel Alder Lake/Raptor Lake/Arrow Lake) i ARM (big.LITTLE / DynamIQ) procesori koriste heterogenu arhitekturu koja kombinuje:

P-jezgra (Performance cores): Visoki radni takt, podrška za Hyper-Threading/SMT, namenjena zahtevnim operacijama.

E-jezgra (Efficient cores): Manja potrošnja energije, manji keš, namenjeni pozadinskim zadacima.

Pored toga, kod servera sa više procesorskih ležišta i modernih procesora sa više čipleta (AMD EPYC, Ryzen) postoji izražena NUMA (Non-Uniform Memory Access) topologija, gde pristup RAM memoriji zavisi od toga u kom se čipletu nalazi procesorsko jezgro koje vrši upit.

Šta donosi balansiranje u Kernelu 7.2?

Preciznije utvrđivanje kapaciteta jezgara (Capacity-Aware Scheduling):

Raspoređivač u izdanju 7.2 znatno brže prepoznaje kada je P-jezgro opterećeno i izbegava nepotrebno premeštanje kratkotrajnih niti (short-lived threads) na E-jezgra ako bi to izazvalo pad performansi.

Smanjenje “migracije niti” između NUMA čvorova:

Premeštanje niti sa jednog procesorskog jezgra na drugo preko NUMA granica usporava rad jer se gube podaci već keširani u L1/L2/L3 keš memorijama. Kernel 7.2 uvodi pametniji algoritam za procenu troška migracije (migration cost), čime se niti zadržavaju na istom NUMA čvoru sve dok razlika u opterećenju među jezgrima ne pređe kritičan prag.

Optimizacija za SMT (Simultaneous Multithreading):

U situacijama kada su fizicki resursi jezgra deljeni između dve niti (logička jezgra), novi balansirački kod izbegava postavljanje dva CPU-intenzivna zadatka na isto fizičko jezgro ukoliko u sistemu postoje potpuno slobodna druga fizička jezgra.

Praktični rezultat ovih izmena jeste ujednačenije vreme odziva sistema pod visokim opterećenjem, manja potrošnja energije na prenosnim računarima i veća stabilnost u broju frejmova u sekundi (FPS) tokom igranja zahtevnih igara na Linuxu.

4. Pregled ostalih važnih novina u izdanju 7.2

Pored tri glavne komponente, Kernel 7.2 donosi čitav niz poboljšanja u različitim subsistemima.

Podsistem za grafiku i prikaz (DRM/KMS)

Intel Xe i i915 drajveri: Dodatna stabilizacija novog xe drajvera za najnovije generacije Intel integrisanih i diskretnih grafičkih kartica. Unapređeno je upravljanje napajanjem i podrška za više ekrana visoke rezolucije sa visokim osvežavanjem (144Hz+).

AMD proprietary/Open-source (AMDGPU): Dodata je početna podrška za nadolazeće grafičke arhitekture, poboljšana je podrška za sklapanje memorijskih opsega (Display Core Next – DCN) i rešeni su problemi sa buđenjem sistema iz stanja spavanja (suspend/resume) na laptopovima sa Ryzen procesorima.

Mrežni podsistem

io_uring mrežna poboljšanja: Asinhroni I/O podsistem io_uring dobio je nove mogućnosti za direktan prenos mrežnih mrežnih paketa bez dodatnog kopiranja u korisnički prostor (zero-copy networking), što je od ključnog značaja za mrežne rutere i servere visokih performansi.

BFP (Berkeley Packet Filter): Dodati su novi BPF helpers koji dozvoljavaju bezbednije i brže manipulisanje mrežnim zaglavljima direktno unutar mrežne karte korišćenjem XDP (eXpress Data Path) tehnologije.

Arhitekture i procesori

RISC-V: Nastavlja se ekspanzija podrške za otvorenu arhitekturu RISC-V. Verzija 7.2 uvodi podršku za vektorska proširenja u korisničkom prostoru, kao i bolju kontrolu upravljanja memorijom na višejezgarnim RISC-V čipovima.

ARM64: Proširena je podrška za najnovije ARMv9 ekstenzije bezbednosti, uključujući opcije za zaštitu pokazivača u memoriji (Pointer Authentication) i podršku za mrežne sisteme na čipu (SoC).

5. Tabela poređenja: Linux Kernel 7.1 vs. Linux Kernel 7.2

Funkcionalnost / PodsistemLinux Kernel 7.1Linux Kernel 7.2
Btrfs Upravljanje MemorijomDelimična podrška za Folios, oslanjanje na klasične stranice.Puna podrška za Large Folios u čitanju i upisu.
Landlock LSM BezbednostOsnovna kontrola nad fajl sistemom i TCP portovima.Proširena kontrola nad mrežnim socket-ima i symlink operacijama.
CPU Raspoređivač (EEVDF)Bazično izbalansiran za uniformne procesore.Optimizovan balans za heterogena jezgra (P/E) i NUMA čvorove.
Mrežni Podsistem (io_uring)Standardni asinhroni operativni keš.Poboljšan zero-copy prenos paketa za visoke mrežne brzine.
Arhitekturna PodrškaStabilna x86/ARM64 podrška, osnovni RISC-V.Nadograđena RISC-V vektorska proširenja i podrška za ARMv9.

Zaključak i ulazak u distribucije

Objavljivanje Linux Kernela 7.2 označava zrelo izdanje koje uspešno rešava neke od najvažnijih tehničkih izazova savremenog hardvera. Kroz implementaciju velikih folija u Btrfs-u, operativni sistem postiže značajno bolje iskorišćenje memorijskog pod sistema. Sa unapređenjima u Landlock modulu, programeri dobijaju moćan alat za jačanje bezbednosti aplikacija bez potrebe za kompleksnim konfiguracijama root nivoa. Na kraju, optimizovani balans procesorskih jezgara osigurava da i najnoviji višejezgreni procesori rade sa maksimalnom efikasnošću.

Nakon zvaničnog objavljivanja od strane Linusa Torvaldsa i tima razvojnih inženjera, izdanje 7.2 ubrzano se ukključuje u vodeće rolling-release distribucije kao što su Arch Linux, openSUSE Tumbleweed i Gentoo. Za korisnike distribucija sa dužim ciklusom podrške (poput Ubuntu, Fedora, Debian ili Enterprise izdanja), ove novine stižu kroz naredne redovne nadogradnje i izdanja izvedena iz ove verzije.

Leave a Reply