第六章传输控制.docVIP

  • 0
  • 0
  • 约9.88千字
  • 约 9页
  • 2022-03-06 发布于湖北
  • 举报
PAGE 8 第六章 传输控制 第五章关注减少与数据操作有关的开销,主要是数据拷贝。本章关注减少数据包处理过程中的控制开销,包括中断处理、系统调用、进程上下文切换等。 6.1 为什么会有控制开销 第五章用web服务器发送文件作为例子,让我们看到在响应get请求的过程中涉及到了哪些拷贝过程。本章用一个处理大量客户请求的web服务器作为例子,说明在这个服务器中涉及到了哪些控制开销。 我们来看一下GET请求的服务过程:…… 根据上面的叙述,这里的控制开销包括了一次中断处理和两个系统调用。其实这个描述还是比较粗的,控制开销还不止这些。下面我们看一下不同的代码组织方式还会带来什么样的控制开销。 代码组织和进程切换 首先看一下网络代码,网络代码是用于处理数据包的代码。我们知道网络功能是按层次组织的,如果采用简单的结构化,即每一层实现为一个进程,则处理一个数据包要涉及进程切换。一次进程调度的典型时间是几百微秒,远远高于一个数据包的到来时间(包长/链路速率),因此这种代码组织方式的控制开销极大。 如果将所有层实现为一个进程,则数据包处理过程中不涉及进程切换,其控制开销是最小的。目前,大多数网络代码采用的是这种整体化结构。 下面再看web服务器的代码组织方式。前面针对web处理的描述只是关于一个客户的,我们现在考虑一个服务于几千个并发客户的大型web服务器。 在一个极端上,每个进程服

文档评论(0)

1亿VIP精品文档

相关文档