Шрифт:
адресного пространства */
pgd_t *pgd; /* глобальный каталог страниц */
atomic_t mm_users; /* счетчик пользователей адресного
пространства */
atomic_t mm_count; /* основной счетчик использования */
int map_count; /* количество областей памяти */
struct rw_semaphore mmap_sem; /* семафор для областей памяти */
spinlock_t page_table_lock; /* спин-блокировка
таблиц страниц */
struct list_head mmlist; /* список всех структур mm_struct */
unsigned long start_code; /* начальный адрес сегмента кода */
unsigned long end code; /* конечный адрес сегмента кода */
unsigned long start_data; /* начальный адрес сегмента данных */
unsigned long end_data; /* конечный адрес сегмента данных */
unsigned long start_brk; /* начальный адрес сегмента "кучи" */
unsigned long brk; /* конечный адрес сегмента "кучи" */
unsigned long start_stack; /* начало стека процесса */
unsigned long arg_start; /* начальный адрес
области аргументов */
unsigned long arg_end; /* конечный адрес
области аргументов */
unsigned long env_start; /* начальный адрес
области переменных среды */
unsigned long env_end; /* конечный адрес
области переменных среды */
unsigned long rss; /* количество физических страниц памяти */
unsigned long total_vm; /* общее количество страниц памяти */
unsigned long locked_vm; /* количество заблокированных страниц
памяти */
unsigned long def_flags; /* флаги доступа, используемые
по умолчанию */
unsigned long cpu_vm_mask; /* маска отложенного переключения
буфера TLB */
unsigned long swap_address; /* последний сканированный адрес */
unsigned dumpable:1; /* можно ли создавать файл core? */
int used_hugetlb; /* используются ли гигантские
страницы памяти (hugetlb)? */
mm_context_t context; /* данные, специфичные для аппаратной
платформы */
int core_waiters; /* количество потоков, ожидающих на
создание файла core */
struct completion *core_startup_done; /* условная переменная начала
создания файла core */
struct completion core_done; /* условная переменная завершения
создания файла core */
rwlock_t ioctx_list_lock; /* блокировка списка асинхронного
ввода-вывода (AIO) */
struct kioctx *ioctx_list; /* список асинхронного ввода-вывода (AIO) */
struct kioctx default_kioctx; /* контекст асинхронного ввода-