Поток - логически и структурно обособленная совокупность команд, выполняемая на одном процессоре. В многозадачных операционных системах на одном процессоре могут выполняться несколько потоков. Они либо независимы, либо взаимодействуют друг с другом. В рамках одного приложения может быть один или несколько взаимодействующих потоков. Один из способов организации взаимодействия потоков это создание архитектурного приложения клиент-сервер.
Распределенное приложение - приложение, выполняющееся на нескольких процессорах, представляющее собой в общем случае совокупность взаимодействующих потоков. Конкретные механизмы взаимодействующих потоков зависят от множественных факторов, в частности от типа ОС.
Приложение типа клиент-сервер.
Идея концепции клиент-сервер основана на понятии сервиса(некоторое действие, которое зачем-либо тербуется клиентской стороне, но которая сама выполнить не может). При этом серверной стороне совершение этого действия не требуется, но имеется возможность его выполнить. В таком случае клиентская сторона каким-либо образом вынуждает серверную сторону совершить необходимое действие и предоставить результаты.
Иными словами, при клиент-сервер взаимодействии клиент запрашивает, а сервер предоставляет ему сервис.
Понятия клиент и сервер - динамические.
При взаимодействии любых объектов, когда они вызывают друг друга попеременно, каждый из них будет и клиент, и сервер. Таким образом, термины Клиент иСервер означают только специфику действия объектов во время их взаимодействий.
Клиент приложение - обозначает приложение имеющих минимум собственного исполняемого кода, основная функциональная часть которого осуществляется на сервере. Клиент-приложения часто служит для обеспечения взаимодействия пользоваетля и сервера.
Соединение Клиент и сервер может происходить по локальной сети, по Internet, либо и клиент, и сервер могут располагаться на одном компе.
Сервер-приложение в клиент-сервер означает приложение, предоставляющее заложенные в нем функциональные возможности(сервисы) приложению клиенту. Как правило, приложение сервер не предназначено для общения с пользователем.
Открытый вопрос о том, каким образом осуществляется связь между клиентом и сервером.
В случае ОС Windows в качестве механизмов приложения используют COM, DCOM.
Таким образом в Windows под клиент-сервер понимаем распределенное приложение, реализованное в виде совокупности компонента, связанного технологией COM и/или DCOM.