Linux 4.12: Radeon Vega, przyspieszenie HDD i sporo bezpieczeństwa

Strona głównaLinux 4.12: Radeon Vega, przyspieszenie HDD i sporo bezpieczeństwa
03.07.2017 13:04
Linux 4.12: Radeon Vega, przyspieszenie HDD i sporo bezpieczeństwa
bEhhLOdO

Linux 4.12 został właśniewydany. Pod nazwą kodową „Fearless Coyote” dostajemykernel, któremu przybyło ponad milion wierszy kodu i ponad 15tysięcy zmian. Może nie jest to wynik rekordowy, ale jeden znajlepszych. Liczby liczbami, ale dla użytkowników liczą siękonkretne nowości – a tych jest mnóstwo, to jak dotądnajważniejsze wydanie Linuksa w 2017 roku. Zapraszamy do przeglądutego co najciekawsze.

bEhhLOdh

Vega już prawie wspierana

Zacznijmy jak zwykle od wsparcia dla procesorów graficznych. Naczele wysuwa się wsparcie dla najnowszych kart Radeon z serii RXVega – przynajmniej jeśli chodzi o kod dostarczony do DirectRendering Managera (DRM). Linus Torvalds zaakceptował niemal 400tys. wieszy kodu z tym związanych. Niestety to jeszcze nie wszystko,by nowe Vegi mogły od razu działać – brakuje jeszcze kodu dostosu wyświetlania (DC/DAL), wskutek czego GPU jest obsługiwane…ale niczego na ekranie nie pokaże. Póki co więc wykorzystanie naLinuksie tych nowych kart pod czysto opensource’owym sterownikiemograniczać się będzie do zastosowań czysto obliczeniowych – np.kopania kryptowalut takich jak Ethereum.

Pierwsze kroki poczyniono w zakresie obsługi kart GeForce z serii1000. Nie tylko dodano wsparcie dla popularnego GTX 1050 (procesorGP107), ale też łatki dla opensource’owego sterownika nouveauprzyniosły wreszcie sprzętową akcelerację dla nowych Pascali,choć trzeba być szalonym, by używać tego do czegoś więcej niżefektów pulpitu. Do tej pory nouveau nie obsługuje bowiemsterowania częstotliwością zegara GPU dla nowych kart Nvidii, a coza tym idzie, wydajność w grach jest mierna. No cóż, jak ktośchce na Linuksie grać, to w grę wchodzi tylko własnościowysterownik „zielonych”.

Użytkownicy zintegrowanej grafiki Intela doczekali się wreszciedomyślnego włączenia obsługi atomowych ustawień trybu (modesetting) – przełączanie między rozdzielczościami i ichtestowanie będzie teraz znacznie szybsze i stabilniejsze. Aby z tegoskorzystać, należy mieć iGPU przynajmniej piątej generacji.

bEhhLOdj

Linux bez restartów

Dwa lata temu w Linuksie 4.0 wprowadzono mechanizm Kernel LivePatching, który pozwalał na zaktualizowanie kernela bez restartusystemu. Sęk w tym, że był on mniej skuteczny niż wcześniejoferowane przez Oracle i RedHata rozwiązania takie jak Kpatch czyKgraft – działał w 90% przypadków, podczas gdy tamte były wstanie obsłużyć do 95% łatek kernela. W Linuksie 4.12 debiujerozwiązanie o nazwie Per-Task Consistency Model, które jest synteząpodejścia stosowanego przez Kpatch i Kgraft – radzi sobie zezmianami w kernelu na żywo nawet wówczas, gdzie łatka modyfikujezawartość pamięci czy semantykę danych. Dodatkowo potrafi usunąćmoduł jądra, na którym zastosowano wprowadzone na żywo łatki.

BFQ: szybciej na talerzowych dyskach

W Linuksie 4.12 pojawił się wreszcie domyślnie nowy dyspozytorI/O – BFQ (Budget Fair Queuing). To rozwinięcie stosowanego od latdyspozytora CFQ (Completly Fair Queuing Storage) zaprojektowanogłównie z myślą o systemach desktopowych, stosując rozmaiteheurystyki, które pozwalają przyspieszyć operacje dyskowenajczęściej wykonywane przez użytkownika. Tak więc np.preferowane są operacje odczytu, bo zwykli użytkownicy więcejodczytują niż zapisują. Priorytetyzowane są też operacje I/Oprogramów, z którymi użytkownik wchodzi w interakcje, kosztemprocesów działających w tle. Do tego BFQ zbiera nadchodzącewywołania operacji I/O w paczki, by zbiorczo przesłać je dotwardego dysku.

BFQ przynosi wyraźny wzrost wydajności dla talerzowych dysków.Nowoczesne pamięci SSD, nie mówiąc już o NVMe, raczej niewieleskorzystają, wydaje się nawet, że ten nowy dyspozytor możeobniżyć w ich wypadku wydajność całego systemu. No cóż – niema uniwersalnych rozwiązań, równie dobrych w każdym scenariuszy,

Oprócz BFQ pojawił się też dyspozytor Kyber, zaprojektowanyprzez Facebooka. Tutaj mamy wręcz odwrotną sytuację: przyda się wzastosowaniach serwerowych, gdzie wykorzystywane są macierze pamięcimasowych NVMe. Optymalizowane są operacje odczytu pod kątemjednoczesnej obsługi wielu procesów, jak również asynchroniczneoperacje zapisu. Dyspozytor ten ma być wysoce konfigurowalny, tak bykażdy operator centrum danych mógł swoje Linuksy dostosować dokonkretnych obciążeń roboczych.

bEhhLOdp

Jak szybko startuje system?

Nowy kernel przynosi nową wersję intelowskiego narzędziaAnalyzeBoot, oznaczoną jako 2.0. To skrypt służący dowgenerowania interaktywnego dokumentu HTML, pokazującego czasrozruchu poszczególnych podsystemów kernela, od jego wczytania douruchomienia init. Dane zbierane są albo przez tracer funkcji, alboprzez mechanizm dmesg. Ładnie to wygląda, a przy tym przyda sięwszystkim tym, którzy optymalizują kernele.

Zapytaj o niezawodność

Popularny system plików XFS doczekał się wspacia dla nowegowywołania ioctl o nazwie GETFSMAP, wcześniej wspieranym już też nastandardowym systemie plików EXT4. Wywołanie to pozwala aplikacjomzapytać system plików o spójność danych, to jest wykorzystaniebloków na dysku – zidentyfikowanie pustych obszarów, ustaleniepozycji metadanych, powiązanie danych użytkownika z określonymiplikami.

Dysponując takimi informacjami, aplikacje mogą łatwo sprawdzićmożliwe błędy odczytu na dysku, a następnie wskazać, którepliki są nimi dotknięte – i przystąpić do ich ratowania.

Co potrafi powiedzieć USB Type-C?

Podsystem USB doczekał się nowej klasy dla nowoczesnych złączyszeregowych Type-C. Przez nie aplikacje mogą zarówno pytać o ichstan (oczywiście o ile obsługują to sterowniki), jak równieżnimi sterować, np. przełączając tryby przesyłu danych czykontrolując napięcie.

bEhhLOdq

Do tego pojawiła się obsługa debugowania systemu po złączuUSB 3.x – nawet zanim udostępnione zostaną inne wyjścia, np.sieć czy grafika.

Podkręcanie bezpieczeństwa

W Linuksie 3.14 zadebiutował eksperymentalnie mechanizm KASLR(Kernel Address Space Layout Randomization), właściwie to samo,czym dziś Microsoft chwali się w odniesieniu do zabezpieczeńWindowsa 10. Teraz KASLR uznano za wystarczająco dojrzały (warchitekturze x86), by go domyślnie włączyć. Kernel będzie więczmieniał losowo swoje wewnętrzne adresy, by utrudnić życieautorom exploitów. Co prawda wielu ekspertów od bezpieczeństwatwierdzi, że ta metoda zabezpieczenia jest formą kultucargo, równie łatwą do zaimplementowania i wytłumaczenialaikom, co łatwą do obejścia – ale nikt nie twierdzi przecież,że tylko na tym ma bezpieczeństwo Linuksa polegać.

Kernel obsługuje teraz podsystem TEE (Trusted ExecutionEnviroment) układów ARM. To taki sobie zamknięty mini-system,ukryty w strefie TrustZone, niedostępny dla normalnych aplikacji iwykorzystywany np. do przechowywania kluczy szyfrujących czy skrótówkryptograficznych bootloadera. Obsługa sprowadza się tu oczywiścietylko do interfejsów TEE, kernel do środka nijak nie zajrzy, wdodatku potrzeba jeszcze zgodnych sterowników do układów SoC, alejuż w ten sposób można zaimplementować bezpieczny rozruch wrodzaju Secure Boot.

Położono też podwaliny pod mechanizm Kernel Lockdown, którypozwala ograniczyć dostęp do zasobów sprzętowych, gdy systemzostaje uruchomiony w jakimś bezpiecznym trybie (np. wspomnianymUEFI Secure Boot). Chodzi o uniemożliwienie wprowadzania zmian dodziałającego kernela – np. zablokowanie ładowania niepodpisanychmodułów, zakaz pisania bezpośrednio do pamięci, wyłączeniehibernacji, ograniczenia ACPI czy trybu debugowania. Ot taki knebeldla całej przestrzeni użytkownika.

bEhhLOdr

Domyślny system całodyskowego szyfrowania w Linuksie –dm-crypt dostał teraz nowe urządzenie o nazwie dm-integrity.Przechowuje ono metadane służące do testów spójności danych. Wpołączeniu z nowym zabezpieczeniem Cryptographic Data IntegrityProtection, kernel potrafi teraz wykrywać i ostrzegać, gdyby doszłodo zmiany bloków na zaszyfrowanym dysku bez użycia właściwegoklucza.

Na koniec warto wspomnieć o czarnej liście kluczy, którymkernel ma nie ufać – nawet jeśli mają podpisy czy certyfikatyuznane za wiarygodne. W ten sposób system może zablokowaćładowanie modułów, które mogłyby np. zawierać funkcjeszpiegowskie.

Kompletna lista nowości w Linuksie 4.12 powinna niebawem pojawićsię już w serwisie KernelNewbies – w momencie pisania tego tekstu wciąż wisiał tamopis 4.11.

Programy

Aktualizacje
Aktualizacje
Nowości
Udostępnij:
bEhhLOef