Новые книги

В книге описана комплексная технология по перехвату клиентов в условиях высокой конкуренции: разработка стратегии перехвата, методы сбора информации о клиентах и конкурентах, маркетинговые инструменты перехвата, использование технологий личных продаж. Рассмотрены методы удержания клиентов, а также вопросы этики и законности при перехвате потребителей. Книга содержит множество примеров из практики международных и российских компаний: Wal-Mart, IKEA, Dell, Mercedes-Benz, McDonald’s, «Вымпелком», «МТС», «Яндекс» и многих других.

Рекомендуется руководителям и специалистам отделов продаж и маркетинга, менеджерам по работе с ключевыми клиентами.
Книга широко известных авторов, разработчиков языка Си, переработанная и дополненная с учетом стандарта ANSI для языка Си, 2-е английское издание которой вышло в 1988 году, давно стала классикой для всех изучающих и/или использующих как Си, так и Си++. Русский перевод этой книги впервые был выпущен изд- вом "Финансы и статистика" в 1992 г. и с тех пор пользуется неизменным спросом читателей.

Для настоящего третьего русского издания перевод заново сверен с оригиналом, в него внесены некоторые поправки, учитывающие устоявшиеся за прошедшие годы изменения в терминологии, а так же учтены замечания, размещенные автором на странице http://cm.bell-labs.com/cm/cs/cbook/2ediffs.html.

Для программистов, преподавателей и студентов.

Издание подготовлено при участии издательства "Финансы и статистика"

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

 

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

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

Функции для работы с файловой системой
Возвращают дескрипторы файла Используют алгоритм namei Назначают индексы Работают с атрибутами файла Ввод-
вывод из файла
Работают со структурой файловых систем Управление деревьями
open open stat          
creat creat link creat chown read    
dup chdir unlink mknod chmod write mount chdir
pipe chroot mknod link stat lseek umount chown
close chown mount unlink        
  chmod umount          
Алгоритмы работы с файловой системой на нижнем уровне
namei ialloc ifree alloc free bmap  
iget iput bmap  
Алгоритмы работы с буферами
      getblk     brelse     bread     breada     bwrite    

Рисунок 5.1. Функции для работы с файловой системой и их связь с другими алгоритмами

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

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

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