Статус
нашего
сайта:
ICQ Secrets Center is Online  ICQ Information Center


ICQ SHOP
     5-значные
     6-значные
     7-значные
     8-значные
     9-значные
     Rippers List
ОПЛАТА
СТАТЬИ
СЕКРЕТЫ
HELP CENTER
OWNED LIST
РОЗЫСК!New!
ICQ РЕЛИЗЫ
Протоколы ICQ
LOL ;-)
Настройка компьютера
Аватарки
Смайлики
СОФТ
     Mail Checkers
     Bruteforces
     ICQTeam Soft
     8thWonder Soft
     Other Progs
     ICQ Patches
     Miranda ICQ
ФорумАрхив!
ВАШ АККАУНТ
ICQ LiveJournal

Реклама

Наш канал:

irc.icqinfo.ru

Таненбаум Э.- Архитектура компьютера. стр.377


Таненбаум Э.- Архитектура компьютера. стр.377 Таненбаум Э.- Архитектура компьютера.

С файловой системой тесно связана система каталогов. Каждый пользователь может иметь несколько каталогов, а каждый каталог может содержать файлы и вложенные каталоги. Система UNIX обычно конфигурируется с главным каталогом, так называемым корневым каталогом, который содержит вложенные каталоги bin (для часто используемых программ), dev (для специальных файлов устройств ввода-вывода), lib (для библиотек) и usr (для пользовательских каталогов, как показано на рис. 6.27). В нашем примере каталог usr содержит вложенные каталоги ast и jim. Каталог ast включает в себя два файла (data и foo.c) и вложенный каталог bin, в который входят 4 файла (gamel, game2, ...).

Чтобы назвать файл, нужно указать его путь из корневого каталога. Путь содержит список всех каталогов от корневого каталога к файлу, для разделения каталогов используется слеш. Например, путь к файлу game2 выглядит следующим образом: /usr/ast/bin/game2. Путь, который начинается с корневого каталога, называется абсолютным.

В каждый момент времени каждая работающая программа имеет текущий каталог. Путь может быть связан с текущим каталогом. В этом случае в начале пути слеш не ставится (чтобы отличить от абсолютного пути). Такой путь называется относительным путем. Если /usr/ast — текущий каталог, то можно получить доступ к файлу датеЗ, использовав путь bin/датеЗ. Пользователь может создать связь с чужим файлом, использовав для этого системный вызов link. В нашем примере пути /usr/ast/bin/датеЗ и /usr/jim/jotto приводят к одному и тому же файлу. Не разрешается применять связи к каталогам, чтобы предотвратить циклы в системе каталогов. В вызовах open и creat могут использоваться как абсолютные, так и относительные пути.

Основные вызовы для манипулирования каталогами UNIX приведены в табл. 6.6. Вызов mkdir создает новый каталог, a rmdir удаляет существующий пустой каталог. Следующие три вызова применяются для чтения элементов каталогов. Первый открывает каталог, второй считывает элементы из него, третий закрывает каталог. Вызов chdir изменяет текущий каталог.

Таблица 6.6. Основные вызовы для работы с каталогами в системе UNIX

Системный вызов

Описание

mkdir(name, mode)

Создание нового каталога

rmdir(name)

Удаление пустого каталога

Opendir(name)

Открытие каталога для чтения

readdir(dirpointer)

Считывание следующего элемента каталога

Closedir(dirpointer)

Закрытие каталога

chdir(dirname)

Смена текущего каталога на каталог с именем сПгпате

Iink(name1, name2)

Создание связи (элемента каталога пате2, указывающего на

 

каталог патеЧ)

unlink(name)

Удаление связи (элемента пате) из каталога

Вызов 1 i пк создает элемент каталога, который указывает на уже существующий файл. Например, элемент /ивг/^т/^о^о можно создать вызовом

Ипк("/и5г/а5иЬ1п/датеЗ", "/иБг/^т/аоио")

Того же можно добиться эквивалентным вызовом, используя относительные пути, которые зависят от текущего каталога. Вызов unlink удаляет элемент каталога. Если файл имеет только одну связь, он удаляется. Если файл имеет две и более связей, то он не удаляется. Не имеет никакого значения, была ли удаленная связь создана изначально, или это копия. Следующий вызов делает файл датеЗ доступным только через путь /usr/jim/jotto:


⇐ Предыдущая страница| |Следующая страница ⇒

.