Systemy Operacyjne : Pamięć : Obsługa plików i urządzeń wymiany

Jakub Kowalski


Struktury danych

struct swap_info_struct

{
unsigned int flags; /* flagi urządzenia SWP_WRITEOK, SWP_USED, inne - brak urządzenia */
kdev_t swap_device;
struct dentry * swap_file; /* i-węzeł urządzenia*/
unsigned short * swap_map; /* mapa bajtowa dowiązań - ile jest mapowań do danej strony */
unsigned char * swap_lockmap; /* mapa bitowa - mówi, czy dana ramka jest wolna, czy zajęta. */
unsigned int lowest_bit; /* indeks, poniżej którego nie ma już wolnych ramek na urządzeniu - nie ma czego szukać */
unsigned int highest_bit; /* indeks, powyżej którego nie ma już wolnych ramek */
unsigned int cluster_next; /* nr ostatnio przydzielonej ramki */
unsigned int cluster_nr; /* mówi ile jeszcze ramek można przydzielić, nim wypełnimy pakiet */
int prio; /* priorytet */
int pages; /* ile wolnych stron */
unsigned long max; /* maksymalny indeks ramki */
int next; /* lista urządzeń (jednokierunkowa!) */
}


© 2001 Łukasz Bolikowski, Jakub Górski, Jakub Kowalski, Janusz Kuligowski, Tomasz Szymko