Рабочая станция Novell NetWare
Сетевое программное обеспечение рабочей станции Novell NetWare в среде MS-DOS состоит из нескольких резидентных программ: программы поддержки протоколов передачи данных lsl.com, драйвера сетевого адаптера (например, ne2000.com), драйвера протоколов IPX/SPX ipxodi.exe и, наконец, сетевой оболочки netx.exe.
Резидентная программа netx.exe обеспечивает интерфейс с файл-серверами, перехватывая прерывания INT21h, INT 24h и INT 17h.
Прерывание INT 21h в отсутствие сетевой оболочки реализует стандартный набор функций MS-DOS, который мы подробно рассматривали в первом томе "Библиотеки системного программиста". Программа netx.exe перехватывает некоторые функции MS-DOS, например функции, предназначенные для работы с дисками и файлами. Если программа работает с локальным диском, сетевая оболочка передает управление соответствующим функциям MS-DOS. Если же программа пытается обратиться к дискам сервера, все запросы через протокол IPX адресуются соответствующему серверу. Так как, обращаясь к дискам, программа вызывает обычные функции MS-DOS, она может и не знать, что работает не с локальным диском, а с диском сервера.
Кроме перехвата имеющихся функций MS-DOS сетевая оболочка добавляет новые функции, предназначенные в основном для работы с файл-сервером. Практически весь описанный в этой книге интерфейс с файл-сервером Novell NetWare реализован как расширение стандартного набора функций MS-DOS в рамках прерывания INT 21h.
Прерывание INT 24h используется операционной системой MS-DOS для обработки критических ошибок. Сетевая оболочка расширяет возможности обработчика критических ошибок MS-DOS.
Прерывание INT 17h - это прерывание BIOS, предназначенное для печати на принтере. Перехватывая это прерывание, сетевая оболочка может переназначать печать с локального принтера на удаленный сетевой принтер.
Таким образом, прикладная программа, запущенная на рабочей станции, может посылать запросы серверу через дополнительные (сетевые) функции прерывания INT 21h, встраиваемые сетевой оболочкой.
Сетевые функции при необходимости сами формируют IPX-пакеты и передают их нужному файл-серверу, а также принимают ответные пакеты. Сама же прикладная программа редко работает с файл-сервером на уровне IPX-пакетов, так как интерфейс сетевой оболочки значительно удобнее.
По назначению сетевые функции можно разбить на следующие группы:
функции для создания и удаления каналов между рабочими станциями и файл-серверами;
В нашей книге мы рассмотрим использование основных функций, входящих в перечисленные выше группы, и приведем исходные тексты программ, демонстрирующих работу с ними.