1.7.4 客户机-服务器模式

一个微内核思想的略微变体是将进程划分为两类:服务器,每个服务器提供某种服务;客户端,使用这些服务。这个模式就是所谓的客户机-服务器模式。通常,在系统最底层是微内核,但并不是必须这样的。这个模式的本质是存在客户端进程和服务器进程。

一般地,在客户端和服务器之间的通信是消息传递。为了获得一个服务,客户端进程构造一段消息,说明所需要的服务,并将其发给合适的服务器。该服务完成工作,发送回应。如果客户端和服务器运行在同一个机器上,则有可能进行某种优化,但是从概念上看,在这里讨论的是消息传递。

这个思想的一个显然的、普遍方式是,客户端和服务器运行在不同的计算机上,它们通过局域或广域网连接,如图1-27所示。由于客户端通过发送消息与服务器通信,客户端并不需要知道这些消息是在它们的本地机器上处理,还是通过网络被送到远程机器上处理。对于客户端而言,这两种情形是一样的:都是发送请求并得到回应。所以,客户机-服务器模式是一种可以应用在单机或者网络机器上的抽象。

广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元

阅读 ‧ 电子书库
图 1-27 在网络上的客户机-服务器模型

越来越多的系统,包括用户家里的PC机,都成为了客户端,而在某地运行的大型机器则成为服务器。事实上,许多Web就是以这个方式运行的。一台PC机向某个服务器请求一个Web页面,而后,该Web页面回送。这就是网络中客户机-服务器的典型应用方式。