Содержание<br>1. Выделение памяти динамическими разделами
<br>1.1. Типы адресов
<br>1.2. Распределение памяти фиксированными разделами
<br>1.3. Распределение памяти динамическими разделами
<br>1.4. Перемещаемые разделы
<br>2. Выделение динамической памяти
<br>и дефрагментация свободных участков памяти
<br>3.Листинг программы
<br>4.Список литературы
Список литературыВведение1. Выделение памяти динамическими разделами
<br>
<br>
<br>
<br>Память является важнейшим ресурсом, требующим тщательного управления со сто¬роны мультипрограммной операционной системы. Распределению подлежит вся оперативная память, не занятая операционной системой. Обычно ОС располагается в самых младших адресах, однако может занимать и самые старшие адреса. Функциями ОС по управлению памятью являются [8]: отслеживание свободной и занятой памяти, выделение па¬мяти процессам и освобождение памяти при завершении процессов, вытеснение процессов из оперативной памяти на диск, когда размеры основной памяти не достаточны для размещения в ней всех процессов, и возвращение их в оперативную память, когда в ней освобождается место, а также настройка адресов программы на конкретную область физической памяти.
<br>
<br>1.1. Типы адресов
<br>
<br>Для идентификации переменных и команд используются [1] символьные имена (мет¬ки), виртуальные адреса и физические адреса (рисунок 1).
<br>Символьные имена присваивает пользователь при написании программы на алгоритмическом языке или ассемблере.
<br>
<br>Рис. 1. Типы адресов
<br>
<br>Физические адреса соответствуют [1] номерам ячеек оперативной памяти, где в действительности расположены или будут расположены переменные и команды. Переход от виртуальных адресов к физическим может осуществляться двумя способами. В первом случае замену виртуальных адресов на физические делает специальная системная программа – перемещающий загрузчик [7]. Перемещающий загрузчик на основании имеющихся у него исходных данных о начальном адресе физической памяти, в которую предстоит загружать программу, и информации, предоставленной транслятором об адресно-зависимых константах программы, выполняет загрузку программы, совмещая ее с заменой виртуальных адресов физическими.Литература<br>
<br>1. Н. А. Олифер, В. Г. Олифер. Центр Информационных Технологий.
<br>http://citforum.univ.kiev.ua/operating_systems/sos/glava_7.shtml
<br>2. Дональд Э. Кнут – Искусство программирования. В 3-х томах. – М.: Вильямс, 2007. – 832 с.
<br>3. Сайт «Учебные пособия для студентов университетов и абитуриентов»
<br> http://dvoika.net/infor/teor/Glava%204/Index3.htm
<br>4. Сайт «COD:NET Все для программиста. Физические основы программирования»
<br>http://www.codenet.ru/cat/Other/low-level/
<br>5. Свободная энциклопедия «Википедия»
<br>http://ru.wikipedia.org/
<br>6. Роберт Седжвик. Фундаментальные алгоритмы на С++. Анализ/Структуры данных/ Сортировка/Поиск. – К.: Издательство «Диасофт», 2001. – 688 с.
<br>7. А.П. Побегайло Системное программирование в Windows. – СПб.: BHV-Петербург, 2006. – 1056 с.
<br>8. Джеффри Рихтер Создание эффективных WIN32-приложений с учетом специфики 64-разрядной версии Windows. СПб.: Питер, 2004. – 749 с.
<br>9. Герб Сеттер Решение сложных задач на C++. – М.: Вильямс, 2008. – 400 с.
<br>10. А. Л. Марченко C++. Бархатный путь. – М.: Горячая Линия – Телеком, 2005. – 400 с.
<br>11. У.Савич Программирование на C++. – СПБ.: Питер; Киев: Издательская группа BHV, 2004. – 781 с.
<br>12. С. Дьюхерст Священные знания. – СПб.: Символ-Плюс, 2007. – 240 с.
|