Поскольку у файловой системы была возможность укорачивать файлы, ядро воспользовалось этой возможностью для укорочения больших пустых каталогов. Преимущество сокращения пустых каталогов в том, что оно сокращает время, затрачиваемое ядром для поиска при создании или удалении имен.
Вновь созданным файлам назначаются идентификаторы пользователя процесса, который их создал, и идентификатор группы каталога, в котором они были созданы. Для защиты файлов предусмотрен трехуровневый механизм управления доступом. Доступность файла определяют следующие три уровня.
1. Для пользователя, владеющего файлом.
2. Для группы, владеющей файлом.
3. Для всех остальных.
У каждого уровня доступа свои собственные указатели прав доступа для чтения, записи и исполнения. Если необходимо более детализированное управление доступом, FreeBSD 5.2 предоставляет также ACL (access control lists - списки управления доступом) для определения прав доступа на чтение, запись и исполнение на уровне отдельных пользователей или групп.
Файлы создаются с нулевым размером и могут увеличиваться при записи в них. Пока файл открыт, система поддерживает файловый указатель, показывающий текущее положение в файле, связанное с дескриптором. Этот указатель может перемещаться в файле произвольным образом. Процессы, разделяющие дескриптор файла через системные вызовы fork или dup, разделяют указатель текущего положения. Дескрипторы, созданные отдельными системными вызовами open, имеют отдельные указатели текущего положения.
- 18/05/2010 21:00 - Выполнение системного вызова
- 18/05/2010 12:57 - Организация времени выполнения
- 18/05/2010 04:22 - Системный вход
- 17/05/2010 20:11 - Работа системы
- 16/05/2010 18:53 - Межпроцессное взаимодействие
- 14/05/2010 19:10 - Идентификация файла
- 13/05/2010 11:56 - Разбросанный ввод/вывод
- 21/03/2010 15:36 - Избежание перегрузки с помощью медленного старта
- 12/01/2010 06:53 - Передача информации ядру и от ядра. Вызов sysctl conf в FreeBSD.
- 09/01/2010 18:18 - Отладка системы FreeBSD. Отладчик GDB