ГОТОВЫЕ ДИПЛОМНЫЕ РАБОТЫ, КУРСОВЫЕ РАБОТЫ, ДИССЕРТАЦИИ И РЕФЕРАТЫ

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

Автор Юлия
Вуз (город) РГСУ
Количество страниц 23
Год сдачи 2009
Стоимость (руб.) 1500
Содержание Содержание
1. Выделение памяти динамическими разделами
1.1. Типы адресов
1.2. Распределение памяти фиксированными разделами
1.3. Распределение памяти динамическими разделами
1.4. Перемещаемые разделы
2. Выделение динамической памяти
и дефрагментация свободных участков памяти
3.Листинг программы
4.Список литературы
Список литературы Список литературы

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

2. Дональд Э. Кнут – Искусство программирования. В 3-х томах. – М.: Вильямс, 2007. – 832 с.
3. Сайт «Учебные пособия для студентов университетов и абитуриентов»
«COD:NET Все для программиста. Физические основы программирования»
энциклопедия «Википедия»
Седжвик. Фундаментальные алгоритмы на С++. Анализ/Структуры данных/ Сортировка/Поиск. – К.: Издательство «Диасофт», 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 с.
Выдержка из работы 1. Выделение памяти динамическими разделами



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

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

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

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

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