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

Linux 4.12: Radeon Vega, przyspieszenie HDD i sporo bezpieczeństwa03.07.2017 13:04

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.

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.

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.

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.

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.

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.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.