Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Файлы и файловые системы




Базы данных и системы управления базами данных

Информационные базы данных и сети

 

 

Конспект лекций

 

Учебный курс «Информационные базы данных и сети» состоит из двух частей:

Часть 1 – «Базы данных и системы управления базами данных»;

Часть2 – «Информационно-вычислительные сети»

 

 

В современных компьютерных комплексах основными программными инструментами организации долговременного хранения больших объемов информации являются файловые системы и базы данных. Несмотря на общность функционального назначения – хранение данных, они имеют существенные отличия и, как следствие, свои области применения. В данном разделе кратко рассматриваются эти отличия, и определяется назначение баз данных, как основы для создания информационных систем. Даются начальные сведения о теоретических основах построения реляционных моделей данных, этапах разработки баз данных и отличиях OLTP и OLAP систем.

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

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

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

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

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

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

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

Другим крайним вариантом является представление всей совокупности каталогов и файлов как единого дерева. Полное имя файла начинается с имени корневого каталога и пользователь не обязан заботиться об установке на дисковое устройство каких-либо конкретных дисков. Сама система, выполняя поиск файла по имени, запрашивает установку необходимых дисков. Такую файловую систему называют полностью централизованной.

Централизованные файловые системы во многом удобней изолированных систем, так как в них система управления файлами берет на себя больше рутинной работы. Но в таких системах возникают существенные проблемы, если кому-то требуется перенести поддерево файловой системы на другую вычислительную установку. Компромиссное решение применено в файловых системах ОС UNIX. На базовом уровне в этих файловых системах поддерживаются изолированные архивы файлов. Один из этих архивов объявляется корневой файловой системой. После запуска системы можно «смонтировать» корневую и ряд изолированных файловых систем в одну общую файловую систему.

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

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

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

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

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

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




Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 566; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.