高一文
中图分类号:C93 文献标识码:A 文章编号:1673-5811(2013)03-0070-01
摘要:操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。本文主要是将操作系统发挥的作用通过其类型和功能的介绍进行了概述,体现了现代操作系统的基本特征。
关键词:操作系统 操作系统功能 进程管理
1.操作系统类型
操作系统是维持整个计算机运行的基础,它从最初的手工操作发展到现在经历了许多的转变,但比较常用还是多道批处理和分时系统。
1.1分时系统
将CPU运行时间分割成许多很短的时间片,若干作业同时存放在内存中,并将它们组织成队列轮流在CPU上运行一个时间片;若一个作业在一个时间片内没有运行完,就让它暂时中断,把下一个时间片让给后面的作业,等待下一轮的分配;等待的时候可以通过终端和用户会话,使用户请求得到及时的响应。
1.2多道技术
将要处理的作业存放在外部存储器中,形成队列,等待运行。当需要调入时,由操作系统中的作业调度程序对外存中的部分作业,依照其对资源的要求和调度原则,调进内存,交替运行。当某个作业完成,再调入一个或几个作业。
如图所示,A程序占用CPU资源请求使用I/O A设备(黄线),I/O A设备启动(绿线),但I/O设备的运行是和CPU无关的,所以CPU现处于空闲阶段。前文提到,多道技术是一次调入一个或几个作业,这时的CPU没有被利用,距离下次A再发出请求还有段时间,多道技术系统合理利用了这段空闲时间。程序B在I/O A设备启动时,利用CPU资源向I/O B设备发出请求(紫线),多利用了一段CPU资源。
1.3两者比较
分时系统是让多个进程轮流使用处理机,每个进程无论结束否,在一个时间片内都会强制停止,换下一个进程。而多道技术系统则是系统分配多个进程同时运行使用处理机,直到进程结束。
2.操作系统功能
操作系统的功能是管理和控制计算机系统中所有的硬件和软件资源,合理地组织计算机的工作流程,并为用户提供一个良好的工作环境和友好的接口。从资源管理的角度,其功能主要有:处理机管理、存储管理、设备管理和信息管理,而从合理组织工作流程,方便用户的角度,其功能主要是:作业管理。下面将对这些功能一一介绍。
2.1处理机管理
该功能概括而言就是:进程控制、进程同步、进程通信和调度。在单道作业或者单用户的情况下,对处理机的管理十分简单。但在多道程序或多用户的情况下,要组织多个作业同时运行,就要解决处理机分配、回收资源等问题。在后面,将重点讨论处理机调度中的进程管理。
2.2存储管理
主要是对存储器进行分配、保护、扩充和地址映射。随着科技的发展,虽然现在内存容量在不断的增长,但其仍然是相当稀缺的资源。如果直接在内存上载入要运行的程序和数据,会使得CPU执行速度得不到充分的发挥。为使CPU资源得到充分利用,对于内存的存储管理是相当必要的。
2.3设备管理
计算机往往配置种类纷繁的I/O设备,这些设备具有很不相同的操作性能,尤其是处理速度和信息传输差别很大,使用也不尽相同。为发挥设备和主机的并行工作能力,常需采用缓冲技术和虚拟技术。
2.4文件系统管理
对系统的软件——程序和数据进行管理。当一个文件不用时,保存在外存中,对于这些信息的共享、保密和保护,显然是相当重要的。操作系统允许多个用户对文件同时访问,但未授权的用户不能对文件进行调用或修改。
2.5用户接口
操作系统为为普通用户、管理用户提供了不同操作命令组成的可视化的操作界面,每个命令实现和完成用户所要求的特定功能和服务,如:上网、在线处理、办公处理等,让计算机更加方便灵活。
3.处理机调度——进程管理
3.1进程调度
进程调度过程分为三个循环步骤:等待-->就绪-->执行
进程创建后,进入等待队列。当进程获得了除CPU以外的所有资源(如:外设操作完成、具有合作关系的某进程来了、对某资源访问本不能进行,现在可以了等)后,进入到就绪队列中。此时通过一定的算法调度进程,进程获得CPU资源后,转换为执行状态。当进程执行完成或时间片用完后,释放CPU,没有运行完的进程再次进入等待队列中,并将进程现在的执行状态记录在PCB块中。
3.2资源分配
CPU资源的合理分配主要是通过调度进程时的算法来完成的。经常用到的算法主要有四种:先来先服务调度算法、最短作业优先算法、响应比高者优先算法、优先级高者优先算法。
先来先服务:根据进程进入就绪队列的先后顺序来选择。它提高了平均作业周转时间,但若执行时间较短的进程来得晚,就不利于短进程的调度。
最短作业:从就绪队列中选择执行时间最短的进程执行。但如果不断的有进程进入就绪队列中,这可能使得执行时间长的进程永远得不到执行。
响应比高者:每次进行进程调度前,会计算每个进程的响应比,选择响应比最大的执行。由于这种算法每次调度前都要重新计算,所以它的开销比较大。
优先级高者:根据进程的优先级来调度,高优先级进程先执行。该算法又分为静态优先级和动态优先级。静态的优先级一直不变,算法实现简单,但效率低,调度性能不高;动态的优先级随时间推移而改变,系统要为此付出一定代价。
参考文献:
[1]张尧学.计算机操作系统教程[J].清华大学出版社,2006.
[2]William Stallings.操作系统:精髓与设计原理[J].机械工业出版社,2010.