База-данных «ИС Аэропорт»

Автор работы: Пользователь скрыл имя, 16 Февраля 2015 в 11:44, курсовая работа

Описание работы

Цель работы — разработать эффективную и удобную базу данных.
Для достижения поставленной цели необходимо решить следующие задачи:
Разработать и заполнить таблицы соответствующими данными.
Установить тип связей в таблице.
Создать запросы для вывода необходимых полей.
Создать формы, отчеты и макросы.

Содержание работы

ВВЕДЕНИЕ…………………………………………………………………….…5
ОСНОВНАЯ ЧАСТЬ………………………………………………………6
Физические модели таблиц базы данных…………………………..6
Физические модели хранения данных……………………………...7
Файловые структуры организации базы данных………………..…7
Разрешение коллизии с помощью области переполнения……….10
Разрешение коллизии методом свободного замещения………….11
Индексные файлы………………………………………………..….11
Файлы с плотным индексом, или индексно-прямые файлы..12
Файлы с неплотным индексом, или индексно-последовательные файлы…………………………………………...…15
Организация индексов в виде В-дерева — многоуровневой иерархической структуры……………………………………………..16
Способы организации памяти для хранения данных……………..17
Иерархическая организация памяти…………………………17
Организация кэш-памяти……………………………………..18
Организация основной памяти……………………………….21
Виртуальная память — как средство организации защиты данных…………………………………………………………………..24
Страничная организация памяти…………………………..…25
Сегментация памяти……………………………………….….26
СПЕЦИАЛЬНАЯ ЧАСТЬ………………………………………………...27
Назначение и функции программной системы………………...….27
Системные требования……………………………………….……..27
Связывание таблиц………………………………………………….28
Запросы…………………………………………………………..…..29
Формы………………………………………………………………..32
Отчеты………………………………………………………………..36
Макросы…………………………………………………………...…38
ЗАКЛЮЧЕНИЕ…………………………………………………………...……..40
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ…………

Файлы: 1 файл

аэропорт.doc

— 667.50 Кб (Скачать файл)

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

Достоинство случайного способа заключается в том, что его проще реализовать в аппаратуре. Когда число блоков для поддержания трассы увеличивается, алгоритм LRU становится все более дорогим и часто только приближенным. В табл. 5 показаны различия в долях промахов при использовании алгоритма замещения LRU и случайного алгоритма.

Таблица 2

Доля промахов при использовании алгоритма замещения LRU и случайного алгоритма (Random)

Размер, кэш-памяти, Кбайт

Ассоциативность, %

2-канальная

4-канальная

8-канальная

LRU

Random

LRU

Random

LRU

Random

16

5,18

5,69

4,67

5,29

4,39

4,96

64

1,88

2,01

1,54

1,66

1,39

1,53

256

1,15

1,17

1,13

1,13

1,12

1,12


Очень часто организация кэш-памяти в разных машинах отличается именно стратегией выполнения записи. Когда выполняется запись в кэш-память, имеются две базовые возможности:

  • сквозная запись (write through, store through) – информация записывается в два места (в блок кэш-памяти и блок более низкого уровня памяти);
  • запись с обратным копированием (write back, copy back, store in) – информация записывается только в блок кэш-памяти. Модифицированный блок кэш-памяти записывается в основную память только тогда, когда он замещается. Для сокращения частоты копирования блоков при замещении обычно с каждым блоком кэш-памяти связывается так называемый бит модификации (dirty bit). Этот бит состояния показывает, был ли модифицирован блок, находящийся в кэш-памяти. Если он не модифицировался, то обратное копирование отменяется, поскольку более низкий уровень содержит ту же самую информацию, что и кэш-память.

При промахе во время записи имеются две дополнительные возможности: разместить запись в кэш-памяти и не размещать запись в кэш-памяти.

Разместить запись в кэш-памяти (write allocate) (называется также выборкой при записи (fetch on write)) означает, что блок загружается в кэш-память, вслед за чем выполняются действия, аналогичные выполняющимся при выполнении записи с попаданием. Это похоже на промах при чтении.

Не размещать запись в кэш-памяти (называется также записью в окружение (write around)), означает, что блок модифицируется на более низком уровне и не загружается в кэш-память.

Обычно в кэш-памяти, реализующей запись с обратным копированием, используется размещение записи в кэш-памяти (в надежде, что последующая запись в этот блок будет перехвачена), а в кэш-памяти со сквозной записью размещение записи в кэш-памяти часто не используется (поскольку последующая запись в этот блок все равно пойдет в память).

1.7.3. Организация основной памяти

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

Задержка памяти традиционно оценивается двумя параметрами: временем доступа (access time) и длительностью цикла памяти (cycle time). Время доступа представляет собой промежуток времени между выдачей запроса на чтение и моментом поступления запрошенного слова из памяти. Длительность цикла памяти определяется минимальным временем между двумя последовательными обращениями к памяти.

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

В отличие от динамических статические ЗУПВ не требуют регенерации, и время доступа к ним совпадает с длительностью цикла. Для микросхем, использующих примерно одну и ту же технологию, емкость ДЗУПВ в 4–8 раз превышает емкость СЗУПВ, но последние имеют в 8 – 16 раз меньшую длительность цикла и большую стоимость.

Согласование производительности современных процессоров со скоростью основной памяти вычислительных систем остается одной из важнейших проблем.

Для организации кэш-памяти в большей степени важно уменьшение задержки памяти, чем увеличение полосы пропускания. Однако при увеличении полосы пропускания памяти возможно увеличение размера блоков кэш-памяти без заметного увеличения потерь при промахах.

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

Память с расслоением. Наличие в системе множества микросхем памяти позволяет использовать потенциальный параллелизм, заложенный в такой организации. Одна из общих методик, используемых для этого, называется расслоением памяти. При расслоении банки памяти обычно упорядочиваются так, чтобы JV последовательных адресов памяти i, i+1, i+2, ..., i+(N-1) приходились на N различных банков. В i-м банке памяти находятся только слова, адреса которых имеют вид kN + i, где k=М-1 (М – число слов в одном банке).

Можно достичь в N раз большей скорости доступа к памяти в целом, чем у отдельного ее банка, если обеспечить при каждом доступе обращение к данным в каждом из банков.

Обобщением идеи расслоения памяти является возможность реализации нескольких независимых обращений, когда несколько контроллеров памяти позволяют банкам памяти (или группам расслоенных банков памяти) работать независимо.

Если система памяти разработана для поддержки множества независимых запросов (как это имеет место при работе с кэш-памятью, при реализации многопроцессорной и векторной обработки), эффективность системы будет в значительной степени зависеть от частоты поступления независимых запросов к разным банкам.

С целью увеличения производительности все современные микросхемы памяти обеспечивают возможность подачи сигналов синхронизации, которые позволяют выполнять последовательные обращения к буферу без дополнительного времени обращения к строке. Имеются три способа подобной оптимизации:

  • блочный режим;
  • страничный режим;
  • режим статического столбца.

Блочный режим (nibble mode) может обеспечить выдачу четырех последовательных ячеек для каждого сигнала RAS.

При страничном режиме (page mode) буфер работает как статическое ЗУПВ; при изменении адреса столбца возможен доступ к произвольным битам в буфере до тех пор, пока не поступит новое обращение к строке или не наступит время регенерации.

Режим статического столбца (static column) очень похож на страничный режим, за исключением того, что не обязательно переключать строб адреса столбца каждый раз для изменения адреса столбца.

Начиная с микросхем ДЗУПВ емкостью 1 Мбит, большинство ДЗУПВ допускают любой из этих режимов, причем выбор режима осуществляется на стадии установки кристалла в корпус путем выбора соответствующих соединений. Страничный режим и режим статического столбца также могут использоваться, обеспечивая даже большую степень расслоения при несколько более сложном управлении.

1.7.4. Виртуальная память — как средство организации защиты данных

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

Виртуальная память делит физическую память на блоки и распределяет их между различными задачами. При этом она предусматривает также некоторую схему защиты, которая ограничивает задачу теми блоками, которые ей принадлежат. Большинство, типов виртуальной памяти сокращают также время начального запуска программы на процессоре, поскольку не весь программный код и данные требуются ей в физической памяти, чтобы начать выполнение.

Виртуальная память автоматически управляет двумя уровнями иерархии памяти: основной и внешней (дисковой) памятью.

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

Системы виртуальной памяти можно разделить на два типа: системы с фиксированным размером блоков, называемых страницами, и системы с переменным размером блоков, называемых сегментами. Рассмотрим оба типа организации виртуальной памяти.

1.7.5. Страничная организация памяти

В системах со страничной организацией основная и внешняя память (главным образом дисковое пространство) делятся на блоки, или страницы, фиксированной длины. Каждому пользователю предоставляется некоторая часть адресного пространства, которая может превышать основную память компьютера и которая ограничена только возможностями адресации, заложенными в системе команд. Эта часть адресного пространства называется виртуальной памятью пользователя. Каждое слово в виртуальной памяти пользователя определяется виртуальным адресом, состоящим из двух частей: старшие разряды адреса рассматриваются как номер страницы, а младшие — как номер слова (или байта) внутри страницы.

Каждый элемент таблицы страниц содержит номер физической страницы основной памяти и специальный индикатор. Единичное состояние этого индикатора свидетельствует о наличии этой страницы в основной памяти. Нулевое состояние индикатора означает отсутствие страницы в оперативной памяти.

Поиск в таблицах страниц, расположенных в основной памяти, и загрузка TLB могут осуществляться либо программным способом, либо специальными аппаратными средствами. С этой целью в процессоре предусматривается дополнительный регистр защиты, содержащий описатель (дескриптор) таблицы страниц или базовограничную пару. База определяет адрес начала таблицы страниц в основной памяти, а граница – длину таблицы страниц соответствующей программы.

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

1.7.6. Сегментация памяти

В системах с сегментацией памяти каждое слово в адресном пространстве пользователя определяется виртуальным адресом, состоящим из двух частей: старшие разряды адреса рассматриваются как номер сегмента, а младшие — как номер слова внутри сегмента. Наряду с сегментацией может также использоваться страничная организация памяти. В этом случае виртуальный адрес слова состоит из трех частей: старшие разряды адреса определяют номер сегмента, средние — номер страницы внутри сегмента, а младшие – номер слова внутри страницы.

Как и в случае страничной организации, необходимо обеспечить преобразование виртуального адреса в реальный физический адрес основной памяти. С этой целью для каждого пользователя операционная система должна сформировать таблицу сегментов. Каждый элемент таблицы сегментов содержит описатель (дескриптор) сегмента (поля базы, границы и индикаторов режима доступа). При отсутствии страничной организации поле базы определяет адрес начала сегмента в основной памяти, а граница – длину сегмента. При наличии страничной организации поле базы ; определяет адрес начала таблицы страниц данного сегмента, а граница — число страниц в сегменте. Поле индикаторов режима доступа представляет собой некоторую комбинацию признаков блокировки чтения, записи и выполнения.

 

Информация о работе База-данных «ИС Аэропорт»