Добавил:
Developerrnrn Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС Нижний.pdf
Скачиваний:
34
Добавлен:
25.03.2023
Размер:
2.75 Mб
Скачать

Лабораторный практикум по курсу "Операционные системы"

 

 

Таблица файлов

 

 

Таблица виртуальных

 

 

 

 

 

индексных дескрипторов

Пользовательская

 

 

 

 

 

 

 

 

 

 

таблица файлов

 

 

 

 

 

(своя у каждого

 

 

 

vnode data

FAT inode data

процесса)

 

 

 

vnode data

FAT inode data

 

 

 

 

 

vnode data

ext3 inode data

0

 

 

 

 

 

 

vnode data

ext3 inode data

1

 

 

 

 

 

 

 

Блоки данных,

Блоки данных,

2

 

 

 

 

 

3

 

 

 

не зависящие от

зависящие от

 

 

 

 

 

 

 

типа ФС

типа ФС

 

 

 

 

 

Рис. 45 Связь между таблицами, используемыми при работе с файлами в VFS

Типы объектов в VFS

Виртуальная файловая система VFS поддерживает следующие типы файлов:

-обычные файлы;

-каталоги;

-специальные файлы;

-именованные конвейеры (именованные каналы);

-символьные связи (мягкие ссылки).

Символьные связи (мягкие ссылки)

Мягкая связь, называемая символьной связью, реализуется с помощью системного вызова symlink. Символьная связь – это файл данных, содержащий имя файла, с которым предполагается установить связь. Слово "предполагается" использовано потому, что символьная связь может быть создана даже с несуществующим файлом. При создании символьной связи образуется как новый вход в каталоге, так и новый индексный дескриптор inode. Кроме этого, резервируется отдельный блок данных для хранения полного имени файла, на который он ссылается.

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

Имеются три системных вызова, которые имеют отношение к символьным связям:

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

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

-lchown - аналогичен системному вызову chown, но используется для изменения владельца самой символьной связи.

Именованные конвейеры (именованные каналы)

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

Учебно-исследовательская лаборатория «Информационные технологии» 93

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