Сегментная виртуальная память – тип реализации виртуальной памяти, при которым перемещение данных осуществляется сегментами - частями виртуального адресного пространства произвольного размера, полученными с учетом смыслового значения данных.
Схема преобразования виртуальных адресов в физические:
1. Загружается адрес таблица страниц процесса (AT – адрес таблицы страниц).
2. От виртуального адреса отбрасываются младшие разряды (9 для страницы в 512байт)
3. Оставшиеся старшие разряды – номер виртуальной страницы (р)
4. По данным адресам таблицы страниц и виртуальной страницы на находится нужная запись: АТ+р*(длина записи).
5. В данной записи считывается адрес физической страницы и к нему прибавлятеся смещение. Физический адрес готов J
Достоинства: возможность задания дифференцированных прав доступа процесса к его сегментам.
Недостатки: главный недостаток сегментного распределения — это фрагментация, которая возникает из-за непредсказуемости размеров сегментов. В процессе работы системы в памяти образуются небольшие участки свободной памяти, в которые не может быть загружен ни один сегмент. Суммарный объем, занимаемый фрагментами, может составить существенную часть общей памяти системы, приводя к ее неэффективному использованию.
|
|
Система с сегментной организацией функционирует аналогично системе со страничной организацией: при каждом обращении к оперативной памяти выполняется преобразование виртуального адреса в физический, время от времени происходят прерывания, связанные с отсутствием нужных сегментов в памяти, при необходимости освобождения памяти некоторые сегменты выгружаются. Но одним из существенных отличий сегментной организации памяти от страничной является возможность задания дифференцированных прав доступа процесса к его сегментам. Например, один сегмент данных, содержащий исходную информацию для приложения, может иметь права доступа «только чтение», а сегмент данных, представляющий результаты, — «чтение и запись». Это свойство дает принципиальное преимущество сегментной модели памяти над страничной.
Сегментной организации памяти присущи как внутренняя, так и внешняя фрагментации. Внутренняя фрагментация образуется вследствие того, что размер загружаемого сегмента меньше размера имеющегося свободного раздела, а внешняя вследствие того, что отсутствует участок памяти подходящего размера. Внешняя фрагментация означает, что часть процесса остается незагруженной, и его выполнение в какой–то момент времени должно быть приостановлено.
При страничной организации памяти внешняя фрагментация отсутствует, а потери из-за внутренней фрагментации, поскольку процесс занимает целое число страниц, ограничены частью последней страницы процесса.
|
|
Задача
Пять пакетных задач A, B, C, D, E поступают в компьютерный центр с интервалом 1 мин. Ожидается, что время их выполнения составит 10, 6, 2, 4 и 8 минут. Их установленные приоритеты составляют 3, 5, 2, 1 и4, причем 5 – высший приоритет. Требуется определить среднее время выполнения задач для каждого из следующих алгоритмов планирования, пренебрегая временем переключения между процессами:
циклическое планирование (каждой задаче достается справедливая доля процессорного времени);
приоритетное планирование (каждая запущенная задача работает до завершения).
Решение.
Первой выполняется программа А. За время её выполнения придут остальные, и будут выполняться затем в соответствии с их приоритетами.
Среднее время выполнения = (10 + 16 + 24 + 26 + 30) / 5 = 21,2.