Студопедия
Обратная связь


Авиадвигателестроения Административное право Административное право Беларусии Алгебра Архитектура Безопасность жизнедеятельности Введение в профессию «психолог» Введение в экономику культуры Высшая математика Геология Геоморфология Гидрология и гидрометрии Гидросистемы и гидромашины История Украины Культурология Культурология Логика Маркетинг Машиностроение Медицинская психология Менеджмент Металлы и сварка Методы и средства измерений электрических величин Мировая экономика Начертательная геометрия Основы экономической теории Охрана труда Пожарная тактика Процессы и структуры мышления Профессиональная психология Психология Психология менеджмента Современные фундаментальные и прикладные исследования в приборостроении Социальная психология Социально-философская проблематика Социология Статистика Теоретические основы информатики Теория автоматического регулирования Теория вероятности Транспортное право Туроператор Уголовное право Уголовный процесс Управление современным производством Физика Физические явления Философия Холодильные установки Экология Экономика История экономики Основы экономики Экономика предприятия Экономическая история Экономическая теория Экономический анализ Развитие экономики ЕС Чрезвычайные ситуации ВКонтакте Одноклассники Мой Мир Фейсбук LiveJournal Instagram 500-летие Реформации

Загрузка...

Организация структур данных в ОЗУ

Структура информационного массива определяется один раз на этапе его создания и в процессе использования уже не изменяется. В языках программирования это достигается описанием структуры в блоке описаний программы; в СУБД - установлением перечня и последовательности полей записи на начальном этапе создания базы данных. Всякое изменение структуры (например, введение дополнительного поля записи или удаление имеющегося) эквивалентно созданию новой структуры. Что же касается количества записей в структурированном информационном массиве, то при представлении его в ОЗУ компьютера возможны две ситуации: либо под него выделяется область ОЗУ фиксированного размера, либо размер области при необходимости может меняться.

В первом варианте в начале работы программы происходит резервирование областей ОЗУ для хранения информационных массивов. С этой целью в тексте программы указывается, какого типа и размера информационные массивы будут в дальнейшем использованы. В процессе выполнения программы могут меняться значения элементов информационного массива, но не его размер. По этой причине в случае, если размер (число элементов) массива не известен заранее (например, количество учеников в классе), приходится осуществлять избыточное резервирование, что, безусловно, приводит к нерациональному использованию памяти компьютера. Именно таким образом происходит резервирование памяти при описании массивов и других структурных данных в языке PASCAL. Отсутствие возможностей динамического описания массивов (т.е. введение новых массивов или изменение размеров имеющихся в процессе выполнения программы) считается одним из существенных недостатков языка программирования.

Информационные массивы, допускающие изменение размера (но не структуры!) называются динамическими. В этом случае данные могут иметь последовательное или связное представление в ОЗУ.

Последовательное представление иллюстрируется рис. 6.5. В этом варианте данные (отдельные записи) размещаются в соседних последовательно расположенных ячейках памяти. На размещение одной записи может потребоваться несколько ячеек (машинных слов), но их количество одинаково для каждой из записей (в представленном на рис. 6.5,а примере - 12), поэтому идентификатор записи однозначно связывается с номером первой ячейки, начиная с которой запись размещается. Физический порядок следования полностью соответствует логическому. Такая совокупность записей называется последовательным списком. Для его хранения в ОЗУ выделяется блок ячеек фиксированного размера. При выполнении команды обрабатывающей программы «Добавить запись» происходит увеличение размера массива на одну строку в конце блока и при необходимости производится перезапись массива в ОЗУ (возможно, с изменением адресов). В добавленной строке размещается новая запись, как это показано на рис. 6.5,б. При изъятии каких-то записей по команде «Удалить запись» соответствующая строка очищается и после перезаписи заполняется содержимым следующих ячеек (рис. 6.5,в).

Связное представление данных основано на том, что в записи дописывается дополнительное поле, в котором размещается указатель адреса, т.е. ссылка на то место в ОЗУ, где располагается следующая запись. При этом физический порядок размещения записей не соответствует логическому - записи располагаются в любых свободных ячейках ОЗУ, причем, не обязательно подряд. Такие структуры называются связными списками. Их удобство состоит в гибкости структуры - без перезаписи остальных элементов можно легко добавлять новые или исключать имеющиеся - для этого достаточно лишь изменить состояние поля указателя адреса, что иллюстрируется рис. 6.6.

Недостаток описанного способа представления информационного массива в ОЗУ состоит в том, что в нем невозможно напрямую обратиться к нужной записи - поиск ее осуществляется по цепочке переходов, безусловно, увеличивая время доступа к данным.





 

Читайте также:

Глава 9. Представление о конечном автомате

Глава 8. Формализация представления алгоритмов

Раздел 1. ТЕОРИЯ ИНФОРМАЦИИ

Контрольные вопросы и задания

Общая идея моделирования

Вернуться в оглавление: Теоретические основы информатики

Просмотров: 1350

 
 

54.166.157.192 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам.