Лекция 9. Работа с файлами

реклама
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
Название
Уровни организации
Лекция 9. Работа с файлами
Операционные системы
21 декабря 2012 г.
Лекция 9
1 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
Название
Уровни организации
Рассматриваемые темы
Уровни организации файловых систем
Физическая организация данных на внешних носителей.
Разбиение дисков на тома.
Физические файловые системы.
Виртуальные файловые системы.
Лекция 9
2 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
Физическая организация
Разбиение на разделы
Адресация данных на аппаратном уровне
Определения
Сектор: (sector) — аппаратно адресуемый блок данных носителя
(512 байт).
Кластер: (cluster) — адресуемый блок, используемый файловой системой,
содержит несколько секторов.
Метаданные: (metadata) — данные, хранящиеся в томе, необходимые для
поддержания работы файловой системы (не принадлежат
пользовательским данным в файлах).
Способы адресации секторов
Cylinder-Head-Sector (CHS).
Logical Block Address (LBA).
Лекция 9
3 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
Физическая организация
Разбиение на разделы
Разделы дисков
данные
VBR
MBR VBR
данные
EBR
первичный раздел
данные
EBR
данные
расширенный раздел
Рис. 1 : организация разделов физического диска
Лекция 9
4 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
Физическая организация
Разбиение на разделы
Дескрипторы разделов
Определения
Главная загрузочная запись: (Master Boot Record, MBR) — находится
в первом физическом секторе (секторах), содержит:
код загрузки (bootstrap code);
таблицу разделов (partition table) — до 4;
сигнатуру;
...
Загрузочная запись тома: (Volume Boot Record, VBR) — находится в начале
неразделённого диска или раздела диска, содержит код
загрузки.
Расширенная загрузочная запись: (Extended Boot Record, EBR) — находится
в начале логического раздела, структура, как у MBR, но запись
для II раздела указывает на следующую EBR.
Лекция 9
5 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
Физическая организация
Разбиение на разделы
Таблица разделов GUID
Определение
Таблица разделов GUID: (GUID Partition Table, GPT) — стандарт формата
размещения разделов на диске.
Особенности
Открытый стандарт (часть Unified Extensible Firmware Interface — UEFI);
Ограничение на размер диска: 8 Збайт - 512 байт (у MBR: 2 Tбайт 512 байт);
Заголовок GPT и таблица разделов хранятся в начале и конце диска;
«Защитный MBR» в начале диска;
Таблица разделов содержит контрольные суммы (CRC32) и GUID диска;
Элементы таблицы разделов содержат GUID типов разделов и разделов.
Лекция 9
6 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
FAT
NTFS
Ext2
Журналируемые файловые системы
FAT (12, 16, 32)
Система
FAT12
FAT16
FAT32
Кластеров
4 096
65 536
268 435 456
Размеры кластера
512 байт – 8 Кбайт
512 байт – 64 Кбайт
4 Кбайт – 32 Кбайт
Максимальный размер тома
32 Мбайт
4 Гбайт
8 Тбайт
Таблица 1 : версии файловой системы FAT
Лекция 9
7 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
FAT
NTFS
Ext2
Журналируемые файловые системы
загрузочный сектор
Организация FAT
таблица таблица
размеще- размеще- корневой
ния
ния
каталог
файлов
файлов
остальные каталоги и файлы
Рис. 2 : организация метаданных системы FAT
Лекция 9
8 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
FAT
NTFS
Ext2
Журналируемые файловые системы
Запись FAT
Информация записи таблицы размещения файлов (file allocation table)
Номер следующего кластера цепочки;
Отметка конца цепочки (0xFFFF);
Отметка плохого кластера;
Отметка неиспользуемого кластера (0).
Лекция 9
9 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
FAT
NTFS
Ext2
Журналируемые файловые системы
Запись каталога
Информация записи таблицы каталогов (directory table)
Короткое имя «8.3» (DATA
Атрибуты:
TXT),
I символ имеет особые значения;
«только для чтения» (read only);
«скрытый» (hidden);
«системный» (system);
«метка тома» (volume label);
«подкаталог» (subdirectory);
«архивный» (archive);
Дата/время последнего изменения файла;
Номер кластера начала файла;
Размер файла в байтах.
Лекция 9
10 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
FAT
NTFS
Ext2
Журналируемые файловые системы
Таблица размещения файлов и каталог
...
...
DATA
TXT
0x0002
2
3
4
5
6
0x0003
0x0004
0x0000
0x0000
0xFFFF
...
Рис. 3 : таблица размещения файлов и каталог
Лекция 9
11 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
FAT
NTFS
Ext2
Журналируемые файловые системы
Особенности системы FAT
Преимущества
широкая распространённость;
простота реализации;
высокая скорость на небольших
носителях;
малый объём метаданных.
Недостатки
ограничения по размеру томов
и файлов;
невысокая надёжность;
нагрузка на небольшую часть
диска;
фрагментация;
отсутствие поддержки
безопасности и других
возможностей;
патенты (FAT32, длинные
имена).
Лекция 9
12 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
FAT
NTFS
Ext2
Журналируемые файловые системы
NTFS
Особенности системы NTFS
индексирование файлов по атрибутам;
защита файлов и каталогов;
дисковые квоты;
сжатие файлов;
жёсткие связи;
символьные ссылки (точки соединения);
шифрование.
Лекция 9
13 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
FAT
NTFS
Ext2
Журналируемые файловые системы
Индексный дескриптор
Определение
Индексный дескриптор: (inode) — структура файловой системы, содержащая
всю информацию о файле в файловой системе, используется
для его идентификации.
Лекция 9
14 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
FAT
NTFS
Ext2
Журналируемые файловые системы
Информация в индексном дескрипторе
Информация в индексном дескрипторе
номер;
тип;
количество жёстких ссылок;
длина в байтах;
идентификатор пользователя-владельца;
идентификатор группы-владельца;
отметки времени:
изменения состояния индексного дескриптора;
последнего обращения к файлу;
последнего изменения файла;
права доступа и режим файла.
...
Лекция 9
15 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
FAT
NTFS
Ext2
Журналируемые файловые системы
Журналируемая файловая система
Определение
Журналируемая файловая система: (journaling file system) — ФС, ведущая
журнал транзакций перед их исполнением в выделенной
области диска в циклическом буфере.
Примеры
NTFS;
Ext3;
Ext4 (отключается).
Лекция 9
16 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
Концепция
Специальные файловые системы
Организация виртуальной файловой системы
Интерфейс приложений
Концепция виртуальной файловой системы
приложение
виртуальна файловая система
Ext2
FAT16
Рис. 4 : взаимодействие приложения с файлами
Лекция 9
17 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
Концепция
Специальные файловые системы
Организация виртуальной файловой системы
Интерфейс приложений
Специальная файловая система
Определения
Специальная файловая система: (special file system) — предоставляет доступ
к данным и особым возможностям ядра через интерфейс VFS.
Точка монтирования: (mount point) — путь в виртуальной файловой системе
(текущей доступной физической файловой системе),
отображающий содержимое другой файловой системы.
Лекция 9
18 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
Концепция
Специальные файловые системы
Организация виртуальной файловой системы
Интерфейс приложений
Примеры специальных файловых систем
Название
pipefs
proc
shm
sockfs
sysfs
tmpfs
Точка монтирования
—
/proc
/dev/shm
—
/sys
любая
Описание
Каналы
Структуры данных ядра
Общая память
сокеты
Системные данные
Временные файлы
Таблица 2 : некоторые специальные файловые системы Linux
Лекция 9
19 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
Концепция
Специальные файловые системы
Организация виртуальной файловой системы
Интерфейс приложений
Файлы виртуальной файловой системы
Принадлежащие дисковой или сетевой файловой системе
обычный файл;
каталог;
символьная ссылка;
Принадлежащие специализированной файловой системе
файл блочного устройства;
файл символьного устройства;
именованный канал (FIFO);
сокет.
Лекция 9
20 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
Концепция
Специальные файловые системы
Организация виртуальной файловой системы
Интерфейс приложений
Монтирование файловых систем в процессе загрузки
Пример (/etc/fstab)
# f i l e s y s mount point type options
dump pass
proc
/proc
/dev/sda5 /
0
0
0
1
/dev/sda2 none
swap sw
0
/dev/sdb2 /mnt/disk_d ntfs auto,defaults,fmask=003,uid=1000 0
0
0
proc nodev,noexec,nosuid
ext4 errors=remount-ro
# ...
Лекция 9
21 / 22
Начало
Организация данных на внешних носителях
Физические файловые системы
Виртуальная файловая система
Концепция
Специальные файловые системы
Организация виртуальной файловой системы
Интерфейс приложений
Открытый файл
Определение
Открытый файл: структура ядра, определяющая параметры работы процесса
с файлом.
Информация в открытом файле
режим;
позиция;
идентификаторы пользователя и группы;
таблица файловых операций;
...
Лекция 9
22 / 22
Скачать