Система управления данными

Содержание

Слайд 2

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

Понятие файла Организация файлов Логическая организация Распределение цепочками блоков Распределение с цепочками
поблочного отображения
Структура магнитного диска
Файловые системы ОС UNIX
Файловый интерфейс
Файловая система System V
Файловая система BSD UNIX
Виртуальная файловая система
Буферный кэш
Файловая система NTFS

Слайд 3

Понятие файла

Файл – поименованная совокупность данных
Файл как набор данных на носителе -

Понятие файла Файл – поименованная совокупность данных Файл как набор данных на
физический файл
Файл как логический объект для работы с данными из программы пользователя – логический файл
Система управления файлами обеспечивает интерфейс между физическими файлами и программными процессами в ней следует различать физический и логический уровни (подсистемы)

Слайд 4

Физический уровень

Логический уровень

Файловая система

Программные процессы

Интерфейс файловой системы

Физический уровень Логический уровень Файловая система Программные процессы Интерфейс файловой системы

Слайд 5

Операции над файлами
Открытие файла
Закрытие файла
Создание файла
Удаление файла
Копирование файла

Операции над данными
Чтение
Запись
Обновление
Вставка
Исключение

Операции над файлами Открытие файла Закрытие файла Создание файла Удаление файла Копирование

Слайд 6

Функции файловой системы

Создание, модификация и уничтожение файлов.
Разделение файлов. При этом обеспечивается возможность

Функции файловой системы Создание, модификация и уничтожение файлов. Разделение файлов. При этом
одновременной работы с файлом нескольких процессов.
Защита данных от несанкционированного доступа.
Защита данных от разрушения и обеспечение средств восстановления файла после ошибок.
Обеспечение пользователя интерфейсом на логическом уровне.

Слайд 7

Дескриптор файла

Имя файла (в операционной системе UNIX имя файла не входит

Дескриптор файла Имя файла (в операционной системе UNIX имя файла не входит
в дескриптор).
Данные, необходимые для указания на размещение файла.
Способ организации файла.
Тип устройства.
Данные для управления доступом к файлу.
Тип файла (текст, объектный модуль и др.).
Время создания, последнего изменения и последнего доступа к файлу.
В различных операционных системах в дескриптор файла может входить и другая информация.

Слайд 8

Организация файлов

Организация файлов

Слайд 9

Логическая организация

Физическая запись – минимальный блок данных при организации обмена с накопителем.
Логические

Логическая организация Физическая запись – минимальный блок данных при организации обмена с
записи – структуры данных, которая рассматривается как единое целое с точки зрения пользователя.
Несблокированные записи – каждая логическая запись содержит одну физическую запись.
Сблокированные записи – логическая запись включает в себя несколько физических записей.
Записи фиксированной длины. Все записи имеют одинаковую длину.
Записи переменной длины. В этом случае необходимо явно указывать фактическую длину каждой записи. Для сблокированных записей кроме длины записи указывается длина каждого блока.
Записи неопределенной длины. Записи имеют различную длину, но длина записи явно не задается, при этом для разделения записей используются специальные маркеры конца записи.

Слайд 10

Логическая организация файла

Неструктурированный файл

EOF

Запись

Запись

Запись

Запись

Запись

Запись

Записи фиксированной длины

Записи переменной длины

Длина

Запись

Логическая организация файла Неструктурированный файл EOF Запись Запись Запись Запись Запись Запись

Слайд 11

Распределение цепочками блоков

Каталог

Распределение цепочками блоков Каталог

Слайд 12

Распределение с цепочками индексных блоков

Каталог

Данные

Данные

Данные

Данные

Данные

Индексные блоки

Распределение с цепочками индексных блоков Каталог Данные Данные Данные Данные Данные Индексные блоки

Слайд 13

Распределение с таблицами поблочного отображения

Каталог

0

1

2

3

4

5

6

7

8

name

3

1

5

8

6

Nill

Таблица отображения

Распределение с таблицами поблочного отображения Каталог 0 1 2 3 4 5

Слайд 14

Структура магнитного диска

Цилиндр

Дорожка

Сектор (блок)

Пластина 1

Пластина 2

Структура магнитного диска Цилиндр Дорожка Сектор (блок) Пластина 1 Пластина 2

Слайд 15

Разбиение диска на разделы

Физический адрес [c-h-s]
Номер цилиндра - c
Номер головки (рабочей поверхности)

Разбиение диска на разделы Физический адрес [c-h-s] Номер цилиндра - c Номер
– h
Номер сектора – s
Типы разделов – primary и extended
Главная загрузочная запись – MBR (master boot record) – [0-0-1]

Слайд 16

Формат элемента таблицы разделов

Формат элемента таблицы разделов

Слайд 17

Типы разделов

00 – Empty
01 – FAT12
04 – FAT16 (<32MB)
05 – Extended
06 –

Типы разделов 00 – Empty 01 – FAT12 04 – FAT16 (
FAT16
07 – NTFS
82 – Linux swap
83 – Linux native
85 – Linux extended
86 – NTFS volume set

Слайд 18

Разбиение диска на разделы

MBR

Загрузочный сектор

С:

D:

E:

Загрузочный сектор

Загрузочный сектор

Расширенная таблица разделов

Расширенная таблица разделов

Первичный раздел

Расширенный

Разбиение диска на разделы MBR Загрузочный сектор С: D: E: Загрузочный сектор
раздел

MBR

Логический диск D:

Адрес таблицы для диска E:

Первая расширенная таблица разделов

Логический диск E:

Вторая расширенная таблица разделов

Слайд 19

Ограничения MBR

Диск в формате MBR может иметь только четыре основных раздела и может управлять

Ограничения MBR Диск в формате MBR может иметь только четыре основных раздела
данными только до 2 ТБ .
Диски MBR резервируют первый сектор диска для хранения информации о разделах диска и расположении файлов операционной системы.
В случае MBR данные о разделе диска и загрузочные команды хранятся в одном месте.
MBR плохо справляется с ошибками и плохо поддается восстановлению.

Слайд 20

Таблица разделов с глобально уникальными идентификаторами (GUID Partition Table)

GPT — стандарт формата размещения таблиц

Таблица разделов с глобально уникальными идентификаторами (GUID Partition Table) GPT — стандарт
разделов на физическом жестком диске.
Он является частью Расширяемого микропрограммного интерфейса (Extensible Firmware Interface, EFI) — стандарта, предложенного Intel на смену BIOS.
EFI использует GPT там, где BIOS использует Главную загрузочную запись  (MBR).

Слайд 21

Каждый логический блок (LBA) имеет размер 512 байт
Каждая запись (entry) — 128 байт.
Отрицательные

Каждый логический блок (LBA) имеет размер 512 байт Каждая запись (entry) —
адреса логических блоков обозначают нумерацию с конца диска (-1 — последний блок, -2 — предпоследний и т.д.)

Слайд 22

MBR присутствует в самом начале диска (блок LBA 0) как для защиты,

MBR присутствует в самом начале диска (блок LBA 0) как для защиты,
так и в целях совместимости.
GPT использует современную систему адресации логических блоков (LBA).

Слайд 23

Оглавление таблицы разделов (LBA 1) указывает те логические блоки на диске, которые

Оглавление таблицы разделов (LBA 1) указывает те логические блоки на диске, которые
могут быть задействованы пользователем . Оно также указывает число и размер записей данных о разделах, составляющих таблицу разделов. Стандартно в Microsoft Windows резервируется 128 записей данных о разделах. Таким образом, возможно создание 128 разделов на диске.
Оглавление содержит GUID (глобально уникальный идентификатор) диска. В оглавлении также содержится его собственный размер и местоположение (всегда блок LBA 1), а также размер и местоположение вторичного (запасного) оглавления и таблицы разделов, которые всегда размещаются в последних секторах диска.

Слайд 24

Записи данных о разделах (Partition entries) (LBA 2-33) расположены с равным приращением

Записи данных о разделах (Partition entries) (LBA 2-33) расположены с равным приращением
адресов. Первые 16 байт определяют GUID типа раздела. Например, GUID системного EFI-раздела имеет вид «C12A7328-F81F-11D2-BA4B-00A0C93EC93B».
Следующие 16 байт содержат GUID, уникальный для данного конкретного раздела. Далее записываются данные о начале и конце 64-битных LBA, если они имеются. Остальное место отводится информации об именах и атрибутах разделов.

Слайд 25

Различия между MBR и GPT

1. MBR-диск может содержать только до 4 основных

Различия между MBR и GPT 1. MBR-диск может содержать только до 4
разделов, в то время как GPT-диски могут иметь до 128 основных разделов.
2. Если необходимо создать более четырех разделов, надо создать расширенный раздел на дисках MBR, а затем создать логические разделы, тогда как на дисках GPT такого принуждения нет.
3. Первый сектор и только первый сектор MBR-дисков содержат информацию о жестком диске, в то время как в GPT-дисках информация о жестком диске и его разделах реплицируется более одного раза, поэтому он работает, даже если первый сектор поврежден

Слайд 26

4. MBR-диск не сможет управлять дисками емкостью более 2 ТБ, в то

4. MBR-диск не сможет управлять дисками емкостью более 2 ТБ, в то
время как для дисков GPT такого ограничения нет
5. Все операционные системы поддерживают диски MBR, в то время как для GPT совместимы только 64-разрядные Windows XP и более поздние версии Windows.
6. Для поддержки загрузки только Windows 8 и10 поддерживают 32-разрядную загрузку, в противном случае все предыдущие версии, такие как Windows 7, Windows Vista, 32-разрядные версии Windows XP, не могут загружаться с GPT-дисков.

Слайд 27

Типы файлов:
Обычный файл
Каталог
Специальный файл устройства
Именованный канал
Связь
Сокет

Файловые системы ОС UNIX

Типы файлов: Обычный файл Каталог Специальный файл устройства Именованный канал Связь Сокет Файловые системы ОС UNIX

Слайд 28

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

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

Слайд 29

Организация жесткой связи

/home/dir1

/home/dir2

678
12345
246
23567

3121
223344
12345
24667

12345

Метаданные (inode)

Данные

ln <имя файла>

Организация жесткой связи /home/dir1 /home/dir2 678 12345 246 23567 3121 223344 12345

Слайд 30

Символическая связь

/home/dir1

/home/dir2

678
NAME1 12345
246
23567

3121
223344
NAME2 3344
24667

12345

Метаданные (inode)

Данные

3344

Метаданные (inode)

Данные

/home/dir1/NAME1

Символическая связь /home/dir1 /home/dir2 678 NAME1 12345 246 23567 3121 223344 NAME2

Слайд 31

Файловый интерфейс
#include
#include
#include
int open(const char *path, int flags, mode_t mode);
O_RDONLY

Файловый интерфейс #include #include #include int open(const char *path, int flags, mode_t
‑ открытие файла только для чтения;
O_WRONLY ‑ открытие файла только для записи;
O_RDWR ‑ открытие файла для чтения и записи.
Значение параметра может логически складываться с модификаторами:
O_APPEND ‑ данные добавляются в конец файла;
O_CREAT ‑ создается файл, если он не существует;
O_TRUNC ‑ если файл существует, то его содержимое теряется, а размер устанавливается равным 0;
O_EXCL ‑ используется совместно с флагом O_CREAT, в этом случае попытка создать файл, если он уже существует оканчивается неудачей.

Слайд 32

Чтение из файла:
int read(int fdes, char *buf, size_t count);
Запись в

Чтение из файла: int read(int fdes, char *buf, size_t count); Запись в
файл может выполняться по функции:
int write(int fdes, char *buf, size_t count);
Первый параметр используется дескриптор файла.
Второй параметр указывает на буфер обмена.
Третий параметр ‑ длина буфера.
Закрывается файл функцией
int close(int fdes);

Слайд 33

Работа с каталогами

#include
#include
int mkdir(const char *path_name, mode_t mode);
int rmdir(const char

Работа с каталогами #include #include int mkdir(const char *path_name, mode_t mode); int
*path_name);
int chdir(const char *path_name);
char *getcwd(char *name, size_t size);
int chmod(const char *path_name, mode_t flag);
int fchmod(int fdesc, mode_t flag);

Слайд 34

POSIX.1, SVR4

#include
#include
DIR *opendir(const char *dirname);
int closedir(DIR *dirptr);
struct dirent *readdir(DIR *dirptr);
void

POSIX.1, SVR4 #include #include DIR *opendir(const char *dirname); int closedir(DIR *dirptr); struct
rewinddir(DIR *dirptr);

Слайд 35

#include
#include
#include
main(int argc, char *argv[])
{
struct dirent *mydir;
DIR *dir_ds;

#include #include #include main(int argc, char *argv[]) { struct dirent *mydir; DIR
if((dir_ds = opendir(argv[1])) == NULL) {
perror("Ошибка открытия каталога");
return 1;
}
while((mydir = readdir(dir_ds)) != NULL)
printf("Файл - %s, inode = %d\n", mydir->d_name, mydir->d_ino);
puts("Конец каталога");
closedir(dir_ds);
return 0;
}

Слайд 36

Файловая система System V (s5fs)

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

Файловая система System V (s5fs) Суперблок: Тип файловой системы (s_type) Размер файловой
блоках, включая сам суперблок, ilist и блоки хранения данных (s_fsize)
Размер массива индексных дескрипторов (s_isize)
Число свободных блоков, доступных для размещения (s_tfree)
Число свободных inode, доступных для размещения (s_tinode)
Флаги (флаг модификации s_fmod, флаг режима монтирования s_fronly)
Размер физического блока(512, 1024, 2048)
Список номеров свободных inode
Список адресов свободных блоков

Слайд 37

Структура индексного дескриптора

struct dinode {
unsigned short di_mode; //режим доступа и тип файла
short

Структура индексного дескриптора struct dinode { unsigned short di_mode; //режим доступа и
di_nlink; //счетчик жестких ссылок
short di_uid; //идентификатор владельца
short di_gid; //идентификатор группы
off_t di_size; //размер файла в байтах
char di_addr[40]; //указатели на блоки диска
time_t di_atime; //время последнего доступа к файлу
time_t di_mtime; //время последней модификации данных
time_t di_ctime; //время последней модификации inode
};

Слайд 38

SUID

SGID

sticky bit

user

group

other

di_mode

SUID SGID sticky bit user group other di_mode

Слайд 40

Файловая система BSD UNIX (FFS, ufs)

Физическая организация файловой системы

Файловая система BSD UNIX (FFS, ufs) Физическая организация файловой системы

Слайд 41

Адреса блоков / фрагментов

Блоки хранения данных

Карта свободных блоков/фрагментов

1

1

1

1

1

1

0

0

0

0

1

1

1

1

1

1

1

0

0

0

0

0

0

1

1

1

1

1

Адреса блоков / фрагментов Блоки хранения данных Карта свободных блоков/фрагментов 1 1

Слайд 42

Second Extended File System – ext2
ext – 1992 год
ext2

Second Extended File System – ext2 ext – 1992 год ext2 –
– 1993 год
Физическая организация
Блоки 1024, 2048, 4096, 8192 байта

Файловые системы ОС Linux

Слайд 43

Структура блочной группы

Структура блочной группы

Слайд 44

Суперблок

Общее число блоков inode в ФС
Размер блока ФС
Количество блоков и inode в

Суперблок Общее число блоков inode в ФС Размер блока ФС Количество блоков
группе блоков
Размер inode
Идентификатор ФС

Слайд 45

Запись в глобальной дескрипторной таблице

Номера блоков, соответствующих местоположению битовой карты распределения блоков
Номер

Запись в глобальной дескрипторной таблице Номера блоков, соответствующих местоположению битовой карты распределения
блока для битовой карты расположения inode
Номер блока в таблице inode
Число свободных блоков в группе
Число inode, содержащих каталоги

Слайд 46

Дескриптор группы

Таблица inode

Блочная группа

Битовая карта распределения inode

Битовая карта распределения блоков

Таблица inode

Количество

Дескриптор группы Таблица inode Блочная группа Битовая карта распределения inode Битовая карта
свободных блоков

Количество свободных inode

inode

Слайд 47

Элемент каталога

Номер inode
Длина элемента каталога
Длина имени файла
Тип файла
Имя файла

Элемент каталога Номер inode Длина элемента каталога Длина имени файла Тип файла Имя файла

Слайд 48

Ограничения ext2

Max размер файла: 16 Гб – 2 ТБ (в зависимости от

Ограничения ext2 Max размер файла: 16 Гб – 2 ТБ (в зависимости
размера блока)
Max число файлов: 1018
Max длина имени файла: 255 байт
Max размер тома: 2 – 32 ТБ
Точность хранения даты: 1 секунда

Слайд 49

Файловая система ext3

Режимы журналирования:
writeback – в журнал записываются только метаданные файловой

Файловая система ext3 Режимы журналирования: writeback – в журнал записываются только метаданные
системы;
ordered – запись в файл производится до записи об изменении этого файла;
jornal – полное журналирование, как метаданных, так и пользовательских данных.
mount /dev/hda6 /mnt/disc_C –t ext3 –o data <режим>

Слайд 50

Ограничения размеров

Ограничения размеров

Слайд 51

Файловая система ext4

Монтируется как

ФС на диске

ext4

ext3

ext3

ext4

ext4

ext4

Прямая совместимость

Обратная совместимость

Файловая система ext4 Монтируется как ФС на диске ext4 ext3 ext3 ext4

Слайд 52

Виртуальная файловая система (vfs)

Процессы

Интерфейс системных вызовов

read(), write() ….

Интерфейс виртуальной файловой системы vfs

Виртуальная файловая система (vfs) Процессы Интерфейс системных вызовов read(), write() …. Интерфейс виртуальной файловой системы vfs

Слайд 53

Основные поля vnode

Основные поля vnode

Слайд 54

Операции vnode

Операции vnode

Слайд 55

Независимые метаданные

Независимые метаданные

Слайд 56

Монтирование файловых систем

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

vsw_name
vsw_init()
vsw_vfops

vfs_next
vfs_op
vfs_data
. . . . . . . .

vfs_next
vfs_op
vfs_data
.

Монтирование файловых систем Коммутатор ФС vfssw vsw_name vsw_init() vsw_vfops vfs_next vfs_op vfs_data
. . . . . . .

Данные реальной ФС

vfs

vfs

s5fs vfsops

vfs_mount()
vfs_umount()
. . . . . . . . . .

Слайд 57

Структура vfs

Структура vfs

Слайд 58

Операции файловой системы

Операции файловой системы

Слайд 59

Доступ к файлу

Процесс

u-area

fd[0]

fd[1]

fd[2]

Системная файловая таблица

Таблица vnode

Доступ к файлу Процесс u-area fd[0] fd[1] fd[2] Системная файловая таблица Таблица vnode

Слайд 60

Буферный кэш

. . . . . . .

Буферный кэш . . . . . . .

Слайд 61

Заголовок буфера

Заголовок буфера

Слайд 62

Файловая система NTFS

Поддержка больших файлов и больших дисков до 264Кб
Восстанавливаемость после сбоев

Файловая система NTFS Поддержка больших файлов и больших дисков до 264Кб Восстанавливаемость
и отказов программ и аппаратуры
Высокая скорость операций
Низкий уровень фрагментации
Гибкая структура, допускающая развитие за счет добавления новых типов записей и атрибутов файлов с сохранением совместимости с предыдущими версиями
Устойчивость к отказам дисковых накопителей
Поддержка длинных символьных имен
Контроль доступа к каталогам и отдельным файлам

Слайд 63

Основные единицы хранения

Сектор. Физическая запись (512 байт).
Кластер. Один или несколько последовательных секторов

Основные единицы хранения Сектор. Физическая запись (512 байт). Кластер. Один или несколько
на одной дорожке. Количество секторов в кластере равно степени двойки. Возможный диапазон размера кластера от 512 байт до 64Кбайт.
Том. Логический раздел диска. Том может занимать весь диск, его часть или включать в себя несколько дисков.

Слайд 64

Структура тома

Загрузочный сектор

MFT

Системные файлы

Область файлов

Структура тома Загрузочный сектор MFT Системные файлы Область файлов

Слайд 65

Метафайлы NTFS

Метафайлы NTFS

Слайд 66

Системный набор атрибутов

Attribute List (список атрибутов) – ссылки на номер записи MFT,

Системный набор атрибутов Attribute List (список атрибутов) – ссылки на номер записи
где расположен каждый атрибут, используется, если атрибуты файла не умещаются в одной записи MFT.
File Name (имя файла) – имя файла в Unicode, а также номер входа в таблице MFT
MS-DOS Name (имя MS-DOS) – имя файла в формате MS DOS
Version (версия) – номер последней версии файла
Security Descriptor (дескриптор безопасности) – информация о защите файла
Volume Version (версия тома) – используется только в системных файлах тома
Volume Name (имя тома) – имя тома
Data (данные) – содержит обычные данные файла
MFT bitmap (битовая карта MFT) – карта использования блоков на томе

Слайд 67

Index Root (корень индекса) – корень В-дерева, используемого для поиска файлов в

Index Root (корень индекса) – корень В-дерева, используемого для поиска файлов в
каталоге
Index Allocation (размещение индекса) – нерезидентные части индексного списка В-дерева
Standard Information (стандартная информация) – время создания, время обновления и т.д.

Слайд 68

Пример записи MFT

Директория

Запись MFT

Запись MFT

Файл 4

Файл 2

Файл 3

Файл 1

Данные атрибута 1

Заголовок

Пример записи MFT Директория Запись MFT Запись MFT Файл 4 Файл 2
атрибута 3

Данные атрибута 3

Заголовок атрибута 4

Данные атрибута 4

Слайд 69

Типы файлов

Небольшой файл (small) размер менее 1500 байт

SI – стандартная информация
FN –

Типы файлов Небольшой файл (small) размер менее 1500 байт SI – стандартная
имя файла
Data – данные
SD – дескриптор безопасности

Слайд 70

Большой файл (large)

Запись MFT

SI

FN

Data

SD

Отрезок данных 1

Отрезок данных 2

Отрезок данных 3

Большой файл (large) Запись MFT SI FN Data SD Отрезок данных 1

Слайд 71

Очень большой файл (huge)

SI

FN

SD

AL

Записи MFT

Очень большой файл (huge) SI FN SD AL Записи MFT

Слайд 72

Сверхбольшой файл (extremely huge)

SI

AL

FN

SD

Data

Data

Data

Записи MFT

Отрезки данных

Сверхбольшой файл (extremely huge) SI AL FN SD Data Data Data Записи MFT Отрезки данных

Слайд 73

Каталоги

Небольшой каталог

Большой каталог

IA

<имена файлов>

IR

IR

<имена файлов>

<имена файлов>

Каталоги Небольшой каталог Большой каталог IA IR IR

Слайд 74

Система восстановления данных

Служба системного журнала

Запись кэша

Диспетчер кэша

Сброс журнала на диск

Обращение к отображенному

Система восстановления данных Служба системного журнала Запись кэша Диспетчер кэша Сброс журнала
файлу или сброс кэша

Диспетчер виртуальной памяти

Загрузка данных с диска в память

Запись транзакции

Драйвер диска

Драйвер отказоустойчивости

Драйвер NTFS

Диспетчер ввода-вывода

Чтение/запись файла

Имя файла: Система-управления-данными.pptx
Количество просмотров: 31
Количество скачиваний: 0