1 Лекция 3. Файловая система ОС UNIX (основные принципы).

Презентация:



Advertisements
Похожие презентации
Операционные системы и среды. Схема устройства жесткого диска Дорожка N Сектор (блок) Пластина 1 Пластина 2 Цилиндр 0 сторона Диск – одна или несколько.
Advertisements

1 Структура диска Файловые системы ОС Windows NT/2000/XP/7 - FAT (File Allocation Table) - NTFS (New Technology File System) Повторение.
1 БАЗЫ ДАННЫХ ФАЙЛЫ И ФАЙЛОВЫЕ СИСТЕМЫ. 2 ДО ФАЙЛОВЫХ СИСТЕМ Данные Управление ПРОГРАММА 2 Данные Управление ПРОГРАММА 3 Данные Управление ПРОГРАММА 1.
Организация данных на жестком диске компьютера Макаренков Д.Е.
Форматирование – создание физической и логической структуры диска Формирование физической структуры диска состоит в создании на диске концентрических дорожек,
Логическая структура носителя информации. ЛОГИЧЕСКАЯ СТРУКТУРА НОСИТЕЛЯ ИНФОРМАЦИИ Логическая структура носителя информации в файловой системе FAT имеет.
Логическая структура носителя информации. ЛОГИЧЕСКАЯ СТРУКТУРА НОСИТЕЛЯ ИНФОРМАЦИИ Логическая структура носителя информации в файловой системе FAT имеет.
Структура диска - FAT (File Allocation Table) - NTFS (New Technology File System) 1.
Форматирование и дефрагментация диска.. Форматирование – создание физической и логической структуры диска Формирование физической структуры диска состоит.
Операционные системы. Проверка д / з В чем состоит магистрально - модульный принцип построения компьютера ? Изобразите схему архитектуры компьютера. В.
Лекция 6 Лекция 6 Введение в обработку данных. Среда хранения и средства обработки информационных массивов. Эволюция и характеристика концепций обработки.
Операционные системы Файловые системы (часть 2). Организация ФС UNIX. Виды файлов Обычный файл (regular file) Каталог (directory) Специальный файл устройств.
Файлы и файловая система Шинкаренко Евгений Александрович МОУ Гимназия 2 г. Черняховск Калининградской области.
Логическая структура дисков Физическая структура – совокупность созданных концентрических дорожек на поверхности диска, разделенных на сектора.
Выполнила: Калашникова Екатерина 11 класс 2008 г..
Основные характеристики операционных систем. Операционная система базовый комплекс программ, обеспечивающий управление аппаратными средствами компьютера,
2005 гРовкина Ксения, 8"Г", шк 81 Жесткий магнитный диск.
Физическая защита данных на дисках. Для обеспечения большей скорости чтения/записи и надёжности хранения записи на дисках используются RAID-массивы (Redundant.
Сетевые службы Для конечного пользователя сеть это не компьютеры, кабели и концентраторы и даже не информационные потоки, для него сеть это, прежде всего,
Операционная система Windows. Windows – графическая операционная система для компьютеров платформы IBM PC Предназначена для управления автономным компьютером.
Транксрипт:

1 Лекция 3. Файловая система ОС UNIX (основные принципы).

2 Термин файловая система - ФС В литературе термин ФС используется для обозначения трех разных понятий: Во-первых, файловая система - это набор правил и конструкций, описывающих то, как сохраняются файлы на диске. В этом смысле мы употребляем, например, выражение "файловая система FAT32", и "файловая система" здесь тождественна понятию "тип файловой системы". Во-вторых, файловая система - это совокупность всех файлов, хранимых в компьютере. В-третьих (и это значение термина характерно именно для UNIX-систем) файловая система - это совокупность всех файлов на разделе диска или устройстве.

3 Термин ФАЙЛ был определён в лекции 2 – в базовых понятиях ОС Unix: 1. Пользователь – зарегистрированное в среде UNIX лицо, которому после надлежащей проверки разрешается работать в системе. 2. Терминал ( ~ интерфейс) – основной инструмент пользователя для работы с системой в интерактивном режиме. 3. Процесс – акт выполнения заранее подготовленной программы (задачи) в отдельном адресном пространстве. 4. Файл – в ОС UNIX – это универсальная абстракция, означающая структурированную, именованную область внешней памяти и / или последовательность байт, служащую для определения и обращения к физическим устройствам компьютера, либо для связи процессов.

4 Термин - «файловая система» ОС UNIX «файловая система» Иерархия каталогов и файлов Часть ядра ОС, которая управляет каталогами и файлами В ОС UNIX термин «файловая система» в основном используется в смысле иерархии каталогов и файлов. Иерархия каталогов и файлов в ОС UNIX представляет единое дерево, которое создаётся с помощью использования концепций монтирования (команда mount - монтирование).

5 Файловые системы ОС UNIX Типы «файловых систем» Локальная файловая система Распределённая (сетевая) файловая система S5 классические ФС UFS для Unix proc ext2 (Linux) … NFS (Sun Microsystems) RFS (AT&T) …. Принято различать следующие типы (классы) файловых систем: иерархия каталогов и файлов не только на локальном устройстве, но и на удалённых устройствах иерархия каталогов и файлов на локальном устройстве

6 Локальные файловые системы ОС UNIX локальные системы Псевдо - файловые системы «Нормальные» (disk-based) файловые системы В локальных файловых систем (ФС) выделяют группы: Примерами псевдо файловых систем являются: proc, sysfs… Примеры «нормальных» файловых систем: s5, ufs, ext2, ext3, XFS… Псевдо - файловые системы располагаются в оперативной памяти.

7 Файловые системы современных версий ОС UNIX имеют сложную архитектуру (различную для различных версий), но все они используют базовые идеи, заложенные разработчиками UNIX (AT&T и Калифорнийский Университет г. Беркли). Примеры файловых систем : /proc – псевдо файловая система, которая используется в качестве интерфейса к структурам данных в ядре. Большинство расположенных в ней файлов доступны только для чтения, но некоторые файлы позволяют изменить переменные ядра. /tmpfs – псевдо файловая система, которая позволяет некоторые файлы не записывать на физические диски. Эти файлы (являются временными) формируются в оперативной памяти, а затем удаляются. Поддерживает работу с виртуальной памятью /devfs – файловая система, хранящая информацию о виртуальных консолях. /sysfs – используется для получения информации о всех устройствах и драйверах …..

8 В качестве основного запоминающего устройства в ОС UNIX используются жёсткие магнитные диски (МД). Связь с МД осуществляется через дисковый контроллер (электронная плата, присоединённая к шине периферийных устройств). Контроллер управляет операциями низкого уровня (пересылка данных, чтение/запись, ошибки ). Основные термины для структуры МД: 1.S - сектор ( блок байт) 2.H – головка (дорожка) 3.C - цилиндр физический адрес (С- цилиндра, Н - дорожки в цилиндре, S - сектора)

9 Физическая модель (схема) МД. Сектора (блоки) делят пластину, вместе с её треками на радиальные фрагменты размером в 512 байтов. Обмен с диском возможен минимум на уровне сектора. Важно то, что головки диска механически двигаются синхронно по поверхности всех пластин, т.е. если на одной из пластин информация считывается с первого трека, то и все прочие головки перемещаются на ту же дорожку, каждая на своей пластине. С точки зрения организации файловых систем интересны именно цилиндры, как совокупность треков, к которым осуществляется синхронный доступ и сектора – минимальные кванты дискового пространства. Доступная BIOS геометрия диска описывается в терминах цилиндр – головка – сектор (C – H – S). Головки чтения/записи считывают информацию с концентрических магнитных дорожек (tracks), на которые поделена каждая дисковая пластина. Вертикальная совокупность треков с одинаковыми номерами на всех пластинах, составляющих диск как физическое устройство, образует цилиндр.

10 Основные проблемы, которые возникают при работе с МД: 1. Скорость работы с файлами (дальнее перемещение головок чтения/записи) 2. Эффективность использования дисковой памяти (внутренняя фрагментация). Файлы могут занимать порядка 5-10% целого блока (сектора) - получается, что оставшаяся часть блока остается незанятой. 3. Эффективность восстановления файловой системы (для решения этой проблемы используется концепция журналирования). 4. «Маленькие» файлы ( 0,5 КБ).

11 Пути решения вышеперечисленных проблем в различных файловых системах: Замечание: концепция группы блоков отличается от концепции группы цилиндров тем, что в ее основе лежит тот факт, что на современных магнитных дисках количество секторов на дорожке (track) уменьшается по мере приближения к центру магнитного диска. s5ufsext2ext3XFSReiserFS Примечания 1-Концепция группы цилиндров Концепция группы блоков Концепция равных по размеру линейных областей Единая общедоступная среда - 2-Концепция фрагмента Переменный размер блока Концепция журналирова ния Работа с маленькими файлами Решение - хранение маленьких файлов в области метаданных

12 Логическая модель магнитного диска. Логическая модель диска основана на том, что вся совокупность (объём) секторов диска представляется в формате линейного пространства, т.е. как последовательность номеров секторов ( 001 ÷ NNN). Распределение ресурсов. 1.Единица распределения ресурсов кратна размеру сектора (В UNIXе – блок, в DOSе - кластер). 2.Состояние единицы распределения ресурса (либо занято, либо свободно). Все пространство дисковой памяти разделено на части (разделы). Любая («нормальная») файловая система создается в одном разделе (т.е. файловая система не может располагаться в нескольких разделах). Главная загрузочная запись MBR (boot-сектор)- CHS = …… NNN Объём секторов МД Пространство дисковой памяти

13 Разделы (partitions) диска. Для распределения совокупности секторов дисковой памяти в линейное пространство необходима единица размещения. Единицу размещения дисковой памяти принято называть блоком (в системах типа Windows –кластером). Блок включает один или несколько секторов. Все линейное дисковое пространство обычно делится на несколько частей – разделов (partitions). В один раздел объединяется группа смежных цилиндров. Разделение всего дискового пространства на разделы полезно по нескольким причинам. Например, это позволяет структурировать хранение данных и исключить (уменьшить) «дальние перемещения» головок чтения/записи и тем самым повысить скорость выполнения операций чтения и записи. Очевидно, что для каждого раздела следует хранить информацию о его начале и конце (т.е. номера первого и последнего из задействованных в разделе цилиндров). Раздел 1 … Раздел i … Раздел k Схема разбиения дискового пространства на разделы

14 Элементы файловой системы Файловая система каждого из разделов диска состоит из нескольких структурных элементов: загрузчик, суперблок, таблица индексных дескрипторов, блоки описания файлов, каталоги и собственно файлы. Раздел 1 … Раздел i … Раздел k 1.Загрузчик 2.Суперблок 3.Область индексных дескрипторов (inode) …. Файлы каталогов Файлы данных …. Загрузочный блок (boot block) - это, как правило, часть метки диска (disk label). В загрузочном блоке записана маленькая программа, которая при старте системы загружает ядро ОС с диска в оперативную память. Загрузочный блок располагается в первом секторе диска. Загрузочный блок имеет смысл только для первого раздела жесткого диска, однако место для него резервируется в каждом разделе.

15 Организация файловой системы S5. Замечание. Обозначение дисков (Linux): /dev/hda – первый диск /dev/hdb – … /dev/hdc – … Разделы: hda1 … используются только первичные разделы hda4 Логические разделы нумеруются, начинается с 5. 1.Загрузчик 2.Суперблок 3.Область индексных дескрипторов i-node …. Файлы каталогов Файлы данных …. Область Мета данных Область данных Суперблок – содержит самую общую информацию о ФС (размер ФС, размер области индексных дескрипторов, их число, список свободных блоков, свободные индексные дескрипторы и т. д.). Суперблок всегда находится в оперативной памяти. Различные версии ОС UNIX способны поддерживать разные типы файловых систем. Поэтому у структуры суперблока могут быть варианты (сведения о свободных блоках, например, часто хранятся не как список, а как шкала бит), но всегда суперблок располагается за загрузочным блоком. Область индексных дескрипторов состоит из inode ов. С каждым файлом связан один inode, но одному inode может соответствовать несколько файлов. В inode хранится вся информация о файле, кроме его имени. Область индексных дескрипторов имеет фиксированный формат и располагается непосредственно за суперблоком Размер индексного дескриптора фиксирован байт. Размер таблицы индексных дескрипторов задается при создании файловой системы на разделе. Область данных – в ней расположены как обычные файлы, так и файлы каталогов (в том числе корневой каталог). ….. i -раз дел …… Разделы диска (на слайд 22)

16 Структура индексного дескриптора (inode). Вся информация о файлах, кроме их содержимого и имени, находится в так называемых дескрипторах (описателях) файлов. Каждому файлу соответствует один дескриптор. Он имеет фиксированный формат и располагается непрерывным массивом, начиная со второго блока. Размер одного индексного дескриптора зависит от типа файловой системы, однако чаще всего его размер равен 128 байт. Общее число дескрипторов - описателей максималь- ного числа файлов - задаётся в момент создания ФС. Описатели нумеруются натуральными числами. Первый описатель закреплён за файлом «плохих» блоков. Второй - описывает корневой каталог ФС. Назначение прочих описателей не имеет фиксированного предназначения. Зная номер и размер описателя нетрудно вычислить его координаты на диске. Inode changed Block count GID __

17 Структура адресной информации inode в системе S5.

18 Замечание: Данный метод адресации задействован и в файловой системе NTFS, используемой в ОС Windows NT/2000/XP. Здесь он дополнен достаточно естественным приемом, сокращающим объем адресной информации: адресуются не блоки файлов, а непрерывные области, состоящие из смежных блоков диска. Каждая такая область, называемая отрезком (run), или экстентом (extent), описывается с помощью двух чисел: начального номера кластера и количества кластеров в отрезке. Так как для сокращения времени операции обмена ОС старается разместить файл в последовательных блоках, то в большинстве случаев количество последовательных областей файла будет меньше количества кластеров файла и объем служебной адресной информации в NTFS сокращается по сравнению со схемой адресации, используемой в различных версиях ОС UNIX.

19 Структура адресной информации индексного дескриптора inode файловой системы ufs. Косвенная адресация ФС ufs является развитием S5. В ufs следует отметить две особенности, которые призваны решить две проблемы: 1- дальние перемещения головок чтения-записи (концепция группы цилиндров) 2- внутренняя фрагментация (концепция фрагментов)

20 Концепция цилиндров После создания файловой системы файлы записываются в последовательные блоки. В дальнейшем (когда файлы создаются, удаляются, изменяются) файлы занимают любые свободные блоки. Таким образом, файл может быть разбросан по всему диску. Таблица индексных дескрипторов находится в начале ФС, поэтому по мере заполнения ФС и увеличения фрагментации всё больше времени тратится на частые и дальние перемещения головок чтения/записи. Для устранения этого недостатка используют концепцию групп цилиндров. Первоначально эта концепция появилась в ФС ufs. По умолчанию ufs использует группы цилиндров, состоящие из 16 цилиндров. Каждая группа цилиндров описывается своим блоком группы цилиндров.

21 Концепция группы цилиндров может быть проиллюстрирована следующим рисунком 1.Загрузчик 2.Суперблок 3.Область индексных дескрипторов inode Блоки данных Загрузчик Суперблок Копия суперблока Блок группы цилиндров Таблица индексных дескрипторов inode Блоки данных Копия суперблока Блок группы цилиндров Таблица индексных дескрипторов inode Блоки данных …. Первая группа цилиндров Вторая группа цилиндров Раздел МД, на котором создаётся ОС (см. слайд 15) Концепция группы цилиндров

22 Замечание: Файлы по-прежнему остаются фрагментированными, однако схема, которую использует ФС ufs, значительно сокращает фрагментацию по сравнению с S5 (где данная концепция не используется). ФС стремится размещать каталоги и входящие в них файлы в одной и той же группе цилиндров. Таким образом, чтобы, например, прочитать файл, потребуется переместить головки максимум на 16 цилиндров. Большие файлы распределяются между группами цилиндров так, чтобы занимать не более 2 мегабайт в каждой из групп. Это предотвращает заполнение группы цилиндров одним файлом. Выигрыш достигается за счёт того, что дальние перемещения головок осуществляются только после того, как прочиталось или записалось 2 Мб информации. Эффективность схемы размещения файлов падает, если системе не хватает места для перемещения информации. Процессы чтения и записи замедляются, если свободно менее 10% ФС. Необходимый запас автоматически резервируется ОС и только суперпользователь имеет право его использовать.

23 Блоки и фрагменты ( в ufs). AAAAAA АААА 1Кб BBB AAAAABBB BBB Преимуществом большого блока является то, что ускоряется обмен данными с диском при передаче больших объёмов информации. Недостаток: блоки больших размеров неэкономно используют дисковое пространство. Для борьбы с внутренней фрагментацией используется метод разбиения блока на фрагменты, которые можно распределять таким образом, чтобы файл мог и не занимать весь блок целиком. Размер фрагмента не меньше размера сектора. 1 блок 2 блок 1 блок 2 блок 1 блок 2 блок Файл А увеличился на 1 кб Файл А увеличился ещё на 1 кб Пример: фрагмент = 1024 байт = 1Кб блок = 8Кб = 8192 байта

24 1.Каталоги – это файлы особого типа (хранятся они в области данных). 2.Структура файла каталога очень проста. Каталог - это таблица, каждый элемент которой состоит минимум из 2-х полей : 3.Способ представления имени зависит от типа ФС. Никакой другой информации в элементе каталога нет, т.е каталог только отображает имя файла номер inod`а В любом каталоге содержатся два стандартных имени : · и ··. Имени · - соответствует inod самого этого каталога. Имени ·· - соответствует inod родительского каталога. (родительским называется каталог, в котором содержится имя данного каталога) Взаимосвязь между элементами каталогов и описателями файлов. имя файла индексного дескриптора-inod

25 4. Один индексныйдескриптор может быть связан с несколькими именами файлов. Такие ссылки называются жёсткими и могут использоваться только внутри одной ФС (нельзя создавать ссылку для файла из другой ФС. Более того – жёсткая ссылка может указывать только на файл – ссылка на каталог может привести к зацикливанию в ФС. Пример: $ln abc pm3x 5. Существует ещё один тип ссылок. Это ссылки содержат только имя файла и называются символическими [ ключ – S в команде ln ] Так как символическая ссылка не указывает на индексный дескриптор, то возможно создание ссылки на файлы, расположенные в другой ФС. Эти ссылки могут указывать на файлы любого типа – даже несуществующие. ВЫВОД: С точки зрения ФС - любой каталог представляет собой обычный файл со своим описателем. Взаимосвязь между элементами каталогов и описателями файлов. имя файла1 - abc -inod = 1013 имя файла2 – pm3x -inod = 1013

26 Взаимосвязь между элементами каталогов и inod` s …..Блокифайлаabc1…. i-inod Загрузчик 2.Суперблок 3.Область inode Блоки данных …abc11013… Область дескрипторов Каталог – Ссылка на abc1 Чтобы получить доступ к файлу abc1 ядро ОС выполняет действия 1.Находит имя abc1 в каталоге, содержащем ссылку на это файл. 2.Выбирает номер инд. дескриптора(1013) файла abc1. 3. По номеру 1013 находит inod в области дескрипторов. 4.Из inod – адреса блоков данных файла abc1 – по эти адресам считывает блоки данных

27 Монтирование ФС. Каждый раздел диска чаще всего содержит свою файловую систему. Чтобы удобно представлять данные в виде дерева, недостаточно хранить содержимое файлов, их имена и структуру этого дерева. Нужно решить массу технических задач, связанных с быстродействием, надежностью, распределением свободного места и т. д. Одну из доступных файловых систем ядро считает корневой. Эта файловая система монтируется на корневой каталог, в результате чего ее содержимое становится доступно в виде дерева каталогов, растущего непосредственно из /. Любой из каталогов текущего дерева может служить точкой монтирования другой файловой системы. При загрузке корневая ФС автоматически монтируется ядром. Администратор должен позаботиться о том, чтобы другие необходимые ФС были также подмонтированы. Обычно они монтируются при загрузке, однако это может быть сделано и после процесса загрузки – командой: mount [-опции] [файловая система] [точка монтирования]

28 Поясним термин - монтирование файловых систем. После выполнения команды mount вида (mount /dev/hda9 /home) содержимое файловой системы, лежащей на разделе, становится доступно в виде дерева, растущего из каталога. Список всех файловых систем, которые монтируются по ходу начальной загрузки, обычно лежит в файле /etc/fstab. Помимо дисковых файловых систем там можно встретить упоминание файловых систем в памяти (временных) или procfs – это ФС, позволяющая в виде дерева каталогов представлять структуру процессов UNIX. Некоторые устройства (например, CD-ROM) помечены noauto в знак того, что при старте их монтировать не надо. Запись в fstab служит только напоминанием, какое именно устройство какой точке монтирования соответствует. Пример: #mount /dev/hda9 /home Чтобы сделать ФС недоступной (отмонтировать): umount [-опции] [ФС или точка монтирования]

29 Замечания: названия стандартных каталогов В UNIX существует довольно строгая договоренность относительно того, как должны называться стандартные каталоги системы и для чего их следует использовать. Регулярно выпускается документ, именуемый FHS (Filesystem Hierarchy Standard) Во многих системах есть отдельная страница руководства man hier, подробно описывающая основные каталоги и их назначение. Содержимого каталогов корневой файловой системы должно быть достаточно для аварийной загрузки и "лечения" UNIX. в /bin и /sbin должны лежать только самые необходимые пользовательские и системные утилиты, в /lib - все, что необходимо для работы этих утилит; в /dev UNIX хранит всевозможные файлы-устройств, в /boot - все, что необходимо для досистемной загрузки. в специальном каталоге /tmp - кто угодно и когда угодно может (временно) хранить свои файлы. важен каталог /etc, содержащий все настройки системы (включая файлы паролей и настройки программных продуктов). Содержимое этих каталогов занимает, как правило, не очень много места; его удобно копировать на какой-нибудь резервный носитель

30 Каталог /var предназначен для файлов, размер (и количество) которых все время меняется: для системных журналов (/var/log), почты (/var/mail), очередей (на печать, на выполнение - /var/spool) и т. п.. Каталог /mnt содержит временные точки монтирования, то есть пустые подкаталоги, на которые при помощи mount можно временно отобразить содержимое какой-нибудь файловой системы (например, того же CD-ROM), не опасаясь, что какие-то файлы при этом не будут видны. Каталог /home принято отводить под домашние каталоги пользователей. Каталог /usr содержит все то, чего не было в /, и что необходимо для штатной работы системы. Многие каталоги называются так же, как и подкаталоги корневого: /usr/bin, /usr/sbin, /usr/lib и другие; их назначение повторяет назначение одноимённых корневых каталогов. Подкаталог man содержит страницы помощи, info - info-систему, doc - прочую документацию, locale и nls задают язык диалога с пользователем (например, русский) и прочие особенности национальной формы представления данных (даты, времени, денежных единиц) И т.д. далее: названия стандартных каталогов

31 Создание ФС. ФС в разделе диска создаётся командой newfs. В этой команде требуется указать имя раздела и строку аргументов, которые будут переданы команде mkfs. mkfs – создаёт ФС. Команде mkfs требуется указать параметры: а) имя раздела, где создаётся ФС; б) размер блоков раздела; в) количество описателей файлов. ФС в минимальном варианте содержит корневой каталог и каталог lost+found.

32 СПАСИБО за внимание! Конец лекции 3