论文部分内容阅读
目前,国内的Internet应用正迈向一个繁荣和务实的阶段。“政府上网”、“企业上网”、“学校上网”在社会上掀起了一个接一个的网络应用热潮。网络专用服务器针对的用户群主要是中小型的企业、中小学校和政府机关。网络服务器提供的服务包括邮件服务,文件服务,Web服务,动态主机配置服务,代理服务,域名服务,流量控制等。 作为一种新兴的,快速发展的操作系统,可以预料的是,随着Linux的发展,在服务器操作系统方面的竞争将进一步加剧,而linux的高效、可靠和稳定以及开放式源码的思想将在服务器高端、低端市场上和老牌服务器操作系统一争高下。在我们的网络专用服务器的开发和设计中,我们决定采用经过针对专用服务进行改造的Linux系统。 本文详细介绍了针对网络专用服务器的专用Linux系统的设计,对Linux文件系统进行了详尽的解析,包括VFS的实现,BUFFER CACHE的作用等;并对块设备驱动程序在内核中各个接口进行了分析;解析了内核接收和发送数据包的全过程以及流量控制在内核中的全过程;并对Linux系统的一些特殊的机制如等待队列,任务队列,时钟中断等进行了详细的解释。 在对Linux的文件系统进行详细分析的基础了,提出了文件系统的改造的设计,针对email、web服务器小文件操作多的特点,我们引入了NVRAM卡,通过修改Linux中文件系统的实现算法,改变了文件系统的读写的数据流程。使NVRAM卡作为一种介于VFS和硬盘之间的一种可掉电保存的数据缓冲,从而提高了网络专用服务器器上对小文件的读写速率。 作为网络专用服务器,我们必须根据不同的用户或服务类型提供不同的带宽。Linux内核中虽然有了对QoS的支持,但其处理接口是在网络接口发出数据包的处理流程中,只能对数据包发出进行流量控制;而作为专用网络服务器,有许多目的为服务器的数据包。因此,我们对QoS的功能进行了一些修改,添加了进行网络接口输入数据包的流量控制功能,在Linux内核中实现了自定义的队列规则Incontrol,最大程度的利用了内核中有关QoS的各个模块的功能。同时, 网络专用服务器的专用Linux系统也实现了与IP层数据包输入控制模块的接口。使我们能对接收的数据包按照我们的需要进行流量控制。