Администрирование ОС Solaris



         

Список свободных страниц (free list)


Список свободных страниц - это набор страниц, из которого страницы извлекаются по запросу процессов. Управление распределением памяти между процессами основано на этом списке. Процессы берут память из него и возвращают ее обратно по завершении. Сканер страниц также возвращает память в список свободных страниц так, как это описано в лекции 7 в разделе "Алгоритм пейджинга".

Каждый раз, когда процесс запрашивает память, происходит так называемая страничная ошибка2) (page fault). Страничные ошибки делятся на три типа:

  • Легкая страничная ошибка (minor page fault) - процесс попытался получить доступ к странице, которая была изъята сканером страниц, но пока еще не использована повторно другим процессом.
  • Значительная страничная ошибка (major page fault) - процесс пытается получить доступ к странице, изъятой сканером страниц, которая использована повторно и в данный момент уже отдана другому процессу.
  • Ошибка копирования при записи (copy-on-write fault) - процесс пытается записать данные в страницу памяти, которая используется совместно с другими процессами.
  • О том, как реализовано управление списком свободных страниц в Solaris, говорится в лекции 17. Сейчас нам важны некоторые основные моменты, связанные с производительностью процессов.

    После загрузки системы вся виртуальная память распределяется между процессами постранично. Кроме того, в ядре инициализируется специальная таблица, в которой хранятся состояния страниц. Несколько мегабайт памяти ядро резервирует для себя, а оставшееся пространство отходит списку свободных страниц. В какой-то момент, когда процесс запрашивает память, из списка свободных страниц извлекается одна страница, которая и поступает в распоряжение процесса. Такая схема, при которой память выдается по принципу "когда потребуется", называется выделением страниц по запросу (demand paging).

    Если список свободных страниц уменьшается до размера lotsfree (см. лекцию 17), ядро запускает специальный поток внутри себя - сканер страниц.


    Содержание  Назад  Вперед