Читать книгу 📗 "Linux программирование в примерах - Роббинс Арнольд"
• Современные Unix-системы поддерживают множество типов файловых систем. В частности, повсеместно поддерживается сетевая файловая система (NFS) Sun, также, как ISO 9660 является стандартным форматом для CD-ROM, а разделы FAT MS- DOS поддерживаются на всех Unix-системах, работающих на платформе Intel x86. Насколько мы знаем, Linux поддерживает наибольшее число различных файловых систем — свыше 30! Многие из них специализированные, но многие из оставшихся предназначены для общего использования, включая по крайней мере четыре различные журналируемые файловые системы.
• Файл
/etc/fstab/etc/mtab/proc/mountsloopmount• Файлы формата
/etc/fstabgetmntent()• Функции
statvfs()fstatvfs()statfs()fstatfs()•
chdir()fchdir()getcwd()• Функция
nftw()struct statdunftw()• Наконец, системный вызов
chroot()Упражнения
1. Изучите справочную страницу mount(2) под GNU/Linux и на всех различных системах Unix, к которым у вас есть доступ. Как отличаются системные вызовы?
2. Усовершенствуйте программу
ch08-statvfs.cfstatvfs()3. Усовершенствуйте
ch08-statvfs.cserver.example.com:/big/disk4. Измените
ch08-statfs.cstatfs()df5. Добавьте опцию
-idf -i6. Используя
opendir()readdir()stat()fstat()dirfd()fchdir()getcwd()7. Усовершенствуйте свою версию
getcwd()8. Можете ли вы использовать
nftw()getcwd()9. Используя
nftw()chown-R-Rchown <i>пользователь каталог</i>10. Набор процедур BSD
fts()Прочтите справочную страницу fts(3). (Для удобства ее можно распечатать.) Перепишите свою частную версию chown для использования
fts()11. Посмотрите справочную страницу find(1). Если бы вы пытались написать
findnftw()fts()Часть 2
Процессы, IPC и интернационализация
Глава 9
Управление процессами и каналы
Как мы говорили в главе 1 «Введение», если бы нужно было резюмировать Unix (а следовательно, и Linux) в трёх словах, это были бы «файлы и процессы». Теперь, когда мы увидели, как работать с файлами и каталогами, время взглянуть на оставшуюся часть утверждения: процессы. В частности, мы исследуем, как создаются и управляются процессы, как они взаимодействуют с открытыми файлами и как они могут взаимодействовать друге другом. Последующие главы исследуют сигналы — грубый способ дать возможность одному процессу (или ядру) сообщить другому о том, что произошло некоторое событие — и проверку прав доступа.
В данной главе картина начинает усложняться. В частности, для полноты мы должны упомянуть о вещах, которые не будут рассматриваться до конца главы или до конца книги В таких случаях мы предусмотрели ссылки вперед, но вы должны быть способны без подготовки уловить суть каждого раздела.
9.1. Создание и управление процессами
В отличие от многих предшествующих и последующих операционных систем, создание процессов в Unix задумывалось (и было сделано) дешевым. Более того, Unix разделяет идеи «создания нового процесса» и «запуска данной программы в процессе». Это было элегантное проектное решение, которое упрощает многие операции.