→ Пошук по сайту       Увійти / Зареєструватися

Файловая модель

Для прикладного программиста Windows NT выглядит или как Windows, или как MS-DOS, или как POSIX, или как OS/2. Только системным программистам, которые пишут подсистему среды, файловую систему, базовый драйвер уст-ройства или другую специализированную программу, приходится изучать объекты исполнительной системы и непосредственно их использовать.

Обычно объекты исполнительной системы создаются либо защищен-ной подсистемой, в качестве непосредственной реакции на некоторое дей-ствие пользователя, либо различными компонентами ОС в процессе их нормальной работы. Например, для того чтобы создать файл, приложение Win32 вызывает функцию API Win32 CreateFile(). В свою очередь, подсистема Win32 вызывает базовый сервис NT, создающий файловый объект исполнительной системы. Когда затем приложение читает файл или пишет в него, подсистема Win32 и исполнительная система NT используют файловый объект для обра-щения к файлу.

Работа с файлами — это нетипичный случай для объектной системы NT, так как файлы являются постоянными ресурсами и расположены не в памяти. Однако они важны, так как модель работы с файлами, используемая большинством языков программирования, удобна для создания и использования объектов NT. Ниже приведены интересующие нас характеристики файловой модели:

  • В большинстве языков программирования необходимо открыть файл, прежде чем можно будет выполнять его чтение или запись. Операция открытия может либо открыть существующий файл, либо создать новый, с указанным Вами именем. Имя файла может включать каталог (или их иерархию), в котором этот файл хранится.
  • При открытии файла задается тип операций, которые с ним будут производиться: например, чтение, запись или дописывание к концу файла.
  • Файловая система открывает файл и возвращает его описатель, который используется в последующих операциях для ссылки на этот файл. Когда работа с файлом закончена, Вы закрываете описатель файла.
  • Две программы совместно используют некоторый файл, если обе они открывают его описатель в одно и то же время. Некоторые файловые системы также позволяют приложениям создавать временные файлы, которые автоматически удаляются файловой системой, когда закрываются все их описатели.

С некоторыми отклонениями, объектная модель Windows NT имитирует файловую модель. Основные отличия состоят в том, что описатели называются описателями объектов (object handles) и объекты хранятся в памяти, а не на физическом устройстве. В следующем разделе объектная модель NT рассматривается более подробно.

загрузка...
Сторінки, близькі за змістом