Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5.14.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
8 Мб
Скачать
☆

Разрешение имен

Одна из главных задач Windows NT — распространить действие локальной си­стемы ввода-вывода на удаленные ресурсы. Так как все такие ресурсы — это объекты, для доступа к ним локальное программное обеспечение должно рабо­тать с локальной структурой объектов. Когда приложение открывает файл, оно на самом деле открывает описатель файлового объекта NT. Файловый объект содержит данные, специфичные для данного "открытого экземпляра" файла: на­пример, такую информацию, как режим совместного использования и указатель файла. Если открываемый файл расположен на удаленном компьютере, обра­ботка выполняется так же. Диспетчер объектов принимает в ней участие, созда­вая файловый объект и открывая его описатель.

Как и в случае локального файла, имя удаленного файла, открываемого при­ложением, должно быть разрешено; это означает, что ОС необходимо опре­делить, на каком устройстве находится файл, какая файловая система использу­ется на этом устройстве и где внутри этой файловой системы расположен дан­ный файл. Для удаленного файла ОС должна также установить, на какой машине расположен файл и как послать запрос на эту машину.

Предположим, что пользователь назначил удаленному серверу букву диска, выдав команду NET USE T: \\TOOLSERV\TOOLS. Сервис рабочей станции создает объект-символическую связь с именем Т: в пространстве имен диспетчера объек­тов NT, как показано на рис. 9-7.

Рис. 9-7. Пространство имен диспетчера объектов.

После этого приложение Win32 открывает удаленный файл T:\editor.exe. Подсистема Win32 транслирует это имя в объект NT \DosDevices\T:\editor.exe и обращается к исполнительной системе NT для открытия файла. В процессе об­работки диспетчер объектов определяет, что \DosDevices\T: — это объект-символическая связь и подставляет вместо \DosDerices\T: указанное имя.

Рис. 9-8. Разрешение сетевого имени файла.

Как показано на рис. 9-8, \Derice\Redirector — это имя объекта-устройства, представляющего редиректор Windows NT, a T: обозначает удаленный совместно используемый ресурс LAN Manager, поиск которого будет осуществляться редиректором.

Объекты-устройства используются в NT как точки входа в пространства имен, не контролируемые диспетчером объектов. Если при разборе имени объекта диспетчер объектов встречает объект-устройство, то он вызывает ме­тод разбора, связанный с этим устройством. В данном случае метод — это про­цедура диспетчера ввода-вывода, вызывающая редиректор. Редиректор создает SMB и посылает их через драйвер транспорта удаленному серверу SMB, который открывает файл \editor.exe в \\TOOLSERV\TOOLS. Диспетчер объектов создает для представления вновь открытого файла локальный файловый объект и возвра­щает вызывающей программе его описатель. После этого все операции с дан­ным описателем поступают напрямую редиректору NT

Аналогичное пространство имен существует в системе Windows NT, являющей­ся пунктом назначения. Удаленное пространство объектов содержит имя \Deitce\Server, обозначающее драйвер файловой системы, который реализует функции встро­енного сервера Windows NT. Однако этот объект-устройство не используется при получении сервером запроса; он применяется только тогда, когда в процессе управ­ления сервером системный администратор обращается к нему по имени.

  1. Встроенные сетевые компоненты: редиректор, сервер.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]