从资源管理观点看,操作系统具有五大功能
- 处理机管理
- 存储器管理
- 设备管理
- 文件管理
- 操作系统与用户之间的接口
一、处理机管理功能
处理机的分配和运行都是以进程为基本单位的
- 进程控制——创建和撤销进程;创建进程
- 进程同步——对多个进程的运行进行协调。协调方式有:进程互斥方式和进程同步方式
- 进程通信——实现进程之间的信息交换
- 调 度——可以按照一定的算法将处理机分配给各个进程。包括作业调度和进程调度
进程通信
当一组相互合作的进程去完成一个共同的任务时,它们之间需要交换信息。例一个程序的输入进程、计算进程和打印进程三个进程间的通信过程:
进程间通信示意图如下图:
总结:在输入进程、计算进程和打印进程三者之间都发生的数据的交换,因而在这三者之间就有了种通信。
进程通信的任务是实现相互合作进程之间的信息交换。当相互合作的进程处于同一计算机系统时,通常采用直接通信方式。
二、存储器管理
- 主要任务:为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及可以为这些程序从逻辑上扩充内存。
-
主要功能:内存分配、内存保护、地址映射和内存扩充。
1、内存分配
主要任务:
- 为每道程序分配内存空间
- 提高存储器的利用率,减少碎片
- 允许正在运行的程序申请附加的内存空间
内存分配方式:
(1)静态分配方式
在静态分配方式中,每个作业的内存空间是在作业装入时确定的;在作业装入后的整个运行期间, 不允许该作业再申请新的内存空间,也不允许作业在内存中“移动”;
(2)动态分配方式
在动态分配方式中,每个作业所要求的基本内存空间, 也是在装入时确定的,但允许作业在运行过程中,继续申请新的附加内存空间,以适应程序和数据的动态增涨,也允许作业在内存中“移动”。
2、内存保护
内存保护的主要任务:
(1)确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰。
设置两个界限寄存器,分别用于存放正在执行程序的上界和下界。一旦越界,停止执行。
(2)绝不允许用户程序访问操作系统的程序和数据
3、地址映射
一个应用程序(源程序)经编译后,通常会形成若干个目标程序;这些目标程序再经过链接便形成了可装入程序。
在多道程序环境下,每道程序不可能都从“0”地址开始装入(内存), 这就致使地址空间内的逻辑地址和内存空间中的物理地址不相一致。使程序能正确运行,存储器管理必须提供地址映射功能,以将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。该功能应在硬件的支持下完成。
4、内存扩充
存储器管理中的内存扩充任务借助于虚拟存储技术,从逻辑上去扩充内存容量,使用户所感觉到的内存容量比实际内存容量大得多;或者是让更多的用户程序能并发运行。这样,既满足了用户的需要,改善了系统的性能,又基本上不增加硬件投资。
为了能在逻辑上扩充内存,系统必须具有内存扩充机制, 用于实现下述各功能:
- 请求调入功能
- 置换功能
三、设备管理功能
主要任务:
-
完成用户进程提出的I/O请求;为用户进程分配其所需的I/O设备;
- 提高CPU和I/O设备的利用率;提高I/O速度;方便用户使用I/O设备。
为此,设备管理应具有缓冲管理、设备分配和设备处理等功能。
1、缓冲管理
CPU运行的高速性和I/O低速性间的矛盾自计算机诞生时起便已存在。如果在I/O设备和CPU之间引入缓冲,则可有效地缓和CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统吞吐量。因此,在现代计算机系统中, 都毫无例外地在内存中设置了缓冲区,而且还可通过增加缓冲区容量的方法,来改善系统的性能。
2、设备分配
设备分配的基本任务,是根据用户进程的I/O请求、系统的现有资源情况以及按照某种设备分配策略,为之分配其所需的设备。如果在I/O设备和CPU之间,还存在着设备控制器和I/O通道时,还须为分配出去的设备分配相应的控制器和通道。
3、设备处理
设备处理程序又称为设备驱动程序。基本任务是用于实现CPU和设备控制器之间的通信,即由CPU向设备控制器发出I/O命令,要求它完成指定的I/O操作;反之由CPU接收从控制器发来的中断请求,并给予迅速的响应和相应的处理。
处理过程是:设备处理程序首先检查I/O请求的合法性,了解设备状态是否是空闲的,了解有关的传递参数及设置设备的工作方式。然后,便向设备控制器发出I/O命令,启动I/O设备去完成指定的I/O操作。
四、文件管理功能
文件管理的主要任务是对用户文件和系统文件进行管理以方便用户使用,并保证文件的安全性。
文件管理应具有对文件存储空间的管理、目录管理、文件的读/写管理以及文件的共享与保护等功能。
1、文件存储空间的管理
由文件系统对诸多文件及文件的存储空间,实施统一的管理。其主要任务是为每个文件分配必要的外存空间,提高外存的利用率,并能有助于提高文件系统的运行速度。
2、目录管理
目录管理的主要任务,是为每个文件建立其目录项,并对众多的目录项加以有效的组织,以实现方便的按名存取。
通常由系统为每个文件建立一个目录项。目录项包括文件名、文件属性、文件在磁盘上的物理位置等。由若干个目录项又可构成一个目录文件。即用户只须提供文件名, 即可对该文件进行存取。
3、文件的读/写管理和保护
- 文件的读/写管理
文件的读/写管理。该功能是根据用户的请求,从外存中读取数据;或将数据写入外存。由于读和写操作不会同时进行,故可合用一个读/写指针。
- 文件保护
-
防止未经核准的用户存取文件;
- 防止冒名顶替存取文件;
-
防止以不正确的方式使用文件。
五、操作系统与用户的接口
接口
是指掩盖软件内部功能的实现细节,并向外提供一些使用的约定,用户不必知道软件内部是如何设计和实现的,只要能够利用这种软件提供给用户的一些命令和窗口会操作这种软件以帮助用户解决问题即可。
操作系统提供两类接口
- 用户接口
- 程序接口
1、用户接口
为了方便用户控制自己的作业,操作系统提供了命令接口,该接口又分为联机用户接口、脱机用户接口和图形用户接口3种。
(1)联机用户接口
这是为联机用户提供的,它由一组键盘操作命令及命令解释程序所组成。用户可通过先后键入不同命令的方式,来实现对作业的控制,直至作业完成。
(2)脱机用户接口
该接口是为批处理作业的用户提供的,故也称为批处理用户接口。
(3)图形用户接口
采用图形化操作界面。
2、程序接口
该接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的惟一途径。
它是由一组系统调用组成,每一个系统调用都是一个能完成特定功能的子程序,每当应用程序要求OS提供某种服务(功能)时,便调用具有相应功能的系统调用。