Seminarium: Systemy Rozproszone
20 listopada 2003, godzina 12:15, sala 3120
Michał Wełnicki <mw189448@mimuw.edu.pl>


Nowości w Linux 2.6
(prezentacja)



Bliska ukończenia jest kolejna wersja systemu operacyjnego Linux. Wprowadzono w niej wiele zmian, rozszerzających możliwe zastosowania Linuxa: zarówno w małych, przenośnych urządzeniach, jak i w dużych komputerach wieloprocesorowych (np. poprzez wsparcie dla NUMA).
W wielu zastosowaniach konieczna jest szybka reakcja na zajście jakiegoś zdarzenia. W poprzednich wersjach Linuxa, szczególnie przy dużym obciążeniu, zdarzały się opóźnienia nie do przyjęcia w takich sytuacjach.

W mojej prezentacji skoncentruję się na zmianach w Linuxie 2.6 poprawiających czas reakcji. Najważniejszą z nich (przynajmniej z punktu widzenia programisty), jest możliwość wywłaszczania procesów działających w trybie jądra. Dotychczas, każda funkcja systemowa wykonywała się nieprzerwanie, aż do zakończenia lub zaśnięcia np. na semaforze. Zdarzało się więc, że bardzo ważny proces czasu rzeczywistego nie mógł się wykonać, bo czekał na zakończenie operacji rozpoczętej przez proces mało istotny. Dzięki wywłaszczaniu także trybu jądra, udało się znacznie ograniczyć takie sytuacje.

Wydawać by się mogło, że rozszerzenie wywłaszczania spowoduje znaczną komplikację kodu systemu i problemy z jego utrzymaniem. Jednak w Linuxie w prosty sposób zintegrowano ochronę przed wywłaszczeniem ze spinlockami, dzięki czemu większość jądra nie wymagała żadnych zmian.

Linux 2.6 nadal nie gwarantuje obsłużenia zdarzenia w zadanym czasie, nie jest więc ściśle rzecz ujmując systemem real-time. Jednak dzięki wprowadzonym zmianom nadaje się znakomicie do mniej krytycznych zastosowań, jak multimedia czy obsługa tanich urządzeń np. typu WinModem.

Zapraszam,
Michał Wełnicki