版权归原作者所有,如有侵权,请联系我们

[科普中国]-执行系统控制

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

简介

执行系统控制是指系统采用一些策略使系统正常运行和保证系统安全。在操作系统中,一般将系统分为系统态(核心态)和用户态(目态)。执行系统控制也可以是指在系统态下执行控制命令。系统中有很多地方需要执行系统控制,如进程控制,通信,内存分配,系统安全。例如,当CPU为一个I/O设备服务时,它允许操作系统中的设备驱动软件与设备交互作用,并执行控制功能1,其中设备驱动程序是系统内核的一部分。

进程中的系统控制进程控制在传统的多道程序环境下,要使作业运行,必须先为它创建一个或几个进程,并为之分配必要的资源。当进程运行结束时,立即撤消该进程,以便能及时回收该进程所占用的各类资源。进程控制的主要功能是为作业创建进程,撤消已结束的进程,以及控制进程在运行过程中的状态转换。在现代 OS 中,进程控制还应具有为一个进程创建若干个线程的功能和撤消(终止)已完成任务的线程的功能。

进程同步进程是以异步方式运行的,并以人们不可预知的速度向前推进。为使多个进程能有条不紊地运行,系统中必须设置进程同步机制。进程同步的主要任务是为多个进程(含线程)的运行进行协调。有两种协调方式:

(1) 进程互斥方式。这是指诸进程(线程)在对临界资源进行访问时,应采用互斥方式;

(2) 进程同步方式。这是指在相互合作去完成共同任务的诸进程(线程)间,由同步机构对它们的执行次序加以协调。

进程通信在多道程序环境下,为了加速应用程序的运行,应在系统中建立多个进程,并且再为一个进程建立若干个线程,由这些进程(线程)相互合作去完成一个共同的任务。而在这些进程(线程)之间,又往往需要交换信息。例如,有三个相互合作的进程,它们是输入进程、计算进程和打印进程。输入进程负责将所输入的数据传送给计算进程;计算进程利用输入数据进行计算,并把计算结果传送给打印进程;最后,由打印进程把计算结果打印出来。进程通信的任务就是用来实现在相互合作的进程之间的信息交换。当相互合作的进程(线程)处于同一计算机系统时,通常在它们之间是采用直接通信方式,即由源进程利用发送命令直接将消息(Message)挂到目标进程的消息队列上,以后由目标进程利用接收命令从其消息队列中取出消息2。

存储器中的系统控制内存分配内存分配的主要任务是为每道程序分配内存空间,使它们“各得其所” ;提高存储器的利用率,以减少不可用的内存空间;允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。

OS 在实现内存分配时,可采取静态和动态两种方式。在静态分配方式中,每个作业的内存空间是在作业装入时确定的;在作业装入后的整个运行期间,不允许该作业再申请新的内存空间,也不允许作业在内存中“移动” 。在动态分配方式中,每个作业所要求的基本内存空间也是在装入时确定的,但允许作业在运行过程中继续申请新的附加内存空间,以适应程序和数据的动态增长,也允许作业在内存中“移动” 。

为了实现内存分配,在内存分配的机制中应具有这样的结构和功能:

(1) 内存分配数据结构。该结构用于记录内存空间的使用情况,作为内存分配的依据;

(2) 内存分配功能。系统按照一定的内存分配算法为用户程序分配内存空间;

(3) 内存回收功能。系统对于用户不再需要的内存,通过用户的释放请求去完成系统的回收功能。

内存保护内存保护的主要任务是确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰;绝不允许用户程序访问操作系统的程序和数据;也不允许用户程序转移到非共享的其它用户程序中去执行。

为了确保每道程序都只在自己的内存区中运行,必须设置内存保护机制。一种比较简单的内存保护机制是设置两个界限寄存器,分别用于存放正在执行程序的上界和下界。系统须对每条指令所要访问的地址进行检查,如果发生越界,便发出越界中断请求,以停止该程序的执行。如果这种检查完全用软件实现,则每执行一条指令,便须增加若干条指令去进行越界检查,这将显著降低程序的运行速度。因此,越界检查都由硬件实现。当然,对发生越界后的处理,还须与软件配合来完成。

设备中的系统控制缓冲管理CPU 运行的高速性和 I/O 低速性间的矛盾自计算机诞生时起便已存在了。而随着 CPU速度迅速提高,使得此矛盾更为突出,严重降低了 CPU 的利用率。如果在 I/O 设备和 CPU之间引入缓冲,则可有效地缓和 CPU 与 I/O 设备速度不匹配的矛盾,提高 CPU 的利用率,进而提高系统吞吐量。因此,在现代计算机系统中,都无一例外地在内存中设置了缓冲区,而且还可通过增加缓冲区容量的方法来改善系统的性能。对于不同的系统,可以采用不同的缓冲区机制。最常见的缓冲区机制有单缓冲机制、能实现双向同时传送数据的双缓冲机制,以及能供多个设备同时使用的公用缓冲池机制。上述这些缓冲区都将由 OS 中的缓冲管理机制将它们管理起来。

设备分配设备分配的基本任务是根据用户进程的 I/O 请求、 系统的现有资源情况以及按照某种设备的分配策略,为之分配其所需的设备。如果在 I/O 设备和 CPU 之间还存在着设备控制器和 I/O 通道时,还须为分配出去的设备分配相应的控制器和通道。为了实现设备分配,系统中应设置设备控制表、控制器控制表等数据结构,用于记录设备及控制器的标识符和状态。根据这些表格可以了解指定设备当前是否可用,是否忙碌,以供进行设备分配时参考。在进行设备分配时,应针对不同的设备类型而采用不同的设备分配方式。 对于独占设备(临界资源)的分配, 还应考虑到该设备被分配出去后系统是否安全。在设备使用完后,应立即由系统回收。

访问控制技术的系统控制访问控制技术是当前应用得最广泛的一种安全保护技术,从大、中型机到微型机,都在不同程度上使用了该项技术。当一个用户通过身份验证而进入系统后要访问系统中的资源时,系统还必须再经过相应的“访问控制检查机构”验证用户对资源访问的合法性,以保证对系统资源进行访问的用户是被授权用户。

使用访问控制技术,可为用户设置其对系统资源的访问范围,亦即存取权限。通过对用户存取权限的设置,可以限定用户只访问允许访问的资源;访问控制还可以通过对文件属性的设置,来保护文件只能被读而不能被修改,或只允许核准的用户对其进行修改等。在网络环境下的访问控制,又增加了对网络中传输的数据包进行检查的内容,如基于源和目标地址的包过滤技术。

计算机控制系统计算机控制系统(Computer Control System,简称CCS)是应用计算机参与控制并借助一些辅助部件与被控对象相联系,以获得一定控制目的而构成的系统。这里的计算机通常指数字计算机,可以有各种规模,如从微型到大型的通用或专用计算机。辅助部件主要指输入输出接口、检测装置和执行装置等。与被控对象的联系和部件间的联系,可以是有线方式,如通过电缆的模拟信号或数字信号进行联系;也可以是无线方式,如用红外线、微波、无线电波、光波等进行联系。