В основной памяти может поддерживаться большее количество процессов.


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

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

Поскольку процесс выполняется только в основной памяти, эта память называется такжереальной (real memory). Однако программист или пользователь имеют дело с потенциально гораздо большей памятью — выделенной на диске. Эта память известна каквиртуальная (virtual memory). Виртуаль­ная память обеспечивает очень эффективную многозадачность и облегчает работу пользователя, снимая жесткие ограничения относительно объема ос­новной памяти. В табл. 8.1 приведены основные характеристики страничной организации и сегментации с использованием виртуальной памяти ибез нее.


Таблица 8.1. Характеристики страничной организации и сегментации

Простая страничная организация     Страничная организация с виртуальной памятью   Простая сегментация   Сегментация с виртуальной памятью  
Основная память разделена на небольшие блоки фиксированно­го размера, именуемые кадрами   Основная память разделена на небольшие блоки фиксированно­го размера, именуемые кадрами   Основная память не разделена   Основная память не разделена  
Программа разбита на страни­цы компилятором или систе­мой управления памятью   Программа разбита на страни­цы компилятором или систе­мой управления памятью   Сегменты программы определены программистом при компиляции (решение о разбивке на сегменты принимается программистом)   Сегменты программы опреде­лены программистом при компиляции (решение о раз­бивке на сегменты принима­ется программистом)  
Внутренняя фрагментация в кадрах   Внутренняя фрагментация в кадрах   Внутренняя фрагментация отсутствует   Внутренняя фрагментация отсутствует  
Внешняя фрагментация отсутствует   Внешняя фрагментация отсутствует   Внешняя фрагментация   Внешняя фрагментация  
Операционная система должна поддерживать таблицу страниц для каждого процесса, указывающую, какой кадр занят данной страницей процесса   Операционная система должна поддерживать таблицу страниц для каждого процесса, указы­вающую, какой кадр занят данной страницей процесса   Операционная система должна поддерживать таблицу сегментов для каждого процесса, ука­зывающую адрес загрузки и длину каждого сегмента   Операционная система должна поддерживать таблицу сегмен­тов для каждого процесса, ука­зывающую адрес загрузки и длину каждого сегмента  
Операционная система должна поддерживать список свобод­ных кадров   Операционная система должна поддерживать список свобод­ных кадров   Операционная система должна поддерживать список свобод­ных блоков памяти   Операционная система долж­на поддерживать список сво­бодных блоков памяти  
Для вычисления абсолютного адреса процессор использует номер страницы и смещение   Для вычисления абсолютного адреса процессор использует номер страницы и смещение   Для вычисления абсолютного адреса процессор использует номер сегмента и смещение   Для вычисления абсолютного адреса процессор использует номер сегмента и смещение  
Для работы процесса все его страницы должны находиться в основной памяти (кроме слу­чая использования оверлеев)   Для работы процесса не все его страницы должны находиться в основной памяти; они могут за­гружаться при необходимости   Для работы процесса все его сегменты должны находиться в основной памяти (кроме случая использования оверлеев)   Для работы процесса не все его сегменты должны нахо­диться в основной памяти; они могут загружаться при необходимости  
    Считывание страницы в основ­ную память может требовать записи страницы на диск       Считывание сегмента в ос­новную память может требо­вать записи одного или не­скольких сегментов на диск  

 

 




Дата добавления: 2016-06-05; просмотров: 1467;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.