Конспект установочных лекций по комплексному курсу Информатика, Теория информации




Методы реализации системного программирования - часть 8


Распространенная методика работы с памятью исходит из гораздо большей по емкости фиктивной, виртуальной оперативной памяти, чем фактически имеющаяся в распоряжении память. Эта виртуальная память делится на части одинакового размера (страницы, англ. pages), и в физической оперативной памяти держится только ограниченное число страниц. Если нужно обратиться для чтения или записи к странице, которой нет в оперативной памяти, то эта страница переносится из внешней памяти в оперативную. Для этого нужно предварительно какую-либо страницу из оперативной памяти перенести во внешнюю, чтобы освободить место в оперативной памяти. Здесь мы также говорим о виртуальной' памяти и специально о методе страничного обмена (англ. paging).

При этом методе физическая оперативная память делится на некоторое число кусков (изразцов), которые по мере необходимости могут принимать на хранение страницы виртуальной памяти. При этом виртуальное адресное пространство программы соответствует числу страниц. Физическая оперативная память и различного рода внешняя память соответствуют числу изразцов. Соответствие номеров страниц и номеров изразцов задается таблицей страниц (называемой также таблицей страница-изразец). Тогда виртуальный адрес состоит из номера страницы и номера ячейки в странице (относительного адреса в странице), а физический адрес в оперативной памяти - из номера изразца и номера ячейки в нем. Если желаемая страница находится не в оперативной памяти (в таблице страниц не содержится номера изразца), а во внешней, то она переносится в оперативного память и записывается в некоторый ее изразец. При этом в случае необходимости, чтобы освободить этот изразец, хранящаяся в .нем страница переносится во внешнюю память.

Важной составной частью метода страничного обмена является стратегия обмена страниц. Под этим понимается способ решения вопроса о том, когда и какая страница должна загружаться в оперативную память и, наоборот, переноситься во внешнюю память. Можно стараться держать в оперативной памяти почти все адресное пространство секции, или - другая крайность - только очень немного страниц из секции.


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