Лекция 3. Файловая структура
Литература
o Современные операционные системы, Э. Таненбаум, 2002, СПб, Питер, 1040 стр., (в djvu 10.1Мбайт) подробнее>>
o Сетевые операционные системы Н. А. Олифер, В. Г. Олифер (в zip архиве 1.1Мбайт)
o Сетевые операционные системы Н. А. Олифер, В. Г. Олифер, 2001, СПб, Питер, 544 стр., (в djvu 6.3Мбайт)подробнее>>
Файлы
Требования к хранению информации:
o возможность хранения больших объемов данных
o информация должна сохраняться после прекращения работы процесса
o несколько процессов должны иметь одновременный доступ к информации
2.1.1Именование файлов
Длина имени файла зависит от ОС, может быть от 8 (MS-DOS) до 255 (Windows, LINUX) символов.
ОС могут различать прописные и строчные символы. Например, WINDOWS и windows для MS-DOS одно и тоже, но для UNIX это разные файлы.
Во многих ОС имя файла состоит из двух частей, разделенных точкой, например windows.exe. Часть после точки называют расширением файла. По нему система различает тип файла.
У MS-DOS расширение составляет 3 символа. По нему система различает тип файла, а также можно его исполнять или нет.
У UNIX расширение ограничено размером имени файла в 255 символов, также у UNIX может быть несколько расширений, но расширениями пользуются больше прикладные программы, а не ОС. По расширению UNIX не может определить исполняемый это файл или нет.
2.1.2Структура файла
Три основные структуры файлов:
1. Последовательность байтов - ОС не интересуется содержимым файла, она видит только байты. Основное преимущество такой системы, это гибкость использования. Используются в Windows и UNIX.
2. Последовательность записей - записей фиксированной длины (например, перфокарта), считываются последовательно. Сейчас не используются.
3. Дерево записей - каждая запись имеет ключ, записи считываются по ключу. Основное преимущество такой системы, это скорость поиска. Пока еще используется на мэйнфреймах.
Три типа структур файла.
2.1.3Типы файлов
Основные типы файлов:
o Регулярные - содержат информацию пользователя. Используются в Windows и UNIX.
o Каталоги - системные файлы, обеспечивающие поддержку структуры файловой системы. Используются в Windows и UNIX.
o Символьные - для моделирования ввода-вывода. Используются только в UNIX.
o Блочные - для моделирования дисков. Используются только в UNIX.
Основные типы регулярных файлов:
o ASCII файлы - состоят из текстовых строк. Каждая строка завершается возвратом каретки (Windows), символом перевода строки (UNIX) и используются оба варианта (MS-DOS). Поэтому если открыть текстовый файл, написанный в UNIX, в Windows, то все строки сольются в одну большую строку, но под MS-DOS они не сольются (это достаточно частая ситуация). Основные преимущества ASCII файлов:
- могут отображаться на экране, и выводится на принтер без преобразований
- могут редактироваться почти любым редактором
o Двоичные файлы - остальные файлы (не ASCII). Как правило, имеют внутреннею структуру.
Основные типы двоичных файлов:
o Исполняемые - программы, их может обрабатывать сама операционная система, хотя они записаны в виде последовательности байт.
o Неисполняемые - все остальные.
Примеры исполняемого и не исполняемого файла
«Магическое число» - идентифицирующее файл как исполняющий.
2.1.4Доступ к файлам
Основные виды доступа к файлам:
o Последовательный - байты читаются по порядку. Использовались, когда были магнитные ленты.
o Произвольный - файл можно читать с произвольной точки. Основное преимущество возникает, когда используются большие файлы (например, баз данных) и надо считать только часть данных из файла. Все современные ОС используют этот доступ.
2.1.5Атрибуты файла
Основные атрибуты файла:
o Защита - кто, и каким образом может получить доступ к файлу (пользователи, группы, чтение/запись). Используются в Windows и UNIX.
o Пароль - пароль к файлу
o Создатель - кто создал файл
o Владелец - текущий владелец файла
o Флаг "только чтение" - 0 - для чтения/записи, 1 - только для чтения. Используются в Windows.
o Флаг "скрытый" - 0 - виден, 1 - невиден в перечне файлов каталога (по умолчанию). Используются в Windows.
o Флаг "системный" - 0 - нормальный, 1 - системный. Используются в Windows.
o Флаг "архивный" - готов или нет для архивации (не путать сжатием). Используются в Windows.
o Флаг "сжатый" - файл сжимается (подобие zip архивов). Используются в Windows.
o Флаг "шифрованный" - используется алгоритм шифрования. Если кто-то попытается прочесть файл, не имеющий на это прав, он не сможет его прочесть. Используются в Windows.
o Флаг ASCII/двоичный - 0 - ASCII, 1 - двоичный
o Флаг произвольного доступа - 0 - только последовательный, 1 - произвольный доступ
o Флаг "временный" - 0 - нормальный, 1 - для удаления файла по окончании работы процесса
o Флаг блокировки - блокировка доступа к файлу. Если он занят для редактирования.
o Время создания - дата и время создания. Используются UNIX.
o Время последнего доступа - дата и время последнего доступа
o Время последнего изменения - дата и время последнего изменения. Используются в Windows и UNIX.
o Текущий размер - размер файла. Используются в Windows и UNIX.
2.1.6Операции с файлами
Основные системные вызовы для работы с файлами:
o Create - создание файла без данных.
o Delete - удаление файла.
o Open - открытие файла.
o Close - закрытие файла.
o Read - чтение из файла, с текущей позиции файла.
o Write - запись в файл, в текущею позицию файла.
o Append - добавление в конец файла.
o Seek - устанавливает файловый указатель в определенную позицию в файле.
o Get attributes - получение атрибутов файла.
o Set attributes - установить атрибутов файла.
o Rename - переименование файла.
Дата добавления: 2015-12-26; просмотров: 1118;