Linux kernel 3.14

Novi, jubilarni Linux kernel 3.14 donosi nam uz očekivani niz poboljšanja i nekoliko istaknutih novosti. Za početak, u ovu verziju jezgre integriran je deadline scheduling, što će razveseliti sve koji rade sustave ovisne o performansama u stvarnom vremenu. U odnosu na "klasične" kernel schedulere, SCHED_DEADLINE koristi algoritam Earliest Deadline First koji je fleksibilniji od druga dva (FIFO i Round Robin), jer prioritizira procese sa skorijim rokom izvršenja, tj. prednost dobivaju procesi koji imaju najkraći rok za izvršenje zadatka. Za razliku od dva "klasična" statička algoritma koji su fokusirani na zadane prioritete procesa, EDF je dinamičke naravi i u idealnom slučaju (CPU load <100% ) garantira dovršenje procesa uz optimalnu iskorištenost procesora, te osiguranje od procesa koji se "otmu kontroli": unatoč tom događaju, ostalim procesima bit će dodjeljeno garantirano vrijeme.

S druge strane, u slučaju preopterećenja procesora teže je predvidjeti koji procesi neće biti izvršeni na vrijeme. Također, EDF je prilikom preopterećenja sklon domino efektu: procesi koji ne stižu odraditi posao na vrijeme povlače za sobom druge procese.

Razvijače kernela i modula obradovat će uvođenje "event triggera" u rutine za praćenje rada kernela (kernel tracing). Riječ je o ugrađenoj sposobnosti Linux kernela da programeru omogući umetanje posebnog koda za praćenje ponašanja neke funkcije ili traženje grešaka. U ovoj verziji ta je sposobnost proširena mogućnošću umetanja "okidača" koji će izvršiti zadanu naredbu u slučaju da se ispuni ili dogodi određeni uvjet. Event triggeri su sintaksom slični, ali ne identični sintaksi ftrace filtera. Trenutno podržane naredbe su enable_event/disable_event, stacktrace, snapshot, traceon/traceoff.

Za dodanu sigurnost, novi kernel omogućuje izbor slučajno izabranog memorijskog i virtualnog adresnog prostora u kojem će se raspakirati komprimirana slika kernela, čime se izbjegavaju napadi koji ovise o čvrsto postavljenom adresnom prostoru.

Najzad, novost je i lockdep, locking validator (kod koji nastoji spriječiti tzv. deadlock situacije u kojima se procesi "zaključaju" u beskonačnom čekanju jednoga da drugi oslobodi određeni lock i obrnuto). Lockdep radi u korisničkom prostoru, odvojeno od kernelovog validatora. Kad smo već kod toga, novi kernel povećava hash tablicu futexa za višeprocesorske sustave po formuli 256 *ncpus, čime se značajno poboljšavaju performanse na jačim sustavima.

Simpatična novost je i premještanje zram mogućnosti iz razvojne u stabilnu fazu. Zram je blok uređaj koji je u svojoj suštini komprimirani RAM sa stupnjem kompresije oko 3:1, što ga čini vrlo zanimljivom alternativom swap particijama na disku: ako računalo ima viška memorije koja je često neiskorištena, prateći ove upute možete neiskorištenu memoriju pretvoriti u virtualnu swap datoteku trostrukog kapaciteta u odnosu na količinu alocirane memorije. Povećanje opterećenja sustava zbog sažimanja i raspakiranja podataka manje je od čitanja i pisanja po tipičnim diskovima. Virtualni swap možete koristiti paralelno sa postojećim fizičkim.

Druga intrigantna promjena u upravljanju memorijem je dodavanje preciznije informacije o količini slobodne memorije u /proc/meminfo: MemAvailable je informacija o tome koliko memorije nova aplikacija može zauzeti, a da to ne rezultira potrebom za korištenjem swap memorije.

Od datotečnih sustava, najviše promjena doživio je btrfs. Osim ubrzanja performansi, dodane su nove opcije prilikom aktiviranja datotečnog sustava (mount, remount). te nove inode informacije u obliku para "naziv/vrijednost"; u ovom izdanju kernela uveden je par "compression/lzo|zlib".

Male ali značajne promjene doživio je i još uvijek eksperimentalni f2fs, datotečni sustav optimiziran za NAND flash diskove (flash memorije, SSD diskovi, CF kartice...). Dobio je podršku za inline-data (mogućnost spremanja podataka kraćih od 3.4KB direktno u inode umjesto smještanja u zaseban blok) i mogućnost upravljanja opcijom brisanja (TRIM) malih dijelova oslobođenog prostora.

U mrežnom dijelu kernel je dobio mogućnost za tzv. TCP Autocorking, sposobnost kernela da malo odgodi slanje kraćih podataka kako bi aplikacija koja generira podatke dobila mogućnost spojiti više manjih blokova podataka u jedan veći; prema developeru i njegovom benchmarku prilikom slanja mnoštva kratkih podataka optimiziraju se performanse za gotovo 50%; u stvarnom životu gdje podaci nisu nužno svi kratki performanse će ovisiti o vrsti prometa.

Druga zanimljiva novost je Antibufferbloat, upravljač paketima nazvan PIE čija je uloga osigurati stabilnost protoka podataka i prilikom velikog opterećenja mreže i time efektivno smanjiti latenciju.

U podršku za nadolazeće nftables dodana je i "inet" tablica koja u sebi objedinjuje pravila za IPv4 i IPv6, a kojom izbjegavamo redundantnost pravila za svaki stack zasebno.

Virtualizatore koji koriste XEN obradovat će XEN PVH – "ParaVirtualizedHardware" omogućuje (na novijim računalima) korištenje određenih hardverskih mogućnosti direktno u virtualiziranom OS-u (kroz HVM), bez potrebe za komuniciranjem preko hypervisora. Ova nova mogućnost obećava poboljšanje performansi virtualnih strojeva, ali nije kompatibilna sa starim verzijama XEN-a, pa ne savjetujemo da je zasad iskušavate na produkcijskom sustavu.

Na području hardvera, kernel 3.14 donosi nešto ACPI poboljšanja i proširen Win8 OSI blacklist, te generičku podršku za CPUfreq i CPU Boost koja bi trebala jednako dobro funkcionirati i sa Intelovim Turbo Boostom i sa AMD-ovim Turbo-Core overclockom.

Što se Intela tiče, dodana je i podrška za Merrifield (22nm Atom SoC), što će u paru sa poboljšanjima ARM arhitekture povećati raspoloživost Linux/Android rješenja na mobilnim i embedded platformama.

S druge strane, AMD može uživati u DPM podršci za grafičke kartice novijeg datuma, te razriješenom problemu sa UVD-om na HD7000 i novijim grafuljama.

Intelova integrirana GPU rješenja bazirana na Broadwell tehnologiji dobila su značajna poboljšanja, pa iako rad na podršci još nije završen možemo očekivati da će pojavom ove tehnologije Linux moći ponuditi kvalitetnu podršku.

Ljubitelji nVidie ovog puta imaju malo manje novosti: open source Noveau driver sada podržava GK110 i GK208. Tegra platforma doživjela je brojne izmjene u open source driveru, ali pred ekipom je još dosta posla.

Na kraju, korisnici VMware proizvoda imat će na raspolaganju novouređeni SVGA2 driver koji bi trebao omogućiti značajno povećanje grafičkih performansi gostujućeg operacijskog sustava.

Za kompletan popis novosti u kernelu 3.14 pogledajte:

https://lwn.net/Articles/581657/

https://lwn.net/Articles/582352/

https://lwn.net/Articles/583681/

Vijesti: 
Kategorije: 
Vote: 
0
No votes yet