Базы данных. Лекция 3. Файлы и списки

реклама
БАЗЫ ДАННЫХ
ФАЙЛЫ И
ФАЙЛОВЫЕ
СИСТЕМЫ
1
ДО ФАЙЛОВЫХ СИСТЕМ
ПРОГРАММА 1
Данные
Управление
НАБОР ДАННЫХ 1
ПРОГРАММА 2
Данные
Управление
НАБОР ДАННЫХ 2
ПРОГРАММА 3
Данные
Управление
НАБОР ДАННЫХ 3
2
ПРОБЛЕМЫ
Программист определяет и логическую и физическую
структуру данных (структура хранения, методы доступа,
способы ввода/вывода, и т.д.). Своя структура данных для
каждой программы означает, что другие программы не
могут использовать эти данные. Сложность разработки,
избыточность хранимых данных.
Все данные являются временными и исчезают, когда
существование
программы
манипулирующей
ими
заканчивается. Все данные, возможно, не соответствуют
доступной
памяти.
Низкая
производительность
программистов.
Требуется
много
утомительной
однообразной работы по решению одинаковых проблем.
3
ФАЙЛЫ И ФАЙЛОВЫЕ СИТСЕМЫ
Данные
Управление
ПРОГРАММА 2
Данные
Управление
ПРОГРАММА 3
Данные
Управление
ФАЙЛОВАЯ СИСТЕМА
ПРОГРАММА 1
ФАЙЛ 1
ФАЙЛ 2
ИЗБЫТОЧНЫЕ ДАННЫЕ
4
ФАЙЛЫ
Файл (англ. file) — 1. Последовательность или множество
однотипных записей. 2. Поименованная целостная
совокупность данных на внешнем носителе.
Файл обязательно имеет имя и может содержать
произвольный объем информации (максимальная длина и
того, и другого определяется возможностями файловой
системы). Файл также имеет набор атрибутов, в которых
содержится различная информация о самом файле.
Некоторые атрибуты используются практически во всех
файловых системах (например, «Время создания»),
некоторые специфичны для какой-то определённой
(например, «Скрытый», «Исполнимый»).
5
ФАЙЛОВЫЕ СИСТЕМЫ
Файловая система (file system) — 1. Регламент,
определяющий способ организации, хранения и
именования данных на носителях информации. 2. Часть
операционной системы, обеспечивающая выполнение
операций над файлами. 3. Файлы, каталоги и
управляющая информация на внешнем носителе.
Файловая система определяет формат физического
хранения файлов, определяет размер имени файла,
максимальный возможный размер файла, набор атрибутов
файла. Некоторые файловые системы предоставляют
сервисные возможности, например, разграничение
доступа или шифрование файлов.
6
ФАЙЛОВЫЕ СИСТЕМЫ
Файловая система связывает носитель информации с
одной стороны и средства для доступа к файлам — с
другой. Когда прикладная программа обращается к файлу,
она не имеет никакого представления о том, в каких
секторах диска расположен файл, на каком типе диска
(CD, жестком диске) записан. Все, что знает программа —
это имя файла, его размер и атрибуты. Эти данные она
получает от драйвера файловой системы. Именно
файловая система устанавливает, где и как будет записан
файл на диске.
7
ФАЙЛОВЫЕ СИСТЕМЫ
С точки зрения ОС весь диск представляет из себя набор
кластеров (записей) некоторого размера. ПО файловой
системы организуют кластеры в файлы и каталоги
(реально являющиеся файлами содержащими список
файлов в этом каталоге). Эти же средства отслеживают
какие из кластеров в настоящее время используются,
какие свободны, какие помечены как неисправные.
8
ФАЙЛОВЫЕ СИСТЕМЫ
Однако файловая система не обязательно связана с
физическим носителем информации (диском). Существуют
виртуальные и сетевые файловые системы, которые
являются лишь способом доступа к файлам, находящимся
на удаленном компьютере.
9
КЛАССИФИКАЦИЯ ФАЙЛОВЫХ СИСТЕМ
По предназначению файловые системы можно классифицировать:
 для носителей с произвольным доступом (например, жесткий диск):
FAT32, HPFS, EXT2 и др. В последнее время широкое
распространение получили журналируемые файловые системы
такие как EXT3, ReiserFS, JFS, NTFS, XFS и др.
 для носителей с последовательным доступом (например, магнитные
ленты): QIC и др.
 для оптических носителей — CD и DVD: ISO9660, ISO9690, HFS, UDF
и др.
 виртуальные файловые системы: AEFS и др.
 Сетевые файловые системы: NFS, SMBFS и др.
10
«ЗАПИСЕОРИЕНТИРОВАННЫЕ» ФАЙЛЫ И
ФАЙЛОВЫЕ СИСТЕМЫ
Последовательная организация: записи
располагаются в физическом порядке.
Индексно-последовательная: записи размещаются
в логическом порядке в соответствии со
значениями ключей, содержащихся в каждой
записи.
Прямая: доступ к записям осуществляется прямо
по их физическим адресам.
Библиотечная: по сути это уже файл, состоящий
из последовательных «подфайлов».
11
«ЗАПИСЕОРИЕНТИРОВАННЫЕ» ФАЙЛЫ И
ФАЙЛОВЫЕ СИСТЕМЫ
Фиксированной длины, несблокированная
Счётчик
AAA
Запись AAA
Ключ
Данные
Фиксированной длины, сблокированная
FFF
Счётчик
AAA
Запись AAA
BBB
Ключ
Запись BBB
BBB
Запись BBB
Данные
Переменной длины, несблокированная
AAA
Счётчик
BL
RL
Запись AAA
Ключ
Данные
Переменной длины, сблокированная
FFF
Счётчик
Ключ
BL
RL
AAA
Запись AAA - …
RL BBB
Запись BBB
Данные
Форматы записей: BL – длина блока, RL – длина записи, счётчик содержит различную
управляющую информацию, например номер цилиндра, номер головки, номер записи,
12
длину поля данных записи, контрольные байты.
«ЗАПИСЕОРИЕНТИРОВАННЫЕ» ФАЙЛЫ И
ФАЙЛОВЫЕ СИСТЕМЫ
Логические записи отображаются на физические.
Быстрый доступ к данным на уровне аппаратуры.
Проблема фрагментации томов прямого доступа.
Требуется процедура сжатия.
13
«ПОТОКООРИЕНТИРОВАННЫЕ» ФАЙЛЫ И
ФАЙЛОВЫЕ СИСТЕМЫ
Файл рассматривается как непрерывный поток
бит.
Разбиение потока на записи зависит от
программного обеспечения (договорённость о
последовательности бит – разделителе логических
записей).
Последовательный доступ к конкретным
логическим записям.
Удобная организация дисковой памяти.
Простота реализации.
14
ФАЙЛОВЫЕ СИТСЕМЫ
ЦЕПОЧКА БЛОКОВ
Директорий
Файл
Местоположение
Адрес следующего
Файл
Местоположение
Данные
Файл
Местоположение
Файл
Местоположение
Адрес следующего
Адрес следующего
Данные
Данные
Адрес следующего
Данные
Адрес следующего
Адрес следующего
Данные
Данные
15
ФАЙЛОВЫЕ СИТСЕМЫ
ЦЕПОЧКА ИНДЕКСНЫХ БЛОКОВ
Директорий
Файл
Местоположение
Файл
Местоположение
Файл
Местоположение
Файл
Местоположение
Индексный блок
…
Продолжение
индексного блока
…
Данные
Данные
…
Данные
Данные
Данные
Данные
…
Данные
Данные
16
ФАЙЛОВЫЕ СИТСЕМЫ
ТАБЛИЦА ОТОБРАЖЕНИЯ ФАЙЛОВ
Директорий
7
8
9
10
11
12
13
14
15
Свободен
6
7
5
Свободен
4
4
3
26
2
5
1
Nil
22
0
3
2
Свободен
C
1
6
Nil
B
27
8
9
A
14
Местоположение
20
Файл
…
17
Скачать