服务器系统的CPU调度技术研究
一、引言
随着信息技术的飞速发展,服务器系统在现代社会中的作用日益凸显。
作为服务器系统的核心组成部分,CPU调度技术的优劣直接影响到服务器的性能和效率。
因此,对服务器系统的CPU调度技术进行研究具有重要意义。
本文将围绕服务器系统的CPU调度技术展开讨论,包括其基本概念、主要类型、现有问题以及发展趋势等方面。
二、CPU调度技术概述
CPU调度技术是指在多道程序环境下,操作系统对CPU资源进行合理分配和管理的一种技术。
在服务器系统中,由于需要处理大量的请求和数据,CPU调度技术显得尤为重要。
通过合理的调度,可以提高CPU的利用率,降低系统的响应时间,从而提高服务器的性能。
三、CPU调度技术的主要类型
1. 进程调度:进程调度是操作系统中最基本的调度方式,主要根据进程的优先级和等待时间等因素进行调度。在服务器系统中,进程调度主要用于处理并发请求,保证系统的稳定性和性能。
2. 线程调度:线程调度是对线程进行调度的技术,与进程调度相比,线程调度的粒度更细。在多核处理器环境下,线程调度可以充分利用处理器的并行处理能力,提高系统的性能。
3. 实时调度:实时调度主要用于对实时性要求较高的系统,如嵌入式系统、物联网等。在服务器系统中,实时调度可以确保关键任务优先执行,提高系统的响应速度和可靠性。
四、服务器系统CPU调度技术的现有问题
1. 公平性:在服务器系统中,由于各种应用和服务的需求差异较大,如何实现公平性的调度是一个重要问题。
2. 负载平衡:在多核处理器环境下,如何实现负载平衡,避免某些核心过载而其他核心空闲的问题,是CPU调度技术面临的一个挑战。
3. 预测准确性:当前的CPU调度技术虽然能根据任务的优先级和负载情况进行调度,但在预测任务的执行时间和资源需求方面仍存在误差。如何提高预测准确性是未来的研究方向之一。
4. 能源管理:随着服务器系统的能耗问题日益受到关注,如何在保证性能的同时降低能耗,是CPU调度技术需要解决的一个重要问题。
五、服务器系统CPU调度技术的发展趋势
1. 智能化:随着人工智能技术的发展,未来的CPU调度技术将更加智能化。通过机器学习和人工智能技术,实现对任务和资源需求的精确预测,提高调度的准确性和效率。
2. 协同计算:在多核处理器和分布式环境下,协同计算将成为CPU调度技术的重要发展方向。通过协同计算,实现任务的并行处理和资源的合理分配,提高系统的性能和效率。
3. 自适应调度:自适应调度能根据系统的运行状况和负载情况动态调整调度策略,以适应不同的应用场景和需求。未来的CPU调度技术将更加注重自适应调度的研究与应用。
4. 绿色节能:随着环保意识的提高,服务器系统的能耗问题越来越受到关注。未来的CPU调度技术将更加注重绿色节能,通过优化算法和硬件设计,降低服务器的能耗。
六、结论
服务器系统的CPU调度技术对于提高服务器的性能和效率具有重要意义。
本文介绍了CPU调度技术的基本概念、主要类型、现有问题以及发展趋势等方面。
随着信息技术的不断发展,CPU调度技术将面临更多的挑战和机遇。
未来,我们需要继续深入研究CPU调度技术,不断提高服务器的性能和效率,为现代社会的发展做出更大的贡献。
关于服务器的问题:AIX v5.3 ,是一种操作系统么?
AIX 全名为(Advanced Interactive Executive),它是IBM 公司的Unix操作系统, 整个系统的设计从网络、主机硬件系统,到操作系统完全遵守开放系统的原则。 下面对AIX 作以介绍。 RS/6000 采用IBM 的UNIX操作系统-AIX作为其操作系统。 这是一 个目前操作系统界最成功,应用领域最广,最开放的第二代的UNIX系 统。 它特别适合于做关键数据处理(CRITICAL)。 AIX 包含了许多IBM 大型机传统受欢迎的特征,如系统完整性,系统可管理 性和系统可用性。 在 AIX 操作系统上,有许多的数据库和开发工具,用户除了选用已有的应用 软件外,还可以根据各自的需要进行开发。 此外,在AIX 之上,有一组功能强,使用方便的系统管理工具。 对于异种平台 互存,互操作有很成熟的解决方案。 由于该 UNIX 的先进的内核技术和最好的开放性,因此,虽然RS/6000 从宣布到今天只有短短的5 年多的时间,它已在各行各业有了广泛的运用, 并在1993和1994年连续二年在MIDRANGE商用 UNIX 领域处于第一位。 RISC SYSTEM/6000的操作系统是AIX ,它是性能卓越的、开放的 UNIX,汇集了多年来计算机界在UNIX上的研究成果,以IBM 在计算机 体系结构、操作系统方面40多年极其丰富的经验。 最大限度的使用RISC 技术,安装了象AIX 这样的具备工业界实力的UNIX操作系统。 它既可连接SAA 体系结构,又能与非IBM 系统的网络相连,因此,可以 和多数专业银行现有的系统实现互连,这对今后业务系统拓展将带来极大的 灵活性,并降低投资。 AIX 遵循一系列的国际标准: * IEEE POSIX1004.1-1990 * X/OPEN 移植指南ISSUE3的基本级(XPG3) * AES/OS REVISION A (OSF/1 LEVEL 2 资格) * FIPS 151-1 * AIX的编译器: XLC、C++(可选)、FORTRAN(可选)、PASCAL(可选)、COBOL(可选) * ADA 的编译器已达到XPG3“成员”级的认可。 * AIX 支持多用户、多任务。 AIX有一些其它特性包括: AIX 提供了3 种SHELL :SYSTEM V的KORN、BOURNE SHELL和4.3BSDC SHELL作为可选择的UNIX系统界面; 安全设施满足TCB (Trusted Computing Base)的C2级; 实时处理能力,这对于“面向交易”的应用至关重要(如零售业 和银行等),它使RS/6000 获得极高的响应和吞吐量; 虚拟存储管理,当需要时,可将一些不常用的模块转送至外存, 提高内存的可利用性。 先进的文件系统,使得系统管理更加有效,并提高了数据可靠性 以及完整性。 能兼容Dos 应用程序和数据。 InfoExplorer,快速信息超文本索引系统- 不仅包括文字,而且 对包含声音、图像的索引系统,这是个联机的文件接口。 包括全部的 超文本的索引和查找,以及面向任务和坐标的多重导引和索引系统。 这个文字及图形索引系统以一个灵活的、基于任务的方式去使用详细 资料及培训资料。 高级系统管理工具(SMIT,System Management Interface Tool)。 提供一级菜单驱动程序,诸如完成软件的安装与设置、设备的设置及 管理、问题的测定、存贮管理等。 可以自动地进行I/O 设备设置, ASCII 终端也可充当系统控制台。 在LAN 上可以进行远程系统的安装。 系统工作负载 系统工作负载的完整准确的定义对于预测或理解它的性能是很关键的。 在衡量系统性能时,工作负载的不同可能会比 CPU 时钟速度或随机访问存储器(RAM)大小不同带来更多的变化。 工作负载的定义不仅必须包含向系统发送的请求的类型和速率,还要包含将要执行的确切软件包和内部应用程序。 包括系统将在后台处理的工作也很重要。 例如,如果一个系统包含通过 NFS 加载且由其它系统频繁访问的文件系统,那么处理那些访问很可能是总体工作负载中非常重要的一部分,即使该系统不是正式的服务器也是如此。 已进行标准化从而允许在不同系统之间进行比较的工作负载称为基准程序。 但是,很少有实际的工作负载能完全符合基准程序的精确算法和环境。 即使是那些最初从实际的应用程序发展而来的行业标准基准程序也已经过简化和均匀化,从而使它们可移植到大量的硬件平台上。 使用行业标准基准程序唯一有效的方法是减小将接受严肃评估的候选系统的范围。 因此,在尝试理解系统的工作负载和性能时不应该只依赖基准测试结果。 可以将工作负载分为以下类别: 多用户 由多个用户通过各自的终端提交的工作组成的工作负载。 通常,这种工作负载的性能目标有两种可能,即在保留指定的最坏情况响应时间条件下最大化系统吞吐量,或者对于固定不变的工作负载获得尽可能快的响应时间。 服务器 由来源于其它系统的请求组成的工作负载。 例如,文件服务器的工作负载主要是磁盘读写请求。 它是多用户工作负载(加上 NFS 或其它 I/O 活动)的磁盘 I/O 部分,所以适用同样的目标,即在给定的相应时间限制下最大化吞吐量。 其它的服务器工作负载由诸如数学计算密集的程序、数据库事务、打印机作业之类的项组成。 工作站 由单独的用户通过键盘提交工作和在该系统的显示器上接收结果组成的工作负载。 通常这种工作负载的最高优先级性能目标是使用户请求的响应时间最短。 性能目标 在定义了系统必须处理的工作负载后,可以选择性能标准并根据这些标准设定性能目标。 计算机系统的总体性能标准是响应时间和吞吐量。 响应时间是提交请求和返回该请求的响应之间使用的时间。 示例包括: 数据库查询花费的时间 将字符回显到终端上花费的时间 访问 Web 页面花费的时间 吞吐量是对单位时间内完成的工作量的量度。 示例包括: 每分钟的数据库事务 每秒传送的文件千字节数 每秒读或写的文件千字节数 每分钟的 Web 服务器命中数 这些度量之间的关系很复杂。 有时可能以响应时间为代价而得到较高的吞吐量,而有时候又要以吞吐量为代价得到较好的响应时间。 在其它情况下,一个单独的更改可能对两者都有提高。 可接受的性能基于合理的吞吐量与合理的响应时间相结合。 在规划或调谐任何系统中,当处理特定的工作负载时一定要保证对响应时间和吞吐量都有明确的目标。 否则,有可能存在一种风险,那就是您花费了分析时间和物力改善的仅仅是系统性能中一个次要的方面。 程序执行模型 为了清楚地检查工作负载的性能特征,需要有一个动态而非静态的程序执行模型,如下图所示。 图 1. 程序执行层次结构. 该图形以一个三角形为基础。 左边代表和右边适当的操作系统实体匹配的硬件实体。 程序必须从存储在磁盘上的最低级别开始,到最高级别的处理器运行程序指令。 例如,从底部到顶部,磁盘硬件实体容纳可执行程序;实内存容纳等待的操作系统线程和中断处理程序;转换后备缓冲区容纳可分派的结程;高速缓存中包含当前分派的线程和处理器流水线;而寄存器中包含当前的指令。 程序为了运行必须沿着硬件和操作系统层次结构并行向上前进。 硬件层次结构中的每个元素都比它下面的元素稀少和昂贵。 不仅程序不得不为了每个资源和其它程序竞争,而且从一个级别过渡到下一级别也要花时间。 为了理解程序执行动态,需要对层次结构中每一级别有个基本的了解。 硬件层次结构 通常,从一个硬件级别移动到另一级别所需要的时间主要由较低级别的等待时间(从发出请求到接受到第一批数据的时间)组成。 固定磁盘 对于一个在单机系统中运行的程序而言,最慢的操作是从磁盘上取得代码或数据,这是因为有下列原因: 必须引导磁盘控制器直接访问指定的块(排队延迟)。 磁盘臂必须寻道以找到正确的柱面(寻道等待时间)。 读/写磁头必须等候直到正确的块旋转到它们下面(旋转等待时间)。 数据必须传送到控制器(传送时间)然后传递到应用程序中(中断处理时间)。 除了程序中显式的读或写请求以外,还有许多原因导致磁盘操作缓慢。 频繁的系统调谐活动证明是不必要地跟踪了磁盘 I/O。 实内存 实内存通常称为随机存取存储器或 RAM,它比磁盘速度快,但每个字节的开销非常昂贵。 操作系统尽量只把当前使用的代码和数据保存在 RAM 中,而把任何额外的内容存储在磁盘上,或者决不首先把它们带入 RAM 中。 然而,RAM 的速度不一定比处理器快。 通常在硬件意识到 RAM 访问需求与处理器可使用数据或指令的时间之间,会出现许多处理器周期的 RAM 等待时间。 如果要访问存储到磁盘上(或者尚未调进)的某一虚拟内存页,则会产生一个缺页故障,并且程序的执行暂挂直到该页从磁盘读取。 转换后备缓冲区(TLB) 使程序员不会受限于系统的物理局限性的方法是实现虚拟内存。 程序员在设计和编写程序时认为内存非常大,系统将负责将程序中指令和数据的虚拟地址转换成需要用来从 RAM 取得的指令和数据的实际地址。 因为这个地址转换过程可能很费时,系统将最近访问过的虚拟内存页的实际地址保存在一个叫转换后备缓冲区(TLB)的高速缓存中。 只要运行中的程序继续访问程序和数据页中的一小部分,则完整的从虚拟到实际页地址的转换过程就不需要在每次 RAM 访问的时候都重做一次。 当程序试图访问的虚拟内存页没有 TLB 入口(即 TLB 未命中)时,则需要大量的处理器周期(即 TLB 未命中等待时间)来进行地址转换。 高速缓存 为了将程序必须经历的 RAM 等待时间减到最小,系统为指令和数据组织了高速缓存。 如果所需的指令和数据已在高速缓存中,则产生高速缓存命中,处理器就可在下一个周期立刻使用该指令或数据。 否则产生高速缓存未命中,伴随有 RAM 等待时间。 在某些系统中,有两到三级高速缓存,通常称它们为 L1、L2 和 L3。 如果一个特殊的存储器引用导致 L1 未命中,则检查 L2。 如果 L2 产生未命中,则引用转至下一个级别,要么是 L3(如果存在),要么是 RAM。 高速缓存的大小和结构根据型号的不同而有不同,但是有效使用它们的原理是相同的。 流水线和寄存器 流水线型超标量体系结构使得在某些情况下可以同时处理多个指令。 大批的通用寄存器和浮点寄存器使得可以将相当多的程序数据保存在寄存器中,而不需要频繁存储和重新装入。 可以设计优化编译器最大限度地利用这些能力。 当生成产品程序时,无论程序有多小编译器的优化函数都应该能使用。 Optimization and Tuning Guide for XL Fortran, XL C and XL C++ 中描述了如何将程序调谐到最大性能。 软件层次结构 程序为了运行还必须逐步执行软件层次结构中的一系列步骤。 可执行程序 当请求运行某个程序时,操作系统执行一些操作以将磁盘上的可执行程序转换成运行中的程序。 首先,必须扫描当前 PATH 环境变量中的目录以查找程序的正确副本。 然后,系统装入程序(不要和 ld 命令混淆,该命令是个绑定程序)必须解析出从程序到共享库的任何外部引用。 为了表示用户的请求,操作系统将创建一个进程或一组资源(例如专用虚拟地址段),任何运行中的程序都需要该进程或资源。 操作系统也会在该进程中自动创建一个单独的线程。 线程是一个单独程序实例的当前执行状态。 在 AIX 中,对处理器和其它资源的访问是根据线程来分配而不是根据进程分配的。 应用程序可在一个进程中创建多个线程。 这些线程共享由运行它们的进程所拥有的资源。 最后,系统转移到程序的入口点。 如果包含入口点的程序页还不在内存中(可能因为程序最近才编译、执行和复制),则由它引起的缺页故障中断将该页从它的后备存储器中读取出来。 中断处理程序 通知操作系统发生了外部事件的机制是中断当前运行线程并将控制转移到中断处理程序。 在中断处理程序可以运行之前,必须保存足够的硬件状态以保证在中断处理完成后系统能恢复线程的上下文。 新调用的中断处理程序将经历在硬件层次结构中上移带来的所有延迟(除了页面故障)。 如果该中断处理程序最近没有运行过(或者中间程序很节约时间),那么它的任何代码或数据不太可能保留在 TLB 或高速缓存中。 当再次调度已中断的线程时,它的执行上下文(如寄存器内容)逻辑上将得到恢复,以便它可以正确运行。 然而,TLB 和高速缓存的内容必须根据程序的后继请求重新构造。 因此,作为中断的结果,中断处理程序和被中断的线程都可能遇到大量的高速缓存未命中和 TLB 未命中延迟。 等待线程 无论何时只要执行的程序发出不能立刻满足的请求,例如同步 I/O 操作(显式的或缺页故障的结果),该线程就会处于等待状态,直到请求完成为止。 除了请求本身所需的时间以外,通常这还会导致另外一些 TLB 和高速缓存的延迟时间。 可分派线程 当某个线程可分派但不在运行时,它不能完成任何有用的事情。 更糟的是,正运行的其它线程可能导致重新使用该线程的高速缓存线路并将实内存页收回,从而引起最终分派时出现更多的延迟。 当前已分派的线程 调度程序选择对使用处理器有强烈要求的线程。 在『CPU 调度程序性能概述』中讨论了影响该项选择需要考虑的事项。 当分派线程后,处理器的逻辑状态恢复成线程中断时有效的状态。 当前的机器指令 如果未出现 TLB 或高速缓存未命中的情况,绝大多数机器指令都能在单个处理器周期内执行。 相比之下,如果程序迅速转换到该程序的不同区域且访问大量不同区域中的数据,就会产生较高的 TLB 和高速缓存未命中率,执行每条指令使用的平均处理器周期数(CPI)可能大于 1。 这种程序被认为有较差的局域性引用能力。 它也许在使用必需的最少指令数来做这个工作,但是要消耗大量不必要的周期数。 部分是因为指令数和周期数之间相关性较弱,检查程序列表来计算路径长度不会再直接产生一个时间值。 由于较短的路径通常比较长的路径快,所以速率根据路径长度率的不同而明显不同。 编译器用完善的方法重新安排代码从而将程序执行所需的周期数降到最小。 追求最佳性能的程序员必须首先致力于确保编译器具有有效优化代码所需的全部信息,而不是试图事后批评编译器的优化技术(请参阅『预处理器和编译器的有效使用』)。 优化有效性的实际衡量标准是可信工作负载的性能。 系统调谐 在有效实现应用程序后,系统总体性能的进一步提高就成了系统调谐考虑的一个问题。 系统级调谐包含的主要组件有: 通信 I/O 取决于工作负载的类型与通信链路的类型,可能需要调谐以下的一个或多个通信设备驱动程序:TCP/IP 或 NFS。 固定磁盘 逻辑卷管理器(LVM)控制文件系统的位置和磁盘上调页空间,这可能会极大地影响系统经历的寻道等待时间。 磁盘设备驱动程序控制执行 I/O 请求所遵从的顺序。 实内存 虚拟内存管理器(VMM)控制空闲实内存帧的池,并决定何时从何处取用帧来补充该池。 运行线程 调度程序确定接下来由哪个可调度实体接收控制权。 在 AIX 中,可调度实体是线程。 请参阅『线程支持』。 性能调谐过程介绍 性能调谐主要是资源管理问题和正确的系统参数设置。 调谐工作负载和系统以有效利用资源由下列步骤组成: 识别系统中的工作负载 设置目标: 确定如何评测结果 量化目标和区分目标的优先级 识别限制系统性能的关键资源 最小化工作负载的关键资源要求: 如果可选择的话,使用最适当的资源 减少个别程序或系统函数对关键资源的要求 结构化资源的并行使用 修改资源的分配以反映优先级 更改个别程序的优先级或资源限制 更改系统资源管理参数的设置 重复步骤 3 到步骤 5 直到满足目标(或者资源饱和) 如果必要的话,使用其它资源 在系统性能管理的每个阶段都有相应的工具(参阅附录 A 『监视和调谐命令和子例程』)。 这些工具有些可从 IBM 得到;另一些是第三方产品。 下图说明在一个简单的 LAN 环境中性能管理的各阶段。 图 2. 性能阶段. 该图用五个加权的圆圈说明对系统性能调谐的各步骤:规划、安装、监视、调谐和扩展。 每个圆圈代表系统处于不同的性能状态:空闲、不均衡、均衡和过载。 实质上就是扩展一个过载的系统、调谐系统直到它是均衡的、监视不均衡的系统并且在需要扩展时安装更多的资源。 识别工作负载 系统执行的所有工作都必须能够识别。 特别是在 LAN 连接的系统中,通过系统的用户之间仅有的非正式协议,可以轻松地开发出一组复杂的交叉安装的文件系统。 这些文件系统必须被识别出来并作为任何调谐活动的一部分进行考虑。 对于多用户工作负载,分析员必须量化一般情况和高峰期的请求率。 确定用户实际与终端交互时间的实际比例也是很重要的。 该识别阶段中的一个要素是决定必须对生产系统进行评估和调谐活动,还是在另一系统上(或“切换”)用实际工作负载的模拟型式来完成评估和调谐活动。 分析员必须针对非生产环境的灵活性权衡来自于生产环境结果的较大可靠性,分析员可在非生产环境中进行试验,当然试验所冒的风险是性能下降或更糟。 设置目标的重要性 虽然可以根据可测数量设置目标,但实际希望的结果往往带有主观性,比如令人满意的响应时间。 进一步讲,分析员必须抵挡住调谐可测量的东西而不是对他而言是重要东西的诱惑。 如果没有系统提供的评估能符合所要求的改进,那么就必须对该评估进行设计。 量化目标最有价值的方面不是选择达到的数字,而是对(通常)多个目标的相对重要性进行公开判定。 如果这些优先级没有事先设定且不是每个相关的人都理解的话,分析员在没有进行频繁咨询之前不能作出任何折衷的决定。 分析员还容易对用户的反应或管理性能中一些已经被忽略的方面而感到吃惊。 如果系统的支持和使用跨过了组织的边界,您可能需要供应商和用户之间的书面服务级协议,可确保对性能目标和优先级有一个清楚而共同的理解。 识别关键资源 通常,给定工作负载的性能可由一两种关键系统资源的可用性和速度决定。 分析员必须正确识别出那些资源,否则会冒险陷入无休止的尝试出错操作。 系统具有物理资源和逻辑资源。 关键的物理资源通常比较容易识别,因为较多的系统性能工具可用来评估物理资源的利用率。 通常最影响性能的物理资源如下: CPU 周期 内存 I/O 总线 不同的适配器 磁盘臂 磁盘空间 网络访问 逻辑资源不太容易识别。 逻辑资源通常是对物理资源进行分区的编程抽象。 进行分区的目的是共享和管理物理资源。 构建于其上的物理资源和逻辑资源的一些示例如下: CPU 处理器时间片 内存 页面帧 堆栈 缓冲区 队列 表 锁和信号量 磁盘空间 逻辑卷 文件系统 文件 分区 网络访问 会话 信息包 通道 了解逻辑资源和物理资源是很重要的。 因为缺少逻辑资源线程可能阻塞,就像因为缺少物理资源而阻塞一样,扩展下层物理资源未必能保证创建附加的逻辑资源。 例如,考虑使用 NFS 块 I/O 守护程序 biod。 客户机上的一个 biod 守护程序要求处理每个暂挂的 NFS 远程 I/O 请求。 因此,biod 守护程序的数量限制了能同时运行的 NFS I/O 操作的数量。 当缺少 biod 守护程序时,系统检测会指示 CPU 和通信链路只使用了很少一部分。 您可能有系统未充分利用(并且很慢)的假象,事实上这时是因为缺少 biod 守护程序从而限制了其余的资源。 biod 守护程序使用处理器周期和内存,但您不能简单地通过添加实内存或将它转移到一个更快的 CPU 上来修正这个问题。 解决方案是创建更多的逻辑资源(biod 守护程序)。 在应用程序开发过程中可能不经意间创建逻辑资源和瓶颈。 传递数据或控制设备的方法可以有效地创建一个逻辑资源。 当偶然创建这样的资源时,通常没有工具可监视它们的使用,也没有接口控制它们的分配。 它们的存在可能不会引起重视,直到某个特定性能问题出现时就会突出它们的重要性。 最小化关键资源要示 下面讨论在三个级别上考虑最小化工作负载的关键资源要求。 使用适当的资源 决定在一个资源上使用另一个资源时应该理智地考虑并且头脑中要有明确的目标。 在应用程序开发过程中有一个选择资源的示例,即通过增加内存消耗来减少 CPU 的消耗来达到一个平衡。 用于展示资源选择的公共的系统配置决策为:是将文件放置在单独的本地工作站上,还是放置在远程服务器上。 减少关键资源的要求 对于本地开发的应用程序,可用多种方法检查程序以便其更有效地执行相同的功能或除去不需要的功能。 在系统管理级别上,争用关键资源的低优先级工作负载可以移动到其它系统中、在其它时间运行或由“工作负载管理器”控制。 结构化资源的并行使用 因为工作负载需要运行多个系统资源,从而可以利用这样的事实,即资源是独立的且可以并行使用。 例如,操作系统预读算法检测到程序在顺序访问文件的事实,因此它调度并行执行的其它顺序读取操作,同时应用程序还处理先前的数据。 并行也用于系统管理。 例如,如果某个应用程序同时访问两个或多个文件且如果同时访问的这些文件存放在不同的驱动器上,那么添加一个额外的磁盘驱动器可能会提高磁盘 I/O 的速率。 资源分配优先级 操作系统提供了一些方法来区分活动的优先级。 有些在系统级别上设置,比如磁盘调步。 其它的例如进程优先级可由单个用户设置以反映连接到特定任务上的重要性。 重复调谐步骤 性能分析的一个公认的真理是接下来总有瓶颈出现。 减少某个资源的使用意味着另一资源限制了吞吐量或响应时间。 例如,假设我们的系统中有下列的利用率级别: CPU:90% 磁盘:70% 内存:60% 这个工作负载是 CPU 受限的。 如果成功的调谐工作负载使得 CPU 负载从 90% 降到 45%,则可望在性能上有两倍的改善。 不幸的是现在的工作负载是 I/O 受限的,它有下列的近似利用率: CPU:45% 磁盘:90% 内存:60% 改善后的 CPU 利用率允许程序立刻提交磁盘请求,但接下来我们会受到由磁盘驱动器的容量施加的限制。 性能改善也许是 30% 而不是预期的 100%。 总是存在一个新的关键资源。 重要的问题是使用手边的资源是否已经满足性能目标。 注意: 用 vmtune、schedtune 和其它调谐命令产生的不正当系统调谐可能导致意外的系统行为,例如降低系统或应用程序的性能或系统暂停。 更改仅应在性能分析识别出瓶颈时才适用。 注: 对于性能相关的调谐设置,不存在什么一般建议。 应用额外的资源 在前述所有的方法都用尽后如果系统性能仍不能满足它的目标,则必须增强或扩展关键资源。 如果关键资源是逻辑资源且下层物理资源足够,则无需额外代价就可以扩展逻辑资源。 如果关键资源是物理资源,分析员必须研究一些额外的问题: 必须增强或扩展关键资源到什么程度才可以终止瓶颈? 系统性能会满足它的目标吗?或另外的资源会首先饱和吗? 如果有一串关键资源的话,增强或扩展所有这些资源或与另一系统划分当前工作负载是否更节省成本呢? 性能基准 当试图比较不同环境中给定软件的性能时,常会遇到许多可能的错误,一些是技术上的,一些是概念上的。 本节包含主要的提示信息。 本书其它各节讨论评测过去和特定处理时间的不同方法。 评测处理系统调用需要花费的时间(挂钟)时,需要获取一个由下列内容组成的数字: 执行正运行服务的指令所需要的确切时间 处理器等待内存中的指令或数据时延迟的不同时间(也就是说,高速缓存和 TLB 不命中的代价) 在调用开头和结束访问时钟所需要的时间 由周期性事件如系统定时器中断所消耗的时间 由或多或少的随机事件消耗的时间,如 I/O 为了避免报告一个不精确的数字,常常要求多次评测工作负载。 因为所有的外部的因素都会增加处理时间,典型的评估集有一个曲线的形式
服务器操作系统介绍
服务器操作系统,如同计算机的大脑,是管理硬件与软件资源的核心组件,它在后台默默地处理着诸如内存管理、资源调度、设备控制、网络管理与文件系统操作等关键任务。 强大的服务器操作系统不仅需要高效处理海量并发请求,还需要具备高可靠性、安全性以及出色的管理性,以确保服务器的稳定运行和数据安全。
特点鲜明:</
在众多服务器操作系统中,各有特色:
Windows Server</,微软的杰作,以友好的图形界面和广泛的应用支持著称,每3-5年发布一次长期支持版本,适合多种业务需求。Linux</,开源的明珠,如Ubuntu、CentOS和Red Hat Enterprise Linux等,以其高度的定制性和安全性受到青睐,尤其在稳定性上表现出色,且资源占用小,灵活性极高。Solaris</和FreeBSD</等Unix系统,以其稳定性和安全性闻名,是服务器领域的稳健选择。macOS Server</,专为苹果硬件设计,为苹果设备下的服务器部署提供一站式解决方案。Red Hat Enterprise Linux (RHEL)</,作为商业市场上的明星,提供长期支持,尤其在企业级应用中备受信任,自RHEL 5以来,每版都享有10年技术支持。
在选择服务器操作系统时,需要权衡各方面的特性,Linux与Windows各有优势,Linux凭借开源和低成本赢得性价比,而Windows凭借其广泛应用和用户友好的界面满足不同企业的需求。
操作系统概述
一、操作系统的基本概念
操作系统是连接在硬件平台上的第一层软件,操作系统是一个大型的软件,它负责计算机的全部软、硬件资源的分配与回收、控制和协调工作,使整个计算机系统实现高效率和自动化。
一般来说,操作系统具有以下一些功能:
1.对CPU进行管理和调度
计算机系统中最重要的部件是中央处理器,它是计算机的心脏。 在计算机的运行中,为了等待I/O(输入/输出)的操作,CPU往往空运行。 为了充分利用CPU的资源,使一个或多个用户的程序能合理有效地使用CPU,操作系统能根据需要解决CPU分配给哪个用户程序使用,占用多长时间,下一个又轮到哪个程序运行等问题,以提高CPU的资源利用率,也就是对CPU进行管理和调度。
2.对存储进行管理和调度
在计算机系统中,主存储器也是主要部件之一。 只有当程序在主存储器时,它才有可能到处理器上执行,操作系统的作用就是合理组织与分配存储空间,使主存储器的资源得到充分利用。
3.对输入/输出进行管理
合理组织与使用除了CPU以外的所有输入/输出设备,使用户不必具体了解设备以及接口的技术细节,就可以方便地对设备进行操作。
4.对文件系统及数据库进行管理
合理组织、管理辅助存储器中的信息,以便于存储与检索,达到保证安全、方便实用的目的。 起初,计算机的运行管理和具体操作都由使用者自己承担。 随着计算机速度的提高,对计算机的运行进行人工管理变得越发不可能,于是人们开始编制一些批处理系统,来取代原来的“人工干预”,从而使整个计算机系统的处理能力得到了提高。 可以说这是操作系统的雏形。 后来随着计算机硬件的更新换代,批处理程序变得更加复杂和庞大,并逐步演化成了现在的操作系统。
二、常见操作系统
最初的操作系统出现在IBM/704大型机上,而微型计算机的操作系统CP/M则诞生于20世纪70年代,此后,相继出现了许多不同的操作系统,其中最知名的是:DOS、Windows、UNIX、Linux、OS/2等等,下面简要介绍这几种操作系统的特点。
操作系统
1980年,IBM推出了IBM PC新型机。 为了配合这种机型的推广应用,IBM公司需要开发一种16位的操作系统,此时就出现了三家不同公司开发的DOS操作系统,分别是微软公司的MS-DOS、IBM公司的PC-DOS以及Novell的DR-DOS。 由于DOS系统对硬件系统的要求较低,它既适合高档机的使用,又适合低档机的使用,所以从商业用户到家庭用户都能使用,DOS曾经在很长时间里占领了个人计算机操作系统领域的大部分。
操作系统
1985年11月,微软公司发布了第一代窗口式多任务操作系统Windows 1.x,这标志着操作系统进入到图形界面时代。 与DOS的命令行形式不同,在Windows系列的操作系统中,每一种应用软件都用一个图标表示,用户只需把鼠标移到应用软件的图标上,利用鼠标的击键功能就可以选中或运行某个软件。 图形界面使用户的操作方便了很多,从而使计算机应用的普及过程大大加快。
Windows操作系统依次经历了Windows3.x、Windows95、Windows98、Windows 2000、Windows ME和Windows XP等升级过程。 最近,微软公司又推出了最新的版本Windows Vista,越到后来的版本处理的数据长度越长,支持的硬件设备种类越多,采用的技术也越先进。 20多年来,Windows系列的操作系统以其图形化的界面,支持多用户、多任务,良好的网络支持,出色的多媒体功能,良好的硬件支持与多样化的应用程序等特点逐渐成为各类操作系统的首选。
本章将以 Windows XP专业版为蓝本讲述操作系统的应用,如果在其他版本的Windows操作系统环境下学习本书,只要能仔细参照本书的内容学习,也能掌握Windows操作系统的基本原理和操作,本章所介绍的操作原理对于不同版本的Windows操作系统来说有一定的通用性。
/2操作系统
1987年,IBM公司在激烈的市场竞争中推出了PS/2个人电脑。 PS/2系列电脑大幅度突破了PC机的体系,采用了与其他机型不兼容的通道总线。 IBM公司还自行设计了占系统80%的零部件,以防其他公司仿制。 OS/2操作系统是专门为PS/2系列机开发的一个新型多任务操作系统。 与Windows一样,OS/2也采用图形界面,它本身是一个32位的系统,不仅可以处理32位OS/2系统的应用软件,也可以运行16位DOS和Windows软件。
操作系统
UNIX操作系统是1969年问世的。 最初是在中小型计算机上使用,后来运用到微机上,称为Xenix系统。 它的特点是系统比较小,对硬件的要求低,运行速度快。 Xenix系统原来由微软公司开发,后来转卖给SCO。 UNIX是一个多用户系统,它的变种很多,常见的UNIX变种有:Solaris、HP-UX、AIX、IRIX等,以适应不同的硬件平台。 它也能提供有关的网络服务,包括浏览器、电子邮件等。
系统
Minix就是mimi UNIX的意思,它由著名科学家Andrew 所编写,设计意图是让学生了解UNIX操作系统。 Minix的源代码是公开的。 Minix是最精巧的操作系统之一,最早的Minix只要一张软盘就可以运行,在技术上比较领先。 但Tenebaum为了保持Minix的示范作用,没有把Minix编写成适合一般人使用的操作系统,Minix最多只可支持三个用户,也没有图形界面。
操作系统
Linux操作系统的核心部分最早是由芬兰的Linus Torvalds于1991年8月在芬兰赫尔辛基大学上学时发布的,后来经过众多世界顶尖的软件工程师的不断修改和完善,Linux得以在全球普及开来,在服务器领域及个人桌面版得到越来越多的应用,在嵌入式开发方面更是具有其他操作系统无可比拟的优势。 Linux是一套免费的32位多用户、多任务的操作系统,运行方式同UNIX系统很像,但Linux系统在稳定性、多任务能力与网络功能做得更出色。 Linux还有一个最大的特色,就是它的源代码完全公开,任何人皆可自由取得、散布,甚至修改源代码。
三、Windows XP 的新特性
Windows XP是本系列操作系统自Windows95以来改进最大的操作系统,具有以下一些新特性:
1.全新的桌面和窗口
与以前的Windows系列的操作系统相比,Windows XP在操作上有了较大的改变,特别是对图形用户界面作了较大的改变。 当我们将操作系统升级到Windows XP时,会发现全新的界面。 用户可以为操作系统定制变化多端的外观和多种多样的色彩,还可以设置滚动条的形状和透明度。 最常用的资源管理器也有了新的设计。 在我们选定文件后,画面会显示一些最常用的功能,如复制及重命名等。
2.更好的程序兼容性
Windows XP整合了程序兼容工具,使之可以兼容旧版本的Windows(如Windows 9x或 Windows NT)程序。 Windows XP 采用了最新的 Direct X8.0 诊断工具,使以往在Windows 2000中不能运行的游戏程序都可自如运行。 Windows XP还采用了一种全新的诠释方式——共享式DLL库,以解决动态链接错误或缺失的问题,所有应用程序只能动态地拷贝要用到的DLL数据,而不能进行覆盖。 操作系统DLL库始终保持完整,确保了操作系统的正常运行。
3.更强的系统可靠性
Windows XP在系统性能的安全、稳定性方面有了进一步增强。主要表现在:
(1)系统还原 系统还原特性可以让用户和管理员在不丢失数据的前提下将计算机还原到以前的状态。 系统还原工具会自动地创建简单的可标识还原点,用户可以根据这些还原点将系统还原到以前的状态。 如果用户遇到了系统启动失败或其他的重要错误时,可以从安全模式或者正常模式使用系统还原功能,将系统恢复到以前的状态。 系统还原功能不恢复用户的数据或文档文件,因此还原工作不会丢失用户的数据、电子邮件,甚至是浏览过的历史记录和收藏信息。
(2)设备驱动程序回滚 当安装了特定类型的新设备驱动程序后,Windows XP将备份以前安装的驱动程序信息,这样可以在出现问题的时候进行重新安装。 如果新的设备驱动程序引起了Windows XP故障,管理员可以轻松地重新安装以前使用的驱动程序。
(3)增强的设备驱动程序检验器 Windows XP使用的是Windows 2000的设备驱动程序检验器,可以给设备驱动程序提供功能更强的负载测试。 经过Windows XP测试的设备驱动程序将会是最可靠的驱动程序,它可以保证系统运行的稳定性。
(4)减少系统重新启动 Windows XP消除了大部分像Windows NT 4.0和Windows 95/98/Me中需要最终用户重新启动计算机的情况。 许多工具软件安装后不再需要重新启动机器,使用户可体验到更高级别的系统运行时间。
(5)改良的代码保护 重要的内核数据结构都是只读的,因此驱动程序和应用程序都不会破坏它们。 所有的设备驱动程序代码都是只读的,并且是页保护的。 恶意的应用程序将不能随意地影响核心操作系统区域。
(6)防止应用程序错误 并行DLL提供了能兼容多个不同Windows组件版本的机制,并且可以并行运行。 这可以使用某一种系统组件版本编写和测试的应用程序在使用别样的组件版本的情况下继续使用原来的版本,这样就可以解决“DLL hell”问题。
(7)Windows文件保护 保护核心代码不被用户自己安装的应用程序覆盖。 即使某些文件被覆盖了,用户可以还原以前正确的版本。 通过保护系统文件,预防了早期Windows版本中常常出现的系统错误。
(8)防病毒功能 为了更好地防止电子邮件病毒的攻击,Windows XP在缺省情况下不允许执行电子邮件附件中的程序。 当然系统管理员可以远程管理(通过组策略)系统,这时就允许执行特定的文件类型或应用程序。 管理员在保护系统免受电子邮件病毒攻击时,有更高一级的控制权力。
4.新奇的网络功能
Windows XP的网络整合增强了用户上网的趣味性。 网络发布向导使用户能快捷地连接上互联网。
(1)网络连接与家庭联网“网络连接向导”的功能更加完善,更方便用户。 拨号的用户名和密码的输入、在桌面创建连接的快捷方式等,这些操作都在向导中设置完成。
“家庭联网向导”可以使一般用户根据屏幕提示方便地设置网络连接、拨号连接、共享和客户端设置等操作。
Windows XP应用无线网“零设置”的技术,使系统自动探测到设备所处的网络覆盖区域,自动更新设置,无需用户的干预。 这为无线连接上网的用户提供了方便。
(2)不同的共享方式 在Windows XP中,共享分为两种形式。 一种是本地共享,也就是和使用这台计算机的其他用户共享文件夹,只要将供共享的文件移动到“共享文档”文件夹即可。 另一种是网络共享,也就是为网络用户共享文件夹,只要对供共享的文件夹进行设置。
(3)内建Internet防火墙 Windows XP的网络设置比以前的版本容易得多,而且安全性也有了很大的提高。 新的操作系统利用内建的防火墙,用户在上网浏览时自动保护系统。 这种防火墙虽然不及那些专业级的防火墙,但同样具有服务、程序、ICMP的运行和连接控制以及相应的安全日志等。
(4)远程桌面和远程协助 Windows XP提供了远程桌面的功能。 用户使用Windows XP上的远程桌面,可以从其他计算机上访问运行在自己计算机上的Windows会话。 这意味着用户可以从家里连接到工作单位的计算机,并访问所有应用程序、文件和网络资源,好像正坐在工作单位的计算机前面,而回到家时可以在家庭计算机上看见正在运行该程序的工作单位计算机的桌面。
当用户在使用计算机遇到问题的时候,可以通过远程协助邀请自己所信任的人来提供帮助。 使用Internet连接,让任何运行Windows XP的人都可以与你聊天,查看你的计算机屏幕,并且在你允许的情况下,在你的计算机上操作,实时解决问题。
5.娱乐性
Windows XP不仅保留了以往Windows系列操作系统的许多娱乐性功能,如Windows Media Player、CD唱机等。 而且,在娱乐性方面还有所改进,例如,Windows使用了最新的DirectX8.0,对游戏有了更好的支持。
Windows XP中,媒体播放器(Media Player)升级到了8.0,通过使用 Windows Media Player,可以播放多种类型的音频和视频文件,还可以播放和制作 CD 副本、播放 DVD(如果有 DVD 硬件)、收听Internet广播站、播放电影剪辑或观赏网站中的音乐电视。 另外,使用Windows Media Player还可以制作自己的音乐CD。
利用Windows Movie Maker,用户可以将录制的视频或音频从模拟便携式摄像机或数码视频相机等设备转移到计算机中。 除了使用用户自己录制的内容外,还可以在所创建的电影中导入要使用的现有音频和视频文件。 创建完自己的电影后,用户可以通过Windows Movie Maker直接与家人和朋友一起分享,且可将它用电子邮件发送出去或将它发布到网站上。
6.全新的用户登录与切换
Windows XP使所有使用计算机的用户设置和管理计算机帐户成为很容易的事情。 现在,用户可以在不同帐户之间切换,而不必重新启动计算机,甚至不必关闭正在运行的程序。 用户还可以在忘记密码时获得帮助,可以存储多个用户名和密码,并使自己机器中的Windows XP不会受到盗版侵害。