Операционные системы - статьи


Файловая система - часть 2


как правило сосредоточены в директории "/dev".

Вот некоторые из них (в номинации FreeBSD):

  • tty* - терминалы, в т.ч.:

    • ttyv<цифра> - виртуальная консоль;
    • ttyd<цифра> - DialIn терминал (обычно последовательный порт);
    • cuaa<цифра> - DialOut линия
    • ttyp<цифра> - сетевой псевдо-терминал;
    • tty - терминал, с которым ассоциирована задача;

  • wd* - жесткие диски и их подразделы, в т.ч.:

    • wd<цифра> - жесткий диск;
    • wd<цифра>s<цифра> - партиция этого диска (именуемая здесь "slice");
    • wd<цифра>s<цифра><буква> - раздел партиции;

  • fd<цифра>[<буква>] - floppy-диск;
  • rwd*, rfd* - то же самое, что wd* и fd*, но с последовательным доступом;

Иногда требуется, чтобы программа, запущенная пользователем, имела

не права запустившего ее пользователя, а какие-то другие. В этом случае

устанавливается атрибут смены прав на права пользователя - хозяина программы.

(В качестве примера приведу программу, которая читает файл с вопросами и

ответами и на основании прочитанного тестирует запустившего эту программу

студента. Программа должна иметь право читать файл с ответами, а запустивший

ее студент - нет.) Так, например, работает программа passwd, с помощью которой

юзер может изменить свой пароль. Юзер может запустить программу passwd,

она может произвести изменения в системной базе данных - а пользователь

не может.

В отличие от DOS, в котором полное имя файла выглядит как "диск:\путь\имя",

и RISC-OS, в которой оно выглядит "-файловая_система-диск:$.путь.имя"

(что вообще говоря имеет свои преимущества), Unix использует прозрачную

нотацию в виде "/путь/имя". Корень отсчитывается от раздела, с которого

было загружено ядро Unix. Если мы собираемся использовать другой раздел

(а на загрузочном разделе как правило находится только самое необходимое

для загрузки), используется команда `mount /dev/файл_раздела директория`.

При этом файлы и поддиректории, ранее находившиеся в этой директории,

становятся недоступными, пока раздел не будет размонтирован (естественно,

все нормальные люди используют для монтирования разделов пустые директории).

Производить монтирование и размонтирование имеет право только супервизор.

При запуске каждый процесс может расчитывать, что для него уже открыты три

файла, которые ему известны как стандартный ввод stdin по дескриптору 0;

стандартный вывод stdout по дескриптору 1; и стандартный вывод stderr

по дескриптору 2. При регистрации в системе, когда пользователь вводит

имя и пароль, а ему запускается shell, все трое направлены на /dev/tty;

позже любой из них может быть перенаправлен в любой файл.




Начало  Назад  Вперед



Книжный магазин