Как называют программы управляющие оперативной памятью

Оперативная память (оперативное запоминающее устройство, ОЗУ) — часть памяти ЭВМ, в которую процессор может обратиться за одну операцию (jump, move и т. п.). Она предназначена для временного хранения данных и команд, необходимых процессору для выполнения им операций. Оперативная память передаёт процессору данные непосредственно, либо через кеш-память. Каждая ячейка оперативной памяти имеет свой индивидуальный адрес.

Система управления оперативной памятью должна поддерживать [3]:

  1. перемещение программ из одной области памяти в другую (поддержка относительности адреса);
  2. защиту одного процесса от влияния других;
  3. совместное использование процессами памяти для взаимодействия (обратная защита) – механизмы межпроцессного взаимодействия (IPC);
  4. поддержка логических операций с адресацией;
  5. поддержка физических операций с адресацией.

Пусть процесс занимает непрерывную область основной памяти. ОС необходимо знать местоположение управляющей информации процесса и стека исполнения, а также точки входа для начала выполнения процесса. Поскольку управлением памятью занимается ОС и она же размещает процесс в основной памяти, соответствующие адреса она получает автоматически.

ОС #3-2. Виртуальная память

Однако помимо получения ОС указанной информации, процесс должен иметь возможность обращаться к памяти в самой программе. Так команды ветвления содержат адреса, указывающие на команды, которые должны быть выполнены после них; команды обращения к данным – адреса байтов и слов, с которыми они работают. ОС переводит ссылки в коде программы (логические адлеса) в реальные физические адреса, соответствующие текущему расположению процесса в основной памяти рис. 13.

Рис. 13.Образ процесса в оперативной памяти

Система управления памятью характеризуется :

1. Стратегией выборки. Страница загружается в оперативную память, как по требованию процесса, так и с использованием стратегии предварительной выборки, при которой происходит загрузка страниц кластерами [3].

2. Стратегией размещения. При использовани сегментации все вновь загруженные сегменты должны быть размещены в доступном адресном пространстве.

3. Стратегией замещения. При заполнении памяти следует принимать решение о том, какая страница будет замещена загружаемой в оперативную память новой страницей.

4. Стратегией очистки. Изменённые страницы процесса должны быть записаны (сохранены) при их замещении.

5. Управление загрузкой: заключается в определении количества процессов, которые должны быть резидентны в оперативной памяти в данный момент.

6. Управление резидентным множеством процессов. ОС определяет сколько памяти отводить процессу при загрузке его в оперативную память. Память может быть выделена статически в момент создания процесса, либо изменяться динамически в процессе работы [3].

Рассмотрим случай, когда основная память разделена на одинаковые блоки относительно небольшого фиксированного размера. Тогда блоки процесса, известные как страницы (pages), могут быть связны со свободными блоками памяти, известными как кадры (frames) или фрэймы. Каждый кадр оперативной памяти может содержать одну страницу процесса. В каждый момент времени некоторые из кадров памяти используются, а некотрые свободны. ОС содержит список свободных кадров (рис.14 а).

Информатика 7 класс (Урок№7 — Программное обеспечение компьютера.)

Рис. 14 Распределение страниц процессов по свободным кадрам:

а) 15 доступных кадров, б) загрузка процесса А, в) загрузка процесса В, г) загрузка порцесса С, д) выгрузка процесса В, е) загрузка процесса D.

Процесс А, хранящийся на диске, сотоит из четырех страниц. Когда приходит время загрузить его в память, ОС находит четыре свободных кадра и загружает страницы процесса А в эти кадры (рис. 14 б). Затем загружается процесс В, состоящий из трех страниц, и процесс С, сотоящий из четырех страниц. После этого процесс В приостанавливается и выгружается из основной памяти.

Затем наступает момент, когда все процессы в памяти оказываются заблокированными, и ОС загружает в память новый процесс D, состящий из пяти сраниц. Но непрерывной области кадров в памяти нет и ОС используя таблицу сраниц процесса (она есть у каждого процесса) размещает страницы процесса D в кадрах 4,5,6,11,12 (рис. 14 е).

Таблица страниц процесса А

Таблица страниц процесса B

Таблица страниц процесса C

Таблица страниц процесса D

Список свободных кадров

Рис. 15. Структуры данных процессов рис. 14е

Размеры оперативной памяти персональных компьютеров сегодняшнего дня постоянно отстают от запросов прикладного программного обеспечения. В имеющийся объем оперативной памяти не всегда удается загрузить операционную систему и несколько прикладных программ, особенно если их много и они громоздкие.

Выход из этой ситуации в использовании концепции виртуальной памяти. Виртуальная память — это логический ресурс, эмулирующий оперативную память путем использования как физической оперативной, так и дисковой памяти. Благодаря этому емкость виртуальной памяти получается больше реальной.

Активный программный код должен находиться в физической оперативной памяти, остальной же код может временно храниться в ее «продолжении» на жестком диске. Когда управление передается фрагменту кода, хранящемуся на жестком диске, он загружается в физическую память. Если места в ней недостаточно, это приведет к выгрузке на диск пассивного кода.

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

Читайте также:
Петерсон математика это какая программа

Страничная организация памяти. Каждый процесс имеет свою собственную таблицу страниц, которая создается при загрузке всех страниц процесса в основную память. Каждая запись в таблице страниц содержит номер кадра соответствующей страницы в памяти (рис.15). Поскольку в основной памяти могут находиться только некоторые из страниц процесса, в каждой записи таблицы должен иметься бит Р, указывающий на присутствие соответствующей страницы в основной памяти. Если данная страница располагается в основной памяти, то в записи таблицы содержится номер ее кадра.

Рис. 15. Типичные форматы систем управления памятью

Другим управляющим битом в записи таблицы страниц является бит модификации — М, который указывает, было ли изменено содержимое данной страницы со времени последней загрузки в основную память. Если изменений не было, то когда наступит время замены страницы в занимаемом ею в данный момент кадре, записывать эту страницу на диск не следует, так как на диске уже имеется ее точная копия. В записи таблицы страниц могут быть и другие управляющие биты, например, служащие для целей защиты или совместного использования памяти на уровне страниц.

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

Рис. 16. Страничная организация памяти

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

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

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

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

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

Основной механизм чтения слова из памяти включает преобразование логического, адреса, состоящего из номера сегмента и смещения, в физический адрес с использованием таблицы сегментов (рис.17). Когда запускается определенный процесс, в регистре хранится стартовый адрес его таблицы сегментов.

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

Рис. 17. Сегментная организация памяти

Комбинация сегментации и страничной организации памяти.

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

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

Читайте также:
Театрализованная игровая программа это

Смещение в сегменте следует рассматривать как номер страницы определенного сегмента и смещение в ней. С каждым процессом связана одна таблица сегментов и несколько (по одной на сегмент) таблиц страниц [3].

Рис. 18. Трансляция адреса при сегментной и страничной организации

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

Источник: studfile.net

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

Папиллярные узоры пальцев рук — маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни.

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций.

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰).

Источник: cyberpedia.su

Управление оперативной памятью

Оперативная (или рабочая) память компьютера — ОЗУ (Оперативное Запоминающее Устройство) — собрана на полупроводниковых кристаллах (чипах — chip) и хранит информацию, только пока компьютер включен. При выключении питания ее содержимое теряется. Иногда эту память называют еще памятью с произвольным доступом (Random Access Memory — RAM).

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

Также память обеспечивает временное хранение данных и прикладных программ. В общем случае, чем больше памяти установлено в компьютере, тем более сложные прикладные программы могут выполняться Вашим компьютером.

Количество памяти в компьютере можно увеличить, вставив плату памяти в специальный разъём внутри компьютера или добавив дополнительные модули на уже имеющуюся плату памяти. Например, можно вставить плату памяти 16 Мb в компьютер, уже имеющий 8 Мb памяти, или вставить на свободные места платы памяти Вашего компьютера дополнительные микросхемы памяти. Память служит для хранения данных (документов), обрабатываемых в текущий момент компьютером. Выполняемая программа, как и значительная часть операционной системы DOS, хранится в оперативной памяти. С точки зрения внутренних механизмов оболочки оперативная память делится на две части: основную и расширенную. Оперативная память Вашей системы может быть следующих видов:

— обычная или базовая память;

Базовая память
Операционная система MS DOS, а, следовательно, и подвляющее большинство работающих под ее управлением программ могут использовать лишь первый мегабайт памяти, который часто называют базовой памятью. Эта память в рамках ДОС поделена на две неравные части: первые 640 К (1К = 1024 байт) отводятся для программ пользователя и отдельных частей самой ДОС и называются стандартной памятью (conventional memory). Для использования стандартной памяти не нужны никакие дополнительные драйверы, поскольку операционная система MS-DOS изначально создана для работы в адресах 0-640 Кбайт. Оставшиеся 384 К зарезерервированы для памяти видеоадаптеров и ПЗУ и называются верхним блоком памяти (UMB — Uper Memory Block). В то же время в компьютерах IBM AT имеется возможность адресовать память объемом до 16 Mb, если в них используется микропроцессор 80286, или до 4 Gb, если используется микропроцессор 80386 или 80486. Объем непосредственно адресуемой оперативной памяти определяется разрядностью адресной шины микропроцессора. Микропроцессоры 8088 и 8086 имеют 20-разрядную шину, поэтому адресуют 2 в степени 20 = 1048576 байт = 1 Мb. Микропроцессор 80286 оснащен 24-разрядной шиной и адресует 2 в степени 24 = 16 777 216 байт = 16 Mb. 32-разрядная шина 80386 и 80486 микропроцессоров адресует 2 в степени 32 = 4294967296 байт = 4Gb.
Дополнительная память
Память ПК, остающаяся за вычетом первого мегабайта (т.е. за вычетом базовой памяти), называется дополнительной (Extended Memory). Дополнительная память является естественным дополнением к обычной (базовой) памяти компьютера, на что и указывает само её название. Однако единственный (но, к сожалению, определяющий) факт, в котором нет никакой естественности, заключается в том, что подавляющему большинству программ MS DOS она не доступна! Чтобы использовать дополнительную память, процессор компьютера должен работать в специальном режиме, называемом защищённым. А операционнная система MS DOS не поддерживает этого режима процессора. Таким образом, владелец современного компьютера IBM AT, оснащенного памятью, скажем, в 8 Mb, часто либо вообще не использует дополнительные 7 Mb, либо размещает в них электронный диск или буферную кэш-память для дисков. В версии Турбо Паскаля 7.0 (точнее, в пакете Borland Pascal with Objects 7.0) введена поддержка защищенного режима микропроцессоров 80286/ 80386/80486, в котором используется дополнительная память. Однако эта подцержка не касается стандартных средств работы с дополнительной памятью. Тем не менее отдельные программы MS DOS применяют технологию «расширения MS DOS», которая позволяет им воспользоваться преимуществами дополнительной памяти. Примером таких программ служат Lotus 1-2-3 (Lotus Development Corporation) и Paradox 386 (Borland International). Компьютеры же на базе микропроцессоров Intel 8086 и 8088 не могут иметь дополнительную память, т.к. не имеют защищённого режима. Эти микропроцессоры функционируют исключительно в реальном режиме и поэтому не годятся для работы с программами, использующими дополнительную память. Дополнительную память иногда называют XMS-памятью; XMS — сокращение от eXtended Memory Specification (спецификация дополнительной памяти). Не путайте эту аббревиатуру с другой — EMS (Expanded Memory Specification), которая относится к расширенной памяти. Для использования дополнительной памяти в системе должен быть установлен соответствующий драйвер управления дополнительной памятью. Файл этого драйвера называется HIMEM. SYS, а подключается он к системе с помощью командной строки, размещаемой в файле CONFIG.SYS.
Читайте также:
Программа как менять язык на клавиатуре
Расширенная память
Ранние IBM-совместимые ПК типа IBM PC/XT оснащались микропроцессорами 8088 или 8086, способными работать с оперативной памятью емкостью не более 1 Мбайт. Несмотря на значительные размеры этой памяти, в ряде прикладных программ ее оказывается недостаточио. Такие программы вынуждены интенсивно использовать диск для размезщения больших объемов данных, что сильно снижает их производительность. Поэтому почти одновременно с появлением компьютеров IBM PC/XT начались поиски путей повышения производительности крупных прикладных пропоим (табличных процессоров, систем управления базами данных и т.п.) за счет использования оперативной памяти большего чем 1 Мбайт размера. Эти поиски привели к выработке соглашения между ведущими фирмами-разработчиками программно-аппаратных средств, которое известно как EMS LIM (от Expanded Memory Specification — спецификация расширенной памяти, удовлетворяющая стандарту фирм Lotus-Intel-Microsoft). В соответствии с этим стандартом ПК оснащаются специальными EMS-платами, содержащими собственно расширенную память н микросхемы, обеспечивающие доступ к ней. Память, организованная по принципам спецификации EMS, называется расширенной памятью. На компьютерах с микропроцессорами 80386 и 80486 расширенная память может эмулироваться программно. Начиная с версии 4.0 операционная система MS DOS поставляется с драйверами расширенной памяти XMAEM.SYS и XMA2EMS.SYS. В DOS 5.0 их функции выполняет драйвер EMM386.SYS. Последний на ПК с микропроцессорами 80386/80486 обеспечивает эмуляцию расширенной памяти, т.е. программно реализует функции EMS-платы и преобразует дополнительную память в расширенную. Кроме того, драйвер EMM386.SYS создает блоки верхней памяти (UMB). Для функционирования драйвера EMM386.SYS требуется обеспечить поддержку расширенной памяти, которую осуществляет драйвер HIMEM.SYS. При этом драйвер HIMEM.SYS должен быть загружен до драйвера EMM386.SYS, поэтому строка DEVICE=HIMEM.SYS в файле CONFIG.SYS должна предшествовать строке DEVICE=EMM386.SYS. Таким образом, дополнительная память — это просто добавочная память. Расширенная память — это специальная добавочная память, удовлетворяющая требованиям спецификации EMS. Следует отметить, что термины «дополнительная» и «расширенная» память применяются только в операционной системе DOS. В других операционных системах, например, в OS/2, Unix или Windows NT можно использовать всю память компьютера. В этих операционных системах память называется просто «памятью».
Верхняя память
Помимо базовой, расширенной и дополнительной памяти, в ПК существует еще так называемая верхняя память (не путайте с верхним блоком памяти!). Как известно, 20-разрядный адрес при работе ПК в реальном режиме образуется путем сложения двух 16-разрядных слов — сегмента и смещения. Перед сложением сегмент смещается на 4 разряда влево (умножается на 16), что и обеспечивает 20-разрядный результат сложения — адрес конкретного байта. Формальное сложение сегмента и смещения может привести к переполнению 20-разрядной адресной сетки. Действительно, если, например, сегмент S=$FFFF, а смещение O=$0010, то сложение $FFFF*16 + $0010 дает значение $100000, для представления которого требуется уже 21 разряд. Поскольку в ПК применяется 20-разрядная шина, переполнение результата не может использоваться, и «лишний» 21-й разряд просто теряется, т.е, адресация с сегментом S= $FFFF и смещением O> $000F эквивалентна адресации с сегментом S= $0000 и смещением O= O — $0010. В адресной шине IBM AT имеется 21-й разряд, но его использование обычно запрещено. Однако в таких компьютерах предусмотрена возможность программного управления 21-м разрядом. Если этот разряд разблокировать, программе, работающей в реальном режиме процессора, станут доступны еще почти 64 К (без 16 байт). Эта часть памяти и называется верхней (High Memory Area). MS DOS версии 5.0 и некоторые совместимые с ней операционные системы других фирм (например, DR-DOS фирмы Digital Research версии 4.0 и выше) могут размещать в верхней памяти свои резидентные части, тем самым освобождая драгоценную стандартную память для программ пользователя. Таким образом, существуют 4 вида оперативной памяти: • базовая — с адресами от $00000 до $FFFFF; • верхняя — с адресами от $100000 до $10FFEF; • дополнипельная — с адресами от $100000 до $FFFFFFFF; • расширенная — организуется специальными аппаратными средствами на компьютерах с микропроцессорами 8088, 8086, 80286 и может программно эмулироваться на процессорах 80386 и 80486.

Источник: www.examen.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru