- •Что такое процесс?
- •Адресное пространство
- •Набор ресурсов
- •Объект-процесс
- •Что такое поток?
- •Многозадачность и мультипроцессорная обработка
- •Многопоточность
- •Объект-поток
- •История
- •Опорная модель osi
- •Встроенная сетевая поддержка
- •Сетевые api
- •Разрешение имен
- •Встроенные сетевые компоненты
- •Открытая архитектура
- •Доступ пользовательского режима к удаленным файловым системам
- •Транспортные протоколы
- •Среда ndis для сетевых драйверов
- •Среда распределенных приложений
- •Удаленный вызов процедур
- •Именованные каналы
- •Корпоративные сети и распределенная защита
Разрешение имен
Одна из главных задач 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. Однако этот объект-устройство не используется при получении сервером запроса; он применяется только тогда, когда в процессе управления сервером системный администратор обращается к нему по имени.
Встроенные сетевые компоненты: редиректор, сервер.
