Статус
нашего
сайта:
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

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


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

unii nk("/usr/ast/bin/game3")

Вызовы 1 ink и uni ink могут использоваться для перемещения файлов из одного каталога в другой.

С каждым файлом (а также с каждым каталогом, поскольку каталог — это тоже файл) связана битовая карта, которая сообщает, кому разрешен доступ к файлу. Карта содержит три поля RWX (Read, Write, eXecute — чтение, запись, выполнение). Первое из них контролирует разрешение на чтение, запись и выполнение файлов для их владельца, второе — для других пользователей из группы владельца, третье — для всех остальных пользователей. Например, биты RWX R-X -X означают, что владелец файла может читать этот файл, записывать что-либо в него и выполнять его (очевидно, файл является исполняемой программой, иначе не было бы разрешения на его выполнение), другие члены группы могут читать и выполнять его, а все остальные — только выполнять. Таким образом, посторонние пользователи смогут выполнить эту программу, но не смогут ее украсть (скопировать), поскольку им запрещено чтение. Включение пользователей в те или иные группы осуществляется системным администратором, которого обычно называют привилегированным пользователем. Привилегированный пользователь имеет право действовать вопреки механизму защиты и считывать, записывать и выполнять любой файл.

Теперь посмотрим, как файлы и каталоги реализованы в системе UNIX. Более детальное описание см. в [212]. С каждым файлом (и с каждым каталогом, поскольку каталог — это тоже файл) связан информационный блок размером 64 байта, который называется индексным дескриптором (i-node). Индексный дескриптор содержит информацию о том, кто владеет файлом, что разрешено делать с файлом, где найти данные и т. п. Индексные дескрипторы для файлов расположены либо последовательно в начале диска, либо, если диск разделен на группы цилиндров, — в начале группы. Индексные дескрипторы снабжены последовательными номерами. Таким образом, система UNIX может обнаружить i-node просто путем вычисления его адреса на диске.

Элемент каталога состоит из двух частей: имени файла и номера i-node. Когда программа выполняет следующую команду, система ищет текущий каталог файла foo.c, чтобы найти номер индексного дескриптора этого файла:

open("f00.с", 0)

Обнаружив номер i-node, программа может считать его и узнать всю информацию о файле.

При большей длине пути файла процедура повторяется несколько раз, пока не будет пройден весь путь. Например, чтобы найти номер i-node для пути /usr/ast/data, система сначала отыщет корневой каталог для элемента usr. Обнаружив индексный дескриптор usr, она может прочитать файл (каталог в системе

UNIX — это тоже файл). В этом файле она отыщет элемент ast и найдет номер i-node для файла /usr/ast. Считав информацию о местонахождении каталога /usr/ast, система сможет обнаружить элемент для data и, следовательно, — номер i-node для /usr/ast/data. Найдя номер i-node для этого файла, система узнает об этом файле все.

Формат, содержание и размещение индексных дескрипторов несколько различаются в разных системах (особенно когда идет речь о сетевых системах), но следующие элементы присутствуют практически в каждом индексном дескрипторе:


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

.