4.10 УПРАЖНЕНИЯ
1. В версии V системы UNIX
разрешается использовать не более
14 символов на каждую компоненту
имени пути поиска. Алгоритм namei
отсекает лишние символы в
компоненте. Что нужно сделать в
файловой системе и в
соответствующих алгоритмах, чтобы
стали допустимыми имена компонент
произвольной длины?
2. Предположим, что пользователь
имеет закрытую версию системы UNIX,
причем он внес в нее такие
изменения, что имя компоненты
теперь может состоять из 30
символов; закрытая версия системы
обеспечивает тот же способ
хранения записей каталогов, как и
стандартная операционная система,
за исключением того, что записи
каталогов имеют длину 32 байта
вместо 16. Если пользователь
смонтирует закрытую файловую
систему в стандартной операционной
среде, что произойдет во время
работы алгоритма namei, когда процесс
обратится к файлу?
*3. Рассмотрим работу алгоритма namei
по преобразованию имени пути
поиска в идентификатор индекса. В
течение всего просмотра ядро
проверяет соответствие текущего
рабочего индекса индексу каталога.
Может ли другой процесс удалить
(unlink) каталог? Каким образом ядро
предупреждает такие действия? В
следующей главе мы вернемся к этой
проблеме.
*4. Разработайте структуру
каталога, повышающую эффективность
поиска имен файлов без
использования линейного просмотра.
Рассмотрите два способа:
хеширование и n-арные деревья.
*5. Разработайте алгоритм
сокращения количества просмотров
каталога в поисках имени файла,
используя запоминание часто
употребляемых имен.
*6. В идеальном случае в файловой
системе не должно быть свободных
индексов с номерами, меньшими, чем
номер "запомненного" индекса,
используемый алгоритмом ialloc. Как
случается, что это утверждение
бывает ложным?
7. Суперблок является дисковым
блоком и содержит кроме списка
свободных блоков и другую
информацию, как показано в данной
главе. Поэтому список свободных
блоков в суперблоке не может
содержать больше номеров свободных
блоков, чем может поместиться в
одном дисковом блоке в связанном
списке свободных дисковых блоков.
Какое число номеров свободных
блоков было бы оптимальным для
хранения в одном блоке из
связанного списка?
Предыдущая
глава || Оглавление
|| Следующая глава
|