Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

Нажав на кнопку "Отправить", Я даю своё согласие на автоматизированную обработку указанной информации, распространяющейся на осуществление всех действий с ней, включая сбор, передачу по сетям связи общего назначения, накопление, хранение, обновление, изменение, использование, обезличивание, блокирование, уничтожение и обработку посредством внесения в электронную базу данных, систематизации, включения в списки и отчетные формы.


Внутренняя структура каталога файловой системы extX.

Внутренняя структура каталога файловой системы extX.

                Основной функцией любой файловой системы является распределение дискового пространства на именованные участки - файлы. Файловая система extX организована чрезвычайно просто, ее файлы представляют собой просто последовательности байтов. К ним обращаются как к текстовым или двоичным данным, но различаются они лишь содержимым, а не структурой и методом доступа. Эта система универсальна тем, что  в ней не делается  никаких предположений о внутренней структуре данных файла, и доступ к любому внешнему устройству, а также к другому процессу осуществляется как к обычному файлу.

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

Использование дескриптора (описателя файлов) позволяет отделить имя файла, с которым оперирует пользователь, от специфических данных, с которыми работает операционная система. Такой подход чрезвычайно гибок и позволяет манипулировать внешним представлением иерархии файлов, не перемещая самих файлов. Один и тот же файл поместить в разные каталоги, создав в них соответствующие именные ссылки на этот файл, никуда его физически не перемещая. Файл может иметь одно и то же имя в разных каталогах или имена-синонимы, но ссылаться они будут на один и тот же индексный дескриптор, который является ключом для доступа к данным файла.

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

Фрагмент файловой системы и содержание каталогов root (в данном контексте под root понимается корень файловой системы, а не домашний каталог системного администратора) и bin изображены на рис. 1. Каталог root является корневым каталогом тома и потому имеет индексный дескриптор с номером 1. Файлы с именами "." и ".." , в каталоге root ссылаются сами на себя, так как каталога более высокого уровня нет. Имена myprog и prog1 ссылаются на один и тот же индексный дескриптор, т. е. на один и тот же файл.

QIP Shot - Image: 2017-04-25 10:58:06 

Рис. 1. Фрагмент файловой системы (содержание каталогов root и bin).

 

В системе ввода/вывода  все внешние устройства рассматриваются как файлы, над которыми допускается производить обычные файловые операции. Конечно, существуют и драйверы устройств, но интерфейс с ними оформлен для пользователя как обращение к специальному файлу. Специальные файлы являются средством унификации системы ввода/вывода.

Каждому подключенному устройству (терминалу, дискам, принтеру, и т. д.), соответствует как  минимум один специальный файл. Большая часть этих специальных файлов хранится в каталоге /dev:

$ cd /dev

$ ls -l

console пульт управления системы 

dsk  порции на диске

fd0  флоппи-диск 1

mem  память 

принтер

lр0  параллельный порт 0

• • •

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

swap   своп-порция

syscon    альтернативное имя пульта

systty  еще одно имя для системной консоли

term   директория для терминалов

ttyS0 серийный порт 0 (COM1)

• • •

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

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

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

Тип и номер устройства, также являются основными характеристиками специальных файлов (в поле длины помещаются главный и дополнительный номера соответствующего устройства). Первый из них определяет тип устройства, второй - идентифицирует его среди однотипных устройств. ОС может одновременно обслуживать несколько десятков, и даже сотни терминалов. Каждый из них должен иметь свой собственный специальный файл, поэтому наличие главного и дополнительного номеров позволяет установить требуемое соответствие между устройством и таким файлом.

 


Лицензия