15 файловые системы_начало.pptx
- Количество слайдов: 15
ФАЙЛОВЫЕ СИСТЕМЫ
раздел диска MBR ОБЩАЯ ОРГАНИЗАЦИЯ. РАЗДЕЛ 1 РАЗДЕЛ 2 файлы и каталоги РАЗДЕЛ 3
ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ Файловая система – это способ долговременного хранения информации, представляемой в виде файлов. Файл – это именованная область на носители данных (жестком диске, дискете, CD/DVD-ROM и т. п. ). Для структурирования информации на носители файлы могут объединяться в группы, называемые каталогами или папками. Файловая система включает в себя механизмы управления файлами и интерфейс взаимодействия с программами (API). В операционных системах средства управления файлами выделяют в отдельный менеджер. Различные операционные системы используют разные способы хранения файлов на носителях информации. Кроме того, разные носители требует по разному организовывать хранение данных.
ФАЙЛОВАЯ СИСТЕМА. ФАЙЛЫ Файлы характеризуются: – именем; – атрибутами; – типом; – содержимым. Совокупность содержимого и атрибутов называется метаданными.
ФАЙЛОВЫЕ СИСТЕМЫ. ИМЯ ФАЙЛА. Имя - последовательность символов из заданного алфавита (букв, цифр, специальных знаков). Используется для однозначного определения файла внутри файловой системы. Имена могут быть простые или составные (состоящие из нескольких полей, например имя. расширение). В составных именах части используются для описания содержимого файла. Используя поля, например, можно задать какую программу следует запустить если пользователь два раза «кликнет» на файле. Чаще всего имя файла лишь помогает пользователю понять что в нём содержится и как следует этот файл использовать. Но это лишь правило! Примеры имён файлов: lab 1. c - составной файл. Первое поле – имя, второе суффикс. Исходя из него можно сказать, что он содержит исходный текст программы, написанной на языке Си.
ФАЙЛОВЫЕ СИСТЕМЫ. АТРИБУТЫ ФАЙЛОВ. Атрибуты – информация о файле и о действиях, которые можно выполнять с ним. Включают в себя поля: – защита, информация о том, кто и что может делать с файлом; – создатель, информация о том, какой пользователь создал этот файл; – дата и время создания; – дата и время модификации; – флаги (только чтение, скрытый, системный и т. п. ); – размер файла – и т. п. Пример атрибутов: -rw-rw-r-- 1 stud 115 Янв 6 12: 02 a. c
ФАЙЛОВЫЕ СИСТЕМЫ. ТИПЫ ФАЙЛОВ Часто интерфейс файловой системы оказывается наиболее удобным для организации доступа к устройствам ЭВМ. Исходя из этого файлы могут иметь следующие типы: – регулярный (обычный) файл. Содержит пользовательскую информацию, включая исполняемые программы. – файл доступа к символьным устройствам (например, терминалам); – файл доступа к блочным устройствам (например, диски); – канал FIFO. Используется для взаимодействия между процессами.
ФАЙЛОВЫЕ СИСТЕМЫ. СОДЕРЖИМОЕ ФАЙЛА Содержимое файла определяется пользователем. Операционной системой задаётся только способ, согласно которому этот файл будет располагаться на диске и каким образом пользователь может получать доступ к содержимому. По способу хранения файлы подразделяют на: – – непрерывные, т. е. занимающие определённое число последовательно расположенных блоков на носителе информации. фрагментированные, т. е. располагающиеся в несмежных участках носителя информации. По способу доступа файлы делятся на: – – на: файлы последовательного доступа, т. е. когда пользователь, чтобы добраться до нужного участка памяти должен обязательно прочитать файл с начала. файлы произвольного доступа, т. е. позволяющие пользователю напрямую обращаться к нужным частям файла. По внутренней организации информации файлы можно разделить – – – последовательность байт; последовательность записей; дерево.
ФАЙЛОВЫЕ СИСТЕМЫ. ОПЕРАЦИИ НАД ФАЙЛАМИ В современных операционных системах используются файлы с произвольным доступом и байтовой структурой. Над ними можно выполнять следующие операции: – – – Create (создать файл). Delete (удалить файл). Rename (переименовать). Open (открыть файл) Close (закрыть файл) Read (читать из файла) Write (записать в файл) Append (записать в конец файла) Seek (перемещение указателя) Get attributes (получить атрибуты) Set attributes (установить атрибуты) Map into memory (отобразить в память).
ПРИМЕР РАБОТЫ С ФАЙЛАМИ. #include <unistd. h> #include <stdio. h> #include <fcntl. h> #include <sys/stat. h> #include <sys/mman. h> int main (int argc, char *argv []) { struct stat sbuf; int fd, i; void *maddr; for (i = 1; i < argc; i++) { if ((fd = open (argv [i], O_RDONLY)) < 0) { perror ("OPEN"); continue; } if (fstat (fd, &sbuf) != 0) { perror ("FSTAT"); close (fd); continue; } if ((maddr = mmap (NULL, sbuf. st_size, PROT_READ, MAP_PRIVATE, fd, 0)) == MAP_FAILED){ perror ("MMAP"); close (fd); continue; } if (write (STDOUT, maddr, sbuf. st_size) != sbuf. st_size) { perror ("WRITE"); } if (munmap (maddr, sbuf. st_size) != 0) { perror ("MUNMAP"); } close (fd); } /* for */ return 0; }
ФАЙЛОВЫЕ СИСТЕМЫ. КАТАЛОГИ Информация в файловых системах обычно структурируется определённым образом. Для объединения файлов по некоторому признаку используются каталоги (или папки). В большинстве файловых системах каталог – это специальный файл, в котором определённым образом записана информация о других файлах. Один из каталогов файловой системы называется корневым. С него начинается поиск любого файла на носителе информации.
ФАЙЛОВЫЕ СИСТЕМЫ. КАТАЛОГИ Структура файловой системы может быть: – одноуровневой. Файлов с одинаковым именем быть не может. – Двухуровневая. Используется для организации отдельных пространств имен для каждого пользователя. – Древовидная.
ФАЙЛОВЫЕ СИСТЕМЫ. ПУТЬ ФАЙЛА В сложных структурированных файловых системах (древовидных) каждому файлу ещё соответствует путь – перечень каталогов, которые необходимо прочитать прежде, чем добраться до указанного файла. Путь может быть: – абсолютным, т. е. начинающимся от корневого каталога. – относительным, т. е. начинающимся от какого-то другого каталога файловой системы.
ФАЙЛОВЫЕ СИСТЕМЫ. ОПЕРАЦИИ С КАТАЛОГАМИ Над каталогами можно выполнять следующие операции: – – – – Create (создать) Delete (удалить) Rename (переименовать) Opendir (открыть каталог) Closedir (закрыть каталог) Readdir (прочитать содержимое) Chdir (изменение текущего каталога для относительных путей)
ФАЙЛОВЫЕ СИСТЕМЫ. ПРИМЕРЫ При реализации файловой системы необходимо ответить на следующие вопросы: – определить минимальную адресуемую единицу на носителе информации. – каким образом хранить файлы на носители информации – где и как хранить информацию о имеющихся файлах и каталогах. Ответ на первый вопрос получается аналогично решению проблемы определения размера страницы в оперативной памяти. Ответ на второй вопрос определяет как будут располагаться файлы на носителе – непрерывно (т. е. занимать смежные области), либо фрагментировано.
15 файловые системы_начало.pptx