Операционные системы. Учебное пособие. Марапулец Ю.В. - 196 стр.

UptoLike

Составители: 

# Файл HOSTS, используемый в TCP/IP
102.54.94.97 rhino.acme.com # исходный сервер
38.25.63.10 х.acme.corn # сервер клиента х
127.0.0.1 localhost
В этом файле каждый IP-адрес соответствует имени базового компьютера. Обрати-
те внимание на стандартный адрес 127.0.0.1, соответствующий локальному базовому
компьютеру. (Согласно общепринятой договоренности, адрес 127.0.0.1 всегда указывает
на сам локальный базовый компьютер.) В современных Windows обычно еще имеется
файл LMHOSTS. Он служит для тех же целей, что и файл HOSTS, однако заданные
здесь базовые имена являются NetBIOS-именами. Кроме того, в этом файле могут ис-
пользоваться ключевые слова, не применяемые в файле HOSTS (например, ключевое
слово #DOM позволяет задать контролер домена сети Windows NT).
Иногда поиск адреса сводится к простому просмотру соответствующей записи в
файле HOSTS, но чаще всего поисковый запрос передается на DNS-сервер, который ли-
бо удовлетворяет этот запрос, либо передает его дальше, DNS-серверу первого уровня.
Если искомая запись не обнаружена на сервере первого уровня, запрос передается сле-
дующему по иерархии DNS-серверу. Этот процесс продолжается до тех пор, пока иско-
мая запись не будет обнаружена или пока не закончится процесс поиска (в последнем
случае появится сообщение об ошибке).
Асинхронные версии функций интерфейса Winsock. Для программирования
асинхронных гнезд в Windows рекомендуется использовать WSA-версии функций рабо-
ты с гнездами, которые в качестве параметра обычно принимают значение дескриптора
окна и по окончании выполнения (или при необходимости передачи информации при-
ложению) записывают в очередь сообщений этого окна данные о статусе операции или
сообщение о завершении ее выполнения. Поскольку Windows поддерживает одновре-
менную работу нескольких потоков, можно также использовать синхронные функции,
создавая для них отдельный поток и освобождая основное приложение для обработки
других задач на время выполнения этих функций. Список асинхронных функций приве-
ден в табл.8.4 [12].
Таблица 8.4
Функция Выполняемое действие
1 2
WSAAccept В зависимости от определенных условий регист-
рирует соединение и создает группу гнезд или
подключается к существующей группе
WSAAddressToString Преобразует все адреса, содержащиеся в струк-
туре SOCKADDR,
в представление, удобное для
восприятия человеком
WSAAsyncGetHostByAddr Получает информацию о базовом компьютере по
заданному адресу
WSAAsyncGetHostByName Получает информацию о базовом компьютере по
заданному имени
WSAAsyncGetProtoByName Получает информацию о заданном протоколе по
его имени
WSAAsyncGetProtoByNumber Получает информацию о заданном протоколе по
его номеру
Продолжение табл. 8.4
1 2
WSAAsyncGetServByName Получает информацию о сервисе по заданному
имени сервиса и протоколу
198
# Файл HOSTS, используемый в TCP/IP
102.54.94.97 rhino.acme.com     # исходный сервер
38.25.63.10 х.acme.corn       # сервер клиента х
127.0.0.1   localhost

      В этом файле каждый IP-адрес соответствует имени базового компьютера. Обрати-
те внимание на стандартный адрес 127.0.0.1, соответствующий локальному базовому
компьютеру. (Согласно общепринятой договоренности, адрес 127.0.0.1 всегда указывает
на сам локальный базовый компьютер.) В современных Windows обычно еще имеется
файл LMHOSTS. Он служит для тех же целей, что и файл HOSTS, однако заданные
здесь базовые имена являются NetBIOS-именами. Кроме того, в этом файле могут ис-
пользоваться ключевые слова, не применяемые в файле HOSTS (например, ключевое
слово #DOM позволяет задать контролер домена сети Windows NT).
      Иногда поиск адреса сводится к простому просмотру соответствующей записи в
файле HOSTS, но чаще всего поисковый запрос передается на DNS-сервер, который ли-
бо удовлетворяет этот запрос, либо передает его дальше, DNS-серверу первого уровня.
Если искомая запись не обнаружена на сервере первого уровня, запрос передается сле-
дующему по иерархии DNS-серверу. Этот процесс продолжается до тех пор, пока иско-
мая запись не будет обнаружена или пока не закончится процесс поиска (в последнем
случае появится сообщение об ошибке).
      Асинхронные версии функций интерфейса Winsock. Для программирования
асинхронных гнезд в Windows рекомендуется использовать WSA-версии функций рабо-
ты с гнездами, которые в качестве параметра обычно принимают значение дескриптора
окна и по окончании выполнения (или при необходимости передачи информации при-
ложению) записывают в очередь сообщений этого окна данные о статусе операции или
сообщение о завершении ее выполнения. Поскольку Windows поддерживает одновре-
менную работу нескольких потоков, можно также использовать синхронные функции,
создавая для них отдельный поток и освобождая основное приложение для обработки
других задач на время выполнения этих функций. Список асинхронных функций приве-
ден в табл.8.4 [12].
                                                                        Таблица 8.4
               Функция                           Выполняемое действие
                1                                         2
WSAAccept                          В зависимости от определенных условий регист-
                                   рирует соединение и создает группу гнезд или
                                   подключается к существующей группе
WSAAddressToString                 Преобразует все адреса, содержащиеся в струк-
                                   туре SOCKADDR, в представление, удобное для
                                   восприятия человеком
WSAAsyncGetHostByAddr              Получает информацию о базовом компьютере по
                                   заданному адресу
WSAAsyncGetHostByName              Получает информацию о базовом компьютере по
                                   заданному имени
WSAAsyncGetProtoByName             Получает информацию о заданном протоколе по
                                   его имени
WSAAsyncGetProtoByNumber           Получает информацию о заданном протоколе по
                                   его номеру
                                                              Продолжение табл. 8.4
                 1                                            2
WSAAsyncGetServByName               Получает информацию о сервисе по заданному
                                    имени сервиса и протоколу


                                       198