Библиотека Рефераты Курсовые Дипломы Поиск
Библиотека Рефераты Курсовые Дипломы Поиск
сделать стартовой добавить в избранное
Кефирный гриб на сайте www.za4et.net.ru

Компьютеры, Программирование Компьютеры, Программирование

Динамическое распределение памяти

Совок большой.
Длина 21,5 см. Расцветка в ассортименте, без возможности выбора.
21 руб
Раздел: Совки
Ручка "Шприц", желтая.
Необычная ручка в виде шприца. Состоит из пластикового корпуса с нанесением мерной шкалы. Внутри находится жидкость желтого цвета,
31 руб
Раздел: Оригинальные ручки
Ручка "Помада".
Шариковая ручка в виде тюбика помады. Расцветка корпуса в ассортименте, без возможности выбора!
25 руб
Раздел: Оригинальные ручки

Введение Целью данной работы является выработка навыков использования динамической памяти, приучение к осознанному выбору подходящей модели памяти при компиляции программы. Динамическое распределение памяти предоставляет программисту большие возможности при обращении к ресурсам памяти в процессе выполнения программы, и корректная работа приложения в существенной степени зависит от правильного обращения к соответствующим функциям. Для выполнения заданий по этой теме студенты должны уметь работать в пошаговом отладчике, изображать схематичное расположение памяти при работе с указателями. Студенты должны научиться исследованию программ, используя режим отладки. Они должны убедиться в пользе отладчика не только при поиске ошибок, но и на стадии разработки программы. Для обязательного выполнения рекомендуются задания 1, 6, 7, 10. Задание 4 можно использовать в качестве курсовой работы. Модели памяти Виды моделей Моделью памяти называется набор опций компилятора, определяющий размер и структуру оперативной памяти, предоставляемой программе при ее выполнении. В BC 2.0 существуют несколько видов моделей памяти: i y, small, medium, compac , large, huge. Программа может быть откомпилирована в любой из этих моделей, если установить соответствующий флажок в Opio s-Compiler-Code Ge era io -Model. При этом используются различные наборы встроенных библиотек и создаются различные obj-файлы. Например, для модели large в директории Lib имеются файлы C0l.obj, Cl.lib, Ma hl.lib и другие. Возможная ошибка на этапе линковки (“Не могу найти файл Сol.obj”) вызвана неполной версией пакета и неверным выбором модели. Модели памяти не являются частью языка Си, а зависят от используемой оболочки. Когда программа загружается в ОЗУ для выполнения, ей отводится определенное место, в котором можно выделить несколько областей: область кода (ОК); область данных, глобальных и статических переменных(ОД); стек; куча (heap или динамическая память). Таблица 1 вид модели памяти максимальный размер Область кода область данных стек куча взаимное расположение i y 64К 64К 64К 64К все области в одном сегменте small 64К 64К 64К 64К ОД,стек и куча в одном сегменте medium 1М 64К 64К 64К различные сегменты compac 1М 64К 64К 1М различные сегменты large 1М 64К 64К 1М различные сегменты huge 1М 64К 64К 1М различные сегменты Модель Large Модели памяти устроены по-разному. Рассмотрим расположение областей памяти в модели large. Рис. 1 PSP представляет собой префикс программного сегмента, занимает 256 байт и помещается перед исполняемыми файлами при их загрузке в память. Он содержит переменные, используемые MS-DOS для управления программой, а также место для переноса данных окружения. Область кода содержит машинные коды функций программы. Функции, присоединенные к exe-файлу на стадии линковки, размещаются вне области кода. Область данных содержит глобальные и статические переменные, строковые константы. В стеке размещаются локальные переменные, параметры, передаваемые функциям, и ряд других данных. Как правило, стек растет сверху вниз, занимая пульсирующую непрерывную область.

В случае переполнения стека происходит его &quo ;налезание&quo ; стека на область данных и выдается соответствующее сообщение. Проверка стека увеличивает время работы программы и ее можно отключить в Op io s-E ry/Exi Code Ge era io -S ack op io s- es s ack overflow. В кучу данные помещаются только по указанию программиста и не имеют имени. К ним можно обратиться только по адресу, расположенному в локальной или глобальной переменной. Сегментные регистры Сегмент - это область памяти размером не более 64K, созданная для хранения кода, данных или стека. Сегменты всегда выровнены на границу параграфа (16 байт), поэтому их адрес получается умножением сегментного регистра на 0x10=16. В некоторых моделях памяти код может занимать больше 64K. Области кода, данных и стек начинаются с параграфов с номерами содержащимися, соответственно, в регистрах CS, DS, SS. В режиме отладчика можно просматривать содержимое регистров в окне Wi dow-Regis er. При повторных запусках программы сегментные регистры могут быть различны. Значения сегментных регистров, кроме того, хранятся в глобальных псевпеременных, имеющих то же название с подчеркиванием: CS, DS и т.д. Их можно использовать в программе, например, распечатать, учитывая, что псевпеременные являются шестнадцатиричными беззнаковыми числами pri f(”CS =%x”, CS); Просмотр переменных В режиме отладчика можно определить адреса и значения переменных, находящихся в своей области видимости, с помощью Al -F4. Например. Для переменной i, описанной как i i; i = 5; окно просмотра имеет вид 8FAC:FFF4 5(0x0005) I Здесь указан адрес переменной в формате . Полный адрес переменной равен 8FAC0 FFF4=9FAB4 Для переменной p ri, описанной как i i = 4, p ri; p ri = &i; окно просмотра имеет вид 8FAC:FFF2 п Ds:FFF4 4(0x0004) I Здесь указаны: адрес самой переменной p ri, равный 8FAC:FFF2; значение этой переменной Ds:FFF4; а также содержимое ячейки по адресу Ds:FFF4, т.е. значение i. Для того, чтобы узнать содержимое ячеек, окружающих переменную i, нужно воспользоваться комбинацией клавиш Al -I, ввести начальный индекс (S ar i g i dex) и число ячеек (Cou ). Если, например, введены числа -5 и 15, то можно в приведенном выше окне можно просмотреть элементы массива p ri. Объекты, размещенные в куче, не имеют имени. Поэтому просматривать динамические объекты можно только предыдущим способом, т.е. по адресу. Абсолютные адреса и размеры областей памяти в модели large Область кода занимает часть ОЗУ, содержащую параграфы с номерами от CS до DS-1. Таким образом, размер области кода равен (DS-CS) 0x10. Область данных занимает часть ОЗУ, содержащую параграфы с номерами от DS SS-1. Таким образом, размер области данных равен (SS-DS) 0x10. Стек начинается с параграфа SS, но растет справа налево, от старших адресов к младшим. Новые данные помещаются в стек в вершине стека. Смещение вершины стека относительно SS равно SP. Таким образом, полный адрес вершины равен SS:SP. В начале программы стек пуст, поэтому он занимает ячейки с адресами от SS 0x10 до SS 0x10, а размер стека равен SP. На кучу остается память с адреса SS 0x10 SP по 0xA0000=640K.

Реальный размер кучи зависит от способа запуска программы. Сама оболочка Borla d C 2.0 занимает в ОЗУ порядка 200K, и для программы, выполнямой из оболочки, остается немного места - примерно 300K. Если же программа запускается из командной строки DOS или из or o Comma der, то куча будет значительно больше. При выполнении программы из оболочки и в отладчике под кучу отводится еще меньше места, поэтому ее размер в этом случае разрешается устанавливать вручную с помощью опции Op io s-Debugger-Program heap size. Основные функции ДРП Выделение памяти void malloc(size size); Выделяет блок ДП размером size байт. Здесь size совпадает с типом u sig ed i . Таким образом, блок не превосходит размер в 64K. В случае отсутствия непрерывного блока заказанной длины, возвращается ULL. Пример 1. Выделение массива для 1000 чисел типа floa . mai () { floa p rf; if((p rf =(floa ) malloc(1000 sizeof(floa )) == ULL) pri f(&quo ; Ошибка при выделении памяти!&quo ;); } Освобождение памяти void free(void block); Освобождает блок ДП, начинающийся с адреса block. Этот адрес должен находится в заголовке ранее выделенного блока (см. п.3). В противном случае, будет освобожден случайный блок и возникнет логическая ошибка. Динамические переменные не освобождаются автоматически при выходе из области действия и, таким образом, засоряют кучу. Перевыделение памяти void realloc(void block, size size); Изменяет размер блока, на который указывает block. Новый размер блока будет равен size. Старая информация сохраняется. При нехватке свободных байт блок будет перемещен в новое место с одновременным копированием информации. Функция возвращает адрес нового блока, не изменяя переменную block. Пример 2. Выделение памяти под двумерный массив mai () { floa A; i =5, =10; A = (floa )malloc(m sizeof(floa )); if(A == ULL) { pri f(&quo ; Ошибка при выделении памяти под массив указателей!&quo ;); exi (1); } for (i i=0; i&l ; m; i ) { A == ULL) { pri f(&quo ; Ошибка памяти под%d-ую строку!&quo ;, i); for(i j=0; j&l ; i; j ) free(A); free(A); exi (2); } // . for(i=0; i&l ; m; i ) free(A); free(A); } Менеджер ДРП Управлением ДП занимается специальный фрагмент кода, вызываемый в функциях ДРП. Он называется менеджером ДП. Мы исследуем работу менеджера в модели памяти large. В других моделях менеджер устроен по-другому. Первоначально менеджер рассматривает кучу как свободную область. При каждом обращении к памяти выделяется непрерывный блок, состоящий из одного или нескольких параграфов. В первом параграфе имеется заголовок блока. При освобождении памяти блок помечается как свободный. Таким образом, в процессе работы программы свободные и занятые блоки начинают чередоваться. В результате увеличивается фрагментация кучи, когда общей свободной памяти много, а непрерывного блока необходимой длины нет. Выделяемый блок памяти имеет вид 2 2 14 16 . 16 В заголовке находятся: длина блока в параграфах (2 байта), сегментный адрес предыдущего блока (2 байта), далее идут данные. Адрес начала данных и возвращается функциями ДРП. Блоки организованы в односвязный список. При запуске программы в начале куче выделяется блок для системных нужд.

Вы решили, что система всегда должна отвечать на прерывания с более высоким приоритетом, когда они происходят. Как это может быть выполнено? Вспомните, что 68HC12 автоматически отключает систему прерывания при ответе на прерывание, Подсказка: Посмотрите описание команд CLI и SEI ассемблера 68HC12. Исследовательские 1.PРазработайте стек и связанные с ним функции, использовав список с указателями для динамического распределения памяти. 2.PРазработайте приоритетную часть системы фонового опроса с передним планом, для защиты от перегрева транзисторов, описанной в применениях раздела 8.9. На рис.P8.25 (совпадающим с рис.P8.21 и повторенном здесь для удобства) показана система защиты от транзистора от перегрева. Температура транзистора постоянно контролируется датчиком температуры LM34 (в пластмассовое корпусе) приклеенным к металлическому корпусу мощного транзистора K-220. Напряжение на на выходе датчика линейно связано с его температурой (коэффициент 10 мВ/`С). Выход LM34 подан на один из входов аналогового компаратора, построенного на ОУ

1. Архитектура памяти Windows CE 6

2. Организация прерываний и прямого доступа к памяти в вычислительных системах, распределение ресурсов, технология Plug and Play

3. Управление распределенными ресурсами

4. Модель распределения ресурсов

5. Метод потенциалов для решения транспортной задачи в матричной форме. Задача оптимального распределения ресурсов

6. Организация памяти СП. Доступ к памяти. Блоки памяти
7. Динамическое распределение памяти
8. Устройство динамической индикации

9. Динамические и статистические законы

10. Динамические и статистические законы

11. Динамические и статистические закономерности в природе

12. Разработка программ с использованием динамической памяти

13. 1. Документы первичного учёта в органах МВД, прокуратуре и судах. 2. Динамические ряды и их виды

14. Динамическое представление данных

15. Определение законов распределения случайных величин и их числовых характеристик на основе опытных данных. Проверка статистических гипотез

16. Физико-статистическая оценка ресурса теплообменных труб с начальными дефектами производства в виде трещин

Сумка для прогулочной коляски Altabebe, арт. AL1004.
Функциональная и простая. Нет необходимости долго искать мелкие предметы в вашей сумке - теперь вы можете легко найти их, воспользовавшись
1040 руб
Раздел: Сумки и органайзеры
Лоток для кухни раздвижной, 30(50,5)х42,5x6,5 см.
Для хранения столовых приборов. Беречь от огня (t -40+100 C). Срок годности не ограничен. Размер: 30(50,5)х42,5x6,5 см
561 руб
Раздел: Лотки для столовых приборов
Папка-сумка "Тролли", А4.
Папка текстильная формованная из вспененного полимера. Формат: А4. Лицевая сторона с выдавленными элементами 3D.
481 руб
Раздел: Папки-портфели, папки с наполнением

17. Расчет и построение тягово-динамической характеристики тягача с гидромеханической трансмиссией

18. Контроль динамических параметров ЦАП

19. Экономико-статистический анализ использования трудовых ресурсов в колхозе им. И.А. Плиева

20. Динамические законы и механический детерминизм

21. Применение экономико-статистических методов для определения региональной потребности в материальных ресурсах на стадии предплановых расчетов

22. Безопасность файловых ресурсов сети Windows 2000
23. Динамические объекты
24. Динамическое программирование (задача о загрузке)

25. Об использовании квазираспределения Глаубера-Сударшана для описания динамического хаоса

26. Медико-психологические последствия боевой психической травмы: клинико-динамические и лечебно-реабилитационные аспекты

27. Экспериментальное исследование нелинейных эффектов в динамической магнитной системе

28. Слово учителя – особое, аудиовизуальное (словестно-образное) средство реализации принципа динамического баланса

29. Динамическая локализация психических функций

30. Клинико-динамическая характеристика депрессивных расстройств в постабстинентном периоде

31. Методы сглаживания и выравнивания динамических рядов

32. Принципы динамической организации

Набор детской складной мебели Ника "Маленькая принцесса".
В комплект входит стол и стул с мягким сиденьем и спинкой. Подходит для кормления, игр и обучения. Поверхность столешницы ламинированная с
1358 руб
Раздел: Наборы детской мебели
Микрофон-караоке "Чунга-чанга".
Новые оригинальные микрофоны-караоке для будущих звезд сцены! В каждом микрофоне – 12 популярных песенок В. Шаинского, Е. Крылатова, М.
301 руб
Раздел: Микрофоны
Набор "Мимимишки. Кеша и Лисичка" (3 предмета).
Набор с изображениями героев из мультсериала "Ми-ми-мишки" - отличный подарок для вашего ребенка! Подходит для холодных и
454 руб
Раздел: Наборы для кормления

33. Основные различия между статическим (квазистатическим) и динамическим нагружением материалов

34. Основные различия между статическим (квазистатическим) и динамическим нагружением материалов

35. Критические периоды развития статического и динамического равновесия у школьников 1-11-х классов

36. Логика динамических систем

37. Модель динамического межотраслевого баланса

38. Рынки ресурсов и распределение доходов
39. Динамическое программирование
40. Применение информационно-аналитических технологий структурно-динамического имитационного моделирования

41. Динамическое зондирование

42. Распределение памяти

43. Динамические структуры данных: двоичные деревья

44. Алгоритм определения динамических характеристик гидроупругих систем для управления гидросооружениями

45. Распределенные вычисления на FreePascal под Windows

46. Динамические структуры данных: стеки

47. Динамические структуры данных: стеки

48. Динамическая поддержка расширений процессора в кросс-системе

Чайный набор 2 предмета "Вавилон", 210 мл.
Чайный набор 2 предмета (серебро). Объем: 210 мл. Материал: фарфор.
368 руб
Раздел: На 1 персону
Этажерка для обуви, узкая, 4 полки.
Этажерка для обуви разборная на 4 полки. Основа - металлокаркас. Напольная, складная. Размеры (ДхШхВ): 460х280х700 мм.
861 руб
Раздел: Полки напольные, стеллажи
Каталка-трактор "Митя" №2.
Каталка-трактор станет прекрасным подарком для Вашего ребенка. Малыш может ездить на машинке сам, отталкиваясь от пола ножками и
1433 руб
Раздел: Каталки

49. Ссылочные типы. Динамические переменные

50. Динамическое представление сигналов

51. Тепловой и динамический расчёт двигателя внутреннего сгорания

52. Частная динамическая морфология

53. Динамический характер библейской прецедентности

54. Устройство памяти. Воспроизводство и передача информации в организме
55. Автоматизированная настройка TCP/IP, BOOTP. Динамическая настройка (DHCP)
56. Оптимальное распределение неоднородных ресурсов

57. Разработка статических и динамических библиотек на языке программирования С/C++ в операционных системах UNIX

58. Создание динамических сайтов средствами Dreamweaver

59. Динамические структуры данных

60. Динамические структуры данных

61. Динамическое программирование и вариационное исчисление

62. Анализ динамических свойств системы автоматического управления заданной структурной схемы

63. Анализ линейной динамической цепи

64. Динамический синтез систем автоматического управления

Звуковой плакат "Говорящая азбука".
Представляем Вашему вниманию уникальную новинку — развивающие звуковые плакаты, которые содержат стихотворения, занимательные и
849 руб
Раздел: Электронные и звуковые плакаты
Наушники "Philips SHE3550", черные.
Маленькие громкие динамики наушников-вкладышей "Philips SHE3550" обеспечивают плотное прилегание и чистый звук с мощными басами.
803 руб
Раздел: Гарнитуры и трубки
Таблетки для посудомоечной машины "All in 1", 21 штука.
Для безупречного мытья посуды в посудомоечной машине воспользуйтесь таблетками Meine Liebe All in 1. Это моющее средство придаст вашей
413 руб
Раздел: Для посудомоечных машин

65. Исследование частотных свойств линейных динамических звеньев

66. Присвоение блока памяти оперативного запоминающего устройства

67. Влияние планировки торгового предприятия на рациональное распределение познавательных ресурсов посетителей на примере ООО СП ТЦ "Омский"

68. Мономиальные динамические системы

69. Динамическая организация

70. Формирование динамических представлений об изменениях в живой природе у старших дошкольников
71. Динамический расчет автомобиля ГАЗ-33021
72. Динамический расчет следящих систем

73. Динамическое поведение механической системы с упругими связями

74. Динамический синтез и анализ рычажного механизма

75. Топографическая и динамическая модели психики З. Фрейда

76. Анализ динамического поведения механической системы

77. Исследование динамических свойств моделей типовых звеньев систем автоматического управления

78. Исследование релейно-контакторной схемы управления ЭП с АД и динамическое торможение

79. Математическое описание динамических процессов электромеханического преобразования энергии

80. Экономико-статистический анализ эффективности использования трудовых ресурсов на предприятии ОАО "Ново-Вятка"

Магнитная доска для фото, с маркером, 30x48 см.
Классический вариант магнитной доски найдет свое место в любом доме. Подойдет для игр и обучения, для крепления заметок и для надписей.
447 руб
Раздел: Прочие
Мультиплеер "Антошка".
Супермодный плеер для малышей "Антошка" в оригинальном дизайне! В нем собрано 15 популярных песенок и 5 любимых сказок. Бонус!
344 руб
Раздел: Смартфоны, мультиплееры
Ниблер силиконовый "Зайчик", голубой.
Каждая мама знает, насколько важный этап в жизни младенца представляет собой прикорм. Но как же проблематично скормить хотя бы ложечку
373 руб
Раздел: Ниблеры

81. Разработка динамических моделей для транспортно-производственной системы

82. Реактивные двигатели, устройство, принцип работы

83. Расчёт статистических и вероятностных показателей безопасности полётов

84. Устройство парков и внутренняя служба в них

85. Продовольственные ресурсы

86. Рекреационные ресурсы Северо-Кавказского района
87. Трудовые ресурсы, их численность, характеристика развития угольной промышленности, Центральный экономический район, его отрасли специализации промышленности
88. Экономика, география, политическое устройство и место в современной мировой экономике Южной Кореи

89. Минеральные ресурсы как определяющий фактор экономического роста в России

90. Природные ресурсы как экономический фактор

91. Природные ресурсы

92. Рекреационные ресурсы Объединеных Арабских Эмиратов

93. Водные ресурсы

94. Водные ресурсы Земли

95. Устройство, оптическая схема, неполная разборка и сборка теодолита 2Т2П, ЗТ2КП

96. Мировые ресурсы никеля

Логическая игра "Парковка. Пазл", арт. SG 434 RU.
Проверьте свои навыки парковки с помощью этой головоломки! В этой уникальной игре необходимо найти правильное место для каждого
835 руб
Раздел: Игры логические
Рюкзак молодёжный "Pixie Crew" с силиконовой панелью для картинок (зелёная клетка).
Повседневные вещи кажутся скучными и однотонными, а тебе хочется выглядеть стильно и быть не как все? "Pixie Crew" сделает твою
3170 руб
Раздел: Молодежные, подростковые
Точилка для кухонных ножей.
Точилка электрическая – это прибор, который сделает вашу жизнь проще. Острый угол заточки позволяет быстро и без усилий сделать острыми
725 руб
Раздел: Точилки для ножей

97. Бюджет и его устройство

98. Управление природными ресурсами и в области охраны окружающей среды, как вид управления в экономической сфере

99. Реформы государственного устройства, проводимые Петром I


Поиск Рефератов на сайте za4eti.ru Вы студент, и у Вас нет времени на выполнение письменных работ (рефератов, курсовых и дипломов)? Мы сможем Вам в этом помочь. Возможно, Вам подойдет что-то из ПЕРЕЧНЯ ПРЕДМЕТОВ И ДИСЦИПЛИН, ПО КОТОРЫМ ВЫПОЛНЯЮТСЯ РЕФЕРАТЫ, КУРСОВЫЕ И ДИПЛОМНЫЕ РАБОТЫ. 
Вы можете поискать нужную Вам работу в КОЛЛЕКЦИИ ГОТОВЫХ РЕФЕРАТОВ, КУРСОВЫХ И ДИПЛОМНЫХ РАБОТ, выполненных преподавателями московских ВУЗов за период более чем 10-летней работы. Эти работы Вы можете бесплатно СКАЧАТЬ.