Книга: Системное программное обеспечение. Лабораторный практикум
Принципы организации таблиц идентификаторов
Принципы организации таблиц идентификаторов
Компилятор пополняет записи в таблице идентификаторов по мере анализа исходной программы и обнаружения в ней новых элементов, требующих размещения в таблице. Поиск информации в таблице выполняется всякий раз, когда компилятору необходимы сведения о том или ином элементе программы. Причем следует заметить, что поиск элемента в таблице будет выполняться компилятором существенно чаще, чем помещение в нее новых элементов. Так происходит потому, что описания новых элементов в исходной программе, как правило, встречаются гораздо реже, чем эти элементы используются. Кроме того, каждому добавлению элемента в таблицу идентификаторов в любом случае будет предшествовать операция поиска – чтобы убедиться, что такого элемента в таблице нет.
На каждую операцию поиска элемента в таблице компилятор будет затрачивать время, и поскольку количество элементов в исходной программе велико (от единиц до сотен тысяч в зависимости от объема программы), это время будет существенно влиять на общее время компиляции. Поэтому таблицы идентификаторов должны быть организованы таким образом, чтобы компилятор имел возможность максимально быстро выполнять поиск нужной ему записи таблицы по имени элемента, с которым связана эта запись.
Можно выделить следующие способы организации таблиц идентификаторов:
• простые и упорядоченные списки;
• бинарное дерево;
• хэш-адресация с рехэшированием;
• хэш-адресация по методу цепочек;
• комбинация хэш-адресации со списком или бинарным деревом.
Далее будет дано краткое описание всех вышеперечисленных способов организации таблиц идентификаторов. Более подробную информацию можно найти в [3, 7].
- Назначение таблиц идентификаторов
- Принципы организации таблиц идентификаторов
- Простейшие методы построения таблиц идентификаторов
- Построение таблиц идентификаторов по методу бинарного дерева
- Хэш-функции и хэш-адресация
- Хэш-адресация с рехэшированием
- Хэш-адресация с использованием метода цепочек
- Комбинированные способы построения таблиц идентификаторов
- Комбинированные способы построения таблиц идентификаторов
- Листинг 10.1. (simpleid.c) Отображение идентификаторов пользователя и группы
- Безопасная работа с внешними таблицами
- Модификация системных таблиц
- Безопасность временных таблиц
- Безопасность внешних таблиц. Параметр EXTERNAL FILE DIRECTORY
- 6.5 Хост в таблице маршрутизации IP
- 4.6. Техники организации знакомства участников на бизнес-тренинге
- Общие принципы моделирования
- 1.2.1. Принципы построения модели IDEF0
- Использование представления в виде таблицы данных
- 4.3. Логические функции и таблицы истинности