Рейтинг@Mail.ru

Наши друзья и партнеры

купить дешевый 
компьютер родом из Dhgate.com



Все подробности Подбор тура от Корал Тревел, Поиск тура от Корал Тревел тут.


Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

ГЛАВА 5. СИСТЕМНЫЕ ОПЕРАЦИИ ДЛЯ РАБОТЫ С ФАЙЛОВОЙ СИСТЕМОЙ

В последней главе рассматривались внутренние структуры данных для файловой системы и алгоритмы работы с ними. В этой главе речь пойдет о системных функциях для работы с файловой системой с использованием понятий, введенных в предыдущей главе. Рассматриваются системные функции, обеспечивающие обращение к существующим файлам, такие как open, read, write, lseek и close, затем функции создания новых файлов, а именно, creat и mknod, и, наконец, функции для работы с индексом или для передвижения по файловой системе: chdir, chroot, chown, stat и fstat. Исследуются более сложные системные функции: pipe и dup имеют важное значение для реализации каналов в shell'е; mount и umount расширяют видимое для пользователя дерево файловых систем; link и unlink изменяют иерархическую структуру файловой системы. Затем дается представление об абстракциях, связанных с файловой системой, в отношении поддержки различных файловых систем, подчиняющихся стандартным интерфейсам. В последнем разделе главы речь пойдет о сопровождении файловой системы. Глава знакомит с тремя структурами данных ядра: таблицей файлов, в которой каждая запись связана с одним из открытых в системе файлов, таблицей пользовательских дескрипторов файлов, в которой каждая запись связана с файловым дескриптором, известным процессу, и таблицей монтирования, в которой содержится информация по каждой активной файловой системе.

Функции для работы с файловой системой
Возвращают дескрипторы файла Используют алгоритм nameiНазначают индексыРаботают с атрибутами файлаВвод-
вывод из файла
Работают со структурой файловых системУправление деревьями
openopenstat     
creatcreatlinkcreatchownread  
dupchdirunlinkmknodchmodwritemountchdir
pipechrootmknodlinkstatlseekumountchown
closechownmountunlink     
 chmodumount     
Алгоритмы работы с файловой системой на нижнем уровне
nameiialloc ifreealloc free bmap 
iget iput bmap 
Алгоритмы работы с буферами
     getblk     brelse     bread     breada     bwrite    
Рисунок 5.1. Функции для работы с файловой системой и их связь с другими алгоритмами

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

  • Системные функции, возвращающие дескрипторы файлов для использования другими системными функциями;
  • Системные функции, использующие алгоритм namei для анализа имени пути поиска;
  • Системные функции, назначающие и освобождающие индекс с использованием алгоритмов ialloc и ifree;
  • Системные функции, устанавливающие или изменяющие атрибуты файла;
  • Системные функции, позволяющие процессу производить ввод-вывод данных с использованием алгоритмов alloc, free и алгоритмов выделения буфера;
  • Системные функции, изменяющие структуру файловой системы;
  • Системные функции, позволяющие процессу изменять собственное представление о структуре дерева файловой системы.

Предыдущая глава || Оглавление || Следующая глава

Если вам понравилась статья, поделитесь ею с друзьями: