Сегментация с использованием страниц в ОС multics

Реализация сегментации

В отличие от страниц, которые имеют фиксированный размер, размер сегментов не фиксирован.

При использовании сегментов, как и страниц, существует проблема фрагментации.

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

Одна из первых ОС, где была применена страничная сегментация, — это ОС MULTICS, разработки над которой начались в 1964 г. и продолжались в течение 20-и лет. Многие принципы построения этой ОС были положены в основу ОС UNIX и UNIX-подобных систем таких, ОС LINUX. С 2000 г. ОС MULTICS закончила свое существование, оставив большой след в развитии операционных систем.

Каждая программа в ОС MULTICS обеспечивалась до 218 сегментами (более 250 000), каждый из которых длиной до 65 536 (36-разрядных) слов; формировалась своя таблица сегментов для каждой программы; для каждого сегмента в таблице сегментов хранился дескриптор, представляющий собой 36-разрядное слово.

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

Сегмент с таблицей дескрипторов, указывающих на таблицы страниц для каждого сегмента:

Нормальный размер страницы составляет 1024 слова; если сегмент меньше, то он либо не разбит на страницы, либо разбит на страницы по 64 слова.

Дескриптор сегмента — это 36-разрядное слово, которое хранится в таблице сегментов.


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



double arrow