Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 12
На сайте нет зарегистрированных пользователей

Пользователей: 13,372
новичок: vausoz
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Поиск пути в графе заданном списками инцедентности на Turbo Pascal
Медиа плейер на Delphi + Пояснительная записка
Принадлежит ли точка пересечению двух окружностей на Turbo Pascal + Отче...

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

Двумя основными ресурсами компьютера являются время (на выполнение инструкций) и память (для хранения данных и кода). В языке С++ есть три способа выделения памяти для хранения данных.
• Статическая память. Выделяется редактором связей и существует, пока выполняется программа.
• Стековая (автоматическая) память. Выделяется при вызове функции и освобождается после возвращения управления из функции.
• Динамическая память (куча). Выделяется оператором new и освобождается для возможного повторного использования с помощью оператора delete
Рассмотрим каждую из них с точки зрения программирования встроенных систем. В частности, изучим вопросы управления памятью с точки зрения задач, где важную роль играет предсказуемость, например, при программировании систем с жесткими условиями реального времени и систем с особыми требованиями к обеспечению безопасности.
Статическая память не порождает особых проблем при программировании встроенных систем: вся память тщательно распределяется еще до старта программы и задолго до развертывания системы.
Стековая память может вызывать проблемы, поскольку ее может оказаться недостаточно, но эту проблему устранить несложно. Разработчики системы должны сделать так, чтобы в ходе выполнения программы стек никогда не превышал допустимый предел. Как правило, это означает, что количество вложенных вызовов функций должно быть ограниченным; иначе говоря, мы должны иметь возможность показать, что цепочки вызовов (например, f1 вызывает f2 вызывает . . . вызывает fn) никогда не станут слишком длинными. В некоторых системах это приводит к запрету на рекурсивные вызовы. В некоторых системах такие запреты в отношении некоторых рекурсивных функций являются вполне оправданными, но их нельзя считать универсальными. Например, я знаю, что вызов инструкция factorial(10) вызовет функцию factorial не более десяти раз. Однако программист, разрабатывающий встроенную систему, может предпочесть итеративный вариант функции factorial, чтобы избежать сомнений или случайностей.
Динамическое распределение памяти обычно запрещено или строго ограничено; иначе говоря, оператор new либо запрещен, либо его использование ограничено периодом запуска программы, а оператор delete запрещен. Укажем основные причины этих ограничений.
• Предсказуемость. Размещение данных в свободной памяти непредсказуемо; иначе говоря, нет гарантии, что эта операция будет выполняться за постоянное время. Как правило, это не так: во многих реализациях оператора new время, необходимое для размещения нового объекта, может резко возрастать после размещения и удаления многих объектов.
• Фрагментация. Свободная память может быть фрагментированной; другими словами, после размещения и удаления объектов оставшаяся память может
0 содержать большое количество “дыр”, представляющих собой неиспользуемую память, которая бесполезна, потому что каждая “дыра” слишком мала для того, чтобы в ней поместился хотя бы один объект, используемый в приложении. Таким образом, размер полезной свободной памяти может оказаться намного меньше разности между первоначальным размером и размером размещенных объектов.


Также вам может показаться, что такая тема как http://www.3lights.ru/ никак не связана и даже не тематична с программированием. Хотя, может быть и связана.
В любом случае все-таки зайдите на сайт 3lights.ru
Тема где купить светильники там представлена весьма широко. На том сайте можно узнать много интересного на тему где купить светильники
Что означает вообще тема где купить светильники, где найти тему где купить светильники - про это написано на сайте 3lights.ru
Это очень важная для многих людей тема - где купить светильники Спасибо сайту 3lights.ru за информацию на тему где купить светильники

В следующем тексте мы продемонстрируем. как может возникнуть такая неприемлемая ситуация. Отсюда следует, что мы должны избегать методов программирования, использующих операторы new и delete в системах с жесткими условиями реального времени или в системах с особыми требованиями к обеспечению безопасности. В следующем тексте мы покажем, как избежать проблем, связанных со свободной памятью, используя стеки и пулы.
Опубликовал katy April 25 2015 09:17:29 · 0 Комментариев · 3086 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Animation (Пример...
Простой пример ка...
MP3 Архив v.2.0
Технология .Net в VB
Delphi 6. Учебный...
PHP 5 на примерах
Cтатьи Королевств...
DCAVI
Самоучитель Прогр...
Переработанный пл...
Domen Name IP
MxProtector
Доступа к БД Fire...
PHP: Полезные приемы
XPmenu
IIIDTrans
C# 2005 и платфор...
Drag&Drop
Ehlib
Просмотр файлов и...

Топ загрузок
Приложение Клие... 100793
Delphi 7 Enterp... 98017
Converter AMR<-... 20298
GPSS World Stud... 17059
Borland C++Buil... 14239
Borland Delphi ... 10374
Turbo Pascal fo... 7390
Калькулятор [Ис... 6080
Visual Studio 2... 5228
Microsoft SQL S... 3674
Случайные статьи
Вспышка Canon - т...
Поверхность при по...
Разновидности Б-де...
Создание манипулят...
Решение: интерфейс...
Обобщение алгоритм...
Лабораторное занят...
Создание стилевого...
Анонимность в Mirc
Стеки на связанных...
Модуль CRT. Управл...
Степень числа
Написание детских ...
Объединение путей.1
"[" or "(." expected
Парикмахерские курсы
Как перевести симв...
ГОЛОВА И ХВОСТ СПИСКА
Виртуальные дестру...
Алгоритм LZW
Метод toUri
Принципы работы ск...
Старда Казино
Материнская плата
Основные принципы ...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?