Архитектура операционной системы UNIX   ::   Бах Морис Дж.

Страница: 110 из 715

7);

   установить тип файла равным 0;

   освободить индекс (алгоритм ifree, раздел 4.6);

  }

  if (к файлу обращались или изменился индекс или изменилось содержимое файла)

   скорректировать дисковый индекс;

  поместить индекс в список свободных индексов;

 }

 снять блокировку с индекса;

}

Рисунок 4.4. Освобождение индекса



4.1.3 Освобождение индексов



В том случае, когда ядро освобождает индекс (алгоритм iput, Рисунок 4.4), оно уменьшает значение счетчика ссылок для него. Если это значение становится равным 0, ядро переписывает индекс на диск в том случае, когда копия индекса в памяти отличается от дискового индекса. Они различаются, если изменилось содержимое файла, если к файлу производилось обращение или если изменились владелец файла либо права доступа к файлу. Ядро помещает индекс в список свободных индексов, наиболее эффективно располагая индекс в кеше на случай, если он вскоре понадобится вновь. Ядро может также освободить все связанные с файлом информационные блоки и индекс, если число ссылок на файл равно 0.



4.2 СТРУКТУРА ФАЙЛА ОБЫЧНОГО ТИПА



Как уже говорилось, индекс включает в себя таблицу адресов расположения информации файла на диске. Так как каждый блок на диске адресуется по своему номеру, в этой таблице хранится совокупность номеров дисковых блоков.

|< Пред. 108 109 110 111 112 След. >|

Java книги

Контакты: [email protected]