操作系统的主要功能
1.处理机管理功能(进程管理):
(1)进程控制:为作业创建进程、撤销(终止)已结束的进程,控制进程在运行过程中的状态转换。
(2)进程同步:为了使多进程同时运行时协调,有两种方式
- 进程互斥方式:进程在对临界资源进行访问时,应采用互斥方式。(临界资源加锁实现,关锁时禁止访问;锁开时允许访问。)
- 进程同步方式:相互合作去完成共同任务的进程间,由同步机构对他们的执行次序加以协调。(信号量机制)
(3)进程通信:实现相互合作进程之间的信息交换。
(4)调度:
- 作业调度:从后备队列中按照一定算法选择出若干个作业,为他们分配运行所需资源,讲作业调入内存后,分别建立与之对应的进程,使它们成为可能获得处理机的就绪进程,并将他们插入就绪队列中。
- 进程调度:从进程就绪队列中按照一定算法选出一个进程,将处理机分配给他,并为他设置运行现场,使其投入执行。
2.内存管理功能:
1、内存分配
(1)作用:为每道程序分配内存空间;提高存储器利用率,尽量减少内存空间碎片。
(2)两种内存分配方式:
- 动态内存分配:每个作业所要求的基本内存空间也是在装入时确定的,但允许作业在运行过程中继续申请新的附加内存空间,以适应程序和数据的动态增长,也允许作业在内存中“移动”。
- 静态内存分配:每个作业的内存空间是在作业装入时确定的;在作业装入后的整个运行期间,不允许该作业再申请新的内存空间,也不允许作业在内存中“移动”。
(3)内存分配机制应具有的结构和功能:内存分配数据结构、内存分配功能、内存回收功能。
2、内存保护
(1)主要作用:确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰;绝不允许用户程序访问操作系统的程序和数据;也不允许用户程序转移到非共享的其它用户程序中去执行。
(2)内存保护机制:设置两个界限寄存器,分别用于存放正在执行程序的上界和下界。系统对每条指令所要访问的地址进行检查,如果发生越界,产生越界中断请求,停止该程序的执行。
3、地址映射
程序的逻辑地址通常从0开始,而物理地址不从0开始,因此需要一个映射转换过程。
4、内存扩充
(1)借助于虚拟存储技术,从逻辑上去扩充内存容量。
(2)为了能在逻辑上扩充内存,系统必须具有内存扩充机制,用于实现下述各功能:
- 请求调入功能:允许在装入一部分用户程序和数据的情况下,便能启动该程序运行。在程序运行过程中,若发现要继续运行时所需的程序和数据尚未装入内存,可向 OS 发出请求,由 OS 从磁盘中将所需部分调入内存,以便继续运行。
- 置换功能:若发现在内存中已无足够的空间来装入需要调入的程序和数据时,系统应能将内存中的一部分暂时不用的程序和数据调至盘上,以腾出内存空间,然后再将所需调入的部分装入内存。
3.设备管理功能:
主要任务:
- 完成用户进程提出的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操作。
4.文件管理功能:
文件管理的主要任务是对用户文件和系统文件进行管理以方便用户使用,并保证文件的安全性。
为此,文件管理应具有对文件存储空间的管理、目录管理、文件的读/写管理以及文件的共享与保护等功能。
1、文件存储空间的管理
由文件系统对诸多文件及文件的存储空间,实施统一的管理。其主要任务是为每个文件分配必要的外存空间,提高外存的利用率,进而提高文件系统的存、取速度。
为此,系统中应设置用于记录文件存储空间使用情况的数据结构,以供分配存储空间时参考,还应具备对存储空间进行分配和回收的功能。
2、目录管理
目录管理的主要任务,是为每个文件建立一个目录项,并对众多的目录项加以有效的组织,以实现方便的按名存取。
通常由系统为每个文件建立一个目录项。目录项包括文件名、文件属性、文件在磁盘上的物理位置等。由若干个目录项又可构成一个目录文件。即用户只须提供文件名, 即可对该文件进行存取。
3、文件的读/写管理和保护
(1)文件的读/写管理:该功能是根据用户的请求,从外存中读取数据;或将数据写入外存。由于读和写操作不会同时进行,故可合用一个读/写指针。
(2)文件保护:防止未经核准的用户存取文件;防止冒名顶替存取文件;防止以不正确的方式使用文件。
5.操作系统与用户之间的接口:
接口是指掩盖软件内部功能的实现细节,并向外提供一些使用的约定,用户不必知道软件内部是如何设计和实现的,只要能够利用这种软件提供给用户的一些命令和窗口会操作这种软件以帮助用户解决问题即可。
1、用户接口
为了方便用户控制自己的作业,操作系统提供了命令接口,该接口又分为联机用户接口、脱机用户接口和图形用户接口3种。
(1)联机用户接口:这是为联机用户提供的,它由一组键盘操作命令及命令解释程序所组成。用户可通过先后键入不同命令的方式,来实现对作业的控制,直至作业完成。
(2)脱机用户接口:该接口是为批处理作业的用户提供的,故也称为批处理用户接口。
(3)图形用户接口:采用图形化操作界面。
2、程序接口
该接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的唯一途径。
它是由一组系统调用组成,每一个系统调用都是一个能完成特定功能的子程序,每当应用程序要求OS提供某种服务(功能)时,便调用具有相应功能的系统调用。