Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курс_лекций_ОС_П+И_2012.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
413.07 Кб
Скачать

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

В ОС LINUX понятие файла имеет более общее значение. Файлом называют любой источник данных, из которого данные могут быть считаны, или любой объект, куда данные могут быть записаны. Таким образом, кроме текстовых и двоичных файлов, файлом называют клавиатуру, как источник ввода данных, дисплей, как источник вывода, и другие устройства ввода – вывода.

Каталог – особый вид файла, куда записываются данные о файлах, объединенных по какому либо признаку. Каталоги образуют иерархическую структуру, в виде дерева. И образуют файловую систему.

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

  • Размещение файлов на внешнем носителе и их удаление;

  • Выполнение операций чтения и записи в файлы;

  • Изменение атрибутов и т.д.

Имя файла имеет неограниченную длину и может содержать несколько суффиксов, имя задается латинскими буквами, может содержать цифры и некоторые специальные символы, символы верхнего и нижнего регистра различаются.

Пример. A123.TX a123.tx ASD.tx.gz arx.rty.tar

Полное имя файла перечисление каталогов, начиная с корневого каталога.

/ HOME / K1 / K12 / name.dt

Типы файлов

В ОС LINUX определены шесть типов файлов:

  1. Обычный файл ( regular file ) - имеет обозначение f или - ;

  2. Каталог ( directory ) - d;

  3. Специальный файл устройства ( special device file ) b / c;

  4. Именованный канал ( named pipe ) - p;

  5. Ссылки ( link ) - l;

  6. Сокет ( socket ) - s;

  1. Обычные файлы – файлы данных, с которыми работает пользователь. Текстовые файлы, содержат коды ASCII. Специальные расширения имен файлов не предусмотрены. Обычные данные могут быть исполнимыми и неисполнимыми.

  2. Каталог – особый файл, который содержит:

    • имена файлов, принадлежащих данному каталогу, в том числе и имена подкаталогов;

    • указатель на метаданные – индекс файла – целое число, которое определяет индексный дескриптор и метаданные в специальной системной таблице - Метаданные содержат сведения о файле и определяют местоположение файла на диске.

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

Системная таблица индексных дескрипторов

Индекс ( указатель)

Имя файла

Индексный дескриптор

Информация о файле

5067

F 2

4576

5069

H67.hg

5067

F2

6021

Ty7.tx

…….

6206

Er.out

6021

Ty7.tx

    1. Специальный файл устройства обеспечивает доступ к какому – либо периферийному устройству. Бывают:

  • байт – ориентированные, или символьные, обеспечивают посимвольный обмен данными;

  • блок – ориентированные, или блочные, обеспечивают обмен данными блоками, обычно 512 байт.

4. Именованный канал – используется для обмена данными между процессами, организован по принципу FIFO - «Первый пришел – первый вышел»/. Каналу присваивается имя, и он представляет собой особый файл, в который данные записываются в порядке их поступления, считывание происходит в том же порядке.

Программа 1: Программа А

Передает данные в считывает данные в

имен. канал имен. канал

именованный канал

Программа А: Программа В

Передает данные в считывает данные в

имен. канал имен. канал

Неименованные каналы используются при выполнении команд с использованием конвейера, т. е. когда выход одной команды сразу передается на вход другой.

5. Ссылки – символическая связь, которая указывает на другой файл ( ярлык );

Возможна ситуация, когда в разных каталогах для разных имен файлов имеются ссылки на одни и те же метаданные, т. е. файлы имеют один и тот же индекс (индексный дескриптор). Несколько имен файлов жестко связаны с одним и тем же набором данных. Такая связь называется – жесткой связью. Такие файлы имеют одни и те же атрибуты. Внесение изменений в один файл приведет к появлению тех же самых изменений в другом файле.

индекс

Имя файла

индекс

Имя файла

5967

As.tx

5687

Asd3/tx

6709

Ty6.gt

5784

Er.out

6905

T y8.gt

6905

My_file.dt

8005

mellon

8005

nilon

6. Сокет – специальные файлы. Которые используются для организации взаимодействия между процессами в компьютерных сетях

Атрибуты файлов

ОС LINUX – многопользовательская ОС, поэтому должно быть обеспечено ограничение на действия пользователя с файлами (данными). Это реализуется с помощью прав доступа к файлам, которые приписываются каждому файлу. Права доступа (атрибуты) определяются по назначению файла. Администратор имеет неограниченный доступ к файловой системе, поскольку при выполнении действий с файлами от имени администратора ОС не проверяет права доступа.

Все пользователи поделены на три категории:

  • Владелец - user;

  • Группа - group;

  • Остальные пользователи - other;

Для каждой категории устанавливаются права:

  • На чтения файла - r

  • На запись файла - w

  • На выполнение файла - x

При создании файла устанавливаются права: user – r / w , group - r, other - x

владелец

группа

Другие

чтение

запись

выполн

чтение

запись

выполн

чтение

запись

выполн

Пример.

RWX RWX RWX – отсутствует защита, файл можно читать, записывать, выполнять всем пользователям.

RWX RW- --- - владелец может читать. Писать, выполнять файл, другие члены группы могут читать и записывать в файл.

---- --- --- - прав нет, только у администратора.

Физическая организация данных

Физическая организация данных Linux file System ( UFS ) была разработана на основе файловой системы S5 ( одной из ранних версий LINUX ) и расширяет возможности S5 по поддержке больших дисков и файлов. В ОС LINUX физическая организация данных имеет название ext2, ext3 и основана на файловой организации данных UFS. Диск разделен на блоки ( кластеры ), обычно по 8 кбайт.

Загрузочный блок

Superblock

Содержит служебную информацию:

  • Размер области индексных дескрипторов;

  • Число индексных дескрипторов;

  • Список свободных блоков;

  • Список свободных индексных дескрипторов;

Область индексных дескрипторов

ИД расположены по порядку номеров

Область данных

Содержит данные:

Обычные файлы;

Каталоги;

Файлы устройств представлены записью спец. формата

Основной особенностью физической организации данных UFS является отделение имени файла от его характеристик. Характеристика файла хранятся в отдельной структуре – индексном дескрипторе, который содержит:

  • Тип файла;

  • Владельца файла;

  • Атрибуты файла ( права доступа );

  • Время создания, последней модификации, последнего обращения;

  • Размер файла в байтах;

  • Номера блоков на диске, которые занимает этот файл.

Каждый индексный дескриптор имеет свой номер, ИД располагаются в области ИД по порядку, ИД однозначно определяет уникальное имя файла. Соответствие между уникальным именем файла и символьным именем файла устанавливается с помощью иерархии каталогов.

Система ведет список свободных номеров ИД, при создании файла ему выделяется номер из этого списка, при уничтожении файла номер ИД возвращается в список свободных.

Для хранения адреса выделено 15 полей по 4 байта. В первые 12 полей записываются номера блоков, в которых хранятся данные файла – прямая адресация.

0

1

2

3

4

5

11

12

13

14

15

Если 12 блоков недостаточно, т. е. файл имеет длину более 12 * 8 кбайт = 98304 байт, то выделяется еще одно поле, в котором содержится адрес следующих 12 полей. Используется косвенная адресация.

0

1

2

3

4

5

1 2

13

14

15

К освенная адресация

Если тринадцать блоков недостаточно, то первые двенадцать блоков содержат адреса данных – прямая адресация. Тринадцатый блок содержит адрес следующих двенадцати полей, в которых содержатся данные – косвенная адресация. Четырнадцатый блок содержит адрес следующих 12 полей, в которых записаны адреса блоков, которые содержат адреса следующих 12 полей, которые содержат уже адреса данных - двойная косвенная адресация.

Для очень больших файлов может использоваться тройная косвенная адресация, максимальный размер файла - 7 * 10 13 байт.