您现在的位置是:主页 > news > 网站怎么做后台/b2b商务平台
网站怎么做后台/b2b商务平台
admin2025/4/22 7:11:39【news】
简介网站怎么做后台,b2b商务平台,做网站数据库及相关配置,重庆门户网站开发报价linux实时信号驱动io的改进-improvement of linux real-time signal driven io5.1.3将信号结构放在系统打开文件结构中275.1.4查看和修改内核参数285.2详细设计与实现295.2.1基本实现一(基于描述符散列表)2信号值索引数组2描述符散列表结构3空间分配3信号产生3信号递送3每个描述…
linux实时信号驱动io的改进-improvement of linux real-time signal driven io
5.1.3将信号结构放在系统打开文件结构中275.1.4查看和修改内核参数285.2详细设计与实现295.2.1基本实现一(基于描述符散列表)2信号值索引数组2描述符散列表结构3空间分配3信号产生3信号递送3每个描述符一个信号425.2.2基本实现二(将信号结构放在系统打开文件结构中)4修改打开文件结构4信号队列结构4空间分配4信号产生4信号递送4打开和关闭每个描述符一个信号505.2.3基本实现中的一些问题5关闭文件描述符5在进程间传递描述符545.2.4查看和修改内核参数54/proc文件系统简介54创建/proc入口文件5读写内核参数的实现示例59第六章测试与结果分析626.1测试环境626.2功能测试626.3性能测试636.3.1模拟通信服务器636.3.2模拟WEB服务器686.3.3同时使用多种信号的效率68第七章结论69参考文献70致谢71个人简历72第一章引言1.1背景在高度信息化的今天,随着网络的飞速发展,网络使用者的数量也急速膨胀。如何为用户提供可靠、高效的服务,成为软硬件开发人员共同面对的问题。作为各种网络服务的直接提供者,高性能的网络服务器也成为人们关注的焦点之一。网络服务器的性能首先取决于它所运行的硬件平台。然而,尽管CPU的频率以每隔18个月到24个月就翻一倍的速度高速增长,磁盘等外部设备速度的提高却相当有限。受限于外设速度有限的提高,低下的I/O性能依然是制约着计算机整体性能提高的主要瓶颈。当计算机上运行的是要同时为成千上万用户服务的网络服务器,这种矛盾体现得更加突出。但是另一方面,网络服务器软件本身的结构决定了它是否能充分利用现有的硬件环境。传统的服务器结构和I/O模型的缺陷也是制约着服务器性能提高的重要因素。在硬件条件不可能在短时间内有根本改善的情况下,如何对服务器结构和I/O模型加以改进就成为了提高网络服务器性能的另一个着手点。传统的多进程/多线程服务器结构与阻塞式I/O模型的搭配已经被证明并不适合应用在I/O密集型的网络服务器中——在低负载时多进程/多线程是处理多用户简单易行的办法,并且有助于缩短平均响应时间;但是在高负载的情况下,I/O已经不堪重负,进程/线程间切换的额外开销只会雪上加霜,对响应时间和吞吐量都只会产生负面影响。在单处理器或处理器较少的硬件平台上,这种影响尤其明显。我们所开发的远程桌面支持系统即是高性能网络服务器的一个典型应用环境。系统中的通信服务器负责转发客户端之间的数据。由于系统的适用范围被设定在广域网上,对服务器的吞吐率和转发时延都提出了很高的要求,因而更需要一种高性能的I/O模型作为支撑。以此为契机,我们对目前被广泛采用的以及已经被证明具有很高潜力的I/O模型进行了研究。基于事件驱动的I/O模型是这一领域研究的热点。所谓事件驱动I/O指的是I/O操作基于对应用程序外部的事件或活动的响应。传统的UNIX/Linux提供的select/poll实现了基于事件驱动的多路复用I/O模型,然而由于实现上的不完善,select/poll的伸缩性受到了限制,当监测的描述符数量很大时,效率会变得很低。这使得普通的select/poll也已经无法适应当今的网络服务应用。针对select/poll的不足,各个UNIX和类UNIX系统的开发者都进行了大量的研究,多种平台下也都有了相应的替代方案,比较成功的有Solaris的/dev/poll,BSD的Kqueue以及Linux的epoll等。实时信号驱动I/O也是其中的有力竞争者之一,尤其是在Linux平台上,得益于POSIX实时信号的完整实现,弥补了传统的信号驱动I/O的许多致命缺陷,已经被证实有很大的价值。然而,目前Linux平台下的实时信号驱动I/O还很不完善——在高负载下可能会出现可靠性问题,在性能上也还有进一步提高的余地。作为老式的select/poll的替代者之一,实时信号驱动I/O和其它的竞争对手基于完全不同的底层实现,加之传统的信号机制给使用者留下的不可靠的印象,使得它一度被冷落。但是,既然实时信号驱动I/O能够提供不弱于其它实现、甚至更高的I/O效率,对它加以研究,修正潜在的可靠性问题,完善其实现就是有价值的。本文在分析各种服务器结构和I/O模型的基础上,通过比较说明了实时信号驱动I/O模型的优势所在。同时,客观地指出了它相对于其它方案的不足之处以及目前的实现所存在的缺陷,并给出了改进方案和具体的实现,最后对实现进行了测试。1.2论文组织结构第一章是引言。第二章介绍了传统的I/O模型和服务器结构,对比了它们的优劣,并论述了对事件驱动I/O的需要。第三章分析了传统的基于select/poll的事件驱动I/O的缺陷,并介绍了几种替代方案。第四章介绍了实时信号和实时信号驱动I/O,分析了目前Linux平台下实现的不足,并提出