Поддержка многопроцессорности
Известно, что суперсерверы (многопроцессорные компьютеры) поддерживают два режима функционирования:
симметричную многопроцессорную обработку (SMP - Symmetric MultiProcessing),
асимметричную многопроцессорную обработку (ASMP - ASymmetric MultiProcessing).
В настоящее время SMP-режим работы суперсервера обеспечивают сетевые операционные системы Windows NT, UNIX. Новая ОС NetWare 4.1 SMP также поддерживает SMP-режим. Из всего семейства ОС NetWare только NetWare SFT III, использующая зеркальное отображение серверов, поддерживает режим ASMP: в двухпроцессорном сервере первый процессор занимается предоставлением услуг, а второй - операциями ввода/вывода.
Обычно применение NetWare SFT III вызывает снижение производительности до 30% однопроцессорного сервера, но использование двухпроцессорной конфигурации позволяет серверу SFT III достичь 90% производительности обычного сервера NetWare с сохранением всех преимуществ зеркального отражения серверов.
Фирма Novell предпринимает попытки реализации своей трёхэтапной мультипроцессорной стратегии, известной как распределённая параллельная обработка - DPP (Distributed Parallel Processing). Рассмотрим подробнее эти этапы.
Реализация на серверах NetWare технологии SMP
Для технологии SMP (NetWare 4.1 SMP) характерны следующие особенности (рисунок 2.51):
все процессоры имеют общее поле основной памяти,
если возможно, то новой нити предоставляется свободный процессор.
Предположим, что по запросу от рабочей станции образуется новая нить, связанная с драйвером жёсткого диска ISADISK.DSK, и если процессор ПР3 свободен, то новая нить будет выполняться на этом процессоре.
Дальнейшее расширение доменной архитектуры (см. п. 2.1.5)
После реализации второго этапа NetWare будет предоставлять несколько защищённых (OS_PROTECTED) и незащищённых (OS) областей вместо одной защищённой и одной незащищённой. При этом области OS_PROTECTED будут защищены друг от друга.
Рис. 2.51. Организация выполнения нитей по SMP-технологии
Поддержка технологии ASMP и групп серверов
Для технологии ASMP характерны следующие особенности (рисунок 2.52):
с каждым процессором связана своя область основной памяти,
каждый NLM-модуль загружается в одну основную память какого-нибудь процессора, т. е. NLM-модуль закрепляется за процессором.
Рис. 2.52. Организация выполнения запросов по ASMP-технологии
Рассмотрим пример. Предположим, что модуль NE2000.LAN закреплён за процессором ПР1, а модуль ISADISK.DSK - за процессором ПР2. Запрос 1, поступающий с рабочей станции, сначала обрабатывается NLM-модулем NE2000.LAN, который при обработке этого запроса выделяет область 1 в основной памяти процессора ПР1. Затем запрос 1 обрабатывается драйвером жёсткого диска ISADISK.DSK, который выполняется на другом процессоре ПР2. NLM-модуль ISADISK.DSK обращается к области 1 памяти процессора ПР1, посылая запросы через межпроцессорную линию связи IPC (Inter - Processor Communications). В данном примере процессоры ПР1 и ПР2 образуют своеобразный конвейер, используемый для обработки запросов от рабочих станций.
Ключевым элементом технологии ASMP фирмы Novell является менеджер блокировок Lock Manager. Это программное обеспечение, разработанное компанией NetFRAME Systems на основе технологии корпорации Oracle, позволяет множеству процессоров совместно работать над одним запросом. Менеджер блокировок координирует запросы IPC и контролирует доступ к данным так, чтобы блок данных одновременно обновлялся не более чем одним процессором.
Помимо поддержки ASMP на этом этапе происходит распространение доменной архитектуры за пределы единичного сервера. В один домен будут входить процессоры нескольких серверов. Это будет достигнуто, благодаря использованию распределённой файловой системы, которая позволит серверам сети обмениваться запросами и ответами.
Группа серверов, будь они однопроцессорные или многопроцессорные, может работать как одна система и собирать воедино свои свободные ресурсы. Эти кластеры серверов могут использовать высокоскоростные линии связи, чтобы передавать задание незагруженным процессорам домена.В каком-то смысле эти серверы образуют из процессоров сети виртуальный процессор.
Поддержка рабочих станций разных платформ
NetWare поддерживает связь с рабочими станциями, на которых установлены операционные системы MS DOS, Macintosh, OS/2, UNIX, Windows NT Workstation (рисунок 2.22).
Рис. 2.22. Рабочие станции, поддерживаемые NetWare
На каждой рабочей станции должно быть установлено своё программное обеспечение (ПО) клиента. Структура этого ПО обсуждается в пункте 2.3.3.
Рис. 2.23. Организация пространств имён файлового сервера
NetWare поддерживает форматы, отличные от DOS. Файлы операционных систем Macintosh, UNIX, OS/2, которые загружаются на рабочих станциях, имеют другие наборы атрибутов, длины имён файлов и т. д. Чтобы поддержать работу таких станций, на файловом сервере должны быть загружены различные пространства имён. Пространство имён представляет собой дополнительную запись таблицы DET (рисунок 2.23).
Таким образом, на томе с активными пространствами имён Macintosh, UNIX, OS/2 будут храниться четыре записи для каждого файла: основная запись каталога и записи каталогов для Macintosh, UNIX, OS/2. Все записи ссылаются на одну и ту же цепочку элементов FAT (поток данных), т. е. физически файл записывается на диск один раз. Следует отметить, что на Macintosh файлы хранятся с использованием двух потоков данных (ветвей). Одна ветвь содержит информацию о ресурсе Macintosh для этого файла (ветвь ресурсов), а другая содержит фактические данные.
Каждое пространство имён поддерживается своим NLM-модулем с расширением NAM: MAC.NAM - для Macintosh, OS2. NAM - для OS/2 и т. д. Чтобы добавить необходимые записи в таблицы DET и FAT тома, с консоли файлового сервера необходимо для каждого пространства имён выполнить один раз команду
ADD NAME SPACE имя TO том
Здесь имя - это MAC или OS2 и т. д. Для дальнейшей работы достаточно загружать только соответствующие NLM-модули поддержки пространства имён.
Подключение к Internet через локальную сеть NetWare
Конечно, можно организовать доступ клиентов локальной сети к Internet, не устанавливая Web-сервер (рисунок 5.1).
Рис. 5.1. Схема подключения рабочих станций к Internet
Для этого необходимо:
На каждой рабочей станции установить средства поддержки протокола TCP/IP (для DOS/Windows 3.x) и Web-броузер (Netscape Navigator, Microsoft Explorer и т.д.).
На файловом сервере загрузить модули поддержки протокола TCP/IP, а также коммуникационные продукты, обеспечивающие доступ всех клиентов сети к телекоммуникационным каналам связи.
Будем предполагать, что на сервере установлен продукт NetWare Connect 2.0. Особенности использования средства Multiprotocol Router 3.1 рассматриваются в конце этого раздела.
Для рабочей станции, функционирующей под управлением Windows 95, средства поддержки протокола TCP/IP являются штатными.
Чтобы добавить TCP/IP в стек протоколов рабочей станции DOS/Windows 3.x, следует использовать один из следующих продуктов:
NetWare 32 Client,
LAN Workplace (устанавливается на каждой рабочей станции),
LAN Workgroup (устанавливается на сервере).
Чтобы установить протокол TCP/IP на сервере NetWare, необходимо использовать команды LOAD и BIND консоли файлового сервера. Ниже приведён общий синтаксис этих команд.
LOAD TCPIP [FORWARD=YES|NO] [RIP=YES|NO] [TRAP=IP-адрес]
В квадратных скобках приведены необязательные параметры:
FORWARD - установка YES разрешает маршрутизацию IP-пакетов в локальной сети, NO (по умолчанию) - запрещает,
RIP - установка YES (по умолчанию) разрешает работу протокола RIP, NO - запрещает,
TRAP - задаёт IP-адрес станции, на которую будут направляться пакеты протокола SNMP.
BIND IP драйвер [FRAME=имя] ADDR=IP-адрес
[ARP=YES|NO] [BCAST=IP-адрес] [COST=число] [DEFROUTE=YES|NO]
[GATE=IP-адрес] [MASK=IP-адрес] [POISON=YES|NO]
В верхней строке приведены обязательные параметры.
Драйвер - имя драйвера сетевого адаптера Ethernet или Token Ring, загруженного по команде LOAD.
FRAME - задаёт имя фрейма (кадра), на который настроен сетевой адаптер.
Здесь квадратные скобки являются обязательными.
ADDR - устанавливает IP- адрес сетевого адаптера; адрес может быть произвольным, но уникальным в данной локальной сети.
ARP - установка YES (по умолчанию) разрешает использование протокола распознавания уникальности IP-адреса, NO - запрещает.
BCAST - задаёт стандартный адрес для посылки широковещательных IP-пакетов (по умолчанию 255.255.255.255).
COST - задаёт число прыжков (т.е. передач пакета с одного компьютера на другой), соответствующих плате за использование интерфейса IP (по умолчанию 1).
DEFROUTE - при установке в YES разрешает файловому серверу действовать как стандартный шлюз и посылать широковещательные пакеты по протоколу RIP. Этот параметр может быть установлен в YES только в том случае, если в команде LOAD TCPIP был задан параметр FORWARD=YES (по умолчанию - NO).
GATE - задаёт IP-адрес шлюза, которому будут передаваться пакеты, у которых не указан адрес назначения.
MASK - задаёт IP-адрес маски, которая используется для формирования номера подсети, подключаемой к адаптеру (ADDR & MASK = номер подсети). Значение по умолчанию зависит от величины первого байта параметра ADDR (табл. 5.1).
Таблица 5.1. Значение параметра MASK, принимаемое по умолчанию
Диапазон значений первого байта параметра ADDR | Значение | Класс подсети | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 - 126 | 255.0.0.0 | A | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
128 - 191 | 255.255.0.0 | B | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
192 -223 | 255.255.255.0 | C |
Следует отметить, что протокол TCP/IP можно настроить и с помощью утилиты INETCFG.NLM, а затем с консоли выдать команду REINITIALIZE SYSTEM.
Рассмотрим два примера загрузки на сервере протокола TCP/IP.
Пример 1. Сеть состоит из одного сегмента, т.е. на сервере установлен один сетевой адаптер и поэтому маршрутизация IP-пакетов не требуется.
REM Подключить протокол IPX с типом кадра ETHERNET_802.2
LOAD NE2000 INT=3 PORT=320 FRAME= ETHERNET_802.2 NAME=N1
BIND IPX N1 NET=EE1
REM Загрузить протокол TCP/IP
LOAD TCPIP
REM Подключить протокол IP с типом кадра ETHERNET_II
LOAD NE2000 INT=3 PORT=320 FRAME= ETHERNET_II
BIND IP NE2000 [FRAME=ETHERNET_II] ADDR=192.44.7.2
Иногда приходится подключать протокол IP с типом фрейма (кадра) ETHERNET_II, т.к. некоторые серверы UNIX, которые может быть подключены к сегменту, работают в сетях Ethernet с типом кадра ETHERNET_II. NetWare Web Server также работает с типом кадра ETHERNET_II.
Пример 2. Сеть состоит из нескольких локальных сегментов, т.е. на сервере установлены несколько сетевых адаптеров. Поэтому требуется маршрутизация IP-пакетов.
REM Подключить протокол IPX с типом кадра ETHERNET_802.2
LOAD NE2000 INT=3 PORT=320 FRAME= ETHERNET_802.2 NAME=N1
BIND IPX N1 NET=EE1
REM Загрузить протокол TCP/IP
LOAD TCPIP FORWARD=YES
REM Подключить протокол IP с типом кадра ETHERNET_II
LOAD NE2000 INT=3 PORT=320 FRAME= ETHERNET_II
BIND IP NE2000 [FRAME=ETHERNET_II] ADDR=192.44.7.2
DEFROUTE=YES
В заключение этого раздела рассмотрим действия, которые необходимо выполнить, чтобы из Windows 95 подключиться к Internet через локальную сеть NetWare.
В меню Start выберите команду Setting/Control Panel и сделайте двойной щелчок по значку Network. Если вы выполнили инсталляцию Windows 95 с возможностью работы в сети, то у вас уже установлены:
Client for Microsoft networks,
Dial-Up Adapter,
TCP/IP.
Выделите строку TCP/IP и нажмите кнопку Properties.
Раскройте вкладку IP Address. Если в вашей локальной сети используется сервер, поддерживающий DHCP (Dynamic Host Configuration Protocol), то установите признак Obtain IP Address Automatically (получить адрес IP автоматически). Сервер DHCP можно установить на сервере NetWare с помощью продукта NetWare/IP. DHCP-сервер позволяет автоматически выделить для станции свободный IP-адрес из пула адресов.
Если в вашей локальной сети (LAN) нет сервера DHCP, то IP-адрес для этой рабочей станции должен назначить сетевой администратор.
Установите признак Specify IP address (установить IP-адрес рабочей станции явным образом) и введите соответствующий IP-адрес. Кроме того, в этом случае в следующем поле необходимо ввести маску подсети Subnet mask (см. параметр MASK оператора BIND файлового сервера NetWare).
Теперь раскройте вкладку Gateway. Здесь нужно ввести IP-адрес шлюза фирмы-провайдера, предоставляющей услуги для выхода в Internet.
Раскройте вкладку DNS Configuration. Выберите Enable DNS. Введите имена компьютера (личное имя) и домена, которые вы получили у фирмы-провайдера.
Находясь в той же вкладке, в поле DNS Server Search Order (порядок просмотра серверов DNS) введите IP-адрес сервера DNS, предоставленный фирмой-провайдером, и нажмите кнопку Add.
(Если на сервере установлен продукт NetWare Connect). Откройте папку Dial-Up Networking, которая находится в папке My Computer. Дважды щелкните по значку Make New Connection. Далее следуйте предлагаемым инструкциям, чтобы настроить модем файлового сервера и выбрать параметры дозвона. После этого в папке Dial-Up Networking создаётся значок, с помощью которого можно выполнить дозвон к фирме-провайдеру.
В таблице 5.2 приведены отличия, связанные с использованием продуктов NetWare Connect 2.0 и Multiprotocol Router 3.1 (MPR 3.1).
Таблица 5.2. Отличия, связанные с использованием продуктов
NetWare Connect 2.0 и Multiprotocol Router 3.1
Параметры настройки | NetWare Connect 2.0 | Multiprotocol Router 3.1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Назначение IP-адресов | При назначении IP-адресов необходимо соблюдать следующие условия: Номер подсети ADDR&MASK (см. команду BIND) должен быть уникальным для каждого сетевого адаптера файлового сервера. Станции одной подсети должны иметь одинаковый номер подсети, т.е. ADDR&MASK = IP-адрес_станции & маска _станции. | Администратор сети должен получить у фирмы-провайдера пул IP-адресов, например, n.n.n.1-n.n.n.254. При назначении из пула IP-адресов конкретным станциям должны соблюдаться условия 1 и 2 (см. предыдущий столбец). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Описание имён компьютера и домена на рабочей станции | Требуется | Не требуется | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Описание на рабочей станции параметров дозвона к шлюзу фирмы-провайдера | Требуется | Не требуется | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Используемые телекоммуникационные каналы связи | Коммутируемые телефонные линии (телефонная сеть). | Коммутируемые и выделенные телефонные линии, линии X.25, Frame Relay, ISDN. |
Рассмотренная выше схема доступа к Internet имеет ряд существенных недостатков:
Личные Web-страницы пользователь сети может создавать на Web-сервере фирмы-провайдера, что неэффективно при организации доступа к этим документам со стороны других клиентов сети.
Нельзя обеспечить требуемый контроль доступа к документам пользователя.
Трудно обеспечить связь Web-страниц с базой данных, хранящейся на сервере локальной сети.
Для каждого пользователя, одновременно работающих с Internet, требуется получить доменное имя (имена компьютера и домена) у фирмы-провайдера.
Необходимо полностью дублировать броузер на каждой рабочей станции, с которой требуется доступ к Internet.
На каждой рабочей станции необходимо установить все требуемые протоколы: TCP/IP, HTTP, FTP и др.
Не задействованы все возможности по организации доступа к документам, предоставляемые сетевой базой данных NDS.
Эти проблемы могут быть решены с помощью установки среды IntranetWare: готовой платформы для создания интрасети (раздел 5.5). Одним из основных компонентов IntranetWare является Web-сервер NetWare Web Server, который рассматривается в следующих разделах пособия.
Пользовательская операционная среда файлового сервера
Каждый раз, когда клиент регистрируется в сети, выполняется ряд команд, настраивающих для него сетевую среду. Совокупность этих команд называется процедурой регистрации (Login Script). Эти процедуры создаёт администратор сети, а иногда и сам клиент.
Процедуры регистрации выполняются на рабочей станции утилитой LOGIN. После того, как эта утилита запросит имя регистрации и пароль и удостоверится, что пользователь может работать в сети, она начинает читать процедуры регистрации и выполнять указанные в них команды.
Процедуры регистрации могут быть четырёх типов:
системная,
профильная (только для NetWare 4.х),
пользовательская,
по умолчанию.
На рисунке 3.2 представлена схема выполнения процедур регистрации в NetWare 3.х.
Рис. 3.2. Схема выполнения процедур регистрации в NetWare 3.12
Системная процедура регистрации NetWare 3.12 хранится в файле SYS:PUBLIC\NET$LOG.DAT. Пользовательская процедура регистрации (файл login) хранится в подкаталоге каталога MAIL тома SYS. Этот подкаталог создаётся для каждого пользователя, и его имя совпадает с шестнадцатеричным идентификатором этого пользователя. Процедура регистрации по умолчанию является частью программы LOGIN и содержит команду MAP, планирующую поисковый драйв на каталог SYS:PUBLIC. Создание и модификация процедур регистрации выполняется с помощью утилиты SYSCON.
На рисунке 3.3 представлена схема выполнения процедур регистрации в NetWare 4.х.
Рис. 3.3. Схема выполнения процедур регистрации в NetWare 4.х
В NetWare 4.х системная процедура регистрации хранится как свойство Login Script контейнерного объекта, непосредственно в котором описан объект пользователя (на рисунке 2.59 для пользователя User это контейнер CLASS). Профильная процедура регистрации выполняется после системной, но перед пользовательской процедурой регистрации. Она описывается как свойство Login Script объекта Profile. Пользовательская процедура регистрации хранится как свойство Login Script объекта пользователя (User). В этом же свойстве можно указать на требуемый объект Profile.
Процедура регистрации по умолчанию выполняется, если в системной или профильной процедуре не была выполнена команда NO_DEFAULT.
В таблице 3.7 перечислены команды, которые можно использовать в процедурах регистрации.
Таблица 3.7. Команды процедур регистрации
Команда | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#[путь]имя_файла[параметры] | Запустить на рабочей станции резидентную программу. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ATTACH[сервер[/имя[;пароль]]] | Подключиться к другому серверу 3.х или 4.х. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BREAK ON | OFF | Разрешить (ON) или запретить (OFF) пользователю прерывать процедуру регистрации по Ctrl-Break или Ctrl-С. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CLS | Очистить экран рабочей станции. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
COMSPEC=[путь]COMMAND.COM | Указывает каталог, который будет использован DOS для повторных загрузок командного процессора (используется для удалённых рабочих станций). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CONTEXT контекст | Используется в NetWare 4.х для смены текущего контекста в дереве NDS. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[F]DISPLAY [путь]имя_файла | Вывести на экран содержимое файла. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DOS BREAK [ON | OFF] | Включает (ON) или выключает (OFF) проверку нажатия клавиш Ctrl-Break и Ctrl-C при выполнении программ в DOS. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[TEMP] SET переменная="значение" | Используется для настройки переменных DOS и OS/2. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DOS VERIFY [ON | OFF] | Используется для включения (ON) или отключения (OFF) режима проверки чтением после записи данных на локальные диски рабочей станции. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DRIVE драйв: | *n: | Сменить текущий драйв. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EXIT ["[путь]файл[параметры]"] | Прервать выполнение процедуры регистрации и запустить внешнюю программу. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FIRE n | Используется для имитации звука выстрела бластера. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GOTO метка ........... метка: | Продолжить выполнение процедуры регистрации с определённой метки. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IF условие THEN команды [ELSE команда] END | Выполнить часть команд процедуры регистрации в зависимости от истинности условия. В условии, как правило, используются переменные процедуры регистрации (NetWare поддерживает более 30 переменных). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
INCLUDE [путь]имя_файла | Включить дополнительную процедуру регистрации. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LASTLOGINTIME | Используется для вывода даты и времени последней регистрации в сети. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MACHINE=имя | Используется для задания имени машины (IBM_PC и т.д.). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MAP [опция] *n:=<путь|драйв:> MAP [опция] Sn:=<путь|драйв:> | Создать логическое или поисковое устройство. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NO_DEFAULT | Используется в NetWare 4.х для отмены выполнения процедуры регистрации по умолчанию. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NOSWAP | Предотвращает выгрузку утилиты LOGIN в расширенную память или на диск при выполнении команды #. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PAUSE | По этой команде выполнение процедуры регистрации приостанавливается до нажатия клиентом любой клавиши. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PCCOMPATIBLE | Если тип станции не совпадает с IBM_PC, то перед командой EXIT необходимо использовать эту команду. Применяется для удалённых рабочих станций. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PROFILE имя_объекта | В NetWare 4.х определяет профильную процедуру регистрации, которая должна быть теперь выполнена. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
REM[ARK] [текст] | Вставить комментарий. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SET TIME [ON | OFF] | Управляет синхронизацией времени сервера и рабочей станции. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SHIFT [n] | Изменить нумерацию параметров, заданных в качестве аргументов утилиты LOGIN. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SWAP | Разрешить выгрузку утилиты LOGIN в расширенную память или на диск при выполнении команды #. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
WRITE "[текст][%переменная]" | Вывести на экран сообщение. |
Установка и настройка сетевой ОС NetWare 3.х и 4.х
Инсталляция файлового сервера NetWare 3.х выполняется с дискет, а NetWare 4.х - с CD-ROM (как правило). Установка NetWare 4.х проще, чем инсталляция NetWare 3.х. Некоторые специалисты считают, что одним из недостатков NetWare является более сложная процедура установки, чем в Windows NT. Рассмотрим основные шаги инсталляции NetWare 3.х и NetWare 4.х.
Ниже описана процедура установки NetWare 3.х на файловом сервере.
Создать раздел DOS (5 Мб).
Скопировать дискеты NetWare 3.х Operating System - 1, 2, 3 в директорию DOS.
Сделать эту директорию текущей и запустить головную программу ОС SERVER.EXE.
Задать имя сервера и внутренний номер сети.
С помощью команды LOAD загрузить драйвер жёсткого диска (*.DSK).
По команде LOAD запустить NLM-модуль INSTALL.NLM.
Создать на жёстком диске раздел NetWare (пункт Disk Options).
Создать и смонтировать тома раздела NetWare (пункт Volume Options).
Скопировать файлы на том SYS (пункт System Options).
Переключиться по клавише ALT-ESC на экран консоли файлового сервера.
Загрузить драйвер сетевого адаптера. Например:
LOAD имя_драйвера INT=номер PORT=адрес
Присоединить драйвер сетевого адаптера к протоколу IPX. Например:
BIND IPX TO имя_драйвера
Переключиться с помощью клавиши ALT-ESC обратно на экран утилиты
INSTALL.NLM.
Создать два файла автоматической загрузки - AUTOEXEC.NCF и STARTUP.NCF (пункт System options).
Выйти из утилиты INSTALL.NLM и с помощью команды DOWN завершить работу с сервером.
Ниже описана процедура установки NetWare 4.1. В отличие от предыдущей процедуры здесь не требуется, чтобы администратор помнил последовательность выбора пунктов меню, не надо вводить команды с консоли файлового сервера и переключаться с экрана на экран. Можно выполнить простую (simple) и заказную (custom) инсталляцию NetWare 4.1. Далее приведены шаги заказной инсталляции (Custom Installation).
Создать раздел DOS.
Вставить диск с ОС NetWare 4.1 в устройство CD-ROM и запустить файл INSTALL.BAT.
Из меню выбрать язык, на который настраивается файловый сервер.
Выбрать пункт меню "NetWare Server Installation", а затем пункт "NetWare 4.1".
Выбрать пункт меню "Custom Installation of NetWare 4.1".
Задать имя сервера и внутренний номер сети.
Подтвердить копирование файлов загрузки в раздел DOS.
Специфицировать код страны, кодовую страницу, тип клавиатуры и нажать клавишу F10.
Выбрать формат имени файла (рекомендуется как в DOS).
Выбрать "YES", если необходимо вручную задать команды файла STARTUP.NCF.
Выбрать "YES", если требуется добавить строку SERVER.EXE в AUTOEXEC.BAT.
После этого программа инсталляции автоматически загружает SERVER.EXE, INSTALL.NLM и предлагает выполнить требуемые пункты меню.
Выбрать из списка драйвер диска.
Выбрать драйвер сетевого адаптера и указать номер прерывания и адрес порта ввода/вывода.
Создать на жёстком диске раздел NetWare.
Создать и смонтировать тома раздела NetWare.
Вставить дискету с лицензией (License diskette) в устройство A:.
С помощью клавиши Enter инициировать задание параметров для копирования файлов на том SYS.
Выбрать группы копируемых файлов (OS/2, Workstation Utilities и т. д.) и нажать клавишу F10, чтобы начать копирование файлов на том SYS.
Инсталлировать дерево NDS:
ввести имя дерева NDS,
определить параметры синхронизации времени (тип временного сервера, временную зону, параметры перехода на зимнее и летнее время),
определить контекст сервера (имя объекта типа O, где будет создан объект администратора, и имя объекта типа OU, где будут созданы объекты сервера и его томов),
указать имя администратора (по умолчанию Admin) и его пароль.
При необходимости модифицировать файлы STARTUP.NCF и AUTOEXEC.NCF.
Из предлагаемого списка "Choose an Item of Product Listed Above" выбрать требуемые продукты и проинсталлировать их (например, электронную документацию Dynatext, шлюз электронной почты MHS и т. д.).
Завершить работу файлового сервера.
Пользовательская операционная среда рабочей станции
Начальная установка программного обеспечения (ПО) клиента рабочей станции выполняется с дискет. Для DOS обычно используют следующие дискеты: NetWare 3.х - WSDOS_1, WSDOS_2, WSDRV_2, NetWare 4.х - WSDOS_1, WSWIN_1, WSDRV_1, WSDRV_2.
Т. к. NetWare 4.х поставляется на CD-ROM, то дискеты можно создать в DOS, используя утилиту
D:\CLIENT\DOSWIN\MAKEDISK <диск>:
где D - драйв CD-ROM, <диск> - драйв гибкого диска 3,5".
Для инсталляции рабочей станции необходимо с дискеты WSDOS_1 запустить программу INSTALL.EXE и далее следовать инструкциям этой утилиты.
Для обновления в NetWare 4.х программного обеспечения клиента рабочей станции можно использовать ту же самую программу INSTALL.EXE, которая хранится в каталоге SYS:PUBLIC\CLIENT\DOSWIN.
В процессе инсталляции ПО клиента рабочей станции, где установлена операционная система DOS, на её локальный диск (обычно C:) записывается каталог NWCLIENT. При этом могут быть также изменены и некоторые стандартные файлы DOS. Пользовательская среда рабочей станции настраивается при помощи четырёх файлов:
C:\CONFIG.SYS,
C:\AUTOEXEC.BAT,
C:\NWCLIENT\STARTNET.BAT,
C:\NWCLIENT\NET.CFG.
Рассмотрим эти файлы подробнее.
CONFIG.SYS
При инсталляции рабочей станции в этот файл может быть добавлена команда LASTDRIVE=Z. Эта команда показывает, какие буквы латинского алфавита могут использоваться для драйвов.
AUTOEXEC.BAT
При инсталляции в этот файл помещается вызов файла STARTNET.BAT, с помощью которого загружаются модули программного обеспечения клиента:
@CALL C:\NWCLIENT\STARTNET.BAT
Это позволяет автоматизировать подключение клиента к сети при включении компьютера. Данная команда включается в AUTOEXEC.BAT первой строкой. Это не всегда удобно, т. к. иногда требуется оставить за пользователем право выбора: согласен ли он работать в сети или нет. Для этого можно использовать возможности DOS 6 по созданию разветвлённых файлов загрузки или различные программы типа нортоновской утилиты BE.EXE.
STARTNET.BAT
Этот файл создаётся автоматически при инсталляции рабочей станции и содержит следующие команды:
SET NWLANGUAGE=ENGLISH - переменная среды DOS для вывода сообщений на английском языке,
LSL.COM - программа поддержки связи драйвера сетевого адаптера с протоколами стека,
NE2000.COM - какой-либо драйвер сетевого адаптера,
IPXODI.COM - транспортный протокол SPX/IPX,
VLM.EXE - головная программа запросчика DOS, загружающая файлы *.VLM.
В этом файле не хватает команды регистрации в сети. Поэтому в конец этого файла (или в файл AUTOEXEC.BAT) обычно записывают следующие команды:
F:
LOGIN
Буква драйва F зависит от конкретной конфигурации рабочей станции и означает первый сетевой драйв.
NET.CFG
Данный текстовый файл содержит все настройки программного обеспечения клиента рабочей станции. Он состоит из разделов, каждый из которых включает опции. Заголовок раздела всегда начинается с первой позиции новой строки. Связанные с данным разделом параметры (опции) описываются на следующих строках, но не с первой позиции.
Таблица 3.1. Разделы NET.CFG
Раздел | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Desktop SNMP | Используется, чтобы поддержать базу данных MIB-II со статистикой о работе сети и коммуникации для протокола SNMP. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Link Driver | Определяет конфигурацию драйвера для каждого сетевого адаптера, установленного на рабочей станции. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Link Support | Используется, чтобы переопределить число и размеры требуемых буферов. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Named Pipes | Используется для организации связи рабочей станции с приложениями "клиент-сервер" (например, с Microsoft SQL Server и т. д.). На рабочей станции протокол Named Pipes поддерживается программой DOSNP.EXE. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NetBIOS | Используется, чтобы переназначить параметры, используемые протоколом NetBIOS. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NetWare DOS Requester | Определяет параметры, используемые запросчиком DOS (файлами VLM.EXE и *.VLM). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NetWare DOS TSA | Используется модулем TSASMS.COM для взаимодействия с SBACKUP.NLM при архивации данных рабочей станции (для NetWare 4.х). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Protocol IPX | Определяет параметры протокола IPX. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Protocol ODINSUP | Используется, если NDIS-протокол добавлен к стеку протоколов рабочей станции. Этот протокол применяется для связи с ОС фирмы IBM: Extended Services и LAN Services. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Protocol RFCNBIOS | Используется программой RFCNBIOS.EXE для выполнения команд NetBIOS с использованием протокола TCP/IP. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Protocol RPL | Используется, если RPL-протокол добавлен к стеку протоколов рабочей станции. Этот протокол применяется для загрузки бездисковых станций (для NetWare 4.х). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Protocol SPX | Определяет параметры протокола SPX. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Protocol TCPIP | Используется модулем TCPIP.EXE, если эта программа добавлена в стек протоколов рабочей станции. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TBMI2 | Используется, если необходимо модифицировать среду переключения процессов передачи данных. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transport Provider IPX|UDP | Используется для определения адреса, по которому менеджер SNMP посылает прерывания протокола SNMP. |
В таблице 3. 1 перечислены все возможные разделы, которые можно создать в файле NET.CFG.
Большинство перечисленных разделов не являются обязательными. При инсталляции рабочей станции в NET.CFG автоматически создаются только два раздела (Link Driver и NetWare DOS Requester) с самыми необходимыми опциями (в таблицах 3.2 и 3.4 они отмечены слева звёздочкой).
В таблицах 3.2 - 3.5 перечислены наиболее важные и интересные параметры (опции) разделов Link Driver, Link Support, NetWare DOS Requester и Protocol IPX.
Таблица 3.2. Некоторые опции раздела Link Driver
Опция | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*IRQ number | Номер прерывания, на который настроен сетевой адаптер рабочей станции. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*PORT address | Шестнадцатеричный адрес порта, на который настроен сетевой адаптер рабочей станции. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*FRAME type_name | Имя типа кадра. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NODE ADDRESS address | Используется, чтобы вручную установить требуемый шестнадцатеричный адрес рабочей станции, отличный от того, на который настроен сетевой адаптер. |
Опция | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BUFFERS number [buffer_size] | Число и размер буферов для приёма пакетов на рабочей станции. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MAX BOARDS number | Максимальное число сетевых адаптеров, которыми может управлять модуль связи LSL.COM. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MAX STACKS number | Максимальное число протоколов в стеке. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MEMPOOL number[k] | Размер памяти, которую использует модуль связи LSL.COM для размещения буферов протоколов. |
Опция | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CACHE DUFFER SIZE=number CACHE DUFFERS= number | Размер и количество буферов в кэше на рабочей станции, которые используются FIO.VLM для ввода/вывода файлов на сервер. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CACHE WRITES=[ON | OFF] | ON - данные, записываемые на сетевой диск, сохраняются в кэше на рабочей станции и передаются на сервер по запросу с сервера. OFF - данные, записываемые на сетевой диск, передаются на сервер сразу. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*FIRST NETWORK DRIVE=letter | Определяет первую с начала латинского алфавита букву, которая используется как логический драйв. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LARGE INTERNET PACKETS=[ON| OFF] | ON - допускается использование протокола LIP. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LIP START SIZE= number | Размер пакета LIP, используемый для "переговоров", когда устанавливается связь между станциями. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*NAME CONTEXT="name" | Для NetWare 4.х определяет текущий контекст при подключении пользователя к сети. Это позволяет указывать в LOGIN только конечное имя клиента. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*NETWARE PROTOCOL=protocol_list | Список средств поддержки протоколов NetWare (NDS, BIND, PNW). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PB BUFFERS= number | Число буферов, используемых протоколом Packet Burst Protocol. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*PREFERRED SERVER="name" | Определяет сервер, к которому рабочая станция попытается подключиться в первую очередь. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PREFERRED TREE="name" | В NetWare 4.х определяет дерево NDS, к которому рабочая станция попытается подключиться в первую очередь. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SEARCH MODE= number | Определяет метод поиска файлов, открываемых в исполняемых файлах *.EXE и *.COM. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SIGNATURE LEVEL= number | Уровень подписи NCP-пакета на рабочей станции. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
USE DEFAULTS=[ON| OFF] | ON - программа VLM.EXE загружает требуемые файлы *.VLM по умолчанию. OFF - файлы *.VLM не загружаются по умолчанию. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VLM=path_VLM | Путь к загружаемому VLM-файлу. |
Таблица 3.5. Некоторые опции раздела Protocol IPX
Опция | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IPX RETRY COUNT number | Число повторов пакета (20 по умолчанию). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IPX SOCKETS number | Максимальное число гнёзд, которое может открыть станция (по умолчанию 20). |
Таблица 3.6. Файлы *.VLM, загружаемые по умолчанию
Файл | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CONN.VLM | Обеспечивает поддержку таблиц ресурсов. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IPXNCP.VLM | Обеспечивает выполнение транспортного протокола, используя IPX. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TRAN.VLM | Мультиплексор транспортных протоколов стека. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SECURITY.VLM | Обеспечивает дополнительную безопасность за счёт возможности подписи NCP-пакетов. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NDS.VLM | Обеспечивает выполнение протоколов NetWare, используя сервис NDS (NetWare 4.х). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BIND.VLM | Обеспечивает выполнение протоколов NetWare, используя сервис Bindery. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NWP.VLM | Мультиплексор протоколов NetWare. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FIO.VLM | Контролирует ввод/вывод данных на сетевой диск. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GENERAL.VLM | Смешанные функции для файлов NETX.VLM и REDIR.VLM. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
REDIR.VLM | Выполняет переадресацию прерывания (21Н) DOS. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PRINT.VLM | Обеспечивает сервис сетевой печати. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NETX.VLM | Обеспечивает совместимость с NetWare 3.11. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AUTO.VLM | Обеспечивает автоматическое восстановление соединения с файловым сервером. |
Рис. 3.1. Пример файла NET.CFG
Примеры приложений на серверах NetWare
По данным журнала "Сети" (№ 1, 1995 г.) доля ОС NetWare в России очень велика: NetWare 3.х - 79%, NetWare 4.х - 17%. Например, на базе этой ОС и СУБД HyTech реализованы многие службы управления Москвы. В качестве примера действующих автоматизированных информационных систем (АИС) можно назвать следующие:
АИС "РЕЕСТР-МРП",
АИС "НАЛОГ-21",
Общегородская справочная система (ОГСС),
АИС МосгорБТИ,
АИС Москомимущества.
АИС "РЕЕСТР-МРП" включает ЛВС центрального отделения и автоматизированные рабочие места (АРМ) филиалов. Сеть центрального отделения объединяет более 40 рабочих мест и позволяет проводить первичный контроль и регистрацию учредительных документов, выводить и корректировать реквизиты предприятий, готовить регистрационные документы, осуществлять поиск информации по сложным запросам, проводить статистическую обработку и анализ информации. АРМ филиалов выполняют те же функции и передают информацию о зарегистрированных предприятиях в БД центрального отделения по модемной связи.
В АИС "НАЛОГ-21" входят базы данных юридических и физических лиц и АРМ приема и обработки данных. В 1995 году АИС внедрена в 24 налоговых инспекциях города. Отработана технология информационного обмена с АИС "РЕЕСТР-МРП" и МосгорБТИ.
У общегородской справочной системы насчитывается 350-400 пользователей, среди которых 11 префектур, 144 муниципальных округа, 20 департаментов, ВЦ городского хозяйства, службы правительства Москвы. Пользователь ОГСС составляет запрос из перечня предлагаемых реквизитов, после чего АРМ пользователя формирует SQL-запрос и пересылает его на телекоммуникационный сервер ОГСС. Затем запрос автоматически разбивается на дерево логических SQL-подзапросов, и осуществляется поиск информации в БД ОГСС либо в соответствующих БД городских АИС, куда подзапросы направляются через коммуникационный сервер.
С помощью АИС МосгорБТИ выполняются следующие виды работ: первичная инвентаризация жилого и нежилого фондов, плановый и неплановый контроль состояния фондов и т.
д.
АИС Москомимущества " Реестр собственности комитета по управлению имуществом Москвы" - одна из основных информационных систем органов городского управления. Она обеспечивает информационную поддержку деятельности комитета и территориальных агентств, ведение реестра государственного и муниципального имущества. АИС Москомимущества должна быть связана с информационными системами Московской регистрационной палаты, МосгорБТИ, Москомзема, Государственной налоговой службы по Москве в рамках единой платформы NetWare.
В заключение этого пункта отметим, что в конце сентября 1995 года фирма Novell объявила о пяти стратегических инициативах, направленных на создание интеллектуальной глобальной сети Smart Global Network.
Первая инициатива предполагала расширение возможностей NetWare с целью удовлетворения новых потребностей в групповых вычислениях, электронных коммерческих операциях и связях между Windows 95, Windows NT, Macintosh, OS/2, UNIX. Среда NetWare будет поддерживать серверы приложений, в том числе SCO Open Server, UnixWare, HP-UX и OS/2.
Вторая инициатива состояла в том, что в декабре 1995 года Novell впервые представит клиентам на коммерческой основе службу связи по телефонным линиям - ANCS (AT&T NetWare Connect Services). Это значительно упростит подключение организаций к сетям общего пользования, в том числе к Internet.
Третья инициатива Novell - это пакет интерфейсов прикладных программ Net2000, который позволит разработчикам в полной мере использовать возможности сети Smart Global Network. Пакет Net2000 будет поставляться как расширение для различных инструментальных средств программирования (языков программирования и пакетов разработчика программ для ряда операционных систем).
Четвертая инициатива - обеспечение новых возможностей и функций в сети Smart Global Network с использованием интегрированного офисного пакета PerfectOffice.
Наконец, пятая инициатива - организация доступа к сети Smart Global Network с использованием различных устройств и видов связи: по телефону и радио сети, через кабельное телевидение, а возможно, даже по электросети.
Принципы организации передачи данных в ОС NetWare
NetWare версий 3.х и 4.х построены с использованием одинаковых принципов.
Во введении отмечалось, что NetWare относится к классу операционных систем с выделенным сервером. Поэтому на рабочих станциях (WS) и файловом сервере (FS) используются различные операционные системы. Взаимосвязь этих ОС осуществляется посредством кадров, которые передаются по шине, соединяющей станции. Рассмотрим процесс передачи данных или команд от рабочей станции к файловому серверу.
С точки зрения организации взаимосвязи с файловым сервером все прикладные программы и утилиты рабочей станции условно можно разделить на два класса: "клиент-файл" и "клиент-сервер".
К первому классу ("клиент-файл") относятся программы, выполняющие операции (открытие, ввод/вывод, закрытие) с файлами, которые хранятся на файловом сервере. В DOS при выполнении операций с файлами вырабатывается прерывание 21Н, которое перехватывается оболочкой (запросчиком) рабочей станции (рисунок 2.1).
Если файл располагается на локальном диске, то оболочка переадресовывает это прерывание операционной системе рабочей станции. Если файл располагается на файловом сервере, то оболочка открывает так называемое гнездо, используемое в дальнейшем для приема пакетов с файлового сервера. Затем запросчик формирует пакет для передачи его на сервер. Одно из полей этого пакета содержит номер гнезда, совпадающий с номером гнезда нити (задачи) сервера, которая будет обрабатывать этот пакет. Далее оболочка с помощью специальной функции протокола направляет пакет в сеть. При прохождении через драйвер сетевого адаптера (СА) пакет превращается в кадр, т.е. к нему добавляется заголовок и концевик кадра. Именно кадр передаётся по шине сети. Таким образом, оболочка реализует прозрачный доступ прикладной программы к файлу, который хранится на сервере. Т. е. программист может использовать обычные функции ввода/вывода языка С или Ассемблера, не вникая в детали API-интерфейса рабочей станции с файловым сервером.
При выполнении операций с файлом в программе, функционирующей под управлением OS/2, реализуются аналогичные действия.
Только здесь соответствующее прерывание сначала перехватывается ОС, которая переадресовывает его оболочке.
Ко второму классу ("клиент-сервер") относятся программы рабочей станции, непосредственно взаимодействующие с NLM-модулями файлового сервера. Перед передачей пакета NLM-модулю прикладная программа рабочей станции должна открыть гнездо, используемое в дальнейшем для приема пакетов, передаваемых с файлового сервера NLM-модулем. Далее прикладная программа формирует пакет для передачи по сети. Одно из полей этого пакета должно содержать номер гнезда нити, с которой связан соответствующий NLM-модуль. Затем прикладная программа рабочей станции направляет пакет в сеть с помощью специальной функции протокола. При прохождении через драйвер СА пакет превращается в кадр. Таким образом, если программист создал свой NLM-модуль и желает осуществить к нему доступ со стороны рабочей станции, то он должен создать и соответствующую прикладную программу типа "клиент-сервер". При этом программист должен знать детали API-интерфейса.
Рис. 2.1. Схема взаимодействия рабочей станции и файлового сервера
Заголовок кадра, передаваемого по сети, содержит адрес станции получателя и адрес станции отправителя. Если адрес станции получателя совпадает с адресом, на который настроен сетевой адаптер файлового сервера, то кадр принимается и обрабатывается драйвером СА сервера. При этом пакет выделяется из кадра, анализируется соответствующим протоколом и посылается на обработку нити, открывшей гнездо, номер которого совпадает с номером гнезда в пакете. Нить - это внутренняя задача NetWare или задача, связанная с каким-либо NLM-модулем. Далее результаты обработки пересылаются прикладной программе, выполняемой на рабочей станции, в виде одного или нескольких пакетов.
Процедура однократного подключения пользователя к сети
Подключившись по LOGIN к сети, пользователь получает доступ ко всем файловым серверам, их томам и другим объектам, по отношению к которым он имеет соответствующие права. При выполнении команды LOGIN пользователь прежде всего должен указать имя регистрации. По этому имени NetWare 4.х определяет местоположение требуемого объекта User в дереве NDS. В таблице 3.15 определяются правила кодирования имени регистрации в команде LOGIN.
Таблица 3.15. Правила кодирования имени регистрации в команде LOGIN
Способ кодирования | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.Имя | Наличие точки в начале Имени означает, что это Имя определяет полное имя объекта User в дереве NDS (т. е. полный путь от объекта User до корня дерева). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Имя | Отсутствие точки в начале и в конце Имени означает, что для определения местоположения объекта User в дереве NDS это Имя присоединяется слева к Имени1, указанному в строке Name Context="Имя1" файла NET.CFG. Полный путь поиска будет иметь вид: Имя.Имя1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Имя. | Наличие точки в конце Имени означает, что для определения местоположения объекта User это Имя присоединяется слева к контексту, расположенному на более высоком уровне иерархии. Т. е. если Name Context="Имя1.Имя2.Имя3..." то полный путь поиска будет иметь вид: Имя.Имя2.Имя3.... |
Имена в команде LOGIN и в строке Name Context могут быть составными, т. е. могут состоять из идентификаторов, разделённых точками. Рассмотрим примеры, иллюстрирующие эти правила.
Предположим, что в контейнерном объекте CLASS (рисунок 3.6) создан объект пользователя (User) с именем USR. В таблице 3.16 показаны различные способы кодирования имени регистрации в команде LOGIN.
Таблица 3.16. Примеры кодирования имени регистрации в команде LOGIN
Имя регистрации в LOGIN | Имя в строке Name Context файла NET.CFG | Полный путь поиска объекта User (полное имя объекта) в дереве NDS (от оконечного объекта к корневому) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.USR.CLASS.MSTU или .CN=USR.OU=CLASS.O=MSTU | Произвольное | USR.CLASS.MSTU | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
USR или CN=USR | CLASS.MSTU | USR.CLASS.MSTU | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
USR.CLASS или CN=USR.OU=CLASS | MSTU | USR.CLASS.MSTU | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ADMIN. или CN= ADMIN. | CLASS.MSTU | ADMIN.MSTU |
Новые возможности администрирования на уровне NDS
В таблице 3.17 перечислены новые возможности администрирования на уровне NDS NetWare 4.х.
Таблица 3.17.Новые возможности администрирования на уровне NDS NetWare 4.х
NetWare 3.х | NetWare 4.х | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
На каждом сервере создаются разные базы данных Bindery. | База данных NDS - это база данных всей сети. На разных серверах можно хранить копии базы данных NDS или её частей (разделов). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Администрирование выполняется с помощью разных текстовых утилит (SYSCON, FILER, SALVAGE и т. д.). | Основное средство администрирования - это графическая утилита (Windows-программа) NWADMIN, позволяющая выполнять все основные функции администратора: защиту объектов дерева NDS и их свойств (опекуны, IRF), защиту файловой системы каждого сервера, который определён в дереве NDS (опекуны, IRF, атрибуты), описание объектов печати, описание пользователей, групп, менеджеров, операторов, описание сценариев подключения всех типов, управление печатью, описание шлюзов MHS и их клиентов (для NetWare 4.1) и т.д. |
надёжность системы, т. к. при выходе из строя какого-либо сервера пользователь может подключиться к сети, используя копию раздела NDS на другом сервере,
производительность системы, т. к. в распределённых сетях требуемые части дерева NDS можно хранить на серверах, которые располагаются ближе к пользователю.
С помощью текстовой утилиты PARTMGR или графической программы NWADMIN (пункт меню Tools/Partition Manager) можно выполнить следующие операции над разделами и репликами:
создать раздел,
объединить два раздела в один,
создать реплику,
изменить тип реплики,
удалить реплику.
1. Создание раздела
В процессе инсталляции первого сервера сети автоматически создаются первый раздел NDS, началом которого служит объект [Root] (корень дерева), и Master-реплика этого раздела.
При инсталляции следующего сервера сети новый сервер будет автоматически содержать Read/Write-реплику дерева NDS, но при условии, что имеется менее трёх реплик этого раздела.
Рис. 3.11. Разделы NDS
Для создания нового раздела вручную необходимо указать на контейнер - корень будущего раздела. При этом автоматически создаётся Master-реплика нового раздела. Она сохраняется на сервере, который хранит Master-реплику родительского раздела (для первого раздела, создаваемого вручную, родительским разделом будет раздел [Root]). Если, кроме того, существуют другие серверы, хранящие Read/Write(Read-Only)-реплики этого же родительского раздела, то на них автоматически создаются Read/Write(Read-Only)-реплики создаваемого раздела.
Следует отметить, что создаваемые разделы всегда покрывают всё дерево NDS и никогда не перекрываются между собой (рисунок 3.11).
2. Объединение двух разделов в один
Можно добиться соединения родительского и дочернего разделов, указав вручную на дочерний раздел. Это следует делать, если разделы содержат логически связанную информацию, или их реплики должны быть объединены и располагаться на одних и тех же серверах.
3. Создание реплики (т. е. новой копии раздела)
Для создания новой реплики необходимо указать на контейнер (корень раздела), выбрать сервер, на котором требуется создать реплику, и определить тип этой реплики (Read/Write или Read-Only).
При этом следует помнить, что каждый раздел может иметь только одну Master-реплику (все остальные реплики должны быть Read/Write или Read-Only). На сервере можно хранить только одну реплику раздела.
4. Изменение типа реплики
При изменении типа реплики следует учитывать, что
при изменении Read/Write(Read-Only)-реплики на Master-реплику тип старой Master-реплики автоматически изменяется на Read/Write,
изменение типа Read/Write-реплики на Read-Only и наоборот не влияет на другие реплики этого раздела.
5. Удаление реплики
При удалении реплики необходимо помнить следующее:
нельзя удалить Master-реплику; при необходимости следует изменить тип какой-либо Read/Write(Read-Only)-реплики на Master, при этом старая Master-реплика автоматически преобразуется в Read/Write-реплику, которую уже можно удалить,
в целях обеспечения устойчивости к отказам следует иметь, как минимум, две реплики для каждого раздела.
Протокол NCP
В NetWare протокол NCP (NetWare Core Protocol) является надстройкой над протоколом IPX и используется для организации обмена между рабочей станцией и файловым сервером. На рисунке 2.18 (а) представлена структура пакета NCP.
Протокол NCP реализован в NetWare 3.х на системном уровне. В NetWare 4.х предлагается API-интерфейс NCP Extension для обращения к протоколу NCP из прикладных программ на рабочих станциях и из разрабатываемых NLM-модулей. Для обмена данными между программами по протоколу NCP используются пакеты IPX с номером гнезда 0х0451 и типом пакета 17.
Связь между рабочей станцией и файловым сервером, которые используют API-интерфейс к протоколу NCP, обычно организуется по следующей схеме:
NLM-модуль регистрирует какую-либо свою функцию как расширение NCP,
программа на рабочей станции или файловом сервере связывается с NetWare и получает требуемый идентификатор расширения NCP,
программа на рабочей станции или файловом сервере использует зарегистрированную функцию NLM-модуля как удалённую процедуру, передавая ей исходные данные и получая результаты обработки.
30 или 42 | Заголовок IPX или SPX | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | Тип запроса или ответа | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Запрос 1111h - создать канал 2222h - запрос услуги 5555h - удалить канал 7777h - при обмене с файлом использовать протокол Burst Mode | Ответ 3333h - ответ обслуживания 7777h - использовать Burst Mode 9999h - запрос поставлен в очередь и обрабатывается | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | Последовательный номер пакета | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | Младшая часть номера канала | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | Номер задачи, выдавшей запрос | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | Старшая часть номера канала (в NetWare на 1000 клиентов) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | Код завершения (только для ответа) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | Состояние канала (только для ответа) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
длина | Передаваемые данные |
а)
30 | Заголовок IPX-пакета (рисунок 2.15) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | Тип запроса или услуг (0х0004) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | Тип сервера (т.е. тип объекта в Bindery, обычно 0х0004) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
48 | Имя сервера | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4 | Номер сети (внутренний номер сети файлового сервера) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6 | Адрес узла файлового сервера (0х00000001) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | Номер гнезда, через которое сервер будет принимать запросы к службам NetWare (0х0451 - NCP) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | Рабочее поле |
б)
Рис. 2.18. Структура пакетов NCP (а) и SAP (б)
Таблица 2.5. Примитивы API-интерфейса для обращения к протоколу NCP из NLM-модуля
Примитив | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NWRegisterNCPExtension | Зарегистрировать функцию NLM-модуля как расширение NCP. Вход - имя регистрации, указатель на функцию (удалённую процедуру, которая выполняется как отдельная нить) и т. д. В прототип этой функции входят указатель на идентификатор соединения, указатель на буфер с исходными данными и длина этого буфера, указатель на буфер с результатами и длина этого буфера. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NWDeRegisterNCPExtension | Отменить регистрацию и удалить NLM-модуль из списка расширений NCP. |
Таблица 2.6. Примитивы API-интерфейса для обращения к протоколу NCP из прикладной
программы на рабочей станции или файловом сервере
Примитив | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NWScanNCPExtensionsInfo | Получить идентификатор расширения NCP. Вход - имя регистрации (см. таблицу 2.5) и др. Выход - идентификатор расширения NCP. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NWSendNCPExtensionRequest | Послать запрос на файловый сервер к удалённой процедуре. Вход - идентификатор расширения NCP, указатель на буфер с исходными данными, указатель на буфер результатов и др. Выход - результаты выполнения удалённой процедуры. |
Протокол NETBIOS
В NetWare протокол NETBIOS является надстройкой над протоколом IPX и используется для организации обмена данными между рабочими станциями.
Протокол NETBIOS реализован в виде резидентной программы NETBIOS.EXE, входящей в комплект поставки NetWare. Для обмена данными между этими резидентными программами используются пакеты IPX с номером гнезда 0х0455 и типом пакета 20.
Для идентификации рабочей станции протоколы IPX и SPX используют номер сети, адрес станции в сети и номер гнезда. Адрес станции определяется на аппаратном уровне и представляет собой число длиной 6 байтов. Номер сети занимает 4 байта. Номер гнезда выделяется динамически протоколом IPX или может быть получен в фирме Novell. Номер гнезда занимает 2 байта.
Протокол NETBIOS использует другой механизм адресации станций и программ. Для адресации станций используются имена размером 16 байтов. Каждая станция имеет одно постоянное имя (permanent name), которое образуется из аппаратного адреса добавлением к нему слева десяти нулевых байтов. Кроме постоянного имени имеются обычные имена и групповые имена, которые протокол NETBIOS позволяет добавлять (и удалять). Обычные имена служат для идентификации рабочей станции, групповые имена могут служить для посылки пакетов одновременно нескольким станциям в сети. Постоянное имя удалять нельзя, так как оно полностью определяется аппаратным обеспечением станции.
При добавлении обычного имени протокол NETBIOS опрашивает всю сеть для проверки уникальности имени. Групповое имя может быть одинаковым для нескольких станций, поэтому при добавлении группового имени опрос сети не выполняется.
После добавления новому имени присваивается так называемый номер имени (name number), который используется для передачи данных по сети.
Сравнивая методы адресации, используемые протоколами IPX/SPX и NETBIOS, можно заметить, что метод адресации протокола NETBIOS более удобен. Вы можете адресовать данные не только одной станции (как в IPX и SPX) или всем станциям сразу (как в IPX), но и группе станций, имеющим одинаковое групповое имя.
Чтобы выполнить функцию NETBIOS, в прикладной программе необходимо
заполнить поля блока NCB (Network Control Block),
загрузить в регистр ES:BX дальний адрес блока NCB,
вызвать программное прерывание 5С (INT 5C).
Формат блока NCB представлен на рисунке 2.17.
1 | Cmd | - | код команды | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | CCode | - | код ошибки до выполнения команды | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | LocalSessionNumber | - | номер канала | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | NetworkNameNumber | - | номер имени | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4 | Buffer | - | дальний указатель на буфер данных | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | Size | - | длина буфера | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
16 | CallName | - | имя станции-получателя | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
16 | OurName | - | имя станции-отправителя | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | ReceiveTimeout | - | время ожидания завершения приёма пакета | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | SendTimeout | - | время ожидания завершения передачи пакета | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4 | PostRoutine | - | адрес POST-программы | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | AdapterNumber | - | номер сетевого адаптера | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | FinalCCode | - | код ошибки после выполнения команды | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
14 | Reserved | - | рабочий буфер протокола NETBIOS |
Рассмотрим назначение полей блока NCB.
Поле Cmd содержит код команды, которую необходимо выполнить.
Поле CCode содержит код ошибки, возвращаемый после проверки параметров до выполнения команды.
Поле LocalSessionNumber содержит номер канала, установленного с другой программой. Оно используется только при выдаче команд передачи данных через каналы.
Поле NetworkNameNumber содержит номер имени, который присваивается при добавлении обычного или группового имени. Это поле должно быть заполнено при приёме датаграмм.
Поле Buffer представляет собой дальний указатель на буфер, который должен содержать данные перед выполнением передачи, или на буфер, который будет использован для приёма данных.
Поле Size определяет размер буфера, используемого для приёма или передачи данных.
В поле CallName указывается имя станции-получателя.
Поле OurName содержит имя станции-отправителя. Обычно используется в командах создания имени станции или создания канала.
Поля ReceiveTimeout и SendTimeout содержат интервал времени (измеряемый в 1/2с), в течение которого ожидается завершение соответственно команд приёма и передачи.
Поле PostRoutine - ноль или указатель на программу (POST-программу), которая получает управление после завершения команды.
Поле AdapterNumber используется, если на рабочей станции установлено несколько сетевых адаптеров (в сетях Ethernet этого обычно не бывает). В этом поле указывается номер адаптера, для которого предназначена команда. Первый адаптер имеет номер 0, второй -1 и т. д.
Поле FinalCCode содержит во время выполнения команды значение 0хFF. После завершения выполнения команды в это поле записывается ноль или код ошибки, который относится к выполнению команды в целом (в отличие от кода в поле CCode ).
Поле Reserved зарезервировано для использования протоколом NETBIOS.
Перед выполнением команды её код должен быть записан в поле Cmd блока NCB. Каждая команда NETBIOS реализована в двух вариантах: с ожиданием и без ожидания окончания выполнения команды.
Все команды NETBIOS можно разделить на несколько групп:
1. Для работы с именами:
0х30, 0хB0 - добавить новое имя в таблицу имён станции (с ожиданием и без ожидания),
0х36, 0хB6 - добавить новое групповое имя в таблицу станции,
0х31, 0хB1 - удалить имя из таблицы имён станции.
2. Для приёма и передачи датаграмм:
0х20, 0хA0 - передать одной или группе станций блок данных в виде датаграммы,
0х22, 0хA2 - передать всем станциям блок данных в виде датаграммы,
0х21, 0хA1 - принять блок данных, переданный с помощью команды 0х20 или 0хA0,
0х23, 0хA3 - принять блок данных, переданный с помощью команды 0х22 или 0хA2.
3. Для работы с каналами:
0х10, 0х90 - установить канал между двумя именами, заданными в блоке NCB,
0х11, 0х91 - организовать канал с вызываемой стороны (работают в паре с командами 0х10 или 0х90),
0х12, 0х92 - закрыть канал,
0х34, 0хB4 - опросить состояние канала.
4. Для приёма и передачи данных через каналы:
0х14, 0х94 - передать блок данных (до 64 Кб) по каналу,
0х71, 0хF1 - передать блок данных (до 64 Кб) по каналу без проверки доставки блока,
0х17, 0х97 - передать два буфера (каждый по 64 Кб) по каналу как один блок,
0х72, 0хF2 - передать два буфера (каждый по 64 Кб) по каналу как один блок без проверки доставки блока,
0х15, 0х95 - принять блок данных, переданный по каналу,
0х16, 0х96 - принять блок данных, переданный по любому каналу, который организовала принимающая станция.
5. Другие команды:
0х32 - удалить все имеющиеся каналы и имена,
0х35 - отменить ранее запущенную команду.
Протокол TLI
Протокол TLI (Transport Layer Protocol) разработан фирмой AT&T и является надстройкой над протоколами IPX и SPX. API-интерфейс для TLI легко изучить и использовать.
Стандартный метод инициации и выполнения обмена данными с использованием TLI состоит в следующем:
открыть конечную точку связи TLI (для IPX, SPX или TCP),
связать эту конечную точку с адресом станции,
установить связь (если используется SPX или TCP),
передать или получить данные,
разорвать связь (если используется SPX или TCP).
В таблице 2.7 перечислены основные примитивы API-интерфейса для связи с протоколом TLI.
Таблица 2.7. Основные примитивы API-интерфейса для работы с протоколом TLI
Примитив | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
t_open | Открыть конечную точку TLI. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
t_bind | Связать конечную точку с адресом станции. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
t_sndudata | Послать датаграмму пакетного типа (как в IPX). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
t_rcvudata | Получить пакет датаграммы. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
t_connect | Инициировать запрос для подключения. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
t_listen | Принять запрос по связи (см. t_connect). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
t_accept | Послать уведомление о принятии запроса на подключение. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
t_rcvconnect | Получить ответ на запрос t_connect (см. t_accept). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
t_snd | Послать по связи пакет информации. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
t_rcvdis | Отключить от связи принимающую сторону. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
t_snddis | Отключить от связи передающую сторону. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
t_look | Получить тип события, сгенерированного номером ошибки (t_error). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
t_error | Отобразить сообщение об ошибке. |
Для поддержки протокола TLI на файловом сервере используется библиотека CLIB.NLM. На файловом сервере следует дополнительно загрузить NLM-модуль TLI.NLM для использования служб, основанных на STREAMS.
Протоколы маршрутизации RIP и NLSP
Маршрутизатором называется специальное устройство, которое анализирует номер сети станции-получателя и направляет пакет по оптимальному маршруту.
На рисунке 2.19 представлен пример сети. Здесь четыре сегмента ЛВС с номерами сетей A, B, C, D связаны между собой с помощью маршрутизаторов R1, R2, R3, R4. Связь осуществляется посредством выделенных каналов связи сети Х.25.
Если рабочая станция WS1 направляет пакет на файловый сервер FS4, то маршрутизатор R1 должен выбрать оптимальный маршрут передачи: R1-R2-R4-FS4 или R1-R3-R2-R4-FS4.
В маршрутизаторах фирмы Novell используются два метода маршрутизации:
дистанционный векторный метод на базе протокола RIP (продукт NetWare MultiProtocol Router 2.1 - MPR v.2.1),
анализ состояния соединений на базе протокола NLSP (продукт NetWare MultiProtocol Router 3.0 - MPR v.3.0).
Продукты MPR v.2.1 и v.3.0 могут функционировать на файловом сервере или на выделенной рабочей станции.
Рассмотрим принципы работы маршрутизатора на базе MPR v.2.1 (рисунок 2.20). Здесь используется протокол RIP (Routing Information Protocol).
Предположим, что на маршрутизатор R1 поступает от WS1 пакет IPX, направляемый на файловый сервер FS4 (рисунок 2.19). R1 извлекает из заголовка пакета номер сети (D) станции-получателя и выполняет поиск строки в таблице "Сеть" (на рисунке номера сетей представлены в виде идентификаторов A, B, C, D). После этого из соответствующей строки таблицы "Канал" (в данном примере из последней) читается номер канала, куда и направляется пакет. Для данного примера пакет направляется через 3-ий канал (порт) маршрутизатору R3, где будут выполнены аналогичные действия.
Рис. 2.19. Пример объединения сегментов ЛВС с помощью маршрутизаторов
В таблице "Сеть" для каждого номера сети хранится критерий передачи пакета от данного маршрутизатора до соответствующего сегмента. Значение этого критерия совпадает с числом промежуточных маршрутизаторов до сегмента. Таблица "Сеть" используется для формирования поля данных пакета RIP.
Этими пакетами соседние маршрутизаторы обмениваются между собой (примерно один раз в минуту). RIP-пакет представляет собой IPX-пакет с гнездом 0х0453 и типом пакета 1.
Рис. 2.20. Схема работы маршрутизатора на базе MPR v.2.1
Рассмотрим, как происходит обновление строк в таблицах "Сеть" и "Канал" маршрутизатора.
Предположим, что на R1 поступил RIP-пакет от маршрутизатора R2, и значение критерия передачи данных от R2 до сети D равно 1 (это значение передаётся в RIP-пакете). Далее маршрутизатор R1 вычисляет новое значение критерия для передачи данных от R1 до сети D. Оно будет равно
1(промежуточный маршрутизатор R2) + 1(критерий передачи данных от R2 до сети D) = 2.
Это число сравнивается со старым значением, равным 3. Так как значение нового критерия (2) меньше старого, то происходит обновление строк таблиц "Сеть" и "Канал" для сети D (рисунок 2.20). Теперь пакет, передаваемый от станции WS1 на файловый сервер FS4, будет направляться маршрутизатором R1 во 2-ой канал.
Таким образом, RIP-пакеты обеспечивают динамическое изменение маршрутов передачи пакетов, вызванное изменением состояния сети (подключение или отключение маршрутизаторов, аварийное состояние канала передачи и т. д.). Недостатком маршрутизации на базе RIP-пакетов является широковещательный характер этих пакетов.
Рассмотрим принципы работы маршрутизатора на базе MPR v.3.0 (рисунок 2.21). Здесь используется протокол NLSP (Network Link Services Protocol).
Рис. 2.21. Схема работы маршрутизатора на базе MPR v.3.0
В начале своей работы маршрутизатор выполняет опрос узлов сети и автоматически строит карту сети на уровне маршрутизаторов и файловых серверов сети. Можно вручную задать цену каждой связи. На основе этой карты маршрутизатор формирует оптимальную таблицу маршрутизации.
Предположим, что от WS1 на R1 поступает пакет IPX, направляемый на файловый сервер FS4. Маршрутизатор извлекает из заголовка пакета номер сети станции-получателя, выполняет поиск строки в таблице маршрутизации (для этого примера D, 2) и направляет пакет в соответствующий канал (в данном случае 2).
После поступления NLSP-пакета маршрутизатор выполняет обновление карты сети и таблицы маршрутизации. Карта сети строится и хранится каждым маршрутизатором, что делает ненужным постоянный широковещательный обмен маршрутной информацией до тех пор, пока не будет изменена конфигурация сети. По утверждению специалистов Novell этот более эффективный метод информационного обмена между маршрутизаторами может обеспечить снижение сетевого трафика до 40%.
Протоколы передачи Packet Burst Protocol и LIP
В штатной конфигурации NetWare 3.11 каждый переданный кадр квитируется принимающей стороной (рисунок 2.38).
Рис. 2.38. Квитирование кадров
В NetWare 3.12 и 4.х используется протокол Packet Burst Protocol, позволяющий без квитирования читать/писать данные объёмом до 64 Кб. Размер окна (количество кадров, передаваемых без квитирования) является переменным и зависит от объёма передаваемых данных и максимального размера пакета. Так при передаче данных объёмом 64 Кб при размере пакета 512 байтов потребуется 128 кадров, а при размере пакета 1500 байтов - 44 кадра. В квитанции на окно указываются номера кадров, которые были приняты с ошибкой. Передающая станция должна повторить передачу этих ошибочных кадров. При увеличении числа кадров, принятых с ошибкой, NetWare автоматически уменьшает размер окна. Следует отметить, что использование протокола Packet Burst Protocol позволяет существенно уменьшить трафик сети и тем самым повысить производительность системы.
В NetWare 3.11 протокол Packet Burst Protocol является нештатным средством, и его следует инициировать на рабочих станциях (BNETx.COM) и файловом сервере (PBURST.NLM). В NetWare 3.12 и 4.х этот протокол включается автоматически. Его нельзя выключить на сервере (для NetWare 3.12 и 4.х), но можно отключить для отдельной рабочей станции. Чтобы включить или отключить этот протокол на рабочей станции, в файл NET.CFG необходимо добавить строку
PB BUFFERS = n,
где n = 0(10 - число буферов (а не размер окна), выделенных на рабочей станции. Если указывается n, равное 0, то протокол Packet Burst Protocol отключается для этой рабочей станции.
Если при согласовании максимальной длины пакетов, передаваемых между рабочей станцией и файловым сервером, сервер обнаруживает на своём пути маршрутизатор, и он не поддерживает протокол LIP (Large Internet Packet), то максимальная длина этих пакетов будет равна 576 байтов. Использование протокола LIP позволяет устранить этот недостаток и увеличить максимальный размер передаваемого пакета.
Для использования протокола LIP в NetWare 3. 11 необходимо на рабочей станции загрузить модуль BNETx.COM, на файловом сервере - LIPX.NLM. В NetWare 3.12 и 4.х можно сбросить признак применения LIP-протокола с помощью SET-параметра
ALLOW LIP = OFF (для NetWare 4.х) или 0FF5 (для NetWare 3.12)
файлового сервера или параметра
LARGE INTERNET PACKETS = OFF
в разделе NetWare DOS Requester файла NET.CFG на рабочей станции.
Максимальная длина пакета обмена с маршрутизатором устанавливается SET-параметром
MAXIMUM PHYSICAL RECEIVE PACKET SIZE = размер
файлового сервера и параметром
LIP START SIZE = размер
в разделе NetWare DOS Requester файла NET.CFG на рабочей станции.
Для сетей Token Ring и ARCnet этот максимальный размер пакета равен 4202 байтов, для сетей Ethernet - 1514 байтов. Эти размеры должны быть также установлены на всех маршрутизаторах сети.
Распределение и защита основной памяти
На рисунке 2.5 представлена структура оперативной памяти файлового сервера NetWare 3.х.
Структура ОП для NetWare 4.х отличается тем, что области памяти Permanent Memory Pool и Alloc Short Term Memory Pool объединены в один пул Allocated Memory Pool.
В системной области располагаются ОС DOS, модуль SERVER.EXE, программы BIOS. В пулах памяти хранятся буферы приема пакетов, таблица соединений, таблица открытых файлов, блоки, динамически выделяемые NLM-модулям, и т.д. Всю оставшуюся память занимает кэш-буфер (Cache Buffers). В этой области выделяются кэш неперемещаемой памяти (Cache Non-Movable Memory) и кэш перемещаемой памяти (Cache Movable Memory). В кэше перемещаемой памяти в основном хранятся кэш-таблицы, которые могут быть перемещены операционной системой в другое место ОП в случае возникновения фрагментации памяти. Кэш неперемещаемой памяти расширяется, если в ОП загружается NLM-модуль. NLM-модули не являются перемещаемыми. После выгрузки NLM-модуля из ОП освободившаяся память вновь возвращается в кэш-буфер.
Рис. 2.5. Структура ОП файлового сервера NetWare 3.x
В NetWare 3.х защита оперативной памяти не предусмотрена: любой NLM-модуль имеет доступ к любой области ОП. Поэтому в NetWare 3.х нельзя отлаживать новые NLM-модули на работающей системе, т.к. ошибка в программе может привести к "зависанию" всей системы.
NetWare 4.х предусматривает кольцевую и доменную защиту ОП на основе сегментации и страничной организации процессоров Intel 80386/80486.
Прежде всего рассмотрим, как процессор выполняет обращение к ОП из программы файлового сервера NetWare 4.х (рисунок 2.6).
Адрес ОП состоит из селектора и смещения. 13-битовый индекс селектора определяет дескриптор в таблице страниц. Из этого дескриптора извлекается 32-битовый адрес требуемой страницы в ОП и к нему прибавляется 16-разрядное смещение. В результате получается требуемый физический адрес данных в оперативной памяти.
Но перед формированием физического адреса определяется возможность доступа программы к требуемой странице.
Для этого в поле RPL селектора адреса копируется 2-битовый уровень привилегий из селектора сегмента кода, загруженного в регистр CS. Таким образом, поле RPL определяет уровень доступа программы к странице. Если значение RPL не превышает значения DPL дескриптора, то программе разрешается доступ к странице. Описанный механизм ограничения доступа называется кольцевой защитой памяти. NetWare 4.х поддерживает только два уровня доступа: 0 и 3 (значения поля RPL). Уровни 1 и 2 эквивалентны уровню 3. В NetWare 4.х самый привилегированный уровень 0 обозначается как OS, а уровень 3 - как OS_PROTECTED.
Доменная защита памяти в NetWare 4.х заключается в том, что для каждого уровня доступа (OS и OS_PROTECTED) определена своя двухуровневая таблица страниц (Page Table). Работающий в кольце (домене) процесс не может видеть адреса памяти, не отображённые явно на этот домен. Следовательно, для одного домена логически не существует пространства памяти (адресов) другого домена.
Рис. 2.6. Организация доступа программы к ОП
Таким образом, в NetWare 4.х оперативную память можно разделить на два домена (рисунок 2.7).
Рис. 2.7. Домены NetWare 4.x
В домен OS загружаются ядро ОС и системные NLM-модули, а в домен OS_PROTECTED можно загружать отлаживаемый NLM-модуль. При попытке несанкционированного доступа к страницам домена OS отлаживаемый NLM-модуль будет аварийно завершён. Таким образом, в NetWare 4.х можно отлаживать новые программы на работающей системе. После отладки модуля его рекомендуется загружать в домен OS. Это связано с тем, что время переключения между доменами достаточно велико.
Для создания двухдоменной структуры памяти достаточно перед загрузкой NetWare 4.х поместить в конфигурационный файл команду
LOAD DOMAIN
Далее в процессе функционирования системы с консоли файлового сервера можно вводить следующие команды:
DOMAIN=OS - последующие NLM-модули, загружаемые по LOAD, будут принадлежать домену OS,
DOMAIN=OS_PROTECTED - последующие NLM-модули, загружаемые по LOAD, будут принадлежать домену OS_PROTECTED.
Сетевая файловая система
Одна из основных целей использования сетей - это обеспечение доступа всех пользователей к общим устройствам хранения информации, в основном, к жёстким дискам. Организация файловой системы во многом схожа с организацией файловой системы DOS, но и имеет важные отличия. Как и в DOS, информация хранится в файлах. Файлы размещаются в древовидной структуре каталогов и подкаталогов. Корнем такого дерева, в отличие от драйва DOS, является том. Тома располагаются на серверах. При наличии соответствующих прав пользователь может получить доступ к томам всех серверов, доступных в сети. Общая структура файловой системы приведена на рисунке 2.12.
Рассмотрим элементы этой системы.
Том. Это высший уровень файловой системы NetWare. Тома создаются в процессе инсталляции файлового сервера и в процессе его функционирования. В отличие от драйвов DOS, которые соответствуют непрерывным областям на жёстком диске, тома могут состоять из нескольких сегментов, которые могут находиться как на одном жёстком диске, так и на разных.
Каталоги. Правила работы с каталогами в NetWare и DOS практически совпадают. В отличие от DOS в NetWare ограничивается степень вложенности каталогов (SET-параметр Maximum Subdirectory Tree). По умолчанию в NetWare максимальный уровень вложенности равен 25.
Файлы. Правила использования файлов в NetWare такие же, как и в DOS. Файлы могут размещаться в каталогах и подкаталогах тома, включая и корневой.
При инсталляции файлового сервера создаётся по крайней мере том с именем SYS. Он предназначен для хранения файлов самой операционной системы NetWare, а также программ и утилит коллективного пользования. При инсталляции на этом томе создаётся несколько каталогов (таблица 2.2).
Рис. 2.12. Структура файловой системы
Войдя в сеть, можно создавать другие каталоги. Пользователи могут обмениваться файлами через эти каталоги и хранить в них свои собственные файлы. Однако прежде чем использовать созданные каталоги, необходимо, во-первых, описать пользователей в системе и, во-вторых, наделить их правами, необходимыми для доступа к каталогам.
Пользователь осуществляет доступ к файлам и каталогам NetWare с рабочей станции, на которой установлена своя операционная система, например, DOS. Связывание драйвов DOS с томами NetWare выполняется с помощью утилиты командной строки MAP. Например, после выполнения команды
MAP F:=FS4S/SYS:
том SYS файлового сервера FS4S планируется на драйв F: и становится доступным операционной системе DOS. Такие драйвы называют логическими устройствами.
Таблица 2.2. Системные каталоги ОС NetWare на томе SYS
Каталог | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LOGIN | Содержит программы, необходимые для подключения к сети. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PUBLIC | Содержит основные утилиты NetWare, которые используются клиентами и администратором сети. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SYSTEM | Содержит файлы, используемые ОС NetWare или администратором сети. В частности здесь хранятся системные NLM-модули. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1. Для NetWare 3.х. Используется операционной системой. Для каждого пользователя в этом каталоге создаётся отдельный подкаталог с именем, совпадающим с шестнадцатеричным идентификатором (ID) этого пользователя из базы данных Bindery. В этом подкаталоге, в частности, хранится пользовательская процедура подключения (login script). 2. Для NetWare 4.х. В основном, данный каталог предназначен для различных почтовых систем, совместимых с NetWare 4.х. Личные подкаталоги в этом каталоге создаются только для клиента ADMIN при инсталляции для обеспечения возможности работы в режиме эмуляции Bindery, клиентов, создаваемых автоматически при выполнении Upgrade с версии 3.х; при этом личные процедуры регистрации перемещаются в дерево NDS в качестве свойства объекта USER. Если пользователь описывается обычным способом с помощью средств NDS, то подкаталог не создаётся. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ETC | Содержит файлы примеров, помогающих конфигурировать сервер для работы с протоколом TCP/IP. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DELETED.SAV | Каталог с этим именем находится в корне каждого тома. Если вместе с файлами был удалён и сам каталог, то эти файлы перенаправляются в каталог DELETED.SAV, и их следует восстанавливать, в случае необходимости, в этом каталоге. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DOC | В этом каталоге инсталлируется документация в электронном виде. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DOCVIEW | Содержит средства просмотра электронной документации. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
QUEUES (только для NetWare 4.х) | Содержит очереди на печать. |
MAP S1:=FS4S/SYS:PUBLIC
будет создан драйв Z: (выбираются буквы с конца латинского алфавита), спланированный на каталог PUBLIC тома SYS файлового сервера FS4S. При этом путь Z: будет добавлен в начало параметра PATH. Создаваемые по MAP драйвы Z:, Y: и т.д. называются поисковыми устройствами.
Сетевая печать
Все клиенты сети могут пользоваться одним или несколькими общими принтерами. На рисунке 2.13 представлена схема организации сетевой печати в NetWare.
Рис. 2.13. Схема организации сетевой печати
При использовании сетевой печати данные, направляемые на печать, помещаются в очередь в виде задания. Сервер печати периодически сканирует очереди и при наличии в них заданий на печать пересылает их на принтеры. Рассмотрим элементы сетевой печати.
Очереди
Когда рабочая станция посылает данные на печать, они временно сохраняются в виде файла в специальном каталоге. Этот файл называется заданием, а специальный каталог - очередью.
В NetWare 3.х очередь представляет собой подкаталог каталога SYSTEM тома SYS. Имя этого подкаталога имеет расширение QDR, например, SYS:SYSTEM\09000001.QDR. В этом подкаталоге находятся файлы, определяющие параметры очереди (*.SRV, *.SYS), и файлы с заданиями на печать (*.Q). В файле с расширением SRV имеется ссылка на серверы печати, обслуживающие данную очередь. В файле с расширением SYS хранится информация, необходимая серверу печати для поддержки очереди: номер станции, передавшей задание, идентификационный номер пользователя, имя файла задания на печать, время постановки его в очередь, заданное время начала печати и т.д. В каждой очереди имеется по одному файлу с расширением SRV и SYS. При добавлении новых заданий информация в этих файлах обновляется. Задание на печать хранится в виде файла с расширением Q. При формировании имени этого файла используются идентификационный номер очереди и порядковый номер задания в ней, например, 00090001.Q, 00090002.Q и т.д.
В NetWare 4.х подкаталоги очередей могут быть расположены на любом томе файлового сервера (в версии NetWare 3.х подкаталоги очередей всегда создаются в каталоге SYSTEM тома SYS). Если на томе сохраняется хотя бы одна очередь, то в его корне автоматически создаётся каталог QUEUES, подкаталоги которого и являются очередями. Параметры очередей хранятся в дереве NDS как свойства объекта Print Queue.
Сервер печати
Сервер печати - это программа, которая постоянно сканирует очереди на печать и направляет задания из очередей на принтеры.
В NetWare 3.х сервер печати может выполняться либо в виде NLM-модуля на файловом сервере, либо в виде EXE-файла на выделенной рабочей станции (рисунок 2.13). Для каждого сервера печати создаётся подкаталог в каталоге SYS:SYSTEM. Его имя совпадает с шестнадцатеричным идентификатором соответствующего объекта Print Server из базы данных Bindery. Он содержит файлы со служебной информацией, требуемой для работы самого сервера. В файле FILESERV размещаются данные об обслуживаемых файловых серверах. В этом же подкаталоге находятся файлы с именами PRINT.* (информация для каждого определённого принтера), QUEUE.* (сведения об очередях вывода на печать) и NOTIFY.* (списки пользователей, которых нужно уведомлять при возникновении проблем с принтером). Информация, содержащаяся в файлах с одинаковым расширением (например, PRINT.000, QUEUE.000 и NOTIFY.000), относится к одному принтеру.
В NetWare 4.х сервер печати реализован в виде NLM-модуля, т.е. может быть загружен только на файловом сервере. На одном файловом сервере может быть загружен только один сервер печати (это справедливо и для NetWare 3.х). Параметры сервера печати хранятся в дереве NDS как свойства объекта Print Server.
Принтеры
Принтеры в сетях NetWare могут подключаться тремя способами.
К файловому серверу. К файловому серверу могут быть подключены максимум пять принтеров (к трём параллельным и двум последовательным портам). Следует отметить, что каждый сервер печати может обслуживать в NetWare 3.х до 16 принтеров, в NetWare 4.х - до 256 принтеров.
К любой рабочей станции, функционирующей под управлением DOS или OS/2. В этом случае рабочая станция может быть использована в обычном режиме. На этой станции требуется вручную загружать необходимое программное обеспечение сетевого принтера (RPRINTER.EXE - для NetWare 3.х, NPRINTER.EXE - для NetWare 4.х).
Непосредственно к сетевой шине, если принтер снабжён специальной сетевой платой.
В NetWare 4.х параметры принтера хранятся в дереве NDS как свойства объекта Printer.
Для организации сетевой печати необходимо выполнить следующие действия:
1. При необходимости описать с помощью утилиты PRINTDEF.EXE
новые режимы печати (ESC-последовательности, которые должны быть выполнены перед началом печати),
новые формы печати (количество строк на странице и число символов в строке).
2. Описать с помощью утилиты PCONSOLE.EXE объекты
очередей,
серверов печати,
принтеров.
3. Описать с помощью утилиты PRINTCON.EXE конфигурации заданий на печать (Print Job Configuration): заголовок печати, число копий, очередь по умолчанию и т.д.
4. Запустить сервер печати на файловом сервере (PSERVER.NLM) или на выделенной рабочей станции (PSERVER.EXE - только для NetWare 3.х).
5. Печать в сети:
Из сетевых приложений. Так называют приложения, в которых используется API-интерфейс службы сетевой печати. В качестве примера можно назвать утилиту NPRINT.EXE и пакеты WordPerfect, QuattroPro.
Из несетевых приложений. Так называют приложения, в которых данные, выводимые на печать, направляются в LPT-порт рабочей станции. Чтобы перехватить эти данные и передать их в сетевую очередь, используют утилиту командной строки CAPTURE. В качестве примера несетевых приложений можно назвать WINDOWS, LEXICON, NORTON.
Ниже приведён пример организации печати из-под WINDOWS.
CAPTURE J=J1 | Начать перехват. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
WIN | Запустить WINDOWS. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Печать из приложения WINDOWS (например из WinWord) | Данные, направляемые в LPT-порт, перехватываются и передаются в сетевую очередь, а затем распечатываются на сетевом принтере | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Параметры печати выбираются из описания конфигурации задания на печать J1. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Выгрузить WINDOWS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CAPTURE EC | Завершить перехват. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
WIN | Вновь запустить WINDOWS. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Печать из приложения WINDOWS | Данные распечатываются на принтере, который подключён к локальному LPT-порту. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Выгрузить WINDOWS |
Следует отметить, что в NetWare 4.х действия 1, 2, 3, 6 могут быть выполнены также и с помощью Windows-программы NWADMIN.EXE.
Системные сетевые NLM-приложения
В пункте 2.1.4 отмечалось, что в качестве NLM-модулей выступают драйверы жёстких дисков (*.DSK), драйверы сетевых адаптеров (*.LAN), модули поддержки пространства имён (*.NAM), программы с расширением *.NLM. Все модули с расширением NLM можно условно разделить на несколько групп:
системные библиотеки NLM (STREAMS.NLM, CLIB.NLM, TLI.NLM, SPXS.NLM, IPXS.NLM и т. д.),
системные утилиты файлового сервера (таблица 2.8),
модули, расширяющие возможности NetWare: модули шлюза электронной почты MHS, модули маршрутизатора MPR, модули коммуникационных серверов NACS и NetWare Connect, модули серверов баз данных, модули объединения серверов в кластеры, модули для связи с другими ОС и т. д.
Таблица 2.8. Утилиты файлового сервера NetWare
Имя NLM-модуля | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для 3.х и 4.х | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EDIT.NLM | Отредактировать с консоли текстовый файл, хранящийся в каталоге DOS или NetWare файлового сервера. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
REMMOTE.NLM и RSPX.NLM | Организовать удалённую консоль. На рабочей станции необходимо запустить утилиту RCONSOLE.EXE. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
INSTALL.NLM | Установить или модифицировать характеристики ОС NetWare. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSERVER.NLM | Запустить сервер печати. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VREPAIR.NLM | Исправить логическую структуру данных сетевого тома после сбоя (т. е. "отремонтировать" таблицы DET и FAT). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MONITOR.NLM | Посмотреть параметры текущего состояния сети. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для 4.х | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SERVMAN.NLM | В диалоге посмотреть и установить SET-параметры. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DOMAIN.NLM | Создать ОС-защищённый домен (OS_PROTECTED). Загрузку этого модуля можно кодировать только в файле STARTUP.NCF. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KEYB.NLM | Изменить кодовую таблицу клавиатуры. При запуске этого модуля с параметром RUSSIA устанавливается переключатель для ввода с консоли латинских или русских букв. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DSREPAIR.NLM | Отремонтировать дерево NDS и его реплики. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CDROM.NLM | Используя затем команды CD, можно смонтировать CD-ROM как том NetWare. Предварительно должен быть загружен драйвер для работы с CD-ROM, который должен быть подключён по SCSI-интерфейсу. На рабочей станции для планирования драйва на том CD-ROM следует использовать утилиту MAP. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RPL.NLM | Поддержать загрузку ОС рабочей станции в оперативную память бездисковой станции. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TIMESYNC.NLM | Организовать мониторинг времени на сервере NetWare 4.х (загружается автоматически). |
В таблице 2.8 перечислены основные системные утилиты файлового сервера, поставляемые с дистрибутивом NetWare, хранящиеся в каталоге SYS:SYSTEM и загружаемые по команде LOAD.
Следует отметить, что некоторые NLM-модули, обеспечивающие работу шлюза MHS, маршрутизатора MPR для файлового сервера, кластера серверов, входят в стандартную поставку NetWare 4.х. Существует большое число других NLM-модулей, расширяющих возможности NetWare. Их можно приобрести за дополнительную плату. Количество таких программ постоянно растёт.
Служба счетов
В таблице 4.3 перечислены примитивы (функции) службы ведения счетов для NLM-модулей и программ рабочей станции.
Таблица 4.3. Примитивы службы учёта счетов
Функция | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для NLM-модулей и рабочей станции | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetAccountStatus | Определить статус счёта (задержан и т. д.). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SubmitAccountCharge | Назначить счёт. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SubmitAccountHold | Заблокировать счёт. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SubmitAccountNote | Разблокировать счёт. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Только для рабочей станции | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Accounting Installed | Проинсталлировать счёт пользователя. |
Служба базы объектов
Таблица 4.4 содержит список примитивов, составляющих группу "Служба базы объектов". Они одинаково доступны как NLM-модулям, так и программам, которые функционируют на рабочих станциях.
Таблица 4.4. Примитивы службы базы объектов (БД)
Функция | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для NLM-модулей и рабочей станции | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1. В режиме Bindery | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AddBinderyObjectToSet | Добавить объект в список свойства другого объекта. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ChangeBinderyObjectPassword | Изменить пароль объекта. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ChangeBinderyObjectSecurity | Изменить статус защиты объекта. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ChangePropertySecurity | Изменить статус защиты свойства. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CloseBindery | Закрыть БД сетевых ресурсов. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CreateBinderyObject | Создать объект в БД. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CreateProperty | Создать свойство объекта. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DeleteBinderyObject | Удалить объект из БД. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DeleteBinderyObjectFromSet | Удалить объект из списка свойства другого объекта. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DeleteProperty | Удалить свойство объекта. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetBinderyAccessLevel | Читать уровень доступа к БД. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetBinderyObjectID | Читать ID (идентификатор) объекта. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetBinderyObjectName | Читать имя объекта. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IsBinderyObjectInSet | Проверить, присутствует ли объект в списке свойства другого объекта. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OpenBindery | Открыть БД сетевых ресурсов. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ReadPropertyValue | Читать значение свойства. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RenameBinderyObject | Переименовать объект в БД. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ScanBinderyObject | Найти требуемый объект (удовлетворяющий условию). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ScanProperty | Найти требуемое свойство. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VerifyBinderyObjectPassword | Проверить пароль объекта. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
WritePropertyValue | Записать значение свойства. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2. В режиме NDS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NWDSModifyObject | Изменить свойство ACL (список опекунов объекта или его свойства). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NWDSChangeObjectPassword | Изменить пароль объекта (например, пользователя). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NWDSList | Найти объекты. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NWDSSearch | Найти объекты по заданным значениям свойств. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Функции добавления, модификации и удаления новых типов объектов и их свойств. |
Служба соединений
Функции службы соединений управляют соединениями между рабочими станциями и файловым сервером (таблица 4.5).
Таблица 4.5. Примитивы службы соединений
Функция | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для NLM-модулей и рабочей станции | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetConnectionInformation | Читать информацию о соединении. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetConnectionNumbers | Получить номера соединений. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetInternetAddress | Получить сетевой адрес станции. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetObjectConnectionNumbers | Получить число соединений. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetStationAddress | Получить адрес станции. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LoginToFileServer | Подключиться к серверу по login. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Logout | Отключиться от всех серверов. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LogoutFromFileServer | Отключиться от файлового сервера. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Только для NLM-модулей | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetMaximumNumberOfStation | Читать максимальное число соединений, которое может поддерживать файловый сервер. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Только для рабочей станции | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AttachToFileServer | Подключиться к файловому серверу по attach. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DetachFromFileServer | Отключиться от файлового сервера. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EnterLoginArea | Ввести область login. |
В таблице 4.6 перечислены примитивы службы среды файлового сервера.
Таблица 4.6. Примитивы службы среды файлового сервера
Функция | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для NLM-модулей и рабочей станции | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CheckConsolePrivileges | Проверить привилегии консоли. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CheckNetwareVersion | Проверить версию NetWare. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DisableFileServerLogin | Запретить подключение новых пользователей к сети. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DisableTransactionTracking | Отключить TTS. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DownFileServer | Завершить работу сервера. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EnableFileServerLogin | Разрешить подключение новых пользователей к сети. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetBinderyObjectDiskSpaceLeft | Получить сведения о дисковом пространстве, занимаемом БД Bindery. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetDiskUtilisation | Получить информацию о заполнении диска. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetFileServerDateAndTime | Читать дату и время сервера. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetFileServerDescriptionStrings | Получить строку описания сервера. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetFileServerLoginStatus | Читать статус подключения к серверу. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetFileServerName | Читать имя сервера. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SendConsoleBroadcast | Послать широковещательное сообщение. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetFileServerDateAndTime | Установить дату и время на файловом сервере. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Только для NLM-модулей | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ClearConnectionNumber | Очистить номер соединения. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetServerInformation | Читать информацию о сервере. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Только для рабочей станции | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EnableTransactionTracking | Включить TTS. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetConnectionOpenFiles | Читать информацию о файлах, открытых соединением. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetFileServerStats | Читать состояние сервера. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetPathFromDirectoryEntry | Получить путь из таблицы DET. |
Служба каталогов
В таблице 4.7 перечислены примитивы службы каталогов.
Таблица 4.7. Примитивы службы каталогов
Функция | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Только для NLM-модулей | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AddSpaceRestrictionForDirectiry | Установить ограничение пространства для каталога. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AddTrustee | Добавить опекуна каталога. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AddUserSpaceRestriction | Установить ограничение пространства на том для пользователя. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ChangeDirectoryEntry | Изменить элемент таблицы DET. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
chdir | Сменить текущий каталог. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
closedir | Закрыть каталог. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DeleteTrustee | Удалить опекуна каталога. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DeleteUserSpaceRestriction | Снять ограничение пространства на том для пользователя. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetAvailableUserDiskSpace | Получить размер доступного пространства на диске для пользовотеля. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetEffectiveRights | Читать эффективные права пользователя по отношению к каталогу. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetVolumeInformation | Получить информацию о томе. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetVolumeInfoWithNumber | Получить информацию о томе с номером. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetVolumeName | Получить имя тома. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetVolumeNumber | Получить номер тома. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
_makepath | Создать элемент DET. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mkdir | Создать каталог. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModifyInheritedRightsMask | Модифицировать маску (фильтр) наследуемых прав каталога. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
opendir | Открыть каталог. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PurgeTrusteeFromVolume | Удалить опекунов с тома. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
readdir | Читать данные о каталоге. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ReturnSpaceRestrictionForDirectory | Получить ограничение пространства для директории. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ScanBinderyObjectTrusteePaths | Найти пути для конкретного опекуна. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ScanTrustees | Читать опекунов каталога. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ScanUserSpaceRestriction | Определить ограничение пространства для пользователя. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetDirectoryInfo | Установить данные для каталога. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
_splitpath | Определить поли-пути. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UpdateDirectoryEntry | Обновить элемент таблицы DET. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Только для рабочей станции | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AddTrusteeToDirectory | Добавить опекуна к каталогу. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AllocTemporaryDirectoryHandle | Выделить временный указатель каталога. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AllocPermanentDirectoryHandle | Выделить постоянный указатель каталога. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ClearVolRestriction | Снять ограничение пространства на том для пользователя. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CreateDirectory | Создать каталог. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DeallocateDirectoryHandle | Освободить указатель каталога. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DeleteDirectory | Удалить каталог. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DeleteTrustee | Удалить опекуна каталога. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DeleteTrusteeFromDirectory | Удалить опекунов каталога. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetCurrentDirectory | Получить текущий каталог. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetDirectoryHandle | Получить указатель каталога. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetDirectoryPath | Читать путь каталога. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetDirEntry | Читать элемент DET. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetDriveInformation | Получить информацию о драйве. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetEffectiveDirectoryRights | Читать эффективные права пользователя по отношению к каталогу. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetEffectiveRights | Читать эффективные права пользователя. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetObjectDiskRestrictions | Получить размер доступного пространства на диске для пользователя. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetSearchDriveVector | Получить множество поисковых драйвов. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetVolumeInformation | Получить информацию о томе. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetVolumeInfoWithHandle | Получить информацию о томе с указателем. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetVolumeInfoWithNumber | Получить информацию о томе с номером. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetVolumeName | Получить имя тома. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetVolumeNumber | Получить номер тома. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetVolUsage | Получить объём тома, занимаемый пользователем. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IsSearchDrive | Проверить, является ли драйв поисковым ? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapDrive | Спланировать драйв. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapDriveUsingString | Спланировать драйв, используя строку. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModifyIMaximumRightsMask | Модифицировать маску (фильтр) наследуемых прав каталога. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MoveEntry | Переместить элемент DET. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RenameDirectory | Переименовать каталог. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ScanBinderyObjectTrusteePaths | Найти пути для конкретного опекуна. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ScanDirectoryForTrustees | Найти опекунов для каталога. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ScanDirectoryInformation | Получить данные о каталоге. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ScanDirEntry | Найти элемент DET. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ScanDirRestriction | Получить ограничение пространства для каталога. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ScanEntryForTrustees | Найти элемент DET для опекунов. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ScanVolForRestriction | Читать ограничение для тома. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetDirectoryHandle | Установить указатель каталога. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetDirectoryInformation | Установить данные для каталога. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetDirRestriction | Установить ограничение пространства для каталога. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetDrivePath | Установить путь для драйва. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetEntry | Изменить элемент таблицы DET. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetSearchDriveVector | Установить множество поисковых путей. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetTrustee | Добавить опекуна к каталогу. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetVolRestriction | Установить ограничение пространства на том для пользователя. |
Служба файлов
В таблице 4. 8 перечислены примитивы службы файлов. Здесь не указаны стандартные С-функции, используемые для организации ввода/вывода в файл.
Таблица 4.8. Примитивы службы файлов
Функция | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Только для NLM-модулей | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
access | Получить информацию о доступе. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
chmod | Изменить режим. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FileServerFileCopy | Копировать файл на сервер. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetExtendedFileAttributes | Читать расширенные атрибуты файла. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PurgeErasedFile | Очистить удалённый файл. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
remove | Удалить файл. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
rename | Переименовать файл. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SalvageErasedFile | Восстановить удалённый файл. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ScanErasedFile | Найти удалённые файлы. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetExtendedFileAttributes | Установить расширенные атрибуты. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetFileInfo | Установить информацию о файле. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Stat | Читать информацию о файле. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tmpnam | Определить шаблон для имени файла. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
umask | Выполнить операции с маской (фильтром) наследуемых прав. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
unlink | Определить число связей с файлом. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
utime | Определить время и дату последней модификации файла. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Только для рабочей станции | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EraseFile | Удалить файл. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FileServerFileCopy | Копировать файл на сервер. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetExtendedFileAttributes | Читать расширенные атрибуты файла. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PurgeAllErasedFile | Очистить том от всех удалённых файлов. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PurgeSalvagableFile | Очистить удалённый файл. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RecoverSalvagableFile | Восстановить удалённый файл. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RestoreErasedFile | Восстановить удалённый файл. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ScanFileEntry | Читать данные о файле из таблицы DET. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ScanFileInformation | Читать информацию о файле. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ScanFilePhysical | Читать более полную информацию о файле. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ScanSalvagableFiles | Найти восстанавливаемые файлы. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetExtendedFileAttributes | Установить расширенные атрибуты файла. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetFileInformation | Установить информацию о файле. |
В таблице 4.9 перечислены примитивы службы сообщений.
Таблица 4.9. Примитивы службы сообщений
Функция | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Только для NLM-модулей | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BroadcastToConsole | Послать широковещательное сообщение на консоли станций. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DisableStationBroadcasts | Запретить приём широковещательных сообщений от станций. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EnableStationBroadcasts | Разрешить приём широковещательных сообщений от станций. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetBroadcastMessage | Получить широковещательное сообщение. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Только для рабочих станций | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BroadcastToConsole | Послать широковещательное сообщение на консоли станций. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DisableBroadcasts | Запретить приём широковещательных сообщений. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EnableBroadcasts | Разрешить приём широковещательных сообщений. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetBroadcastMessage | Получить широковещательное сообщение. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetBroadcastMode | Получить режим обработки сообщений. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SendBroadcastMessage | Послать широковещательное сообщение. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetBroadcastMode | Установить режим обработки сообщений. |
Служба печати
В таблице 4. 10 перечислены примитивы службы печати. Они поддерживаются только рабочей станцией.
Таблица 4.10. Примитивы службы печати
Функция | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Только для рабочей станции | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CancelLPTCapture | Отменить перехват данных, направляемых во все LPT-порты. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CancelSpecificLPTCapture | Отменить перехват данных для конкретного LPT-порта. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EndLPTCapture | Выводить задания на печать после завершения программы (для всех портов). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EndSpecificLPTCapture | Выводить задания на печать после завершения программы (для конкретного порта). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FlushLPTCapture | Печатать данные после отмены перехвата (все порты). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FlushSpecificLPTCapture | Печатать данные после отмены перехвата (конкретный порт). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetBannerUserName | Получить имя, выводимое в заголовке. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetDefaultCaptureFlags | Получить флаги режима перехвата, принятые по умолчанию. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetDefaultLocalPrinter | Получить данные о принтере, используемые по умолчанию. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetLPTCaptureStatus | Читать статус перехвата данных. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetPrinterQueue | Читать сведения об очереди печати. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetPrinterStatus | Читать статус принтера. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetSpecificCaptureFlags | Получить флаги перехвата для конкретного порта. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetBannerUserName | Установить заголовок печати. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetCapturePrintJob | Установить характеристики задания на печать. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetCapturePrintQueue | Получить характеристики очереди, куда направляются перехватываемые данные. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetDefaultLocalPrinter | Установить информацию о принтере, используемую в дальнейшем по умолчанию. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetSpecificCaptureFlags | Установить флаги перехвата для порта. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetSpoolFlags | Установить флаги буферного файла. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SpecifyCaptureFlags | Определить флаги печати. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
StartLPTCapture | Начать перехват данных для всех LPT-портов. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
StartSpecificLPTCapture | Начать перехват данных для конкретного LPT-порта. |
В таблице 4.11 перечислены примитивы службы сервера печати. Они поддерживаются только рабочей станцией.
Таблица 4.11. Примитивы службы сервера печати
Функция | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Только для рабочей станции | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Функции соединения | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSAttachToPrintServer | Установить SPX-соединение с сервером печати. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSLoginToPrintServer | Подключиться к серверу печати. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSDetachFromPrintServer | Отключиться от сервера печати. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSGetAttachedServers | Получить список подключённых серверов печати. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Функции оператора | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSAddNotifyObject | Добавить нового пользователя в список оповещения о возникновении проблем с принтером. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSDeleteNotifyObject | Удалить пользователя из списка оповещения. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSChangeNotifyInterval | Изменить интервал посылки пользователям сообщений о проблеме с принтером. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSGetNotifyObject | Читать список пользователей, которые получают сообщения. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSAttachPrintServerToFileServer | Подключить сервер печати к файловому серверу. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSDetachPrtServerFromFileServer | Отключить сервер печати от файлового сервера. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSAddQueueToPrinter | Подключить очередь к принтеру. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSDeleteQueueFromPrinter | Отключить очередь от принтера. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSChangeQueuePriority | Изменить приоритет очереди, обслуживаемой принтером. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSGetPrinterServicingQueue | Получить принтеры, обслуживающие очередь. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSGetQueuesServiced | Получить очереди, обслуживаемые принтером. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSCancelDownRequest | Отменить запрос DOWN для сервера печати. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSChangeServiceMode | Изменить режим обслуживания. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSDownPrintServer | Завершить работу сервера печати. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSEjectForm | Прогнать лист бумаги. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSMarkTopOfForm | Напечатать строку из звёздочек. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSRewindPrintJob | Повторить печать задания. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSSetMountedForm | Монтировать новую форму печати. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSAbortPrintJob | Сбросить задание на печать. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSStartPrinter | Стартовать принтер. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSStopPrinter | Остановить принтер. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Функции удалённого принтера (для 3.х) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSGetNextRemotePrinter | Получить номера принтеров, которые могут быть назначены для удалённых принтеров. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSRequestRemotePrinter | Связать номер принтера с удалённым принтером. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSSetRemoteMode | Переключить удалённый принтер в локальный или разделяемый режим. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Функции конфигурирования | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSGetPrinterStatus | Получить информацию о принтере. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSGetPrintJobStatus | Получить информацию о печатаемом задании. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PSGetPrintServerInfo | Получить информацию о сервере печати. |
Служба синхронизации
В таблице 4.12 перечислены примитивы службы синхронизации.
Таблица 4.12. Примитивы службы синхронизации
Функция | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для NLM-модулей и рабочей станции | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ClearFile | Разблокировать файл. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ClearFileSet | Разблокировать все зарегистрированные файлы. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ClearLogicalRecord | Разблокировать логическую запись. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ClearLogicalRecordSet | Разблокировать все зарегистрированные логические записи. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ClearPhysicalRecord | Разблокировать физическую запись. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ClearPhysicalRecordSet | Разблокировать все зарегистрированные физические записи. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CloseSemaphore | Закрыть семафор. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LockFileSet | Заблокировать группу зарегистрированных файлов. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LockLogicalRecordSet | Заблокировать группу зарегистрированных логических записей. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LockPhysicalRecordSet | Заблокировать группу зарегистрированных физических записей. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LogFile | Зарегистрировать файл. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LogrPhysicalRecord | Зарегистрировать физическую запись. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LogLogicalRecord | Зарегистрировать логическую запись. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OpenSemaphore | Открыть семафор. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ReleaseFile | Разблокировать файл, но не удалять его из таблицы регистрации. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ReleaseFileSet | Разблокировать все файлы, но не удалять их из таблицы регистрации. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ReleaseLogicalRecord | Разблокировать логическую запись, оставляя её зарегистрированной. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ReleaseLogicalRecordSet | Разблокировать все логические записи, оставляя их зарегистрированными. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ReleasePhysicalRecord | Разблокировать физическую запись, оставляя её зарегистрированной. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ReleasePhysicalRecordSet | Разблокировать все физические записи, оставляя их зарегистрированными. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetLockMode | Установить режим блокировки. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SignalSemaphore | Отметить семафор. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
WaitOnSemaphore | Ожидать отметки семафора. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Только для рабочей станции | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetLockMode | Читать режим блокировки. |
В таблице 4.13 перечислены примитивы службы отслеживания транзакций.
Таблица 4.13. Примитивы службы отслеживания транзакций
Функция | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для NLM-модулей и рабочей станции | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TTSAbortTransaction | Откатить транзакцию. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TTSBeginTransaction | Начать транзакцию. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TTSEndTransaction | Завершить транзакцию. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TTSGetApplicationThresholds | Читать значения порогов для логических и физических записей приложения. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TTSGetWorkstationThresholds | Читать значения порогов для логических и физических записей рабочей станции. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TTSIsAvailable | Определить, активна ли TTS ? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TTSSetApplicationThresholds | Установить значения порогов для логических и физических записей приложения. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TTSSetWorkstationThresholds | Установить значения порогов для логических и физических записей рабочей станции. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TTSTransactionStatus | Определить состояние конкретной транзакции. |
Служба среды рабочей станции
В таблице 4. 14 перечислены примитивы службы среды рабочей станции.
Таблица 4.14. Примитивы службы среды рабочей станции
Функция | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Только для рабочей станции | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EndOfJob | Конец задания. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetConnectionID | Читать ID соединения (на сервере). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetDefaultConnectionID | Получить ID соединения, используемого по умолчанию. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetFileServerName | Читать имя файлового сервера. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetNetWareShellVersion | Определить версию оболочки NetWare. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetNumberOfLocalDrives | Получить номер локального драйва. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetPreferredConnectionID | Получить предпочтительный ID соединения. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetPrimaryConnectionID | Получить первичный ID соединения. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetWorkstationEnviroment | Получить информацию о среде рабочей станции. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IsConnectionIDInUse | Проверить, используется ли ID соединения. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetEndOfJobStatus | Установить статус конца задания. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetNetWareErrorMode | Установить режим отображения ошибок NetWare. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetPreferredConnectionID | Установить предпочтительный ID соединения. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SetPrimaryConnectionID | Установить первичный ID соединения. |
Сопровождение сетевой файловой системы
В NetWare 3.12 и 4.х архивация и восстановление информации обеспечивается специальным средством SMS (Storage Management Services). SMS позволяет администратору архивировать следующую информацию:
файловую систему сервера NetWare 3.х и 4.х,
базу данных NDS (для NetWare 4.х),
файловую систему DOS-рабочей станции,
файловую систему OS/2-рабочей станции,
базы данных Btrieve.
В процессе архивации участвуют host-сервер (сервер NetWare, на котором выполняется программа архивации SBACKUP.NLM) и target-устройство (сервер NetWare или рабочая станция, которые содержат данные для архивации). На рисунке 3.4 представлены те модули, которые должны быть загружены на host-сервере и target-устройствах.
Необходимо отметить, что при начальной инсталляции рабочей станции (INSTALL.EXE) следует указать на возможность архивирования файловой системы этой рабочей станции.
Рис. 3.4. Модули, загружаемые на host-сервере и target-устройствах
SMS поддерживает четыре способа архивации, которые перечислены в таблице 3.8.
Таблица 3.8. Способы архивации
Способ архивации | Архивируемые данные | Состояние бита модификации (Modify Bit) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Full | Все данные, независимо от того, архивировались ли они ранее. | Стирается | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Incremental | Файлы, которые были созданы или модифицированы после последней Full- или Incremental-архивации. | Стирается | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Differential | Все файлы, которые были созданы или модифицированы после последней Full-архивации. | Не стирается | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Custom | Только те данные, которые определил администратор. | Определяется администратором |
Эти способы могут использоваться в различных комбинациях, определяющих стратегии архивации (таблица 3.9).
При выборе стратегии архивации следует учитывать время, необходимое для архивации и восстановления данных.
Ниже перечислены основные шаги, которые должен выполнить администратор сети при выполнении архивации данных.
Запустить на host-сервере драйвер устройства архивации (стриммера).
Загрузить модули на требуемых target-устройствах (рисунок 3.4).
Загрузить SBACKUP.NLM на host-сервере.
При этом автоматически загружается модуль SMDR.NLM.
Таблица 3.9. Стратегии архивации
Стратегия архивации | Время, необходимое для архивации | Время, необходимое для восстановления | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Full-архивация | Максимальное | Минимальное | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Full-архивация с последующей Incremental-архивацией. | Минимальное | Максимальное | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Full-архивация с последующей Differential-архивацией | Промежуточное между двумя предыдущими стратегиями | Промежуточное между двумя предыдущими стратегиями | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Custom-архивация | Определяется объёмом сохраняемых данных | Определяется объёмом восстанавливаемых данных |
Если необходимо, то следует подключиться из SBACKUP.NLM к требуемому target-устройству.
Выбрать местоположение для файла, содержащего журнал сеанса архивации (по умолчанию SYS:SYSTEM\TSA\LOG).
Выбрать тип архивации (таблица 3.8).
Присвоить дескриптор для данного сеанса архивации.
При необходимости выбрать опцию, добавляющую сеанс архивации к предыдущему.
Для Custom-архивации определить данные для архивации (часть дерева NDS, часть файловой системы).
Выбрать время архивации: теперь или позже.
Вставить магнитный носитель архива (стриммер).
Ввести метку для нового набора данных.
Выполнить архивацию.
Ниже перечислены основные шаги, которые должен выполнить администратор при восстановлении данных из архива.
Запустить на host-сервере драйвер устройства архивации (стриммера).
Загрузить модули на требуемых target-устройствах (рисунок 3.4).
Загрузить SBACKUP.NLM на host-сервере.
Выбрать в окне SBACKUP.NLM target-устройство, данные которого требуется восстановить.
Если необходимо, то следует подключиться из SBACKUP.NLM к требуемому target-устройству как пользователь, имеющий требуемые права для выполнения восстановления.
Выбрать режим Restore a Session (восстановление сеанса).
Определить директорию, содержащую журнал сеанса архивации.
Выбрать необходимый сеанс.
Вставить магнитный носитель, содержащий восстанавливаемые данные.
Выбрать тип восстановления:
восстановление полного сеанса архивации,
Custom-восстановление.
Для Custom-восстановления определить восстанавливаемые данные.
Выбрать время восстановления: теперь или позже.
Создание Web-документов в NetWare Web Server
Прежде всего познакомимся с некоторыми важными понятиями.
URL (Universal Resource Locator) - универсальный описатель ресурсов, который использует клиент броузера, чтобы описать, какие данные он желает получить из Internet. Структура URL приведена ниже:
protocol://servername/subdirectory/.../file
Здесь protocol:// - определяет с использованием какого протокола осуществляется доступ к источнику информации. Наиболее часто используются следующие протоколы (услуги, виды сервиса):
http:// - получение файла от Web-сервера,
file:// - получение файла по file-протоколу,
ftp:// - получение файла от FTP-сервера,
gopher:// - доступ к информации средствами системы Gopher,
telnet:// - терминальный доступ к удалённому компьютеру,
news. - чтение телеконференций с News-сервера.
servername - это IP-адрес или доменное имя сервера услуг (например, 201.23.144.88, www.iquest.net и т.д.)
/subdirectory/.../file - определяет путь к требуемому файлу относительно некоторого начального каталога, определённого в качестве корневого для данного вида сервиса.
HTML (HyperText Markup Language) - язык создания гипертекстов определяет стандартный способ описания документов (Web-страниц), которые включали бы ссылки на рисунки, обеспечивали связь с другими документами и др. Соответствующие файлы имеют расширение htm.
Рассмотри теперь некоторые особенности задания URL при обращении к файлам NetWare.
При обращении к документам (HTM- и SSI-файлам) и рисункам (GIF- и JPG-файлам) NetWare Web Server.
Путь /subdirectory/.../file задаёт местоположение файла относительно директории SYS:/WEB/DOCS. Например, если закодирована строка
http://nwweb1.myco.com/travel/f1.htm,
то поиск файла f1.htm выполняется в директории SYS:/WEB/DOCS/TRAVEL.
NetWare Web Server поддерживает URL, в котором выполняется ссылка на документы конкретного пользователя NetWare. Пример URL для доступа к страницам пользователя:
http://auto.fastcar.com/~.craig.mamagers.autostore
Это означает, что клиент броузера обращается к NetWare Web Server с именем auto.fastcar.com к документам пользователя NetWare (.CN=craig.OU=mamagers.O=autostore), который описан в дереве NDS.
Средства миграции с Bindery в NDS
Существует несколько способов преобразования сервера NetWare 3.х в сервер NetWare 4.х:
с помощью программы инсталляции NetWare 4.х,
с помощью утилиты MIGRATE (режим миграции данных с сервера NetWare 3.х на сервер NetWare 4.х),
с помощью утилиты MIGRATE (режим миграции данных на то же самое устройство),
с помощью средства DS STANDART фирмы Preferred Systems.
Рассмотрим первые три способа, предлагаемые фирмой Novell.
1. Использование программы инсталляции NetWare 4.1
На сервере NetWare 3.х необходимо запустить файл INSTALL с устройства CD-ROM (с ОС NetWare 4.х) и выбрать режим "NetWare Server Installation", а затем указать на пункт "Upgrade NetWare 3.1x or 4.0x to 4.1". Далее требуется следовать инструкциям утилиты INSTALL.
Эта процедура во многом похожа на процедуру инсталляции NetWare 4.1 (п. 3.1.3). Только здесь не требуется создавать раздел и тома NetWare, т. к. используется старая разметка диска.
2. Использование утилиты MIGRATE в режиме миграции данных с сервера NetWare 3.х на сервер NetWare 4.х (рисунок 3.12)
Первоначально необходимо переписать директорию MIGRATE с CD-ROM (с ОС NetWare 4.х) на локальный диск рабочей станции (может быть через дискеты). Далее следует выполнить следующие шаги:
Запустить утилиту MIGRATE на рабочей станции.
Выбрать тип миграции "Across-the-Wire Migration".
Выбрать тип исходного сервера (NetWare 3.х) и сервера-получателя (NetWare 4.х).
Выбрать рабочую директорию на рабочей станции для хранения данных Bindery.
Выбрать исходный сервер, информацию в базе данных Bindery для передачи, тома сервера с передаваемыми данными.
Выбрать сервер-получатель, тома для приёма данных, опцию назначения паролей.
При выборе опции "Assign Random Passwords" система генерирует случайные пароли пользователей и сохраняет их в файле SYS:SYSTEM\NEW.PWD сервера NetWare 4.х. При подключении к серверу NetWare 4.х клиент должен использовать соответствующий ему пароль из этого файла.
При выборе опции "Assign no Passwords" пользователь не должен вводить пароль при первом подключении к NetWare 4.х.
В меню, которое появляется после нажатия клавиши F10, следует выбрать пункт "Start the Migration".
Утилита MIGRATE перемещает файлы с сервера NetWare 3.х на сервер NetWare 4.х. Информация базы данных Bindery сохраняется в рабочей директории рабочей станции, а затем перемещается в базу данных NDS NetWare 4.х.
Рис. 3.12. Миграция данных с сервера NetWare 3.х на сервер NetWare 4.х
8. Выйти из утилиты.
Желательно, чтобы структуры файловых систем NetWare 3.х и 4.х совпадали. Это уменьшает число переспросов утилиты о том, куда копировать файлы.
3. Использование утилиты MIGRATE в режиме миграции данных на то же устройство (рисунок 3.13)
Как и в предыдущем режиме, необходимо скопировать директорию MIGRATE с CD-ROM на рабочую станцию и выполнить следующие шаги:
Сохранить файлы NetWare 3.х на стриммере рабочей станции.
Запустить утилиту MIGRATE на рабочей станции.
Выбрать тип миграции "Same-Server Migration".
Выбрать тип исходного сервера (NetWare 3.х) и сервера-получателя (NetWare 4.х).
Выбрать рабочую директорию на рабочей станции для хранения данных Bindery.
Выбрать исходный сервер, информацию в базе данных Bindery для передачи, тома сервера для сохранения таблиц DET и FAT.
В меню, которое появляется после нажатия клавиши F10, выбрать пункт "Migrate to the Working Directory". В результате база данных Bindery перемещается в рабочую директорию на рабочей станции.
Выйти из утилиты.
Проинсталлировать файловый сервер NetWare 4.х на том же устройстве, где размещалась ОС NetWare 3.х.
Восстановить на сервере NetWare 4.х файлы со стриммера.
Запустить утилиту MIGRATE и повторить пункты 3, 4, 5.
Выбрать сервер-получатель, тома сервера для восстановления таблиц DET и FAT, опцию назначения паролей.
В меню, которое появляется после нажатия клавиши F10, выбрать пункт "Migrate from Working Directory". В результате информация из рабочей директории переместится в базу данных NDS.
Выйти из утилиты.
Рис. 3.13. Миграция данных на то же устройство
Этот режим используется, если требуется существенно перестроить файловую систему сервера.
Средства разработки и правила написания приложений рабочих станций
Для разработки прикладных программ, которые выполняются на рабочих станциях, можно использовать С-компиляторы фирм Watcom, Microsoft, Borland и Lattice. Но для разработки сетевых приложений необходимо дополнительно приобрести интерфейс NetWare C Interface, включающий примитивы NetWare. Этот интерфейс поставляется в виде библиотек для С-компиляторов, перечисленных выше. Следует отметить, что компилятор Novell/Watcom Network C for DOS уже имеет в своём составе соответствующую библиотеку из этого интерфейса. С помощью этого компилятора можно помимо DOS-приложений создавать и NLM-модули для файлового сервера.
Тексты С-программ - это обычные программы на языке С (или С++), где используются обращения к службам NetWare, т. е. к примитивам NetWare для рабочих станций.
Средства разработки, структура и правила написания NLM-модулей
Основным средством разработки NLM-модулей, загружаемых на файловом сервере, является компилятор Novell/Watcom C Network Compiler/386. Это связано с тем, что только этот С-компилятор имеет в своём составе редактор NLMLINK, позволяющий компоновать NLM-модули.
Следует отметить, что компоновщик WLINK, входящий в состав компилятора Novell/Watcom Network C for DOS (средство разработки приложений для DOS-рабочей станции), также позволяет создавать NLM-модули.
Для разработки NLM-модуля необходимо выполнить следующие действия:
Разработать тексты С-программ. Это обычные программы на языке С, где используются обращения к службам NetWare (примитивы NetWare для NLM-модулей).
Разработать make-файл (рисунок 4.1).
Запустить утилиту WMAKE для создания NLM-модуля.
WMAKE -f make-файл имя.nlm
# Описание переменных make-файла, используемых при
# задании параметров программ
переменная=значение
переменная=значение
.......
# Определение имени компилятора
.C.OBJ:
wcl386 параметры
# Описание состава obj-файлов
имя.obj: имя.с имя.с ...... имя.h
имя.obj: имя.с имя.с ...... имя.h
......
# Описание состава NLM-модуля
имя.nlm: имя.obj имя.obj ..... файл_определений.def
# Описание имени компоновщика
nlmlink файл_определений
Рис. 4.1. Описание make-файла, используемого при создании NLM-модуля
В make-файле описываются имена компилятора и компоновщика, а также состав каждого obj-файла и nlm-файла. Если С-файл был изменён, то после запуска утилиты WMAKE выполняется компиляция этого файла и перекомпоновка obj- и nlm- файла.
Файл определений, имя которого указывается в make-файле, имеет расширение DEF и содержит информацию для компоновщика. В таблице 4.1 приведены ключевые слова, используемые в файле определений.
Таблица 4.1. Ключевые слова файла определений
Ключевое слово | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DESCRIPTOR | Строка до 127 символов, заключённая в двойные кавычки. Эта строка будет отображаться на консоли при выполнении команды файлового сервера MODULES. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
INPUT | Список модулей и файлов для компоновки. Может содержать имена требуемых obj-файлов и файлов со списками obj-файлов. Файл со списком обозначается как @имя_файла. Каждая строка этого файла должна начинаться с пробела. В этом списке должен быть указан путь к файлу PRELUDE.OBJ. Модуль PRELUDE устанавливает среду NLM-программы с помощью распределения и инициализации внутренних структур данных, создания экрана для использования его NLM-программой, разборки параметров командной строки для передачи их в процедуру main() как аргументов вида argc и argv, старта новой нити для выполнения процедуры main(). Пример: INPUT NW3NLM E:\WC386\PRELUDE @E:\WC386\A1.MOD | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OUTPUT | Имя NLM-модуля (без расширения). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IMPORT | Список функций, доступных в других NLM-модулях. Может содержать имена функций и файлов со списками функций. Файл со списком обозначается как @имя_файла. Каждая строка файла должна начинаться с пробела. Перед загрузкой этого NLM-модуля должны быть загружены NLM-модули, содержащие функции, которые перечислены в списке IMPORT. Таким образом, NLM-модули могут выступать в качестве динамических библиотек. Они загружаются один раз, и все NLM-модули, запускаемые в дальнейшем, могут использовать функции, которые описаны в списке EXPORT (см. ниже) этих модулей-библиотек. В списке IMPORT следует указывать файл @CLIB.IMP, объявляющий процедуры из стандартной С-библиотеки. Если используется арифметика с плавающей точкой, то необходимо указать файл @MATHLIB.IMP. Пример: IMPORT @E:\WC386\CLIB.IMP @E:\WC386\MATHLIB.IMP | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SCREENNAME | В двойных кавычках указывается имя экрана, автоматически создаваемого при загрузке NLM-модуля. Если имя не указывается, то в качестве идентификатора экрана используется имя модуля. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
THREADNAME | Строка до 5 символов в двойных кавычках - шаблон для генерации имён новых нитей, создаваемых в загружаемом NLM-модуле. При формировании имени нити к шаблону добавляются цифры (по возрастанию, начиная с 0). Если имя не указано, то используются первые 5 символов имени модуля. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EXPORT | Список имён функций, доступных другим NLM-модулям. В списке можно использовать имя файла (@имя_файла). Каждая строка файла должна начинаться с пробела. Все NLM-модули, загружаемые в дальнейшем, могут обращаться к этим функциям в случае, если они описаны в списках IMPORT этих модулей. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MAP | Запрашивает создание MAP-файла. Если имя не указано, будет использоваться имя из директивы OUTPUT. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DEBUG | Запрашивает, чтобы компоновщик включал дополнительную информацию для отладчика. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CHECK | Указывает функцию, вызываемую перед выгрузкой NLM-модуля. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
STACK | Размер стека, выделяемого при инициализации процесса, связанного с NLM-модулем. По умолчанию - 8192 байта. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MULTIPLE | Разрешает загрузку нескольких копий NLM-модулей. Иначе при попытке загрузки более одной копии на консоль файлового сервера будет выдано сообщение об ошибке. |
В файле определений *.DEF обязательными являются ключевые слова DESCRIPTION, INPUT, OUTPUT, IMPORT.
Статические HTML-документы Web-сервера
Предположим, что пользователь NetWare желает создать Web-страницу (рисунок 5.16) [15].
Прежде всего он должен создать htm-файл (например index.htm) в поддиректории PUBLIC.WWW своей личной директории (или в поддиректории корневой директории документов SYS:WEB/DOCS). Htm-файл (или HTML-файл) - это обычный текстовой файл ASCII. Но существую специальные редакторы, позволяющие быстро генерировать текст htm-файла:
WordPerfect Internet Publisher (он поставляется с Web NetWare Server),
HoTMetaL Lite 3.0 (он входит в состав продукта NetWare InnerWeb Publisher),
Microsoft Internet Assistant и др.
Retro
Your best buy in luxry spacecraft.
Welcome to the RetroRocket World Wide Web site. This is the place to
check out the latest in personal spacecraft technology.
( RetroRocket Product Line
( Dealer Listings
( History RetroRocket Co.
Comments? Please e-mail to:
webmaster@retrocket.com
Рис. 5.16. Пример Web-страницы на экране броузера
На рисунке 5.17 представлен текст соответствующего htm-файла. Если файл создан пользователем craig, то эту Web-страницу можно посмотреть броузером, закодировав URL, как показано на рисунке 2.15. После того, как htm-файл будет перекачен из Web-сервера на рабочую станцию, броузер интерпретирует код этого файла и выводит документ на экран (рисунок 5.16).
Код начинается с тега <HTML> и заканчивается тегом </HTML>. Большинство тегов htm-файла используются парами: открывающий и закрывающий теги указывают фрагмент текста, к которому эти теги должны быть применены. Закрывающий тег отличается от открывающего только косой чертой.
Вслед за открывающем тегом <HTML> следует строка комментария (между символами <! и >). В данном примере единственное назначение комментария состоит в пояснении текста файла. При выводе документа комментарий не отображается.
Страница состоит из шапки и основного текста (тела). На рисунке 5.17 шапка - это часть текста между тегами <HEAD> и </HEAD>. В данном примере шапка содержит только один элемент: заголовок.
Заголовок ограничен тегами <TITLE> и </TITLE>. Теги заголовка указывают, какой текст будет отображаться в поле заголовка броузера.
Собственно содержимое Web-страницы описывается между тегами <BODY> и </BODY>. Документ на рисунке 5.16 начинается с логотипа компании. Логотип был нарисован при помощи стандартной программы Paintbrush (Windows), а затем преобразован из формата BMP в формат GIF (броузеры могут отображать графические файлы в форматах GIF и JPEG). На рисунке 5.17 ссылка на рисунок логотипа выполняется с помощью оператора <IMG ALIGN= bottom SRC="retro.gif">. Этот оператор принадлежит к немногочисленной группе одиночных тегов. Параметр SRC сообщает броузеру о том, какой файл надо запросить у Web-сервера. В данном случае файл retro.gif расположен в той же поддиректории, что и документ index.htm (т. е. в PUBLIC.WWW). Если бы он находился в поддиректории SYS:WEB/DOCS/DIR1, то необходимо было бы закодировать <IMG ALIGN= bottom SRC="/dir1/retro.gif">. В случае, если файл хранится на другом Web-сервере, то следует указать полный путь к нему, например, SRC="http://www.lanmag.com/images/ retro.gif".
HTML позволяет указывать разные стили заголовков: от H1 до H6 (в порядке убывания размера шрифта). Данные между тегами <H1> и </H1> образуют параграф, т. е. в его конце броузер выполняет переход на новую строку окна экрана. Оператор ALIGN указывает, как выравнивается текст, выводимый в том же параграфе, что и рисунок. В данном примере слово Retro выводится стилем <H1> и оно выравнивается по низу графики (можно также использовать ALIGN=top или ALIGN=middle для выравнивания текста по верху и по середине рисунка).
<HTML>
<! Это пример HTML-файла >
<HEAD>
<TITLE> RetroRocket Company </ TITLE>
</HEAD>
<BODY>
<H1> <IMG ALIGN= bottom SRC="retro.gif"> Retro </H1>
<H6>Your best buy in a luxury spacecraft. </H6>
Welcome to the RetroRocket World Wide Web site.
This is the place to check out the latest in personal spacecraft
technology. <P>
<UL>
<LI> <A HREF="rockerts.htm"> RetroRocket Product Line </A> <BR>
<LI> <A HREF="dealers.htm"> Dealer Listings </A> <BR>
<LI> <A HREF="history.htm"> History RetroRocket Co. </A> <BR>
</UL>
<HR>
Comments? Please e-mail to:
<ADDRESS> webmaster@retrocket.com </ADDRESS>
</BODY>
</HTML>
Рис. 5.17. Текст HTML-файла, который соответствует документу на рисунке 5.16
Параграф "Your best buy..." выводится шрифтом H6 - наименьшим по размеру.
Любой текст в HTML-документе, не имеющий ограничивающих его тегов, отображается броузером как основной текст (body text). На рисунке 5.17 текст, начинающийся со слов "Welcome to the RetroRocket...", является основным и будет отображён шрифтом, принятым для броузера. Если встречается тег <P> (конец параграфа), то броузер заканчивает параграф и пропускает пустую строку.
За основным текстом следуют три отмеченные кружками и подчёркиванием строки списка (рисунок 5.16). В данном случае они являются гиперссылками на другие документы. Списки HTML бывают двух основных категорий: упорядоченные и неупорядоченные. Упорядоченный список является нумерованным списком. Он используется, когда элементы списка должны отображаться в определённом порядке. Примером такого списка может служить инструкция по сбору изделия: выполните сначала шаг 1, затем шаг 2 и т. д. Упорядоченный список помещается между тегами <OL> и </OL>, а перед каждым элементом списка ставится тег <LI> (List Item). Броузер автоматически нумерует упорядоченный список, начиная с 1 для первого элемента списка.
Другой тип списка - неупорядоченный список (как в примере на рисунке 5.16). Ещё он называется маркированным списком, потому что каждому его элементу предшествует маркер (().Неупорядоченный список открывается тегом <UL> и закрывается тегом </UL>.
Как и в предыдущем случае, тег <LI> помещается перед каждым элементом списка.
Тег <BR> в конце каждого элемента списка даёт команду броузеру завершить параграф после данного элемента списка (перейти на следующую строку). При отсутствии тега <BR> все три элемента были бы помещены в одну строку. Если бы был использован тег <P>, то броузер не только завершил бы параграф, но и пропустил бы пустую строку.
Как уже упоминалось, каждый элемент списка представляет собой гиперссылку. Гиперссылка, ещё называемая якорем, имеет следующий вид:
<A HREF="имя файла "> отображаемый в окне броузера текст </A>.
Здесь "имя файла " - это имя документа, на который выполняется ссылка, а отображаемый в окне броузера текст - это выделенные слова, которые будут видны на экране. Так, если пользователь щёлкнет мышью на первой строке списка (рисунок 5.16), то броузер считает с Web-сервера документ rockerts.htm (из того же каталога, где хранится основной документ index.htm) и отобразит его на экране. Этот новый документ может иметь свои гиперссылки и т. д.
Ниже описания списка закодирован тег <HR> для рисования горизонтальной линии.
В конце добавлена строка для обратной связи с читателями страницы. Эта строка содержит адрес электронной почты администратора узла Web компании. Адрес помещается между тегами <ADDRESS> и </ADDRESS>. Броузер воспроизводит его курсивом.
Броузер выводит графическое изображение frod.gif. Если пользователь щёлкнет мышью на данном рисунке, то броузер пошлёт запрос на страницу /dir1/frod.htm Web-серверу www.amphibian.com и отобразит её на экране.
Часто при просмотре рисунка пользователь желает получить более детальную информацию о тех или иных его участках. Предположим, что Web-страница выглядит так, как показано на рисунке 5.18.
На рисунке прямоугольниками выделены фрагменты картины, для которых должна быть представлена детальная информация. В этом случае гиперссылку можно закодировать следующим образом:
<A HREF="/maps/index.map"> <IMG SRC="millais.gif" ISMAP> </A>, где
millais.gif - имя файла в подкаталоге PUBLIC.WWW личного каталога пользователя craig (рисунок 2.15) с изображением картины (рисунок 5.18).
index.map - план рисунка (Image maps) с описанием "горячих" участков внутри рисунка.
По умолчанию такие типы файлов хранятся в директории maps Web NetWare Server.
Для данного примера этот файл имеет вид, представленный на рисунке 5.19.
# описание левого "горячего" участка на рисунке 5.18
rect mlsl.htm 18,60 72,127
# описание правого "горячего" участка на рисунке 5.18
rect mlsr.htm 455,28 509,79
Рис. 5.19. Пример файла index.map типа Image maps
Здесь пары чисел обозначают координаты левого верхнего и правого нижнего углов "горячих" участков. Если, например, пользователь щёлкнет мышью в границах левого прямоугольника на рисунке 5.18 (прямоугольники на рисунке, конечно, условные), то будет вызван документ mlsl.htm.
Структура и управление внешней памятью
На рисунке 2.8 представлена логическая структура жёсткого диска, установленного на файловом сервере.
Рис. 2.8. Логическая структура жесткого диска файлового сервера
Один из дисков файлового сервера должен иметь раздел DOS (NetWare загружается из-под DOS). Как правило, всё остальное пространство диска отводится под раздел NetWare, который делится на тома. В свою очередь, каждый том состоит из сегментов, а каждый сегмент - из блоков. В таблице 2.1 перечислены ограничения, накладываемые на структуру внешней памяти NetWare.
Таблица 2.1. Ограничения, накладываемые на структуру внешней памяти
Количество жестких дисков на один сервер | Количество томов на один сервер | Количество сегментов на том | Количество сегментов на диск | Размер блока тома (Кб) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
До 32 | До 64 | До 32 | До 8 | 64 (для 4.х), 32, 16, 8, 4 |
Каждый том NetWare имеет таблицу записей каталога DET (Directory Entry Table) и таблицу размещения файлов FAT (File Allocate Table).
Каждая запись DET соответствует файлу или подкаталогу корневого каталога тома. Эта запись имеет сложную структуру и, в частности, включает имя файла (или подкаталога) и указатель на элемент FAT, соответствующий первому блоку файла (рисунок 2.9).
Рис. 2.9. Связь между таблицами DET и FAT
Между элементами FAT и блоками тома NetWare существует взаимно-однозначное соответствие. Если размер файла превышает размер блока, то элемент FAT содержит ссылку на другой элемент и т.д. Рассмотренные на рисунке 2.9 связи справедливы и для подкаталога. Только здесь каждый блок данных имеет такую же структуру, что и таблица DET.
В таблице DET хранятся записи следующих типов:
записи файлов (File Entries),
записи каталогов (Directory Entries),
записи опекунов (Trustee Entries),
Каждая запись имеет длину 128 байтов.
1. Запись файла (File Entries) включает следующие поля:
имя файла,
идентификатор хозяина файла,
атрибуты файла,
размер файла,
указатель на каталог, где хранится файл,
дата и время последней модификации,
имя пространства имён,
фильтр (маска) наследуемых прав,
первые шесть опекунских назначений; каждое назначение состоит из 4-байтового идентификатора объекта (ID) и байта прав (Rights), которые имеет этот объект по отношению к файлу; остальные опекунские назначения хранятся в записях опекунов (Trustee Entries),
указатель на элемент таблицы FAT.
2. Запись каталога (Directory Entries) имеет следующие поля:
имя каталога,
дата и время создания каталога,
атрибуты каталога,
фильтр (маска) наследуемых прав,
первые шесть опекунских назначений,
указатель на элемент таблицы FAT.
3. Запись опекунов (Trustee Entries) включает следующие поля:
указатель на запись DET файла или каталога,
список опекунских назначений (от 2 до 16),
указатель на следующую запись опекунов.
Следует отметить, что опекунские назначения для файлов и каталогов NetWare хранятся в записях DET.
Управление внешней памятью реализуется с помощью утилиты файлового сервера INSTALL.NLM. Эта диалоговая программа позволяет изменить структуру внешней памяти:
Создать новый том файлового сервера.
Создать новые сегменты существующего тома.
Чтобы в DOS увеличить размер логического раздела, необходимо полностью переинсталлировать жесткий диск. Чтобы в NetWare увеличить размер тома, достаточно просто создать новый сегмент тома на любом диске, где имеется свободное пространство.
В NetWare 4.х существуют три дополнительные возможности по управлению томом с помощью утилиты INSTALL.NLM:
Можно установить флаг File Compression, позволяющий выполнять сжатие файлов тома. При этом возможно автоматическое и ручное сжатие.
Если файл не использовался несколько дней, то он автоматически сжимается. Это число дней устанавливается с помощью SET-параметра Days Untouched Before Compression (категория File System). По умолчанию эта величина равна 7. Чтобы этот режим работал, не следует выключать сервер на ночь.
Устанавливая атрибут IC с помощью утилиты командной строки FLAG, администратор может вручную выполнить "мгновенное" сжатие файлов.
Например, после выполнения команды
FLAG *.* +IC
будут сжаты все файлы в текущем каталоге NetWare.
Можно установить флаг Block Suballocation, позволяющий использовать полублоки при размещении файлов тома. Предположим, что файл имеет размер 5 Кб, а блок тома, где располагается файл, - 4 Кб (рисунок 2.10).
Если флаг выключен, то этот файл занимает два блока, причём 3 Кб второго блока не используются (то же самое происходит и в NetWare 3.х). Если флаг включён, то данный файл будет занимать один полный блок (4 Кб) и два полублока по 0.5 Кб. Остальные шесть полублоков (6(0.5=3 Кб) будут использоваться другими файлами.
Рис. 2.10. Демонстрация использования полублоков
Можно установить флаг Data Migration (только на одном томе файлового сервера), позволяющий организовать миграцию данных тома NetWare на магнитооптические диски. Это реализуется с помощью системы поддержки накопителей высокой ёмкости HCSS (HighCapacity Storage System). Для установки файловой системы HCSS необходимо на рабочей станции с помощью утилиты NWADMIN.EXE выполнить следующие шаги (описание вспомогательных деталей здесь опускается):
Создать корневые каталоги HCSS.
Создать подкаталоги HCSS первого уровня. Каждый подкаталог первого уровня ассоциируется с одной стороной оптического диска (рисунок 2.11).
Рис. 2.11. Пример структуры директорий HCSS
Подкаталоги 2-го, 3-го и т.д. уровней, а также файлы могут быть созданы обычными средствами (например, с помощью Norton).
Установить верхний и нижний порог ёмкости для HCSS-тома файлового сервера.
Когда при работе с HCSS-томом достигается верхний порог его заполнения, NetWare 4.х начинает перемещать файлы с HCSS-тома на оптический диск. Файлы, хранящиеся в подкаталоге первого уровня, мигрируют на соответствующую сторону оптического диска. Процесс миграции продолжается до тех пор, пока не достигается нижний порог заполнения HCSS-тома. Перемещение выполняется по принципу LRU (Least Recently Used): миграции подвергаются файлы, к которым дольше всего не было обращения.Даже после выгрузки файла пользователь продолжает видеть его имя в подкаталоге HCSS-тома. Если происхидит обращение к выгруженному файлу, то он перемещается с оптического диска обратно в соответствующий подкаталог.
Структурная схема OC
На рисунке 2.2 представлена укрупненная структурная схема ОС NetWare.
Рис. 2.2. Структурная схема ОС NetWare
Ядро ОС NetWare загружается в ОП файлового сервера из-под DOS (программа SERVER.EXE). Программа SERVER.EXE выполняет следующие действия.
1. Читает из каталога DOS файл STARTUP.NCF и интерпретирует закодированные в нём операторы. Этот небольшой текстовый файл обычно содержит следующие команды:
оператор загрузки (load) NLM-модуля DOMAIN.NLM (только для версии 4.х); этот модуль читается из каталога DOS и обеспечивает защиту оперативной памяти файлового сервера,
оператор загрузки NLM-модуля драйвера жесткого диска, например ISADISK.DSK; после этого становится доступной файловая система NetWare,
может быть некоторые SET-команды, например, указание максимального уровня вложенности каталогов файловой системы NetWare.
2. Монтирует том SYS файлового сервера и открывает каталог SYSTEM на этом томе.
3. Читает из каталога SYSTEM конфигурационный файл AUTOEXEC.NCF и интерпретирует закодированные в нем операторы. Этот небольшой текстовый файл обычно содержит следующие группы команд:
некоторые SET-команды, например, обеспечивающие переход на летнее и зимнее время,
SET-команды, определяющие Bindery-контексты в дереве NDS (только для версии 4.х),
операторы, указывающие имя файлового сервера и внутренний номер сети,
операторы загрузки драйверов сетевых адаптеров (например, NE2000.LAN) и их связи с протоколом IPX,
операторы загрузки некоторых дополнительных NLM-модулей.
Далее устанавливаются значения SET-параметров, принятые по умолчанию. Изменяя SET-параметры, можно оптимизировать работу операционной системы. Эти параметры следует изменять с помощью SET-команд, которые можно включать в конфигурационные файлы STARTUP.NCF и AUTOEXEC.NCF или вводить с консоли файлового сервера.
В процессе функционирования ядро выполняет также роль диспетчера нитей (задач) операционной системы. Каждая нить или связана с каким-либо NLM-модулем, или представляет внутреннюю задачу ОС.
NLM-модуль - это исполняемый файл ОС NetWare 3.х и 4.х.
Системная база данных сетевых ресурсов является частью операционной системы и играет роль надежного хранилища системной информации о
объектах,
их свойствах (атрибутах),
значениях этих свойств.
NetWare поддерживает возможность описания различных типов объектов: пользователей, групп, файловых серверов, очередей печати, серверов печати и т.д. Каждый из этих типов объектов имеет свой набор свойств. Например, объект "пользователь" характеризуется следующими атрибутами: пароль, балансовый счет, список групп, участником которых является пользователь, и т.д. Значением атрибута (свойства) является та совокупность данных, которая содержится в полях этого атрибута. Системная база данных представляет собой множество файлов, хранящихся на томе SYS файлового сервера. В NetWare 3.х и 4.х эти базы организованы по-разному. В NetWare 3.х она представлена в виде БД Bindery, а в NetWare 4.х - в виде глобального сетевого каталога NDS. NDS стала мощным средством управления большими корпоративными сетями.
Следует подчеркнуть, что в NetWare 3.х и 4.х данные о защите файлов и каталогов отделены от системной базы данных и хранятся в элементах DET томов файлового сервера.
Текстовый и графический интерфейсы ОС
В NetWare используются утилиты следующих типов:
утилиты командной строки (FLAG, RIGHTS, NDIR и т. д.),
утилиты-меню (FILER, PCONSOLE и т. д.),
утилиты, выполняемые под управлением Windows (NWUSER, NWADMIN, программы для работы с электронной документацией).
Для выполнения утилиты командной строки необходимо ввести имя программы и параметры. Результаты выполнения команды отображаются на экране рабочей станции. Как таковой диалог здесь отсутствует.
При работе с утилитой-меню используется текстовый диалоговый интерфейс. Чтобы модифицировать какое-либо поле диалогового окна утилиты-меню, необходимо подсветить это поле и нажать клавишу Enter. Для изменения значения поля на альтернативное используют клавиши "Стрелка влево" и "Стрелка вправо". Если это поле ввода, то появляется курсор, и можно отредактировать значение поля. После повторного нажатия клавиши Enter (или клавишей "Стрелка вверх", "Стрелка вниз") подсвечивается следующее поле диалогового окна. Если поле связано со списком, то на экране появляется этот список. Используя клавиши Del и Ins, можно отредактировать этот список значений.
При работе с утилитами, которые выполняются под управлением Windows, используется графический интерфейс, предоставляемый этой оболочкой.
Типы серверов, рабочих станций и коммуникационных узлов
Все устройства, подключаемые к сети с ОС NetWare, можно разделить на три функциональные группы:
рабочие станции,
серверы сети,
коммуникационные узлы.
Рабочая станция (Workstation) - это персональный компьютер, подключенный к сети, на котором пользователь сети выполняет свою работу. Каждая рабочая станция обрабатывает свои локальные файлы и использует свою операционную систему, например, DOS. Но при этом пользователю доступны ресурсы сети. Можно выделить три типа рабочих станций (РС):
рабочая станция с локальным диском,
бездисковая рабочая станция,
удаленная рабочая станция.
На рабочей станции с диском (жестким или гибким) операционная система загружается с этого локального диска. Бездисковая РС не имеет ни жесткого, ни гибкого диска. Для такой станции ее операционная система загружается с диска файлового сервера. Такая возможность обеспечивается специальной микросхемой ПЗУ, устанавливаемой на сетевом адаптере бездисковой станции. Удаленная рабочая станция - это станция, которая подключается к локальной сети через телекоммуникационные каналы связи (например, с помощью телефонной сети).
Сервер сети (Server) - это компьютер, подключенный к сети и предоставляющий пользователям сети определенные услуги, например, хранение данных общего пользования, печать заданий, обработка запроса к СУБД, удаленная обработка заданий и т.д. По выполняемым функциям можно выделить следующие группы серверов.
Файловый сервер (File Server) - компьютер, хранящий данные пользователей сети и обеспечивающий доступ пользователей к этим данным. Как правило, это компьютер с жестким диском большой емкости, со стриммером и т.п. ОС NetWare обеспечивает одновременный доступ пользователей к данным, расположенным на файловом сервере. Файловый сервер выполняет следующие функции:
хранение данных,
архивирование данных,
согласование изменений данных, выполняемых разными пользователями,
передача данных.
Фирма Novell предлагает для файлового сервера операционную систему NetWare 3.х, 4.х.
Сервер баз данных (SQL-Server) - компьютер, выполняющий функции хранения, обработки и управления файлами баз данных. Сервер баз данных выполняет следующие функции:
прием и обработка запросов к СУБД, а также пересылка результатов обработки на рабочую станцию,
обеспечение секретности данных,
согласование изменений данных, выполняемых разными пользователями,
взаимодействие с другими серверами баз данных, расположенными в другом месте.
На платформе NetWare функционируют различные серверы БД: System 10 (Sybase), Oracle 7, 7.1 (Oracle), SQLBase (GUPTA), SQL Server (Btrieve Technologies) и т.д. Под управлением NetWare работает и последняя версия пакета Lotus Notes (IBM). Notes также поддерживается операционными системами Windows NT, UNIX, OS/2. Этот пакет заслужил звание лучшего продукта поддержки коллективных работ. Пользователи Notes могут работать с объектами разных типов: сообщениями, документами, формами. Помимо этого имеются программы для обмена данными между Notes и внешними базами данных, использующими язык SQL, а также шлюзы с системами передачи факсов и электронной почты. Notes постепенно становится мощной сетевой информационной средой, стратегической платформой для решения корпоративных задач и обеспечения обслуживания клиентов.
Сервер прикладных программ (Application Server) - компьютер, который используется для выполнения прикладных программ пользователей. Фирма Novell рекомендует использовать для этих целей сервер с ОС UnixWare.
Коммуникационный сервер (Communications Server) - устройство или компьютер, который предоставляет пользователям локальной сети прозрачный доступ к своим последовательным портам ввода/вывода. С помощью коммуникационного сервера можно создать разделяемый модем, подключив его к одному из портов сервера. Пользователь, подключившись к коммуникационному серверу, может работать с таким модемом так же, как если бы модем был подключен непосредственно к рабочей станции. Коммуникационный сервер может быть организован в NetWare на базе пакета NACS или NetWare Connect (рисунок 1.4).
Сервер доступа (Access Server) - это выделенный компьютер, позволяющий выполнять удаленную обработку заданий. Программы, инициируемые с удаленной рабочей станции, выполняются в многозадачной среде этого компьютера (рисунок 1.5). От удаленной рабочей станции принимаются команды, введенные пользователем с клавиатуры, а возвращаются результаты выполнения задания. В качестве примера сервера доступа можно назвать средство NAСS (рисунок1.5).
Факс-сервер (Fax Server) - устройство или компьютер, который выполняет рассылку и прием факсимильных сообщений для пользователей локальной сети. Факс-серверы могут быть реализованы разными способами:
с помощью пакета, функционирующего как группа NLM-модулей на файловом сервере NetWare; в качестве примера можно назвать продукт Faxserver 2.0 c (Cheyenne Communications),
с помощью пакета, функционирующего на выделенной рабочей станции с одним или несколькими факс-модемами; примером является продукт Net SatisFaxtion (Intel),
с помощью специального устройства, подключенного к сети, например, аппаратно-программного комплекса FaxPress (Сastelle).
Сервер резервного копирования данных (Back Up Server) - устройство или компьютер, который решает задачи создания, хранения и восстановления копий данных, расположенных на файловых серверах и рабочих станциях. В качестве такого сервера может использоваться один из файловых серверов сети.
Следует отметить, что все перечисленные выше типы серверов (кроме сервера доступа) могут функционировать на одном файловом сервере в виде пакетов программ или утилит NetWare.
К коммуникационным узлам сети относятся следующие устройства:
повторители,
мосты, коммутаторы,
маршрутизаторы,
шлюзы.
Протяженность сети, расстояние между станциями, в первую очередь определяются физическими характеристиками передающей среды (коаксиального кабеля, витой пары и т.д.). При передаче данных в любой среде происходит затухание сигнала, что и приводит к ограничению расстояния. Установив специальный усилитель или повторитель сигналов, можно значительно расширить сеть.
Такими устройствами являются повторители, мосты и коммутаторы. Часть сети, в которую не входит устройство расширения, принято называть сегментом сети.
Повторитель (Repeater) - устройство, позволяющее расширить сеть за счет подключения дополнительных сегментов кабеля. Повторитель, приняв пакет из одного сегмента, передает его во все остальные. При этом происходит как бы "усиление" сигнала. Повторитель выполняет свои функции на физическом уровне, поэтому он зависит от типа сети (ARCNet, Ethernet) и полностью прозрачен для протоколов, используемых в соединяемых сегментах. Повторитель не выполняет развязку присоединенных к нему сегментов, т.е. одновременно поддерживается обмен данными только между двумя станциями одного или разных сегментов.
Мост (Bridge) - это устройство, которое также, как и повторитель, позволяет объединять несколько сегментов. Мост выполняет свои функции на канальном уровне (Data Link), поэтому, как и повторитель, он зависит от типа локальной сети (Token Ring, Ethernet) и полностью прозрачен для протоколов, работающих на уровнях выше канального. В отличие от повторителя мост выполняет развязку присоединенных к нему сегментов, т.е. одновременно поддерживает несколько процессов обмена данными для каждой пары станций разных сегментов. Каждый мост строит внутреннюю таблицу физических адресов подключенных к сети узлов. Процесс ее заполнения заключается в следующем.
Каждый кадр (пакет+заголовок кадра), передаваемый по сети, имеет в своем заголовке физические адреса узлов отправления и назначения. Получив на один из своих портов кадр данных, мост работает по следующему алгоритму. На первом шаге мост проверяет, занесен ли адрес узла-отправителя кадра в его внутреннюю таблицу. Если нет, то мост заносит его в таблицу и связывает с ним номер порта, на который поступил кадр. На втором шаге проверяется, занесен ли во внутреннюю таблицу адрес узла назначения. Если нет, то мост передает принятый кадр во все сети, подключенные ко всем остальным его портам.
Если адрес узла назначения найден во внутренней таблице, мост проверяет, подключен ли сегмент узла назначения к тому же самому порту, с которого пришел кадр, или нет. Если да, то мост отфильтровывает кадр, а если нет, то передает его только на тот порт, к которому подключен сегмент сети узла назначения.
При обработке каждого кадра обычный мост сначала принимает кадр, записывает его в буферную память и только после этого передает кадр в требуемый сегмент. Такая технология обработки называется Store-And-Forward (запомнить и передать). При передаче кадров каждый мост вносит задержку, равную времени получения кадра и времени его обработки. При другом подходе используются мосты, которые принято называть коммутаторами (Switch). Эти устройства, приняв только заголовок кадра, сразу приступают к его обработке и, определив нужный сегмент, ретранслируют (передают) этот кадр. Время задержки при этом существенно меньше, оно равно времени приема заголовка кадра и времени его обработки. Такая технология называется Cut-And-Through (схватить и передать).
Маршрутизатор или роутер (Router) - устройство, соединяющее сети одного или разного типа, но использующее одну сетевую операционную систему или один протокол обмена данными. Маршрутизатор анализирует номер сегмента назначения и направляет кадр по оптимальному маршруту. Маршрутизатор выполняет свои функции на сетевом уровне, поэтому он зависит от протоколов обмена данными, но не зависит от типа локальной сети. Надо отметить, что в настоящее время появились маршрутизаторы, позволяющие анализировать (но не преобразовывать) разные протоколы обмена. Более подробные сведения об этих устройствах излагаются в разделе, где обсуждаются протоколы маршрутизации RIP и NLSP.
Шлюз (Gateway) - это устройство, позволяющее организовать обмен данными между сетевыми объектами, использующими разные протоколы обмена данными. Шлюз выполняет свои функции на уровнях выше сетевого. Он не зависит от используемой передающей среды, но зависит от используемых протоколов обмена данными.Как правило, шлюз выполняет преобразования между какими-либо протоколами (например, SPX/IPX - TCP/IP, DECnet - SNA и т.д.).
Тотальная буферизация файлового ввода/вывода
В пункте 2.1.5 были рассмотрены структура оперативной памяти файлового сервера NetWare и схема формирования кэш-памяти (кэш-буфера). NetWare кеширует данные файла поблочно. Это позволяет файловой системе NetWare поддерживать тесную синхронизацию между кэш-буфером и физической дисковой памятью, что помогает обеспечить целостность данных файла и даёт большой выигрыш в производительности.
Рассмотрим алгоритм работы NetWare с кэш-памятью при чтении и обновлении блоков данных диска (рисунок 2.35).
При выполнении функции чтения данных из файла сервера операционная система NetWare рассчитывает адрес требуемого блока на диске и проверяет, находится ли он в кэше. Если да, то данные пересылаются из буфера кэша в пул NLM-модуля, выдавшего запрос на чтение. Если требуемого блока в кэше нет, и имеется свободный буфер, то блок читается в этот буфер. Если свободных буферов нет, то ОС выполняет поиск буфера, который наиболее длительное время не использовался (алгоритм LRU) и перезаписывает его на диск, если он был отмечен как "грязный" (dirty). На место перезаписанного буфера читается требуемый блок.
Рис. 2.35. Организация работы с кэш-памятью
При выполнении функции обновления данных какого-либо файла сервера операционная система читает при необходимости требуемый блок в кэш-память (см. выше), выполняет операцию обновления и отмечает этот буфер как "грязный". Обновлённый буфер попадает на диск не сразу. Операционная система через определённый интервал времени запускает системный процесс, который анализирует кэш-память и перезаписывает "грязные" буфера на диск. Интервал времени, через который запускается системный процесс, регулируется с помощью двух SET-параметров (таблица 2.14).
Таблица 2.14. SET-параметры, регулирующие интервал перезаписи "грязных" буферов на диск
SET-параметр | Значение по умолчанию | Границы изменения | Примечания | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dirty Directory Cache Delay Time | 0,5 сек | 0 -10 сек | Определяет, через какой интервал времени перезаписываются на диск "грязные" буфера директорий, где хранятся записи таблиц DET. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dirty Disk Cache Delay Time | 3,3 сек | 0,1 - 10 сек | Определяет, через какой интервал времени перезаписываются на диск "грязные" буфера файлов. |
Упорядочивание и распараллеливание запросов поиска на дисках
В настоящее время наибольшее распространение получили два интерфейса связи контроллера с жёстким диском:
Enhanced IDE (Integrated Drive Electronics),
SCSI-2 (Small Computer Systems Interface).
Интерфейс Enhanced IDE поддерживает два канала, к каждому из которых могут подключаться по два устройства (HARD-диски, CD-ROM и т. д.).
Более новым является интерфейс SCSI-2 (рисунок 2.36).
Для подключения какого-либо устройства по интерфейсу SCSI-2 в расширительный слот компьютера (в частности файлового сервера) устанавливается HOST-адаптер (HBA, DCB и т. д.). К HOST-адаптеру можно подключить до 7 контроллеров (два внутренних и пять внешних): HARD-диски, CD-ROM, CD-R, принтеры, сетевые адаптеры, сканеры, стриммеры. Обмен данными с подключёнными устройствами выполняется в режиме мультиплексирования (т. е. параллельного доступа).
Рис. 2.36. Схема подключения устройств по интерфейсу SCSI
Для HARD-дисков, подключённых по SCSI-интерфейсу, поддерживается восходящий поиск (интеллект шины) на аппаратном уровне (рисунок 2.37).
Рис. 2.37. Восходящий (лифтовый) поиск на диске
По запросу прикладной программы драйвер жёсткого диска рассчитывает номер цилиндра, номер поверхности и номер блока, где располагаются требуемые данные, и формирует команду, направляемую HOST-адаптеру.
Рабочие станции взаимодействуют с драйвером жёсткого диска файлового сервера по NCP-протоколу. Поэтому на HOST-адаптер может поступить несколько команд одновременно. В этом случае HOST-адаптер направляет эти команды контроллеру диска (рисунок 2.37). На рисунке цифрами обозначены номера цилиндров, указанных в командах поиска. Гребёнка головок чтения/записи начинает движение с нулевого цилиндра, и требуемые блоки читаются не в порядке их указания в командах, а в порядке их размещения на цилиндрах. Т. е. сначала будут считаны блоки, расположенные на 1-ом цилиндре, затем на 2-ом цилиндре и т. д. В этом случае гребёнка головок выступает в роли лифта, цилиндры - в роли этажей, блоки - в роли пассажиров.
Следует отметить, что использование этого метода чтения данных существенно повышает производительность дисковой системы. Действительно, если бы блоки читались в той последовательности, в которой они были указаны в командах, то для этого потребовалось бы 19 перемещений головок (для примера на рисунке 2.37). При использовании лифтового поиска для этого потребуется 6 перемещений.
При использовании интерфейса IDE операционная система NetWare выполняет программное моделирование восходящего поиска, который был рассмотрен выше.
Третий уровень надёжности SFT-III
Третий уровень надёжности SFT-III обеспечивает решение, основанное на использовании операционной системы NetWare SFT III v.3.x, 4.x. Эта ОС обеспечивает работу двух файловых серверов, один из которых функционирует в режиме "горячего" резервирования (рисунок 2.48).
В режиме нормального функционирования основной сервер принимает и обрабатывает кадры, передаваемые по шине. При этом по специальному кабелю MSL (его длина не превышает двух километров) на резервный сервер передаются все изменения, связанные с внешней и основной памятью. Резервный сервер посылает также по кабелю MSL специальные сообщения с целью определения состояния основного сервера: работоспособен он или нет. Эти сообщения передаются несколько раз в секунду.
Рис. 2.48. Зеркальное отражение файловых серверов
Когда резервный сервер обнаруживает, что основной сервер не является работоспособным (например, в результате "зависания"), то он начинает принимать и обрабатывать кадры, передаваемые по шине. Основной сервер можно отремонтировать или заменить на новый. Как только резервный сервер обнаруживает, что основной сервер перешёл в работоспособное состояние, он активизирует процесс выравнивания внешней и основной памяти этого главного сервера. После этого основной сервер возобновляет обработку кадров сети, а второй сервер переходит в состояние "горячего" резервирования.
Управление сетевой печатью
Управляемые компоненты сетевой печати перечислены в таблице 3.19.
Управление очередью заданий на печать включает:
1) управление заданиями в очереди:
возможность задержки задания в очереди,
возможность изменения номера обслуживания задания в очереди (т. е. изменение приоритета задания в очереди),
Таблица 3.19. Управляемые компоненты сетевой печати
Управляемые компоненты | Кто управляет | Утилиты управления | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Очереди заданий на печать | Администратор сети Оператор очереди | PCONSOLE.EXE NWADMIN.EXE (4.x) PCONSOLE.EXE | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Принтеры | Администратор сети Оператор сервера печати | PCONSOLE.EXE NWADMIN.EXE (4.x) PSERVER.NLM (4.x) PCONSOLE.EXE PSERVER.NLM (4.x) |
2) управление состоянием очереди:
возможность постановки клиентом задания в очередь,
возможность обслуживания очереди сервером печати,
возможность подключения нового сервера печати к очереди.
Управление принтерами включает:
изменение приоритета очереди, обслуживаемой принтером,
изменение списка пользователей, оповещаемых о проблемах, возникающих при работе принтера (отсутствие бумаги и т. д.),
управление состоянием принтера:
останов принтера,
пауза принтера,
старт принтера,
сброс задания,
прогон листа,
печать строки из звёздочек.
Ведение системной базы данных сетевых ресурсов
В NetWare 3.х системная база данных сетевых ресурсов (СБДСР) называется Bindery, а в NetWare 4.х - NDS (NetWare Directory Service).
База данных сетевых ресурсов Bindery включает в себя объекты, их свойства и значения свойств. Объектом является любая физическая или логическая единица, зарегистрированная в сети, т. е. всё, что имеет имя. К объектам сети относятся пользователи, группы пользователей, файловые серверы, серверы печати, очереди вывода на печать. Каждому объекту при создании присваивается идентификационный номер (ID). В NetWare 3.х база данных сетевых ресурсов состоит из трёх файлов, которые располагаются в каталоге SYS:SYSTEM и имеют атрибут Hidden:
NET$OBJ.SYS - список объектов,
NET$PROP.SYS - списки свойств, которыми обладают объекты,
NET$VAL.SYS - наборы значений всех свойств объектов.
Доступ к объектам БД Bindery осуществляется с помощью утилит-меню SYSCON и PCONSOLE. База данных Bindery может быть сохранена и восстановлена с помощью средств копирования и архивирования файловой системы (NCOPY, SMS и т. д.). Для восстановления разрушенных файлов Bindery в NetWare 3.х используется утилита BINDFIX.
База данных NDS, также как и БД Bindery, включает объекты, их свойства и значения свойств. Но состав объектов NDS и их свойств значительно расширен. Организация NDS рассматривается в следующем разделе. В NetWare 4.х база данных сетевых ресурсов хранится в скрытом каталоге SYS:_NETWARE, который включает следующие файлы:
ENTRY.NDS - содержит описание объектов NDS и их свойств,
VALUE.NDS и BLOCK.NDS - содержат значения свойств объектов,
*.000 - эти файлы содержат потоковые значения свойств (Login Script, Print Job Configuration и т. д.),
MSL.000 - содержит лицензию NetWare 4.х.
Основным средством администрирования базы данных NDS является Windows-программа NWADMIN.EXE. Доступ к БД NDS можно осуществить и с помощью текстовой утилиты-меню NETADMIN, но она имеет небогатые выразительные возможности. База данных NDS может быть сохранена и восстановлена с помощью средства архивирования SMS (Storage Management Services). Следует также отметить, что в NetWare 4.х имеется несколько утилит файлового сервера для работы с базой данных NDS:
DSMERGE.NLM - объединить два разных дерева NDS в одно дерево NDS; эта утилита важна, если к одной сети подключаются два сервера, которые раньше работали в разных сетях,
DSREPAIR.NLM - "отремонтировать" базу данных NDS.
Возможности по администрированию
Администратор сети - это специалист, в круг обязанностей которого входит выполнение следующих основных функций:
инсталляция операционной системы NetWare,
описание информационной среды,
настройка операционной среды,
настройка сетевой печати,
мониторинг сети и управление сетевыми ресурсами,
архивирование и восстановление данных сети.
В процессе инсталляции ОС NetWare администратор должен ответить на ряд вопросов в диалоговом режиме. Инсталляция NetWare 3.х выполняется с дискет, а NetWare 4.х - с CD-ROM.
Описание информационной среды включает выполнение следующих действий:
описание сетевых ресурсов: объектов пользователей, групп и т.д.,
создание каталогов и файлов пользователей,
назначение опекунских прав по отношению к каталогам и файлам,
назначение атрибутов каталогам и файлам.
Описание объектов, назначение опекунских прав и атрибутов выполняется администратором с помощью утилит NetWare. Каталоги и файлы могут быть созданы на сервере NetWare средствами операционной системы рабочей станции. Следует подчеркнуть, что в NetWare 4.х основным средством администрирования в среде Windows является программа NWADMIN.EXE.
Настройка операционной среды, выполняемая также с помощью утилит NetWare, включает:
инсталляцию конфигурационных файлов рабочих станций,
разработку системных и пользовательских процедур подключения к сети,
описание меню пользователей.
Настройка сетевой печати предполагает описание
объектов печати: очередей, принтеров, серверов печати,
форм печати (размера бумаги),
конфигураций заданий на печать.
Сетевая печать также настраивается с помощью утилит.
Мониторинг сети - это оценка ее характеристик производительности и надежности. В NetWare мониторинг осуществляется с помощью программы файлового сервера MONITOR.NLM и некоторых других утилит, запускаемых на рабочей станции. Но возможности этих средств весьма ограничены. Гораздо большими возможностями обладают специально разработанные для этой цели пакеты, например, NMS (Novell), ManageWise (Novell, Intel). Программный продукт ManageWise позволяет реализовать следующие функции:
воспроизведение топологии сети и инвентаризация оборудования,
мониторинг файловых серверов и сегментов сети,
управление файловым сервером (средствами удаленной консоли), концентраторами, рабочими станциями.
Более подробно эти вопросы излагаются в следующих разделах.
Возможности, предоставляемые пользователю
NetWare предоставляет пользователям следующие возможности:
поддерживает коллективное использование файлов,
обеспечивает доступ к сетевым принтерам,
предлагает средства для работы с электронной почтой,
поддерживает работу СУБД различных типов,
обеспечивает доступ к файловому серверу со стороны рабочих станций, функционирующих под управлением различных операционных систем,
предлагает средства, позволяющие объединять удаленные сегменты сети,
обеспечивает "прозрачность" доступа локальных и удаленных пользователей к ресурсам сети,
предлагает средства для надежного хранения данных,
обеспечивает защиту ресурсов сети от несанкционированного доступа,
поддерживает динамически расширяемые многосегментные тома на нескольких дисках файлового сервера,
предоставляет средства управления ресурсами корпоративных сетей: единый каталог сетевых ресурсов NDS в NetWare 4.1,
обеспечивает передачу и обработку данных с использованием разных протоколов: SPX/IPX, TCP/IP, NetBIOS, AppleTalk,
поддерживает работу суперсерверов в симметричном режиме функционирования (ОС NetWare 4.1 SMP).
Рассмотрим некоторые возможности более подробно.
Прежде всего NetWare позволяет пользователям обращаться к общим файлам, хранящимся на файловом сервере. Это, с одной стороны, позволяет не дублировать общие данные на рабочих станциях, а, с другой стороны, обеспечивает взаимодействие пользователей через файловый сервер.
Если всем пользователям сети необходимо выводить данные на печать, а число принтеров меньше количества рабочих станций, то NetWare позволяет сделать печатающие устройства разделяемыми, т.е. доступными всем клиентам сети.
Под управлением NetWare функционирует шлюз электронной почты (ЭП) MHS (Message Handling Service). Этот программный продукт состоит из NLM-модулей. Он вошел в состав NetWare 4.1 как штатное средство. MHS управляет сбором, маршрутизацией и доставкой сообщений через разнородные шлюзы ЭП и линии связи. С MHS совместимы более 200 пакетов электронной почты, функционирующих на рабочих станциях.
NetWare обеспечивает работу СУБД, поддерживающих две технологии обработки запросов: "клиент-файл" и "клиент-сервер". В СУБД типа "клиент-файл" запросы прикладной программы к базе данных (БД) транслируются и выполняются на рабочей станции, на файловом сервере хранятся файлы БД, индексные и технологические файлы. К этому классу СУБД относятся следующие популярные пакеты: dBase (Borland), Clipper (Computer Association), FoxPro (Microsoft), Paradox (Borland), Clarion (Clarion) и т. д. В СУБД типа "клиент-сервер" запрос к БД передается серверу СУБД, функционирующему как совокупность NLM-модулей на файловом сервере. Здесь запрос транслируется и выполняется. На рабочую станцию обратно передаются только результаты выполнения запроса. Для СУБД этого типа характерно уменьшение сетевого трафика и увеличение нагрузочной способности сети. СУБД Oracle 7 (Oracle), SQLBase (Gupta), Btrieve (Btrieve Technologies), Progress 7 (Progress Software) и т.д. поддерживают технологию "клиент-сервер".
Следует также отметить, что в NetWare обеспечена возможность доступа к файловому серверу со стороны рабочих станций, функционирующих под управлением различных операционных систем: MS DOS, OS/2, UNIX, Macintosh, Windows NT Workstation и т.д. В настоящее время разработаны средства взаимодействия NetWare с другими сетевыми операционными системами: OS/2 LAN Server, Windows NT Server, UNIX.
Фирма Novell разработала программное обеспечение выделенных маршрутизаторов, позволяющих объединять удаленные сегменты сети. В качестве примера такого средства можно назвать продукт NetWare Multi Protocol Router 3.0.
Рис. 1.3. Модем выделяется каждой станции
Если каждому пользователю сети необходимо обеспечить доступ к удаленным ресурсам (шлюзам электронной почты, удаленным сегментам, удаленным рабочим станциям и т.д.), то эту задачу можно решить двумя способами: либо выделить каждой станции свой модем (рисунок 1.3), либо сделать модемы разделяемыми (общими).
В последнем случае модемы необходимо подключить к файловому серверу и использовать программные продукты (группы NLM-модулей) NACS или NetWare Connect (рисунок 1.4).
Иногда рабочую станцию подключают к сегменту сети, используя выделенные или коммутируемые каналы связи. В этом случае говорят, что рабочая станция является удаленной. Для обеспечения прозрачного доступа удаленной станции к ресурсам файлового сервера необходимо было решить ряд важных проблем. При активизации приложения на локальной рабочей станции оно, как правило, читается в оперативную память этого компьютера и там выполняется. Такая схема загрузки на удаленной рабочей станции может привести к резкому увеличению трафика каналов связи.
Рис. 1.4. Модем является разделяемым
Чтобы предотвратить передачу программ по каналам связи, на выделенной локальной станции разворачивают многозадачную среду, например, DESQview386. В этой среде и выполняются утилиты и приложения DOS (800 Кб ОП на один сеанс), инициируемые пользователем удаленной рабочей станции. По каналам связи передаются только данные, вводимые или выводимые на экран этой рабочей станции, функционирующей в режиме терминала (рисунок 1.5).
Для выполнения Windows-приложений, инициируемых с удаленных рабочих станций, можно использовать многозадачную среду WinView for Networks v.2.3 (Citrix System Inc.), разработанную на базе OS/2 (5 или 10 сеансов Windows, 4 Мб ОП на один сеанс плюс 8 Мб под WinView).
NetWare поддерживает несколько уровней SFT, обеспечивающих надежное хранение данных:
на уровне SFT-I:
дублирование таблиц DET и FAT тома,
проверка записи на диск последующим чтением,
динамическая переадресация блоков (Hot Fix);
на уровне SFT-II:
зеркальное отображение дисков (Disk Mirroring),
дублирование дисков (Disk Duplexing),
система отслеживания транзакций TTS (Transaction Tracking System),
использование устройств бесперебойного питания (UPS);
на уровне SFT-III:
зеркальное отображение файловых серверов.
Рис. 1.5. Подключение удаленных рабочих станций
Возможности, предоставляемые программисту
Novell поставляет ряд API-интерфейсов, позволяющих получить доступ к сетевым средствам из прикладной программы. Эти интерфейсы включают:
API-интерфейсы для прикладных программ, выполняемых на рабочих станциях,
API-интерфейсы для прикладных программ, выполняемых на файловом сервере (для NLM-модулей).
API-интерфейсы для рабочих станций включают
С-библиотеку NetWare для DOS,
описание системных вызовов NetWare для языка Ассемблера,
справочник программиста по OS/2,
справочное руководство по Macintosh в NetWare.
С-библиотека NetWare для DOS - это библиотека функций, разработанных фирмой Novell для того, чтобы программисты на языке С могли реализовать доступ к службам NetWare в программах, выполняемых под управлением DOS. Функции поставляются с библиотеками для С-компиляторов фирм Watcom, Microsoft, Borland и Lattice. Хотя функции поставляются только для языка С, можно создать интерфейсы и для других языков программирования, используя описание системных вызовов NetWare для языка Ассемблера.
NLM-модули выполняются на файловом сервере и разрабатываются, как правило, с помощью компилятора Watcom C. API-интерфейсы для этих модулей представляют собой библиотеки, сами имеющие форму NLM (CLIB.NLM, DSAPI.NLM и т.д.). Например, библиотека CLIB.NLM содержит почти все функции, представленные в С-библиотеках NetWare для DOS. Связь между каким-либо NLM-модулем и требуемыми функциями библиотеки выполняется динамически при загрузке этого NLM-модуля в оперативную память файлового сервера.
Второй уровень надёжности SFT-II
Второй уровень надёжности SFT-II включает следующие решения:
зеркальное отображение дисков (Disk Mirroring),
дублирование дисков (Disk Duplexing),
система отслеживания транзакций TTS (Transaction Tracking System),
использование устройств бесперебойного питания (UPS).
Рассмотрим эти решения подробнее.
Зеркальное отображение дисков
Обычный интерфейс IDE с жёстким диском включает один канал, к которому могут быть подключены два диска. С помощью программы INSTALL.NLM можно выполнить зеркализацию диска 1 на диск 2 (рисунок 2.42).
Рис. 2.42. Зеркальное отображение дисков
Диск 1 является основным, а диск 2 - вспомогательным. После записи блока на диск 1 операционная система NetWare автоматически записывает тот же блок на диск 2 (выполняет зеркальное отображение).
При вводе блок читается с диска 1. Если при чтении произошла неустранимая ошибка ввода/вывода, то NetWare помещает сообщение о неустранимой ошибке ввода/вывода в журнал администратора и отображает это сообщение на экране файлового сервера. При этом NetWare автоматически переключается на работу с диском 2. Для замены диска 1 администратор должен выполнить следующие действия:
размонтировать тома диска 1,
отменить зеркальное отображение с помощью утилиты INSTALL.NLM,
выйти из системы,
сменить диск 1,
выполнить повторную зеркализацию с помощью утилиты INSTALL.NLM.
Дублирование дисков
Интерфейс Enhanced IDE включает два канала, к каждому из которых можно подключить два диска (рисунок 2.43).
Рис. 2.43. Дублирование дисков
Если выполняется зеркализация дисков, которые подключены к разным каналам (диски 1, 3), то говорят о дублировании дисков. В этом случае операции вывода на диски 1 и 3 операционная система выполняет параллельно. При наличии очереди запросов на чтение данных с диска 1 ОС NetWare организует параллельное чтение блоков с диска 1 и диска 3.
Система отслеживания транзакций TTS
NetWare автоматически отслеживает транзакции, связанные с системной базой данных сетевых ресурсов (Bindery - NetWare 3.х, NDS - NetWare 4.х), и предоставляет API-интерфейс для ведения транзакций прикладными программами.
Системная база данных сетевых ресурсов (СБДСР) включает следующие взаимосвязанные файлы: файл объектов, файл атрибутов и файл значений этих атрибутов.
Рис. 2.44. Транзакционный файл BACKOUT.TTS
Пусть А, В, С - блоки соответствующих файлов, где хранится информация о пользователе USER, и "а", "в", "с" - записи о пользователе USER в этих блоках. Далее предположим, что администратор удаляет пользователя USER из СБДСР. Т. е. данные "с", "в", "а" должны быть исключены из блоков С, В, А. При выполнении этих изменений система TTS записывает в транзакционный файл BACKOUT.TTS (том SYS) данные "с", "в", "а" до изменения соответствующих блоков (верхняя стрелка на рисунке 2.44).
Предположим, что на файловом сервере произошёл сбой (т. е. он "завис"). На рисунке 2.45 показаны возможные состояния кэш-памяти и диска.
Рис. 2.45. Возможное состояние кэш-памяти и диска
Знак "-" на рисунке означает, что блок не содержит соответствующих записей. Из рисунка 2.45 видно, что в силу обстоятельств блок А после изменения (А-а) не был перезаписан из кэша на диск. При перезапуске файлового сервера NetWare открывает файл BACKOUT.TTS и выполняет откат СБДСР. Т. е. система TTS читает с конца файла записи до изменений (стрелка внизу на рисунке 2.44) и восстанавливает их в СБДСР. В результате блоки С, В, А будут восстановлены (рисунок 2.46 а).
c TTS без TTS
Операции, выполняемые с системной базой данных сетевых ресурсов
С-с С-с
В-в В-в
А-а А-а
________________________ Сбой ___________________________
Состояние СБДСР после восстановления системы
А А
В В-в
С С-с
а) б)
Рис. 2.46. Работа системы с TTS (а) и без TTS (б)
Следует отметить, что данные одной транзакции будут потеряны, но будет обеспечена целостность СБДСР, а это намного важнее.
Если NetWare не отслеживает транзакции (TTS можно отключить с помощью консольной команды DISABLE TTS), то после восстановления системы СБДСР будет содержать данные, соответствующие состоянию диска перед сбоем (рисунок 2.45 и 2.46 б).
Т. е. в этом случае произойдёт нарушение целостности базы данных: пользователь не удалён из СБДСР, но его свойства ("в") и их значения ("с") потеряны.
Использование устройств бесперебойного питания (UPS)
Как уже отмечалось выше, сбой в системе, в частности внезапное отключение питания, может привести к потере данных. Для защиты файлового сервера от скачков напряжения в электросети используются специальные устройства бесперебойного питания (UPS - Unterruptible Power Supply) (рисунок 2.47).
Предположим, что входное напряжение электросети упало ниже некоторого порога. В этом случае UPS подаёт напряжение на вход файлового сервера от своей внутренней батареи. Время, в течение которого батарея разрежается и поддерживает требуемое напряжение на файловом сервере, зависит от типа UPS и для простого устройства (например BACK-UPS) составляет 5 - 7 минут. Одновременно UPS передаёт сигнал на порт файлового сервера по шине управления. Этот сигнал вырабатывает прерывание, которое обрабатывает специальный NLM-модуль.
Рис. 2.47. Взаимодействие файлового сервера с устройством
бесперебойного питания
Этот NLM-модуль переходит в состояние ожидания на время, которое было указано при запуске этого модуля (как правило, оно равно времени работы батареи). Если в течение этого времени ожидания напряжение электросети не восстанавливается, то после активизации NLM-модуль выполняет команду DOWN. При этом сервер нормально завершает работу: все "грязные" блоки кэш-памяти перезаписываются на диск, все открытые файлы закрываются и пользователи оповещаются об останове файлового сервера. Если за время ожидания напряжение электросети восстанавливается, то по шине управления на порт файлового сервера поступает сигнал, который завершает выполнение NLM-модуля, связанного с этим портом. Далее работа сервера продолжается в прежнем режиме.
Существуют различные средства поддержки UPS-мониторинга файлового сервера NetWare. В продукт PowerChute Plus v.4.0.1 for NetWare включены средства (NLM-модули, кабели управления и т.д.), позволяющие обеспечить UPS-мониторинг через COM-порт.В состав NetWare входит модуль UPS.NLM, поддерживающий UPS-мониторинг через порт
DCB или HBA-адаптера,
специальной карты UPS MONITORING BOARD.
Взаимодействие NetWare с другими сетевыми ОС
Рассмотрим принципы организации взаимодействия NetWare с операционными системами Windows NT и UNIX, которые являются её основными конкурентами.
В 1994 году фирма Microsoft объявила о выпуске ряда продуктов, которые облегчают взаимодействие серверов Windows NT и NetWare в сети или обеспечивают переход с NetWare на серверы Windows NT. Эти продукты перечислены в таблице 2.10.
На рисунке 2.26 представлена схема взаимодействия Windows NT-клиентов и NetWare-клиентов (работающих по протоколу IPX) соответственно с ОС NetWare и Windows NT Server, функционирующих в одной сети.
Рассмотрим, как обеспечивается взаимодействие NetWare с ОС UNIX. Для этой цели можно использовать продукт NetWare NFS 1.2с. Он функционирует как совокупность NLM-модулей, устанавливаемых на файловом сервере NetWare (таблица 2.11).
Таблица 2.10. Продукты Microsoft, обеспечивающие взаимодействие
серверов Windows NT и NetWare
Продукт или утилита | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Набор программ, реализующих протокол IPX, IPX-Compatible Transport Stack. | Позволяет устанавливать и использовать приложения, ориентированные на Windows NT Server, не изменяя ПО клиента NetWare. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Шлюзовая служба Gateway Service for NetWare. | Даёт возможность использовать Windows NT Server в качестве коммуникационного средства (шлюза) и предоставляет Windows NT-станциям доступ к серверам NetWare. Шлюз транслирует SMB-пакеты, посланные с Windows NT-станции (Windows for Workgroups, Windows NT Workstation), в NCP-пакеты и пересылает их серверу NetWare. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Средство переноса Migration Tool for NetWare. | Автоматически переносит с сервера NetWare на сервер Windows NT Server информацию о бюджетах пользователей, сценарии регистрации при входе в систему, файлы, каталоги, средства защиты. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Службы файлов и печати File and Print Services for NetWare | Размещает службы каталогов и печати системы NetWare и деловые приложения на одном компьютере под управлением Windows NT Server, не требуя при этом изменения ПО клиента NetWare и конфигурации сети. Для клиента NetWare сервер Windows NT Server превращается в NCP-сервер. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Менеджер службы каталогов Directory Service Manager (DSM) for NetWare | Использует сервер Windows NT Server для централизованного управления бюджетами пользователей в смешанной сети, работающей и с NT, и с NetWare (2.х и 3.х), что позволяет конечным пользователям однократно регистрироваться при входе в систему и иметь единый бюджет и пароль. |
Web-серверы для сетей NetWare
Web-серверы предназначены для организации хранения, чтения и генерации документов. Часто эти документы называют Web-страницами. Web-страница отображаются на экране в результате выполнения так называемой HTML-программы. Эта программа читается с Web-сервера и интерпретируется Web-броузером (Netscape Navigator, Microsoft Explorer и др.) на рабочей станции (рисунок 5.2).
Рис. 5.2. Доступ к HTML-программе
HTML-программа - это текстовый файл с программой, написанной на языке HTML (HyperText Markup Language). В эти программы можно вставить вызовы script-программ, написанных на языках PERL, BASIC, JAVA. Причём вызов script-программы выполняется броузером тогда, когда пользователь указывает мышкой на участок изображения Web-страницы, для которого была предусмотрена возможность детализации (поясняющий текст или картинка, звуковое сопровождение и т. д.).
Script-программы на языках PERL и BASIC выполняются на Web-сервере и генерируют новые HTML-программы (рисунок 5.3). После выполнения скрипта эта HTML-программа пересылается на рабочую станцию и там интерпретируется броузером. Web-серверы для NetWare поддерживают доступ к script-программам, которые реализованы на этих языках.
В отличие от PERL и BASIC script-программы на языке JAVA (их ещё называют аплетами) загружаются на рабочую станцию и там выполняются, что позволяет существенно разгрузить Web-сервер. Аплеты уже несут информацию (в сжатом виде), детализирующую тот или иной участок текущей Web-страницы. Причём аплеты могут по запросам пользователя выполнять навигацию по этой детализирующей информации (например, можно "пройтись" по комнатам выбранной квартиры). Web-серверы для NetWare пока не поддерживает доступ к аплетам на языке JAVA, хотя Web-броузеры на рабочих станциях поддерживают выполнение аплетов.
Рис. 5.3. Доступ к script-программе на языке PERL или BASIC
В процессе генерации в новую HTML-программу (рисунок 5.3) могут быть включены данные из дерева NDS, из локальной и удалённой базы данных. К HTML-программам и скриптам Web-сервера имеют доступ как клиенты локальной сети, так и пользователи Internet.
На рынке Web-серверов для NetWare современным требованиям отвечают три продукта:
Webware (Edime),
GLASI-HTTPD (GLASI),
NetWare Web Server (Novell).
В следующих разделах рассматриваются установка, настройка, порядок работы и правила создания документов для продукта NetWare Web Server. В поставку этого изделия входит собственно Web-сервер и HTML-редактор WordPerfect Internet Publisher.
Novell также предлагает продукт NetWare InnerWeb Publisher, куда, в частности, входит лицензия на 50 пользователей Netscape Navigator и HTML-редактор HoTMetaL Lite 3.0 компании SoftQuad.
Результаты тестирования NetWare Web Server [14] свидетельствуют о перспективности этого продукта.