- •Что такое процесс?
- •Адресное пространство
- •Набор ресурсов
- •Объект-процесс
- •Что такое поток?
- •Многозадачность и мультипроцессорная обработка
- •Многопоточность
- •Объект-поток
- •История
- •Опорная модель osi
- •Встроенная сетевая поддержка
- •Сетевые api
- •Разрешение имен
- •Встроенные сетевые компоненты
- •Открытая архитектура
- •Доступ пользовательского режима к удаленным файловым системам
- •Транспортные протоколы
- •Среда ndis для сетевых драйверов
- •Среда распределенных приложений
- •Удаленный вызов процедур
- •Именованные каналы
- •Корпоративные сети и распределенная защита
Среда распределенных приложений
Определим распределенную систему как такую, в которой "существование нескольких автономных компьютеров является прозрачным (т. е. невидимым) для пользователя". Т.е., одна ОС управляет несколькими сетевыми компьютерами и планирует время их процессоров. Window NT не является распределенной ОС. Она может работать на многопроцессорном компьютере, планируя загрузку всех процессоров, но требует от последних использования общей памяти. Несмотря на то, что Windows NT не является распределенной ОС, она предоставляет средства для создания и выполнения распределенных приложений. Когда-то распределенная обработка означала, что пользователь может выполнять печать с нескольких компьютеров, посылая задания на печать удаленному серверу печати. Аналогично, часто целый компьютер использовался просто как хранилище совместно используемых файлов, которые пользователь мог копировать на локальные машины для обработки. Теперь распределенная обработка стала более совершенной. Вместо того, чтобы хранить большие файлы базы данных на удаленной машине и копировать их на локальную всякий раз, когда пользователь захочет обратиться к базе, приложения типа Microsoft SQL Server дают возможность отправить запрос, который обрабатывается путем выполнения операций поиска и сортировки на удаленной машине. Когда обработка заканчивается, на машину пользователя пересылаются только результаты запроса. Клиент-серверные вычисления такого типа снижают нагрузку на самую малопроизводительную часть системы — сеть — и перекладывают работу на удаленный процессор, освобождая локальный. Преимущество подобных приложений в том, что они расширяют вычислительные возможности однопользовательской рабочей станции, используя процессор удаленного компьютера, часто более мощного. Вычисления такого типа расширяют клиент-серверную модель, где клиент посылает запрос на исполнение серверному процессу. Отличие состоит в том, что серверный процесс исполняется на другой машине. В локальной клиент-серверной модели Windows NT два процесса используют для пересылки информации между своими адресными пространствами средство передачи сообщений, называемое локальным вызовом процедур (LPC). Для распределенной обработки необходимо средство передачи сообщений более общего характера. Оно не должно делать предположений о том, какому процессу будет посылаться сообщение и на каком компьютере он исполняется. Кроме того, в связи с большой вероятностью отсутствия памяти, общей для клиентского и серверного, такое средство передачи сообщений должно предполагать, что все данные будут копироваться из одного адресного пространства в другое по сети. Клиент-серверные вычисления представляют собой подход приложений (а не ОС) к реализации распределенной обработки, однако они не могут успешно выполняться без надлежащей поддержки со стороны ОС. Для успешной реализации клиент-серверных вычислений ОС должна предоставлять:
• способ создания и исполнения частей приложения как на локальных, так и на удаленных компьютерах;
• механизмы уровня приложений для передачи информации между локальными и удаленными процессами;
• поддержку сети, включая средства транспорта.
