Linux Kernel (Ядро линукса) (часть 3)


Получение и активизация области подкачки

Данные, хранящиеся в области подкачки, имеют смысл, пока работает система. Когда она отключается, все процессы уничтожаются, и данные, сохраненные процессами в областях подкачки, пропадают. По этой причине области подкачки содержат очень мало управляющей информации, а именно тип области и список дефектных страничных слотов. Эта управляющая информация легко умещается в одной 4-килобайтовой странице.

Обычно системный администратор создает раздел подкачки одновременно с созданием других разделов в системе Linux, а затем пользуется командой mkswap для превращения области на диске в новую область подкачки. Эта команда инициализирует описанные поля у первого страничного слота. Поскольку диск может содержать некоторое количество плохих блоков, программа просматривает остальные страничные слоты для обнаружения дефектных. Однако выполнение команды mkswap оставляет область подкачки в неактивном состоянии. Область подкачки может быть активизирована с помощью скрипта при загрузке системы или динамически, когда система уже работает.

Любая область подкачки состоит из одного или нескольких интервалов подкачки, каждый из которых представлен дескриптором swap extent. Интервал соответствует группе страниц, а точнее, страничных слотов, физически смежных на диске. Поэтому дескриптор содержит индекс первой страницы интервала в области подкачки, длину интервала в страницах и номер первого дискового сектора данного интервала. Упорядоченный список интервалов, составляющих область подкачки, создается при активизации этой области. Область подкачки, хранящаяся в разделе диска, состоит только из одного интервала, а область, хранящаяся в обычном файле, может состоять из нескольких интервалов, поскольку файловая система не обязательно располагает весь файл в последовательных блоках диска.

Предыдущая страница | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | Следующая страница




Возможно, Вас также заинтересует:

ОС Knoppix - это Linux без про...

ВведениеЕсли вы цените свое время, умеете считать деньги и знаете стоимость информации, то эта книга...

Linux Kernel (Ядро линукса) (ч...

Спин-блокировкаСпин-блокировка необходима в многопроцессорной системе, потому что могут возникнуть...

Linux Kernel (Ядро линукса) (ч...

Копирование при записи В системах Unix первых поколений создание процесса было реализовано довольно...

Linux Kernel (Ядро линукса) (ч...

Буферы блоков и головы буферовУ каждого буфера есть дескриптор голова буфера, имеющий тип buffer...