Слайд 2Определение
Фа́йловая систе́ма (англ. file system) — регламент, определяющий способ организации,
хранения и именования данных на носителях информации. Она определяет формат
физического хранения информации, которую принято группировать в виде файлов. Конкретная файловая система определяет размер имени файла, максимальный возможный размер файла, набор атрибутов файла. Некоторые файловые системы предоставляют сервисные возможности, например, разграничение доступа или шифрование файлов.
Файловая система связывает носитель информации, с одной стороны, и API для доступа к файлам — с другой.
Слайд 3Файловая система
Файловая система - это часть операционной системы, назначение которой
состоит в том, чтобы обеспечить пользователю удобный интерфейс при работе
с данными, хранящимися на диске, и обеспечить совместное использование файлов несколькими пользователями и процессами.
Файловая система берет на себя организацию взаимодействия программ с файлами, расположенными на дисках. Для идентификации файлов используются имена. Современные файловые системы предоставляют пользователям возможность давать файлам достаточно длинные мнемонические названия.
Слайд 4Файловая система
В широком смысле понятие "файловая система" включает:
совокупность всех
файлов на диске,
наборы структур данных, используемых для управления файлами,
такие, например, как каталоги файлов, дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске,
комплекс системных программных средств, реализующих управление файлами, в частности: создание, уничтожение, чтение, запись, именование, поиск и другие операции над файлами.
Слайд 5Классификация файловых систем
По предназначению файловые системы можно классифицировать на
следующие категории:
Для носителей с произвольным доступом (например, жёсткий диск): FAT32,
HPFS, ext2 и др. Поскольку доступ к дискам в разы медленнее, чем доступ к оперативной памяти, для прироста производительности во многих файловых системах применяется асинхронная запись изменений на диск. Для этого применяется либо журналирование, например в ext3, ReiserFS, JFS, NTFS, XFS, либо механизм soft_updates и др. Журналирование широко распространено в Linux, применяется в NTFS. Soft_updates - в BSD системах. Reiser4 не применяет журналирование, все операции в ней атомарны.
Для носителей с последовательным доступом (например, магнитные ленты): QIC и др.
Для оптических носителей — CD и DVD: ISO9660, ISO9690, HFS, UDF и др.
Виртуальные файловые системы: AEFS и др.
Сетевые файловые системы: NFS, SMBFS, SSHFS, GmailFS и др.
Слайд 6Основные функции файловой системы.
Идентификация файлов. Связывание имени файла с выделенным
ему пространством внешней памяти.
Распределение внешней памяти между файлами. Для
работы с конкретным файлом не требуется иметь информацию о местоположении этого файла на внешнем носителе информации.
Обеспечение надежности и отказоустойчивости. Стоимость информации может во много раз превышать стоимость компьютера.
Обеспечение защиты от несанкционированного доступа.
Обеспечение совместного доступа к файлам, так чтобы пользователю не приходилось прилагать специальных усилий по обеспечению синхронизации доступа.
Обеспечение высокой производительности.
Слайд 7Структура жесткого диска
Базовой единицей жесткого диска является раздел, создаваемый
во время разметки жесткого диска.
Каждый раздел содержит один том,
обслуживаемый какой-либо файловой системой и имеющий таблицу оглавления файлов - корневой каталог.
Некоторые операционные системы поддерживают создание томов, охватывающих несколько разделов.
Жесткий диск может содержать до четырех основных разделов. Это ограничение связано с характером организации данных на жестких дисках IBM-совместимых компьютеров.
Многие операционные системы позволяют создавать, так называемый, расширенный (extended) раздел, который по аналогии с разделами может разбиваться на несколько логических дисков.
Слайд 8Структура жесткого диска
Поверхность диска рассматривается как трехмерная матрица с параметрами:
-
номер поверхности
- номер цилиндра
- номер сектора (кластера)
Цилиндр – совокупность всех
дорожек, принадлежащих разным поверхностям и находящихся на одинаковом удалении от оси диска.
Сектор – область диска =512 байт.
Группы секторов объединяют в кластеры.
Кластер – min единица адресации к данным.
Размер кластера зависит от размера диска.
Слайд 9Кластер
Наименьшей физической единицей хранения данных является сектор. Размер сектора равен
512 байт.
Поскольку размер FAT-таблицы ограничен, то для дисков, размер
которых превышает 32 Мбайт, обеспечить адресацию к каждому отдельному сектору не представляется возможным.
В связи с этим группы секторов условно объединяются в кластеры.
Кластер является наименьшей единицей адресации к данным.
Размер кластера, в отличие от размера сектора, не фиксирован и зависит от емкости диска.
Слайд 10Структура жесткого диска
В первом физическом секторе жесткого диска располагается головная
запись загрузки и таблица разделов (табл. 1).
Головная запись загрузки (master
boot record, MBR) - первая часть данных на жестком диске.
Она зарезервирована для программы начальной загрузки BIOS (ROM Bootstrap routine), которая при загрузке с жесткого диска считывает и загружает в память первый физический сектор на активном разделе диска, называемый загрузочным сектором (Boot Sector).
Каждая запись в таблице разделов (partition table) содержит начальную позицию и размер раздела на жестком диске, а также информацию о том, первый сектор какого раздела содержит загрузочный сектор.
Слайд 12Структура каталогов:
а - структура записи каталога MS-DOS (32 байта);
б - структура записи каталога ОС UNIX
Слайд 13Иерархия каталогов
Иерархия каталогов может быть деревом или сетью. Каталоги образуют
дерево, если файлу разрешено входить только в один каталог, и
сеть - если файл может входить сразу в несколько каталогов. В MS-DOS каталоги образуют древовидную структуру, а в UNIX'е - сетевую. Как и любой другой файл, каталог имеет символьное имя и однозначно идентифицируется составным именем, содержащим цепочку символьных имен всех каталогов, через которые проходит путь от корня до данного каталога.
Слайд 14Логическая организация файловой системы
а - одноуровневая;
б - иерархическая (дерево);
в - иерархическая (сеть)
Слайд 15Файл
Файл — это поименованная область на диске или другом носителе
информации. В файлах могут храниться тексты программ, документы, готовые к
выполнению программы и любые другие данные.
файл - это поименованный набор связанной информации, записанной во вторичную память.
Слайд 16Полное имя файла.
Расширение имени файла (англ. filename extension, часто
говорят просто расширение файла или расширение) — последовательность символов, добавляемых
к имени файла и предназначенных для идентификации типа (формата) файла. Это один из распространённых способов, с помощью которых пользователь или программное обеспечение компьютера может определить тип данных, хранящихся в файле.
Полное имя файла имеет следующий вид ( [ ]-необязательные элементы).
[дисковод:][путь\]имя-файла
т.е состоит из пути к каталогу, в котором находится файл и имени файла, разделенных символом «\», перед которым может стоять имя дисковода. Если дисковод не указан, то подразумевается текущий дисковод. Если путь не указан, то подразумевается текущий каталог.
Слайд 17Имена файлов
Сегодня имена файлов, записанные в соответствии с соглашением 8.3,
считаются «короткими».
Основным недостатком «коротких» имен является их низкая содержательность.
Далеко не всегда удается выразить несколькими символами характеристику файла, поэтому с появлением операционной системы Windows 95 было введено понятие «длинного» имени.
Такое имя может содержать до 256 символов. Этого вполне достаточно для создания содержательных имен файлов.
«Длинное» имя может содержать любые символы, кроме девяти специальных: \ /:*?"<>|.
В имени разрешается использовать пробелы и несколько точек. Расширением имени считаются все символы, идущие после последней точки.
Слайд 18Примеры расширение имени файл :
.com,.exe-исполнимые файлы (готовые к
выполнению программы);
.bat-командные файлы;
.pas-программы на Паскале;
.bak- копия файла, создаваемая перед его
изменением.
.sys-системный или драйверный файл;
.txt –текстовый файл;
.tmp-рабочий временный файл;
.pcx-файл изображения в формате Paintbrash;
.rar, .arj, .zip-архивные;
.dbf -файлы баз данных foxpro
Слайд 19Символы * и ?.
Во многих командах и именах файлов можно
употреблять символы * и ? для указания группы файлов из
одного каталога.
Символ *- обозначает любое число любых символов в имени файла или в расширении имени файла.
Символ ?- обозначает один произвольный символ или отсутствие символа в имени файла или в расширении имени файла.
В имени файлов, содержащих указание на каталог или дисковод, символы * и ? обычно употреблять нельзя в той части имени, которая содержит указания на каталог или дисковод.
Слайд 20Примеры
C:\dos\*.doc-допустимо
C:\*\f.doc- недопустимо
*:\dos\f.doc- -“-
*.bak -все файлы с расширением bak
из текущего дисковода.
C*.d* -все файлы начинающиеся с С, и расширением,
начинающимся с D из текущего каталога.
В:\doc\as???.* -все файлы из каталога В:\doc с именем, начинающимся AS и состоящим не более чем из 5 символов.
Слайд 21Типы файлов
обычные файлы
текстовые
двоичные
специальные файлы - файлы, ассоциированные
с устройствами ввода-вывода, которые позволяют пользователю выполнять операции ввода-вывода, используя
обычные команды записи в файл или чтения из файла:
блок-ориентированные
байт-ориентированные
файлы-каталоги.
Слайд 22Файлы-каталоги
Каталог - это,
с одной стороны - это группа файлов,
объединенных пользователем исходя из некоторых соображений (например, файлы, содержащие программы
игр, или файлы, составляющие один программный пакет),
а с другой стороны - это файл, содержащий системную информацию о группе файлов, его составляющих. В каталоге содержится список файлов, входящих в него, и устанавливается соответствие между файлами и их характеристиками (атрибутами).
Слайд 23Файлы-каталоги
Каталог-это специальное место на диске, в котором хранятся имена файлов,
сведения о размере файлов, времени их последнего обновления, атрибуты (свойства)
файлов и т.д.
Если в каталоге хранится имя файла, то говорят, что этот файл находится в данном каталоге.
На каждом диске может быть несколько каталогов. В каждом каталоге может быть много файлов, но каждый файл всегда регистрируется только в одном каталоге.
Все каталоги на самом деле являются файлами специального вида. Каждый каталог имеет имя, и он может быть зарегистрирован в другом каталоге.
Слайд 24имена каталогов
Требования к именам каталогов те же, что к именам
файлов. Как правило расширение имени для каталогов не используются.
На каждом
диске имеется один главный или корневой каталог. В нем регистрируются файлы и подкаталоги (каталоги 1го уровня). В каталогах 1го уровня регистрируются файлы и каталоги 2-го уровня и т.д. Получается иерархическая древообразная структура каталогов на диске.
Слайд 25Файлы-каталоги
На каждом диске имеется один главный или корневой каталог.
В
нем регистрируются файлы и подкаталоги (каталоги 1го уровня).
В каталогах
1го уровня регистрируются файлы и каталоги 2-го уровня и т.д.
Получается иерархическая древообразная структура каталогов на диске.
Слайд 26Иерархическая файловая система Windows/DOS
C:
\Program files
\CDEx
\CDEx.exe
\CDEx.hlp
\mppenc.exe
\Мои документы
\Wiki.txt
\Tornado.jpg
D:
\Music
\ABBA
\1974 Waterloo
\1976 Arrival
\Money, Money, Money.ogg
\1977 The Album
Слайд 27Иерархическая файловая система Unix и UNIX-подобных операционных системах
/usr
/bin
/arch
/ls
/raw
/lib
/libhistory.so.5.2
/libgpm.so.1
/home
/lost+found
/host.sh
/guest
/Pictures
/example.png
/Video
/matrix.avi
/news
/lost_ship.mpeg
Слайд 28Использование «слеша»
в файловых системах Windows, UNIX и UNIX-подобных операционных системах
(В Windows используется обратный слеш "\", а в UNIX и
UNIX-подобных операционных системах простой слеш "/")
Слайд 29Структура корневого каталога LINUX
Слайд 30Атрибуты файлов
В разных файловых системах могут использоваться в качестве
атрибутов разные характеристики, например:
информация о разрешенном доступе,
пароль для
доступа к файлу,
владелец файла,
создатель файла,
признак "только для чтения",
признак "скрытый файл",
признак "системный файл",
признак "архивный файл",
признак "двоичный/символьный",
признак "временный" (удалить после завершения процесса),
признак блокировки,
длина записи,
указатель на ключевое поле в записи,
длина ключа,
времена создания, последнего доступа и последнего изменения,
текущий размер файла,
максимальный размер файла.
Слайд 31Логическая организация файла
Программист имеет дело с логической организацией файла, представляя
файл в виде определенным образом организованных логических записей.
Логическая запись
- это наименьший элемент данных, которым может оперировать программист при обмене с внешним устройством. Даже если физический обмен с устройством осуществляется большими единицами, операционная система обеспечивает программисту доступ к отдельной логической записи.
Записи могут быть фиксированной длины или переменной длины.
Записи могут быть расположены в файле последовательно (последовательная организация) или в более сложном порядке, с использованием так называемых индексных таблиц, позволяющих обеспечить быстрый доступ к отдельной логической записи (индексно-последовательная организация).
Слайд 32Способы логической организации файлов
Слайд 33Физическая организация и адрес файла
Физическая организация файла описывает правила расположения
файла на устройстве внешней памяти, в частности на диске.
Файл
состоит из физических записей - блоков.
Блок - наименьшая единица данных, которой внешнее устройство обменивается с оперативной памятью.
Слайд 34Основные методы физической организации файла
непрерывное размещение;
связанный список блоков;
связанный список индексов;
перечень номеров блоков
Слайд 35Непрерывное размещение
Непрерывное размещение - простейший вариант физической организации, при котором
файлу предоставляется последовательность блоков диска, образующих единый сплошной участок дисковой
памяти.
Для задания адреса файла в этом случае достаточно указать только номер начального блока.
Другое достоинство этого метода - простота.
Недостатки.
во время создания файла заранее не известна его длина, а значит не известно, сколько памяти надо зарезервировать для этого файла,
при таком порядке размещения неизбежно возникает фрагментация, и пространство на диске используется не эффективно, так как отдельные участки маленького размера (минимально 1 блок) могут остаться не используемыми.
Слайд 36Связанный список блоков
При таком способе в начале каждого блока содержится
указатель на следующий блок.
В этом случае адрес файла также может
быть задан одним числом - номером первого блока. В отличие от предыдущего способа, каждый блок может быть присоединен в цепочку какого-либо файла, следовательно фрагментация отсутствует.
Файл может изменяться во время своего существования, наращивая число блоков.
Недостатком является сложность реализации доступа к произвольно заданному месту файла
Слайд 37Связанный список индексов (FAT)
С каждым блоком связывается некоторый элемент
- индекс. Индексы располагаются в отдельной области диска (в MS-DOS
это таблица FAT).
Если некоторый блок распределен некоторому файлу, то индекс этого блока содержит номер следующего блока данного файла.
При такой физической организации сохраняются все достоинства предыдущего способа.
Снимаются оба отмеченных недостатка:
во-первых, для доступа к произвольному месту файла достаточно прочитать только блок индексов, отсчитать нужное количество блоков файла по цепочке и определить номер нужного блока,
во-вторых, данные файла занимают блок целиком, а значит имеют объем, равный степени двойки.
Слайд 38Перечень номеров блоков ОС UNIX
ОС UNIX использует вариант данного
способа, позволяющий обеспечить фиксированную длину адреса, независимо от размера файла.
Для хранения адреса файла выделено 13 полей.
Если размер файла меньше или равен 10 блокам, то номера этих блоков непосредственно перечислены в первых десяти полях адреса.
Если размер файла больше 10 блоков, то следующее 11-е поле содержит адрес блока, в котором могут быть расположены еще 128 номеров следующих блоков файла.
Если файл больше, чем 10+128 блоков, то используется 12-е поле, в котором находится номер блока, содержащего 128 номеров блоков, которые содержат по 128 номеров блоков данного файла.
Если файл больше 10+128+128(128, то используется последнее 13-е поле для тройной косвенной адресации, что позволяет задать адрес файла, имеющего размер максимум 10+ 128 + 128(128 + 128(128(128.
Слайд 39Физическая организация файла
а - непрерывное размещение;
б - связанный
список блоков;
в - связанный список индексов;
г - перечень
номеров блоков
Слайд 40Права доступа к файлу
создание файла,
уничтожение файла,
открытие файла,
закрытие
файла,
чтение файла,
запись в файл,
дополнение файла,
поиск в
файле,
получение атрибутов файла,
установление новых значений атрибутов,
переименование,
выполнение файла,
чтение каталога,
Слайд 41Права доступа
В самом общем случае права доступа могут быть описаны
матрицей прав доступа, в которой столбцы соответствуют всем файлам системы,
строки - всем пользователям, а на пересечении строк и столбцов указываются разрешенные операции (рисунок).
В некоторых системах пользователи могут быть разделены на отдельные категории. Для всех пользователей одной категории определяются единые права доступа.
В системе UNIX все пользователи подразделяются на три категории: владельца файла, членов его группы и всех остальных.
Слайд 43Два основных подхода к определению прав доступа:
избирательный доступ, когда
для каждого файла и каждого пользователя сам владелец может определить
допустимые операции;
мандатный подход, когда система наделяет пользователя определенными правами по отношению к каждому разделяемому ресурсу (в данном случае файлу) в зависимости от того, к какой группе пользователь отнесен.
Слайд 45Алгоритм работы логического уровня
На логическом уровне определяются координаты запрашиваемой
логической записи в файле, то есть требуется определить, на каком
расстоянии (в байтах) от начала файла находится требуемая логическая запись.
При этом абстрагируются от физического расположения файла, он представляется в виде непрерывной последовательности байт.
Алгоритм работы данного уровня зависит от логической организации файла.
Например, если файл организован как последовательность логических записей фиксированной длины l, то n-ая логическая запись имеет смещение l((n-1) байт.
Для определения координат логической записи в файле с индексно-последовательной организацией выполняется чтение таблицы индексов (ключей), в которой непосредственно указывается адрес логической записи.
Слайд 46Функции физического уровня файловой системы
Слайд 47Исходные данные:
V - размер блока
N - номер первого блока
файла
S - смещение логической записи в файле
Требуется определить
на физическом уровне:
n - номер блока, содержащего требуемую логическую запись
s - смещение логической записи в пределах блока
n = N + [S/V], где [S/V] - целая часть числа S/V
s = R [S/V] - дробная часть числа S/V
Слайд 48Архитектура современной файловой системы
Слайд 50Каждому файлу и подкаталогу в FAT соответствует 32-байтный элемент каталога
(directory entry), содержащий имя файла, его атрибуты (архивный, скрытый, системный
и “только для чтения”), дату и время создания (или внесения в него последних изменений), а также прочую информацию
Слайд 51Методы хранения файлов в системах FAT16 и FAT32
Слайд 53Размеры кластеров по умолчанию для FAT16, FAT32 и NTFS в
Windows Server 2003
Слайд 54Файловая система EXT2
Эта файловая система стала основой для LINUX,
она очень похожа BSD систему.
Вместо групп цилиндров используются группы блоков.
Размещение
файловой системы EXT2 на диске
Слайд 55Файловая система NFS
NFS (Network File System) - сетевая файловая
система. Создана для объединения файловых систем по сети.
Предоставляется доступ к
каталогу (экспортируется) с подкаталогами. Информация об экспортируемых каталогах хранится в /etc/exports. При подключении эти каталоги монтируются к локальной файловой системе.
Слайд 56Поддержка аппаратуры Plug-and-Play
Стандарт Plug-and-Play (PnP) позволяет изменять конфигурацию персонального
компьютера без вмешательства пользователя.
Автоматическая установка устройства — простым подсоединением
его к компьютеру — мгновенно делает это устройство доступным.
Plug-and-Play поддерживается не всеми устройствами и системами, например его не поддерживает Windows NT 4.0, однако это исправлено в следующей версии Windows NT Workstation.