文档介绍:第11章客户-服务器交互模型
陈智俐
czl6144@
本章主要内容
客户-服务器交互模型的概念
客户程序和服务器程序的一般特点
实现客户-服务器模型需要解决的主要问题
实践内容
编写一个简单的服务器程序
编写一个简单的客户程序
网络环境中分布式进程通信的基本概念
网络层及以下的各层实现了网络中主机之间的通信,但是数据通信不是最终的目的;
计算机网络最本质的活动是实现分布在不同地理位置的主机之间的进程通信,以实现应用层的各种网络服务功能;
设置传输层的主要目的就是要实现分布式进程通信,为实现应用层的网络服务功能提供服务。
单机系统中的进程通信方法
进程和进程通信是操作系统中的一个最基本的概念;
程序是一个在时间上按照严格次序的前后相继的操作序列,是一个静态的概念;
进程是一个动态的概念,它是一个程序对某个数据集的执行过程;
进程具有并发的特性,是分配计算机资源的基本单位。进程的静态描述由3个部分组成(PCB、有关的程序段及数据)。
单机系统中,多个进程共享单一的CPU,因此一个进程不同时刻处不同状态;
单机系统中的进程通信方法
正在运行的进程叫做运行态;
等待分配CPU的进程叫做就绪态;
等待其它的条件的进程叫做等待态;
进程状态反映出进程执行过程的变化。这些状态随外界条件与进程的执行发生变化和转换;
要保证系统正常地工作,操作系统必须对进程的创建、撤消与状态转换进行控制;
从进程的观点看,操作系统的核心则是控制和协调这些进程的运行,解决进程之间的通信。
操作系统对进程的管理
在操作系统的支持下,计算机系统中各进程互相独立地并发运行。但它们要共享计算机资源,因此进程在运行过程中存在着互斥与同步的关系。
进程在并发运行过程中需要进行信息交换,目前常用的通信机制有消息缓冲区通信、管道通信与信箱通信。无论是相互通信的进程,还是共享某些资源的进程,都有可能因为通信顺序不当或资源分配顺序不当造成死锁,使得并发进程因等待资源而不能继续运行。
操作系统对进程的管理
在批处理或分时系统,进程调度程序记录系统中所有进程的执行状态,选择占有CPU的进程,进行一个进程上下文的切换。所有这一切均在操作系统的控制下有条不紊地进行。
网络环境中分布式进程通信的特点
用一句最简单的话去描述计算机网络,那就是:
计算机网络是分布在不同地理位置的多台独立的计算机系统的集合;
“独立的计算机系统”意味着连网的每一台计算机的操作与资源是由自己的操作系统所管理;
用户共享的网络资源及网络所能提供的服务功能最终是通过网络环境中的分布式进程通信来实现的。
网络环境中分布式进程通信的特点
网络环境中的进程通信与单机系统内部的进程通信的主要区别:网络中主机的高度自治性;因为不是在同一个主机系统之中,没有一个统一的高层进行控制与管理;
网络中一台主机对其它主机的
•活动状态
•位于其它主机系统中的各个进程状态
•这些进程什么时间参与网络活动
•希望与网络中哪一台主机的什么进程通信一
概无从知道
网络环境中分布式进程通信需要解决的问题
进程命名与寻址方法
多重协议的识别
进程间相互作用的模式