Transcript Структуры данных. Файловые системы
Структуры данных
Работа с большим количеством данных требует упорядоченности Для упорядочения применяются структуры данных Линейные (списки) Табличные Иерархические (дерево)
Структуры данных
Пример – книга Разобранная на перемешанные страницы книга остается набором данных, но потеряет свое назначение, извлечь из нее информацию будет сложно Если собрать все листы в правильную последовательность – простейшая структура данных (линейная) Для поиска нужных данных придется прочитать всю с начала Для быстрого поиска данных существует иерархическая структура
Структуры данных
Книга разбивается на части, разделы, главы, параграфы и т.д.
Элементы структуры более низкого уровня входят в элементы структуры более высокого уровня (разделы состоят из глав, главы из параграфов и т.д.) Поиск данных в иерархической структуре проще, чем в линейной, но и здесь необходима навигация В книгах есть вспомогательная таблица, связывающая элементы иерархической структуры (разделы, главы) с номерами страниц (оглавление, содержание)
Структуры данных
Линейная структура (список) – упорядоченная структура, в которой адрес элемента данных однозначно определяется его номером (индексом) Проставляя номера на отдельных страницах рассыпанной книги, мы создаем структуру списка
Структуры данных
Табличная структура – упорядоченная структура, в которой адрес элемента данных однозначно определяется номером строки и номером столбца, на пересечении которых находится ячейка с искомым элементом
Структуры данных
Иерархическая структура - структура, в которой адрес элемента данных определяется путем (маршрутом доступа), идущим от вершины структуры к данному элементу Иерархическую структуру образуют, например, почтовые адреса
Структуры данных
Пример адреса: Россия\Ростовская область\Ростов\ул. Большая Садовая\д. 1 Если данные хранятся в любой организованной структуре, то каждый элемент приобретает новое свойство - адрес Для упрощения поиска данные упорядочиваются с помощью сортировки – по алфавиту, по возрастанию порядкового номера и т.д.
Линейная и табличная структура более просто организованы, но добавление/исключение нарушает упорядоченность структуры, затруднен поиск
Структуры данных
Перевод студента в другую группу – изменение журнала посещаемости Если вписать в конец группы – нарушится упорядоченность по алфавиту Если вписать по алфавиту – сменятся порядковые номера всех студентов, следующих за ним При добавлении/удалении элемента в упорядоченную простую структуру может меняться адрес других элементов В иерархической структуре введение нового элемента не нарушает структуры дерева (добавление нового факультета никак не отразится на пути доступа к сведениям другого факультета) Недостаток – трудоемкость записи адреса и сложность упорядочения
Хранение данных
Для хранения информации, как и для хранения любых объектов (книг, товаров), необходима определенная система, организация хранения, поиска и доступа Важен эффективный способ хранения данных на внешних носителях большого объема Разработчики ПО предложили способ организации хранения информации в виде файлов Файл – последовательность произвольного числа байтов, обладающая уникальным собственным именем Обычно в отдельном файле хранят данные, относящиеся к одному типу, тип данных определяет тип файла
Хранение данных
Для хранения информации, как и для хранения любых объектов (книг, товаров), необходима определенная система, организация хранения, поиска и доступа Важен эффективный способ хранения данных на внешних носителях большого объема Разработчики ПО предложили способ организации хранения информации в виде файлов Файл – последовательность произвольного числа байтов, обладающая уникальным собственным именем Обычно в отдельном файле хранят данные, относящиеся к одному типу, тип данных определяет тип файла
Хранение данных
Файл можно представить как документ, в который может добавляться и из которого может удаляться информация Файл может быть пустым Файл имеет имя и занимает место на носителе С точки зрения ОС весь диск (носитель) представляет собой набор кластеров (512 байт и больше) Кластер группа секторов, файл хранится кластерами Кластер – наименьшее место на диске, которое может быть выделено для хранения файла
Хранение данных
Имя файла сопоставлено адресу размещения файла на носителе Таблица соответствия имен файлов адресам на физическом носителе – самая главная в файловой системе Файловая система – совокупность служебных таблиц, содержащая необходимую информацию для работы с файлами на дисках, а также правила именования, размещения, хранения и доступа к файлам Чтобы использовать диск нужно создать на нем файловую систему, при этом все дисковое пространство делиться на кластера
Хранение данных
В таблицах файловой системы для каждого файла хранится номер начального кластера и длина файла Для удобства работы файлы объединяют в группы, их имена располагают в файле спец. вида, называемом каталогом (папкой) Каталоги образуют иерархическую (древовидную) структуру Каталог, расположенный в корне дерева (на вершине иерархии), называется корневым В каждом каталоге могут быть созданы другие – вложенные (дочерние) - каталоги
Хранение данных
Хранение данных
Хранение данных
Хранение файлов – в виде иерархической структуры Элемент (файл) УНИКАЛЬНО определяется своим путем (маршрутом) от вершины Linux – одна иерархическая структура (и один корневой каталог) для всех дисков Windows – на каждом диске своя иерархическая структура (и корневой каталог) Linux / home/user/documents2011/ расписание.doc
Windows – c:\ users\user\documents2011\ расписание.doc
d:\ users\user\documents2011\ расписание.doc
Полное имя файла – собственное имя файла с путем доступа к нему, оно уникально
Хранение данных
Не может быть двух файлов с одинаковым полным именем (т.е. в одном каталоге) Могут быть два файла с одинаковым собственным именем и разными полными именами (т.е. в разных каталогах) /home/user/docs2010/ расписание.doc
/home/user/docs2011/ расписание.doc
Каталог реально является файлом, содержащим список файлов в этом каталоге, не может быть двух одинаковых каталогов в другом каталоге
Хранение данных
В Linux существует только один корневой каталог, а все остальные файлы и каталоги вложены в него Чтобы получить доступ к файлам и каталогам на каком нибудь диске, необходимо смонтировать этот диск командой mount Например, чтобы открыть файлы на CD, нужно, говоря простым языком, сказать операционной системе: «возьми файловую систему на этом компакт-диске и покажи её в каталоге /mnt/cdrom» Все файлы и каталоги, находящиеся на CD, появятся в этом каталоге /mnt/cdrom, который называется точкой монтирования
Хранение данных
Файловые системы устройств как бы становятся частью единой файловой системы / /home /users/student1 другой диск /media/flash /films флеш-диск
Хранение данных
Кроме названия каждый файл может иметь расширение Расширение исп-ся для того, чтобы определенным образом охарактеризовать содержимое файла .doc, .txt – указывают на то, что файл содержит документ или текст Расширение размещается в правом конце названия файла и отделяется от названия точкой – расписание.
doc Большинство программ при создании автоматически снабжают файл расширением По расширению файла ОС определяет формат тип и формат файла и запускает работающую с ним программу Иногда могут использоваться несколько расширений, следующих друг за другом, например, «.tar.gz»
Хранение данных
Распространенные расширения файлов DOC Документ Microsoft Office Word 1997—2003 XLS Книга Microsoft Office Excel 1997—2003 PPT Презентация Microsoft Office PowerPoint 1997—2003 TXT текстовый файл GZ, 7z – Archive JPG, JPEG, BMP, TIFF, PNG – графический файл MP3 – звуковой файл AVI, MPG – видео-файл SH, EXE – исполняемый файл
Операции с файлами
Создание – выделение места, присвоение имени, регистрация в файловой системе Открытие – поиск файла, организация вспомогательных таблиц для получения/помещения инф-ции из/в файл, предоставление доступа программы к файлу Закрытие – разрыв связи между файлом и программой Изменение (редактировние) – внесение изменений в содержимое Копирование – создание копии в другом/том же каталоге под тем же или другим именем Перемещение – создание копии и уничтожение оригинала Переименование Удаление
Операции с файлами
Создание – выделение места, присвоение имени, регистрация в файловой системе Открытие – поиск файла, организация вспомогательных таблиц для получения/помещения инф-ции из/в файл, предоставление доступа программы к файлу Закрытие – разрыв связи между файлом и программой Изменение (редактировние) – внесение изменений в содержимое Копирование – создание копии в другом/том же каталоге под тем же или другим именем Перемещение – создание копии и уничтожение оригинала Переименование Удаление
Атрибуты файлов
Каждый файл обладает рядом свойств – атрибутов Название Расширение Длина Время Дата создания/модификации