r   e   k   l   a   m   a
r   e   k   l   a   m   a

Linux 4.8: psychotyczna spalona owca z podkręcaniem zegarów Radeona i odpornością na exploity

Strona główna AktualnościOPROGRAMOWANIE

Mamy już nowego Linuksa 4.8. Pod nazwą kodową Psychotic Stoned Sheep dostajemy spore wydanie: ponad 14,5 tys. commitów, zmienione niemal 11,5 tys. plików – a najważniejsza chyba ze zmian pozostanie póki co przez użytkowników niezauważona, choć jej znaczenia nie sposób przecenić. Chodzi o nową infrastrukturę dla systemu plików XFS, wykorzystywanego domyślnie w wielu dystrybucjach (m.in. RHEL), który w przyszłości zyska zaawansowane funkcje znane głównie z systemu plików ZFS dla Solarisa i FreeBSD. To oczywiście nie wszystko, w Linuksie 4.8 znajdziemy też (oczywiście) nowe sterowniki grafiki, ekspresową magistralę danych dla pakietów sieciowych, wirtualizację GPU Intela i zaawansowane mechanizmy bezpieczeństwa. Zapraszamy do przeglądu tego, czym niebawem już uraczą nas najpopularniejsze linuksowe dystrybucje.

Grafika

Tradycyjnie zacznijmy od grafiki. Sterownik nouveau dla grafiki Nvidii otrzymał wstępne wsparcie dla kart z serii Pascal. Nie ma tu niestety żadnej akceleracji 3D, i nie będzie póki zieloni nie dostarczą deweloperom podpisanych plików firmware – a dobrze wiemy, jak to wyglądało w wypadku architektury Maxwell. Jeśli komuś zależy na otwartych sterownikach grafiki, to powinien zainteresować się rozwiązaniami AMD.

Najnowsza wersja sterownika AMDGPU nie tylko bowiem zapewnia wsparcie dla akceleracji 3D na niezłym poziomie, ale pozwala nawet na podkręcanie (na obsługiwanych kartach, tj. z GPU Sea Islands i nowszymi) częstotliwości zegarów. Do tego doszło sporo poprawek dla zarządzania energią, oraz pewna obiecująca ciekawostka: eksperymentalne wsparcie nowego sterownika dla starszych kart z serii Radeon HD7000 (rdzenie GCN 1.0).

r   e   k   l   a   m   a

Jeśli chodzi o sterownik grafiki Intela, to najważniejszą zmianą jest dodanie wsparcia dla parawirtualizacji GVT-g w układach Broadwell i nowszych. Oznacza to, że maszyny wirtualne z Linuksem czy Windowsem będą mogły uzyskać bezpośredni dostęp do zintegrowanej grafiki hosta. Oczywiście wymaga to odpowiednich łatek dla hiperwizorów – zarówno KVM jak i Xen powinny je mieć jeszcze w tym roku.

Systemy plików

Najważniejszą naszym zdaniem zmianą w Linuksie 4.8 jest wprowadzenie mechanizmu odwrotnego mapowania do popularnego systemu plików XFS. Pozwala on na precyzyjne śledzenie właściciela konkretnego bloku na dysku i otwiera drogę do zbudowania mnóstwa pożytecznych rzeczy, takich jak kopiowanie danych w trybie copy-on-write, deduplikacja, natychmiastowe klonowanie, raportowanie o błędach w sektorach i utracie danych. W ten sposób XFS dorówna możliwościom systemom ZFS i Btrfs, a niewykluczone, ze będzie przy tym odczuwalnie od nich szybszy. Jedno jest pewne – efekty zobaczymy szybko, to priorytetowy projekt dla Red Hata, który wykorzystuje XFS jako podstawowy system plików w swoich produktach.

Btrfs nie stoi jednak w miejscu, doczekał się zmian, które mają znacząco zmniejszyć skoki latencji przy operacjach zapisu i odczytu oraz czyszczenia buforów. To z kolei dobra wiadomość dla Synology, które w tym roku zdecydowało się skorzystać z Btrfs do obsługi zaawansowanych funkcji swoich dysków sieciowych – ale z wydajnością tego rozwiązania wciąż bywa różnie.

Pozostałe zmiany o których warto wspomnieć to dalsze optymalizacje dla przeznaczonego na flashowe pamięci systemu F2FS (zmniejszają obciążenie procesora podczas zapisu), ujednolicenie mechanizmu szyfrowania EXT4 i ulepszone wsparcie dla dysków twardych z gontowym zapisem magnetycznym (SMR).

Można tu też wspomnieć o zmianach w Device Mapperze, które pozwoliły na przekształcanie macierzy RAID (tzw. RAID Level Takeover and Raid Reshaping). Działając w ramach menedżera wolumenów logicznych (LVM), Device Mapper potrafi teraz przekształcić np. RAID 0 w RAID 5, a RAID 5 w RAID 6 (działa to także w drugą stronę). Podczas takiej transformacji mogą być zmienione wszystkie parametry macierzy.

Bezpieczeństwo

Wprowadzone w Linuksie 4.8 zmiany rozwiązują problem jednoczesnego wykorzystania mechanizmów usypiania/hibernacji systemu oraz randomizacji przestrzeni adresowej kernela (KASLR), randomizacja ta działa teraz także w systemach 64-bitowych. Powinno to znacznie utrudnić napastnikom wykorzystanie w praktyce exploitów kernela na komputerach osobistych czy urządzeniach wbudowanych (serwerów się raczej nie usypia).

Exploity utrudni też fakt, że kernel może sobie tworzyć struktury danych z ochroną przed zapisem – moduły w pamięci, których nie można już zmienić. Dostajemy też mechanizm bezpiecznego kopiowania obiektów przesyłanych do i z przestrzeni użytkownika (to ulepszona wersja łatki PAX_USERCOPY znanej z pakietu Grsecurity), i ulepszenia dla mechanizmu zarządzania pamięcią SLUB, które mają utrudnić wykorzystanie ataków przepełnienia sterty.

Różne różności

W tym kernelu pojawił się wreszcie framework HDMI CEC, który pozwoli na sterowanie urządzeniami podłączanymi przez złącze HDMI poprzez ujednolicony interfejs – co ułatwi życie wszystkim, którzy używają linuksowego komputera jako media center. HDMI CEC jest obecnie wspierane przez Samsunga, Sony, Sharpa i wielu innych producentów TV.

Na koniec wspomnijmy o ważnej zmianie dla sieciowych zastosowań Linuksa. Nazywa się to Express Data Path (XDP), nie wymaga żadnego specjalnego sprzętu, nie jest żadnym zamiennikiem normalnego stosu TCP/IP , jest za to superszybkim, programowalnym mechanizmem uruchamiania programów filtra BPF na przychodzących pakietach, jak tylko się one pojawią, z opcją tworzenia ich lustrzanych kopii na żywo. Można powiedzieć, że Linux, bez żadnych dodatkowych licencji i specjalistycznego oprogramowania pozwoli na robienie tego, co robiły drogie specjalizowane urządzenia sieciowe.

Kiedy nowe jajko?

Trwają już prace nad Linuksem 4.9 (zapowiadającym spory wzrost wydajności systemów desktopowych, szczególnie tych z układami AMD), a Linux 4.8 już trafia do dystrybucji typu rolling-release, takich jak Arch Linux czy openSUSE Tumbleweed. Za niespełna dwa tygodnie powinniśmy zaś zobaczyć Ubuntu 16.10, którego domyślnym jądrem będzie właśnie 4.8.

Szczegółowe informacje o wprowadzonych zmianach znajdziecie w serwisie kernelnewbies.org.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.