Next: Rozwiązanie
Up: Algorytm ``bliźniaków''
Previous: Algorytm ``bliźniaków''
  Spis rzeczy
Częste żądania ciągłych bloków ramek muszą być przez jądro efektywnie
obsługiwane. Głównym problemem na jaki natrafiamy jest zewnętrzna
fragmentacja. Częste żądania pamięci i jej zwolnienia mogą sprawić, że mimo
wolnej dużej ilości pamięci jest ona tak porozrzucana w mniejsze bloki, że
prośba przydzielenia większego obszaru się nie powiedzie. Sprzęt daje nam w
tym miejscu duże wsparcie w postaci mechanizmu stronicowania. Jednak
poleganie tylko na stronicowaniu jest niemożliwe z kilku powodów:
- Pamięć przeznaczona dla transferów DMA musi być naprawdę ciągła,
ponieważ transfer DMA korzysta bezpośrednio z szyny adresowej, ignorując
układ stronicowania.
- Częste zmiany w tablicach stronicowania są niewskazane, gdyż
wymuszają przeliczenie przez procesor podręcznej pamięci buforów translacji
adresów (TLB - Translation Lookaside Buffers).
Adam Koprowski
2001-12-18