Начало Организация данных на внешних носителях Физические файловые системы Виртуальная файловая система Название Уровни организации Лекция 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