Архитектура современных операционных систем
23 3. Таблицу открытых файлов (ТОФ). СТД и СТФ создаются в области памяти ядра, а ТОФ – процесса, поэтому каждый процесс содержит свою собственную ТОФ. Для каждого открытого в системе файла в СТД имеются элементы, каждый их которых содержит (рис. 2.11.): 1. Копию индексного дескриптора открытого файла (Ind). 2. Имя устройства с файлом (уст). 3. Номер индексного дескриптора открытого файла (№ Ind). 4. Счетчик открытых файлов, использующих этот дескриптор (счк). Каждый элемент СТД также содержит ссылку на список свободных эле- ментов и ряд другой информации. СТФ для каждого открытого файла содержит: 1. Режим доступа (как открыт файл - r/w). 2. Текущее значение указателя чтения/записи файла (учз). 3. Счетчик процессов, использующих данный описатель файла (счк). 4. Ссылка на соответствующий элемент в системной таблице дескрип- торов. В ТОФ для любого открытого процессом файла создается элемент, кото- рый ссылается на соответствующий элемент в СТФ. При создании любого процесса для него, автоматически открывается три стандартных файла с описателями (табл. 2.5.): Табл. 2.5. Индекс в таблице ТОФ Назначение 0 stdin (стандартный ввод) 1 stdout (стандартный вывод) 2 stderr (стандартный вывод сообщений об ошибках) По умолчанию стандартный ввод назначается на клавиатуру, а остальные стандартные файлы – на экран. Назначение файлов можно переадресовывать в
Made with FlippingBook
RkJQdWJsaXNoZXIy MTY0OTYy