Все о моделировании в Компас-3D LT
   Главная Статьи Файлы Форум Ссылки Категории новостей
October 24 2025 19:28:59   
Навигация
Главная
Статьи
Файлы
FAQ
Форум
Ссылки
Категории новостей
Обратная связь
Фото галерея
Поиск
Разное
Карта Сайта
Популярные статьи
Что необходимо ... 65535
4.12.1 Професси... 35971
Учимся удалять!... 32809
Примеры, синони... 24083
Просмотр готовы... 23370
Декартовы коорд... 23341
FAST (методика ... 22113
содержание - се... 21454
Просмотр готовы... 20302
Работа с инстру... 15847
Сейчас на сайте
Гостей: 1
На сайте нет зарегистрированных пользователей

Пользователей: 9,955
новичок: Logyattella
Друзья сайта
Ramblers Top100
Рейтинг@Mail.ru

Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ по Delphi
Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog
5.6 CLOSЕ
Процесс закрывает открытый файл, когда процессу больше не нужно обращаться к нему. Синтаксис вызова системной функции close (закрыть):
close(fd);
где fd — дескриптор открытого файла. Ядро выполняет операцию закрытия, используя дескриптор файла и информацию из соответствующих записей в таблице файлов и таблице индексов. Если счетчик ссылок в записи таблицы файлов имеет значение, большее, чем 1, в связи с тем, что были обращения к функциям dup или fork, то это означает, что на запись в таблице файлов делают ссылку другие пользовательские дескрипторы, что мы увидим далее; ядро уменьшает значение счетчика и операция закрытия завершается. Если счетчик ссылок в таблице файлов имеет значение, равное 1, ядро освобождает запись в таблице и индекс в памяти, ранее выделенный системной функцией open (алгоритм iput). Если другие процессы все еще ссылаются на индекс, ядро уменьшает значение счетчика ссылок на индекс, но оставляет индекс процессам; в противном случае индекс освобождается для переназначения, так как его счетчик ссылок содержит 0. Когда выполнение системной функции close завершается, запись в таблице пользовательских дескрипторов файла становится пустой. Попытки процесса использовать данный дескриптор заканчиваются ошибкой до тех пор, пока дескриптор не будет переназначен другому файлу в результате выполнения другой системной функции. Когда процесс завершается, ядро проверяет наличие активных пользовательских дескрипторов файла, принадлежавших процессу, и закрывает каждый из них. Таким образом, ни один процесс не может оставить файл открытым после своего завершения.
На Рисунке 5.11, например, показаны записи из таблиц, приведенных на Рисунке 5.4, после того, как второй процесс закрывает соответствующие им файлы. Записи, соответствующие дескрипторам 3 и 4 в таблице пользовательских дескрипторов файлов, пусты. Счетчики в записях таблицы файлов теперь имеют значение 0, а сами записи пусты. Счетчики ссылок на файлы «/etc/passwd» и «private» в индексах также уменьшились. Индекс для файла «private» находится в списке свободных индексов, поскольку счетчик ссылок на него равен 0, но запись о нем не пуста. Если еще какой-нибудь процесс обратится к файлу «private», пока индекс еще находится в списке свободных индексов, ядро востребует индекс обратно, как показано в разделе 4.1.2.
Рисунок 5.11. Таблицы после закрытия файла
Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Случайные статьи
2.6 УПРАЖНЕНИЯ
Вертикальное скани...
2.4.3 Блоковые коды
2.1 АРХИТЕКТУРА ОП...
5.16.1 Целостность...
2.4.4 Линейные коды
1. Продукции типа...
Сетевые карты
Перепроектирование...
2.3.1 Общие сообра...
Принцип 3. Обращай...
7.6 КОД ИДЕНТИФИКА...
Страница «Позицион...
2.6.1. Кодирование...
Принцип 4. Создава...
1.2 Логическая т...
Технология фазиров...
Обязательства по в...
Характеристики при...
Технические характ...
4.11 Технология АТМ
1.3. Обзор модели ...
Опции QoS
2.6.2.2 Применение...
Представление 2
Цена до 250 долларов
Компьютерные файлы
12.3.3.3 Драйверы
2.2.4 Измерение ур...
Метод доступа в се...
3.7 Сеть NetWare ...
12.1 ПРОБЛЕМЫ, СВ...
Бумажные или компь...
Необходимые предпо...
Глава 1. GARMIN QUEST
NAVSTAR
5.12.5 Примеры
Процессное управле...
Настраиваемые шаблоны
Оглавление - сетев...
Мини-чат
Вам необходимо залогиниться.

Нет присланных сообщений.
Copyright © 2009