Страничная реализация

Идея состоит в разбиении программы на части равной величины, которые называются страницами (4-8кБ). Обычно кратны размеру сектора магнитного диска. Виртуальное и физическое адресные пространства также разбиваются на страницы. Страница ОП называется страничным фреймом. Странице присваивается номер. При обращении ЦП к какой либо ячейке, ЦП выставляет виртуальный адрес, который состоит из двух частей:

1. Номер страницы.

2. Смещение относительно начала страницы.

Т.к. смещение относительно начала в виртуальном и физическом адресе одинаковое, то преобразованию подвергается только номер страницы.

PF – Page Fault – сигнал страничного сбоя ® необходимая страница подгружается из внешней памяти в оперативную.

Преобразователь адресов – часть ОС. Обычно преобразование выполняется с помощью 2-х таблиц.

N вирт. стр. N физ. Стр. V R n A   N вирт. стр. N сектора N дорожки
                 

Страничная таблица Карта диска

 


Можно объединить

Число записей = числу виртуальных страниц.

V – признак присутствия: устанавливается в 1, если в данный момент времени виртуальная страница находится в ОП, в поле Номера физ.стр. – Номер стр. ОП. Если при обращении к данной виртуальной странице V=0, то формируется сигнал PF и ОС предпринимает необходимые действия для загрузки страницы в ОП.

R – признак использования страницы. Устанавливается в случае обращения к данной странице и используется аналогично алгоритму замещения КЭШ.

n – признак модификации, устанавливается в случае, если данная страница изменялась (как в КЭШ).

A – признак прав доступа – определяет, какие права доступа разрешены на данной странице.

Недостатки страничной реализации:

- Виртуальная память понимается как непрерывный массив со сквозной нумерацией слов. Однако программа состоит из нескольких частей (код, стек, информация) и заранее неизвестной длины этих частей ® удобнее своя нумерация слов для каждой части.

 

Сегментная реализация.

Выделение в виртуальном пространстве независимых линейных пространств непрерывной произвольной длины, которые называются сегментами для каждой части программы. Сегмент – это отдельная логическая единица. В каждом сегменте своя независимая нумерация. Всё виртуальное пространство разбивается на сегменты с независимой адресацией слов внутри сегмента. И для каждой составляющей программы выделяется свой сегмент.

Адрес – номер сегмента и смещение внутри сегмента. Используется не страничная, а сегментная таблица.

Недостаток: Сегменты различного размера ® фрагментизация из-за разного размера сегментов при их замещении.

 

Сегментно-страничная реализация.

Размер сегмента выбирается кратным размеру страницы.

 

Свопинг.

Основной отличие в том, что программа может перемещаться между ОП и диском целиком. Swap-файл, page-файл.


 

Основная память

Это единственный тип памяти, который может обращаться к процессору непосредственно.

· ОЗУ (RAM) - Random Access Memory, память компьютера с постоянно обновляемым при работе программ содержимым.

· ПЗУ (ROM) - read-only memory, энергонезависимая память, используется для хранения массива неизменяемых данных (например BIOS).

Основная память реализуется на нескольких микросхемах. Их объединение образует модуль памяти. Модули памяти объединяются в банк памяти для обеспечения требуемой ёмкости памяти.

2 типа памяти:

1. Статическая (не требует регенерации, на триггерах) – КЭШи.

2. Динамическая (конденсатор + запирающий транзистор, требуется регенерация ® меньше быстродействие) – ОЗУ.

Ёмкости быстро теряют заряд, поэтому информацию приходится обновлять через определённые промежутки времени во избежание потерь данных. Этот процесс называется регенерацией памяти.

Достоверность памяти – обеспечение надёжности памяти. (в первых моделях использовался механизм проверки на чётность, т.е. был бит паритета – вместо 8-ми микросхем – 9).

Отказ ячейки памяти – потеря работоспособности, требуется замена элемента памяти.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: