Содержание

Содержание

1. Выделение памяти динамическими разделами

1.1. Типы адресов

1.2. Распределение памяти фиксированными разделами

1.3. Распределение памяти динамическими разделами

1.4. Перемещаемые разделы

2. Выделение динамической памяти

и дефрагментация свободных участков памяти

3.Листинг программы

4.Список литературы

Выдержка из текста

1. Выделение памяти динамическими разделами

Память является важнейшим ресурсом, требующим тщательного управления со сто¬роны мультипрограммной операционной системы. Распределению подлежит вся оперативная память, не занятая операционной системой. Обычно ОС располагается в самых младших адресах, однако может занимать и самые старшие адреса. Функциями ОС по управлению памятью являются [8]: отслеживание свободной и занятой памяти, выделение па¬мяти процессам и освобождение памяти при завершении процессов, вытеснение процессов из оперативной памяти на диск, когда размеры основной памяти не достаточны для рамещения в ней всех процессов, и возвращение их в оперативную память, когда в ней освобождается место, а также настройка адресов программы на конкретную область физической памяти.

1.1. Типы адресов

Для идентификации переменных и команд используются [1] символьные имена (мет¬ки), виртуальные адреса и физические адреса (рисунок 1).

Символьные имена присваивает пользователь при написании программы на алгоритмическом языке или ассемблере.

Рис. 1. Типы адресов

Физические адреса соответствуют [1] номерам ячеек оперативной памяти, где в действительности расположены или будут расположены переменные и команды. Переход от виртуальных адресов к физическим может осуществляться двумя способами. В первом случае замену виртуальных адресов на физические делает специальная системная программа перемещающий загрузчик [7]. Перемещающий загрузчик на основании имеющихся у него исходных данных о начальном адресе физической памяти, в которую предстоит загружать программу, и информации, предоставленной транслятором об адресно-зависимых константах программы, выполняет загрузку программы, совмещая ее с заменой виртуальных адресов физическими.

Список использованной литературы

Список литературы

1.Н. А. Олифер, В. Г. Олифер. Центр Информационных Технологий.

http://citforum.univ.kiev.ua/operating_systems/sos/glava_7.shtml

2.Дональд Э. Кнут Искусство программирования. В 3-х томах. М.: Вильямс, 2007. 832 с.

3.Сайт «Учебные пособия для студентов университетов и абитуриентов»

http://dvoika.net/infor/teor/Glava%204/Index3.htm

4.Сайт «COD:NET Все для программиста. Физические основы программирования»

http://www.codenet.ru/cat/Other/low-level/

5.Свободная энциклопедия «Википедия»

http://ru.wikipedia.org/

6.Роберт Седжвик. Фундаментальные алгоритмы на С++. Анализ/Структуры данных/ Сортировка/Поиск. К.: Издательство «Диасофт», 2001. 688 с.

7.А.П. Побегайло Системное программирование в Windows. СПб.: BHV-Петербург, 2006. 1056 с.

8.Джеффри Рихтер Создание эффективных WIN32-приложений с учетом специфики 64-разрядной версии Windows. СПб.: Питер, 2004. 749 с.

9.Герб Сеттер Решение сложных задач на C++. М.: Вильямс, 2008. 400 с.

10.А. Л. Марченко C++. Бархатный путь. М.: Горячая Линия Телеком, 2005. 400 с.

11.У.Савич Программирование на C++. СПБ.: Питер; Киев: Издательская группа BHV, 2004. 781 с.

12.С. Дьюхерст Священные знания. СПб.: Символ-Плюс, 2007. 240 с.

Похожие записи