华信教育资源网
操作系统实验教程——Web服务器性能优化
丛   书   名: 计算机类精品系列教材
作   译   者:鲁强 出 版 日 期:2023-09-01
出   版   社:电子工业出版社 维   护   人:孟宇 
书   代   号:G0462510 I S B N:9787121462511

图书简介:

操作系统相关理论较为抽象和难懂,对于很多初学者来说很难理解这些抽象的内容。本书以“学以致用”为目标,以构建一个高性能Web服务器为案例,将操作系统的处理器管理、内存管理和文件管理的相关理论融入到Web服务器构建的过程中。随着将操作系统中的这些理论逐步融入到Web服务器,读者会发现Web服务器的并发访问性能在逐步提高,这能极大地激发读者的学习兴趣。本书中的实验先易后难,从一个简单的单进程Web服务器开始,通过引入多进程、多线程、同步互斥、页面缓存及替换、内存分配及管理、文件系统、网络通信和零拷贝等概念和算法,逐步提高Web服务器并发访问性能。本书中的实验强调数据分析,通过在程序代码中加入性能统计参数以及应用性能评估工具来获得Web服务器运行状态数据;通过数据分析获得影响Web服务器并发访问性能的关键问题;通过引入操作系统的相关理论来解决这些问题。本书既可作为“操作系统”课程的配套实验教材,也可以作为系统编程人员动手实践的参考教材。
定价 49.8
您的专属联系人更多
关注 评论(5) 分享
配套资源 图书内容 样章/电子教材 图书评价
  • 配 套 资 源

    本书资源

    会员上传本书资源

  • 图 书 内 容

    内容简介

    操作系统相关理论较为抽象和难懂,对于很多初学者来说很难理解这些抽象的内容。本书以“学以致用”为目标,以构建一个高性能Web服务器为案例,将操作系统的处理器管理、内存管理和文件管理的相关理论融入到Web服务器构建的过程中。随着将操作系统中的这些理论逐步融入到Web服务器,读者会发现Web服务器的并发访问性能在逐步提高,这能极大地激发读者的学习兴趣。本书中的实验先易后难,从一个简单的单进程Web服务器开始,通过引入多进程、多线程、同步互斥、页面缓存及替换、内存分配及管理、文件系统、网络通信和零拷贝等概念和算法,逐步提高Web服务器并发访问性能。本书中的实验强调数据分析,通过在程序代码中加入性能统计参数以及应用性能评估工具来获得Web服务器运行状态数据;通过数据分析获得影响Web服务器并发访问性能的关键问题;通过引入操作系统的相关理论来解决这些问题。本书既可作为“操作系统”课程的配套实验教材,也可以作为系统编程人员动手实践的参考教材。

    图书详情

    ISBN:9787121462511
    开 本:16(185*260)
    页 数:152
    字 数:237

    本书目录

    第1章 Web服务器开发基础	1
    1.1 Web服务器简介	1
    1.2 TCP/IP协议族与HTTP	2
    1.2.1 TCP/IP协议族	2
    1.2.2 HTTP	2
    1.3 Socket编程	6
    1.4 开发环境与测试环境	14
    1.4.1 GCC	15
    1.4.2 构建makefile	20
    1.4.3  GDB	20
    1.4.4 服务性能测试工具	26
    1.4.5 性能指标	34
    1.5 实验1 Web服务器的初步实现	35
    第2章 Web服务器的多进程和多线程模型	37
    2.1 背景介绍	37
    2.2 进程模型	37
    2.2.1 Linux中创建进程的相关函数	37
    2.2.2 Linux中进程间通信的相关函数	39
    2.2.3 多进程Web服务器模型	47
    2.2.4 实验2 Web服务器的多进程模型实现	48
    2.3 线程模型	49
    2.3.1 Linux线程模型	49
    2.3.2 POSIX 线程库接口	49
    2.3.3 Linux线程间的同步与互斥	53
    2.3.4 Web服务器的多线程模型	55
    2.3.5 实验3 Web服务器的多线程模型	61
    2.4 线程池模型	62
    2.4.1 实验4 Web服务器的线程池模型	67
    2.5 业务分割模型	67
    2.5.1 实验5 Web服务器的业务分割模型	70
    2.6 混合模型	71
    2.6.1 实验6 Web服务器的混合模型	73
    第3章 Web服务器的内存管理	74
    3.1 背景介绍	74
    3.2 Web页面的缓存逻辑结构	75
    3.3 Web页面的缓存置换算法	81
    3.3.1 实验7 Web服务器页面缓存及其替换方法评估	88
    3.4 Web服务器的内存管理模型	88
    3.4.1 Linux内核内存管理模型	89
    3.4.2 Linux用户库函数管理内存方法	97
    3.4.3 Nginx 内存管理模型	106
    3.4.4 实验8 Web服务器的内存管理	108
    第4章 Web服务器的文件存储系统	109
    4.1 背景介绍	109
    4.2 Linux中的Ext文件系统	109
    4.2.1 Ext 2文件系统结构	109
    4.2.2 Ext 2文件系统分析	110
    4.3 TFS文件系统	111
    4.3.1 TFS文件系统架构	111
    4.3.2 TFS文件系统性能分析	114
    4.4 实验9 Web服务器的文件系统	114
    第5章 Web服务器的网络I/O性能优化	116
    5.1 背景介绍	116
    5.2 Socket I/O多路复用	117
    5.2.1 select	117
    5.2.2 poll	122
    5.2.3 epoll	123
    5.3 阻塞和非阻塞I/O	126
    5.4 异步I/O	138
    5.4.1 异步I/O函数	138
    5.4.2 异步通知响应	140
    5.5 零拷贝	143
    5.6 实验10 Web服务器网络I/O优化	145
    展开

    前     言

    “操作系统”课程内容涉及面广,里面讲授的概念、理论和算法较为抽象和难以理解。制约学生理解、掌握其内容的关键因素是缺少好的实验平台。
    目前,针对“操作系统”课程开发的实验平台大体分为两种:一种以复现课程内容中理论和相关算法实现为主,另一种以操作系统内核开发为主。第一种实验平台多是以每章为单位的理论验证型实验,如实现银行家算法、实现LRU内存替换算法等。这些实验内容仅复现了课程中的算法,由于缺少具体的应用环境,使学生并不能够体会这些理论和算法在操作系统或实际系统环境中的真实作用。并且由于实验以每章为单位,各部分实验内容之间缺少联系,很难使学生通过这些实验内容来真正理解、掌握和应用这些理论、算法知识。第二种以内核开发为主的实验平台,大多数构造好了基本的内核实现框架,并且实现了很大一部分的代码,仅需要学生补充相关的算法代码即可。这样虽然能够加深学生对课本内容的理解并增强其阅读代码和系统底层编程能力,但是由于整体架构已经设计好,并不能较好地训练学生的系统设计能力(系统设计指的是在面临复杂问题时,能够在综合考虑各种因素前提下,设计出合理的系统程序以最大化地利用计算机系统性能)。
    为克服上述两种实验平台的缺点,本书以设计并实现一个具有较高并发性能的Web服务器系统为目标,将操作系统各个部分的理论和算法知识逐步地、有机地融入此服务器系统的设计和开发过程中,使学生学到的知识能够作用于一个完整的系统,使学生在实现每个阶段实验目标的基础上逐渐增强自身系统设计能力和分析能力,并提升他们“学以致理”和“学以致用”的能力。
    本书具体内容组织如下。
    第1章,Web服务器开发基础。在理解TCP和HTTP协议基础上,利用Socket编程技术实现一个简单的Web服务器,并介绍Web服务器开发环境和测试环境相关工具的使用方法。
    第2章,Web服务器的多进程和多线程模型。将多进程、多线程、同步与互斥等概念和理论融入此Web服务器的设计中,并探讨各种提高Web服务器并发处理的设计方案。
    第3章,Web服务器的内存管理。在深入分析Linux内核内存管理模型和用户库内存管理模型的基础上,通过介绍Nginx(一个高性能HTTP服务器)在内存管理中的实现方法,来探讨关于Web服务器管理内容的设计方案。
    第4章,Web服务器的文件存储系统。在深入分析Linux中的Ext文件系统的基础上,通过介绍支持海量小文件高速读取的TFS(淘宝文件系统)系统架构及其特点,来探讨支持海量Web文件的存储系统设计方案。
    第5章,Web服务器的网络I/O性能优化。在分析网络I/O通信模型的基础上,介绍Socket I/O多路复用、非阻塞I/O、异步I/O和零拷贝等技术,以提高Web服务器在高并发环境下网络I/O的通信能力。
    本书中的实验内容是编者在多年操作系统实验教学过程中总结、整理而成的,其特点如下:首先,适用性较广,既能够让能力一般的学生经过逐步地学习和训练来设计完成一个较为完整的系统软件,也能够让能力较为突出的学生通过深入钻研操作系统内核和计算机系统结构相关知识来最大限度地发挥系统软件的性能;其次,每个实验阶段的Web服务器性能都会比上一个阶段有所提高,这会极大地激发学生探索新理论和新方法的兴趣;最后,由于本书实验内容具有很好的衡量指标,因此教师可以根据学生完成的Web服务器系统性能好坏及相关实验报告对学生实验成绩给出客观的评价。
    本书不仅可以作为“操作系统”课程上机授课教材,还可以作为计算机从业者提升自己的项目训练手册。希望本书能够对大家有所帮助。同时,由于编者知识面有限,书中难免会有疏漏和不足之处,请大家予以见谅,并希望大家提出改正建议。
    
                                                                                                                                                            鲁  强     
                                                                                                                                                       2023年3月
    
    展开

    作者简介

    鲁强,工学博士,副教授。参加的学术组织:中国计算机学会(CCF)、美国计算机学会(ACM)。出版著作情况:刘华, 屈红刚, 鲁强. 软件设计— 考点解析与模拟训练. 清华大学出版社, 2006.鲁强. 操作系统实验教程—以设计、实现高性能Web服务器为例,北京师范大学出版社,2018.所承担过的重点科研或教研项目:国家重点研发计划-智能化海上高精度地震数据处理关键技术下子课题海上高精度地震数据处理平台智能化辅助系统研发;校级教改项目---操作系统重点课程建设;校级教改项目---操作系统实验环境建设。
  • 样 章 试 读
  • 图 书 评 价 我要评论
华信教育资源网