Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Файловая система ОС UNIX

Содержание

Базовая файловая система svfsЗанимает один раздел жесткого дискаРазмер логического блока 1КТри области на диске
Файловая система ОС UNIX Базовая файловая система svfsЗанимает один раздел жесткого дискаРазмер логического блока 1КТри области на диске Структура базовой файловой системы Суперблок (1)	Содержит общую информацию о файловой системе (ФС), необходимую для монтирования и Суперблок (2)Тип файловой системыРазмер файловой системы в логических блоках (суперблок, массив индексных Суперблок (3)Количество свободных блоков, доступных для размещенияКоличество свободных индексных дескрипторов, доступных для Суперблок (4)Список номеров свободных индексных дескрипторов (inode)Список номеров свободных блоковХранятся особым образом Массив индексных дескрипторов (inode)	Содержит метаданные всех файлов.	Имеет ограниченный фиксированный размер.	Количество элементов определяет максимальное количество файлов inode (1) 	Содержит метаданные файла (все кроме имени файла и его содержимого):di_mode inode (2) di_uid, di_gid – числовые идентификаторы владельца файла и группыdi_size – inode (3) di_atime – время последнего доступа к файлуdi_mtime – время последней Типы файлов Обычный файл 				-Каталог (директория)		dСимвольное устройство		cБлочное устройство			bИменованный канал (FIFO)	pСокет							sСимволическая ссылка		l Структура inode Структура каталога Трансляция имени файла 	Абсолютное имя (начинается с ”/” ) – относительно корневого Недостатки svfs (1)Суперблок хранится в единственном экземпляре – потеря суперблока – потеря Недостатки svfs (2)Для повышения производительности необходимо использовать блоки больших размеров, но при Недостатки svfs (3)Фиксированный размер имени файла – 14 символовФиксированное количество inode – 65536 Berkeley Fast File System (FFS)	Появилась в 4.2BSD	Подверглась существенным улучшениям в 4.3BSD (производительность Улучшения в FFS (1)Суперблок хранит только неизменяемую часть (нет списков свободных блоков Улучшения в FFS (2)Новые принципы размещения информации на диске с учетом его геометрииНовая структура каталога Структура FFS Для каждой группы цилиндров выделяется место под определенное количество i-node	Обычно 1 inode Блоки, состоящие из суперблока, массива inode и блоков данных носит название кластера		Каждый FFS подедрживает размер блока до 64К	Для повышения эффективности использования вводится битовая карта Карта свободных блоков Принципы размещения файлов (1)Файл размещается в блоках хранения данных, принадлежащих кластеру, где Принципы размещения файлов (2)Каждый новый каталог помещается в группу цилиндров, отличную от Принципы размещения файлов (3)	Удовлетворительные результаты по производительности достигаются, когда есть по крайней мере 10% свободного пространства Каталог FFS	Поддерживает имя файла переменной длины до 255 символов Запись каталогаd_ino – номер inoded_reclen – длина записиd_namlen – длина имениd_name[] – Удаление файла Архитектура виртуальной ФС Виртуальный inode (vnode)	Интерфейс разработан в 1984	для ufs и NFS Sun Microsystems	Позволяет работать Виртуальный inode (vnode)	Метаданные всех открытых файлов представлены в памяти в виде in-core Виртуальный inode (vnode) Операции с vnode (1) Операции с vnode (2) Метаданные файла VFS Монтирование ФС (подключение) Структура VFS Операции ФСы Коммутатор ФС vfssw Структуры данных vfs Действия при монтировании ФСПроверка прав монтированияРазмещение и инициализация специфических данных конкретной ФС Доступ к файловой системе Файловый дескриптор	Таблица дескрипторов хранится в u-area. С дескриптором связан указатель на элемент Стандартные дескрипторы0 – стандартный ввод1 – стандартные вывод2 – стандартный протокол Системная таблица открытых файлов	При каждом новом открытии файла (open(), creat()) выделяется новый Элемент таблицыКоличество ссылокФлаги (режим открытия, SYNC и т.п.)Файловый указательСсылка на vnode данного Открытие (создание) файлаСистемные вызовы:	int open(const char *, int, int);	int creat(const char *, int);Обязательно проверка прав доступа Флаги (не все)O_RDONLYO_WROLYO_RDWRO_CREATO_TRUNCO_EXCLO_NONBLOCK Права доступа к новому файлу	Третий параметр open (второй параметр creat) & ! Параметры creat 	Системный вызов creat эквивалентен open с флагами:	O_WRONLY | O_CREAT | O_TRUNC Стандартные операции (1)	int read(int, char *, int);	чтение из файла		int write(int, const char Стандартные операции (2)	int lseek(int, int, int);	позиционирование файлового указателя	3-й параметр 	SEEK_SET	SEEK_CUR	SEEK_END Стандартные операции (3)	int close(int);	закрытие файлового дескриптора	Последовательно проходим по ссылкам и освобождаем только Стандартные операции (4)	int dup(int);	int dup2(int, int);	дублирование файлового дескриптора Стандартные операции (5)	int fcntl(int, int, …);	различные нестандартные операции с файловым дескриптором Временные параметрыatimemtimectime Разреженный файл (файл с дырой)	Последовательность:writelseekwrite	Дыра логически представлена массивом нулей, физически блоки не выделены Буферный кэш Схема работы Обновление «грязных» буферовСистемный вызов sync()Команда syncПоследнее закрытие файлаДиспетчер буферного кэша В некоторых версиях UNIX не используется буферный кэш. Для оптимизации работы файловой Целостность файловой системыНарушения, связанные с содержимым файла могут быть опасны для пользователей Возможные ошибки ФС
Слайды презентации

Слайд 2 Базовая файловая система svfs
Занимает один раздел жесткого диска
Размер

Базовая файловая система svfsЗанимает один раздел жесткого дискаРазмер логического блока 1КТри области на диске

логического блока 1К
Три области на диске


Слайд 3 Структура базовой файловой системы

Структура базовой файловой системы

Слайд 4 Суперблок (1)
Содержит общую информацию о файловой системе (ФС),

Суперблок (1)	Содержит общую информацию о файловой системе (ФС), необходимую для монтирования

необходимую для монтирования и управления ФС (размещением файлов). Суперблок

считывается в память при монтировании ФС и хранится там постоянно

Слайд 5 Суперблок (2)
Тип файловой системы
Размер файловой системы в логических

Суперблок (2)Тип файловой системыРазмер файловой системы в логических блоках (суперблок, массив

блоках (суперблок, массив индексных дескрипторов, область данных)
Размер массива индексных

дескрипторов

Слайд 6 Суперблок (3)
Количество свободных блоков, доступных для размещения
Количество свободных

Суперблок (3)Количество свободных блоков, доступных для размещенияКоличество свободных индексных дескрипторов, доступных

индексных дескрипторов, доступных для размещения
Флаги (режимы монтирования)
Размер логического блока

(512, 1024, 2048)

Слайд 7 Суперблок (4)
Список номеров свободных индексных дескрипторов (inode)
Список номеров

Суперблок (4)Список номеров свободных индексных дескрипторов (inode)Список номеров свободных блоковХранятся особым образом

свободных блоков
Хранятся особым образом


Слайд 8 Массив индексных дескрипторов (inode)
Содержит метаданные всех файлов.
Имеет ограниченный

Массив индексных дескрипторов (inode)	Содержит метаданные всех файлов.	Имеет ограниченный фиксированный размер.	Количество элементов определяет максимальное количество файлов

фиксированный размер.
Количество элементов определяет максимальное количество файлов


Слайд 9 inode (1)
Содержит метаданные файла (все кроме имени

inode (1) 	Содержит метаданные файла (все кроме имени файла и его

файла и его содержимого):
di_mode – тип файла, основные и

расширенные права доступа
di_nlinks – количество ссылок (жестких связей, имен)

Слайд 10 inode (2)
di_uid, di_gid – числовые идентификаторы владельца

inode (2) di_uid, di_gid – числовые идентификаторы владельца файла и группыdi_size

файла и группы
di_size – размер файла в байтах (для

специальных файлов – старший и младший номера устройств)

Слайд 11 inode (3)
di_atime – время последнего доступа к

inode (3) di_atime – время последнего доступа к файлуdi_mtime – время

файлу
di_mtime – время последней модификации файла
di_ctime – время последней

модификации метаданных
di_addr[13] – массив адресов блоков данных

Слайд 12 Типы файлов
Обычный файл -
Каталог (директория) d
Символьное устройство c
Блочное устройство b
Именованный

Типы файлов Обычный файл 				-Каталог (директория)		dСимвольное устройство		cБлочное устройство			bИменованный канал (FIFO)	pСокет							sСимволическая ссылка		l

канал (FIFO) p
Сокет s
Символическая ссылка l


Слайд 13 Структура inode

Структура inode

Слайд 14 Структура каталога

Структура каталога

Слайд 15 Трансляция имени файла
Абсолютное имя (начинается с ”/”

Трансляция имени файла 	Абсолютное имя (начинается с ”/” ) – относительно

) – относительно корневого каталога с номером inode 2

(или в u-area, если процесс поменял корневой каталог)
Относительное имя – относительно текущего каталога (u-area)

Слайд 16 Недостатки svfs (1)
Суперблок хранится в единственном экземпляре –

Недостатки svfs (1)Суперблок хранится в единственном экземпляре – потеря суперблока –

потеря суперблока – потеря всей ФС
Метаданные файла располагаются далеко

от его данных (медленно + возможна фрагментация)

Слайд 17 Недостатки svfs (2)
Для повышения производительности необходимо использовать блоки

Недостатки svfs (2)Для повышения производительности необходимо использовать блоки больших размеров, но

больших размеров, но при этом в среднем теряется половина

блока
Фиксированный размер массива inode

Слайд 18 Недостатки svfs (3)
Фиксированный размер имени файла – 14

Недостатки svfs (3)Фиксированный размер имени файла – 14 символовФиксированное количество inode – 65536

символов
Фиксированное количество inode – 65536


Слайд 19 Berkeley Fast File System (FFS)
Появилась в 4.2BSD
Подверглась существенным

Berkeley Fast File System (FFS)	Появилась в 4.2BSD	Подверглась существенным улучшениям в 4.3BSD

улучшениям в 4.3BSD (производительность и надежность)
Обладает полным функционалом svfs


Слайд 20 Улучшения в FFS (1)
Суперблок хранит только неизменяемую часть

Улучшения в FFS (1)Суперблок хранит только неизменяемую часть (нет списков свободных

(нет списков свободных блоков и inode) и хранится в

нескольких копиях в разных частях диска

Слайд 21 Улучшения в FFS (2)
Новые принципы размещения информации на

Улучшения в FFS (2)Новые принципы размещения информации на диске с учетом его геометрииНовая структура каталога

диске с учетом его геометрии
Новая структура каталога


Слайд 22 Структура FFS

Структура FFS

Слайд 23
Для каждой группы цилиндров выделяется место под определенное

Для каждой группы цилиндров выделяется место под определенное количество i-node	Обычно 1

количество i-node

Обычно 1 inode на 2К дискового пространства (не

преодолено ограничение svfs, но повышена надежность, и производительность)

Слайд 24
Блоки, состоящие из суперблока, массива inode и блоков

Блоки, состоящие из суперблока, массива inode и блоков данных носит название

данных носит название кластера

Каждый кластер начинается с некоторым смещением

от начала цилиндра по сравнению с предыдущим

Слайд 25
FFS подедрживает размер блока до 64К

Для повышения эффективности

FFS подедрживает размер блока до 64К	Для повышения эффективности использования вводится битовая

использования вводится битовая карта блоков, позволяющая использовать ½ блока

и так до размера физического сектора

Слайд 26 Карта свободных блоков

Карта свободных блоков

Слайд 27 Принципы размещения файлов (1)
Файл размещается в блоках хранения

Принципы размещения файлов (1)Файл размещается в блоках хранения данных, принадлежащих кластеру,

данных, принадлежащих кластеру, где находятся его метаданные
Все файлы каталога

размещаются в одном кластере

Слайд 28 Принципы размещения файлов (2)
Каждый новый каталог помещается в

Принципы размещения файлов (2)Каждый новый каталог помещается в группу цилиндров, отличную

группу цилиндров, отличную от группы родительского каталога
Последовательные блоки на

диске размещаются со смещением на некоторый угол

Слайд 29 Принципы размещения файлов (3)
Удовлетворительные результаты по производительности достигаются,

Принципы размещения файлов (3)	Удовлетворительные результаты по производительности достигаются, когда есть по крайней мере 10% свободного пространства

когда есть по крайней мере 10% свободного пространства


Слайд 30 Каталог FFS
Поддерживает имя файла переменной длины до 255

Каталог FFS	Поддерживает имя файла переменной длины до 255 символов

символов


Слайд 31 Запись каталога
d_ino – номер inode
d_reclen – длина записи
d_namlen

Запись каталогаd_ino – номер inoded_reclen – длина записиd_namlen – длина имениd_name[]

– длина имени
d_name[] – имя файла
Имя файла дополняется нулями

до 4-х байтовой границы

Слайд 32 Удаление файла

Удаление файла

Слайд 33 Архитектура виртуальной ФС

Архитектура виртуальной ФС

Слайд 34 Виртуальный inode (vnode)
Интерфейс разработан в 1984
для ufs и

Виртуальный inode (vnode)	Интерфейс разработан в 1984	для ufs и NFS Sun Microsystems	Позволяет

NFS Sun Microsystems

Позволяет работать с любыми типами файловых систем

даже FAT16

Слайд 35 Виртуальный inode (vnode)
Метаданные всех открытых файлов представлены в

Виртуальный inode (vnode)	Метаданные всех открытых файлов представлены в памяти в виде

памяти в виде in-core inode (vnode)

Структура vnode одинакова для

всех файлов, независимо от типа ФС

Слайд 36 Виртуальный inode (vnode)

Виртуальный inode (vnode)

Слайд 37 Операции с vnode (1)

Операции с vnode (1)

Слайд 38 Операции с vnode (2)

Операции с vnode (2)

Слайд 39 Метаданные файла VFS

Метаданные файла VFS

Слайд 40 Монтирование ФС (подключение)

Монтирование ФС (подключение)

Слайд 41 Структура VFS

Структура VFS

Слайд 42 Операции ФС
ы

Операции ФСы

Слайд 43 Коммутатор ФС vfssw

Коммутатор ФС vfssw

Слайд 44 Структуры данных vfs

Структуры данных vfs

Слайд 45 Действия при монтировании ФС
Проверка прав монтирования
Размещение и инициализация

Действия при монтировании ФСПроверка прав монтированияРазмещение и инициализация специфических данных конкретной

специфических данных конкретной ФС (vfs_data)
Размещение vnode для корневого каталога

ФС (vfs_root)

Слайд 46 Доступ к файловой системе

Доступ к файловой системе

Слайд 47 Файловый дескриптор
Таблица дескрипторов хранится в u-area. С дескриптором

Файловый дескриптор	Таблица дескрипторов хранится в u-area. С дескриптором связан указатель на

связан указатель на элемент системной таблицы открытых файлов и

флаг CLOSE_ON_EXEC. Размер таблицы определяет максимальное число открытых данным процессом файлов

Слайд 48 Стандартные дескрипторы
0 – стандартный ввод
1 – стандартные вывод
2

Стандартные дескрипторы0 – стандартный ввод1 – стандартные вывод2 – стандартный протокол

– стандартный протокол


Слайд 49 Системная таблица открытых файлов
При каждом новом открытии файла

Системная таблица открытых файлов	При каждом новом открытии файла (open(), creat()) выделяется

(open(), creat()) выделяется новый элемент. Размер таблицы определяет максимальное

число открытых файлов в системе

Слайд 50 Элемент таблицы
Количество ссылок
Флаги (режим открытия, SYNC и т.п.)
Файловый

Элемент таблицыКоличество ссылокФлаги (режим открытия, SYNC и т.п.)Файловый указательСсылка на vnode

указатель
Ссылка на vnode данного файла (vnode всегда хранится в

единственном экземпляре)

Слайд 51 Открытие (создание) файла
Системные вызовы:
int open(const char *, int,

Открытие (создание) файлаСистемные вызовы:	int open(const char *, int, int);	int creat(const char *, int);Обязательно проверка прав доступа

int);
int creat(const char *, int);

Обязательно проверка прав доступа


Слайд 52 Флаги (не все)
O_RDONLY
O_WROLY
O_RDWR
O_CREAT
O_TRUNC
O_EXCL
O_NONBLOCK

Флаги (не все)O_RDONLYO_WROLYO_RDWRO_CREATO_TRUNCO_EXCLO_NONBLOCK

Слайд 53 Права доступа к новому файлу
Третий параметр open (второй

Права доступа к новому файлу	Третий параметр open (второй параметр creat) &

параметр creat) & ! umask
0777 & ! 022 =

0755
0777 & ! 0777 = 0000
0777 & ! 0 = 0777

Слайд 54 Параметры creat
Системный вызов creat эквивалентен open с

Параметры creat 	Системный вызов creat эквивалентен open с флагами:	O_WRONLY | O_CREAT | O_TRUNC

флагами:

O_WRONLY | O_CREAT | O_TRUNC


Слайд 55 Стандартные операции (1)
int read(int, char *, int);
чтение из

Стандартные операции (1)	int read(int, char *, int);	чтение из файла		int write(int, const

файла

int write(int, const char *, int);
запись в файл

Права доступа

не проверяются

Слайд 56 Стандартные операции (2)
int lseek(int, int, int);
позиционирование файлового указателя
3-й

Стандартные операции (2)	int lseek(int, int, int);	позиционирование файлового указателя	3-й параметр 	SEEK_SET	SEEK_CUR	SEEK_END

параметр
SEEK_SET
SEEK_CUR
SEEK_END


Слайд 57 Стандартные операции (3)
int close(int);
закрытие файлового дескриптора

Последовательно проходим по

Стандартные операции (3)	int close(int);	закрытие файлового дескриптора	Последовательно проходим по ссылкам и освобождаем

ссылкам и освобождаем только те элементы, где число ссылок

станет равным нулю

Слайд 58 Стандартные операции (4)
int dup(int);
int dup2(int, int);
дублирование файлового дескриптора

Стандартные операции (4)	int dup(int);	int dup2(int, int);	дублирование файлового дескриптора

Слайд 59 Стандартные операции (5)
int fcntl(int, int, …);
различные нестандартные операции

Стандартные операции (5)	int fcntl(int, int, …);	различные нестандартные операции с файловым дескриптором

с файловым дескриптором


Слайд 60 Временные параметры
atime
mtime
ctime

Временные параметрыatimemtimectime

Слайд 61 Разреженный файл (файл с дырой)
Последовательность:
write
lseek
write
Дыра логически представлена массивом нулей,

Разреженный файл (файл с дырой)	Последовательность:writelseekwrite	Дыра логически представлена массивом нулей, физически блоки не выделены

физически блоки не выделены


Слайд 62 Буферный кэш

Буферный кэш

Слайд 63 Схема работы

Схема работы

Слайд 64 Обновление «грязных» буферов
Системный вызов sync()
Команда sync
Последнее закрытие файла
Диспетчер

Обновление «грязных» буферовСистемный вызов sync()Команда syncПоследнее закрытие файлаДиспетчер буферного кэша

буферного кэша


Слайд 65
В некоторых версиях UNIX не используется буферный кэш.

В некоторых версиях UNIX не используется буферный кэш. Для оптимизации работы

Для оптимизации работы файловой подсистемы все открытые файлы отображаются

в адресное пространство процесса. Подсистема управления памятью обрабатывает страничные ошибки

Слайд 66 Целостность файловой системы
Нарушения, связанные с
содержимым файла могут

Целостность файловой системыНарушения, связанные с содержимым файла могут быть опасны для

быть опасны для пользователей и для системы (если системный

файл)
метаданными файла всегда опасны для системы

  • Имя файла: faylovaya-sistema-os-unix.pptx
  • Количество просмотров: 126
  • Количество скачиваний: 1