操作系统是用户与计算机硬件之间的接口,操作系统是对计算机硬件系统的第一次扩充,用户通过操作系统来使用计算机系统。换句话来说,操作系统紧靠着计算机硬件并在其基础上提供了许多新的设施和能力,从而使得用户能够方便、可靠、安全、高效地操纵计算机硬件和运行自己的程序。
资源管理是操作系统的一项主要任务,而控制程序执行、扩充及其功能、屏蔽使用细节、方便用户使用、组织合理工作流程、改善人机界面等等都可以从资源管理的角度去理解。下面就从资源管理的观点来看操作系统具有的几个主要功能。
1、处理机管理
处理器管理的第一项工作是处理中断事件,硬件只能发现中断事件,捕捉它并产生中断信号,但不能进行处理。配置了操作系统,就能对中断事件进行处理。
处理器管理的第二项工作是处理器调度。在单用户单任务的情况下,处理器仅为一个用户的一个任务所独占,处理器管理的工作十分简单。但在多道程序或多用户的情况下,组织多个作业或任务执行时,就要解决处理器的调度、分配和回收等问题。近年来设计出各种各样的多处理器系统,处理器管理就更加复杂。为了实现处理器管理的功能,操作系统引入了进程(process)的概念,处理器的分配和执行都是以进程为基本单位;随着并行处理技术的发展,为了进一步提高系统并行性,使并发执行单位的粒度变细,操作系统又引入了线程(Thread)的概念。对处理器的管理最总归结为对进程和线程的管理,包括:1)进程控制和管理;2)进程同步和互斥;3)进程通信;4)进程死锁;5)处理器调度,又分高级调度,中级调度,低级调度等;6)线程控制和管理。
正是由于操作系统对处理器的管理策略不同,其提供的作业处理方式也就不同,例如,批处理方式、分时处理方式、实时处理方式等等。从而,呈现在用户面前,成为具有不同性质和不同功能的操作系统。
2、存储管理
存储管理的主要任务是管理存储器资源,为多道程序运行提供有力的支撑。存储管理的主要功能包括:1)存储分配。存储管理将根据用户程序的需要给它分配存储器资源。2)存储共享。存储管理能地让主存中的多个用户程序实现存储资源的共享,以提高存储器的利用率。3)存储保护。存储管理要把各个用户程序相互隔离起来互不干扰,更不允许用户程序访问操作系统的程序和数据,从而保护用户程序存放在存储器中的信息不被破坏。4)存储扩充。由于物理内存容量有限,难于满足用户程序的需求,存储管理还应该能从逻辑上来扩充内存储器,为用户提供一个比内存实际容量大得多的编程空间,方便用户的编程和使用。
操作系统的这一部分功能与硬件存储器的组织结构和支撑设施密切相关,操作系统设计者应根据硬件情况和用户使用需要,采用各种相应的有效存储资源分配策略和保护措施。
3、设备管理
设备管理的主要任务是管理各类外围设备,完成用户提出的I/O请求,加快I/O信息的传送速度,发挥I/O设备的并行性,提高I/O设备的利用率;以及提供每种设备的设备驱动程序和中断处理程序,向用户屏蔽硬件使用细节。为实现这些任务,设备管理应该具有以下功能:1)提供外围设备的控制与处理;2)提供缓冲区的管理;3)提供外围设备的分配;4)提供共享型外围设备的驱动;5)实现虚拟设备。
4、文件管理
上述三种管理是针对计算机硬件资源的管理。文件管理则是对系统的信息资源的管理。在现代计算机中,通常把程序和数据以文件形式存储在外存储器上,供用户使用,这样,外存储器上保存了大量文件,对这些文件如不能采取良好的管理方式,就会导致混乱或破坏,造成严重后果。为此,在操作系统中配置了文件管理,它的主要任务是对用户文件和系统文件进行有效管理,实现按名存取;实现文件的共享、保护和保密,保证文件的安全性;并提供给用户一套能方便使用文件的操作和命令。具体来说,文件管理要完成以下任务:1)提供文件逻辑组织方法;2)提供文件物理组织方法;3)提供文件的存取方法;4)提供文件的使用方法;5)实现文件的目录管理;6)实现文件的存取控制;7)实现文件的存储空间管理。
5、网络与通信管理
计算机网络源于计算机与通信技术的结合, 近二十年来, 从单机与终端之间的远程通信, 到今天全世界成千上万台计算机联网工作, 计算机网络的应用已十分广泛。联网操作系统至少应具有以下管理功能:1)网上资源管理功能。计算机网络的主要目的之一是共享资源,网络操作系统应实现网上资滚源的共享, 管理用户应用程序对资源的访问, 保证信息资源的安全性和一致性。2)数据通信管理功能。计算机联网后, 站点之间可以互相传送数据, 进行通信, 通过通信软件, 按照通信协议的规定, 完成网络上计算机之间的信息传送。3)网络管理功能。包括: 故障管理、安全管理、性能管理、记帐管理和配置管理。
6、用户接口
为了使用户能灵活、方便地使用计算机和操作系统,操作系统还提供了一组友好的用户接口,包括:1)程序接口;2)命令接口;3)图形接口。