CPU状态分为目态和管态两种,从目态转换到管态的惟一途径是?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CPU状态分为目态和管态两种,从目态转换到管态的惟一途径是?相关的知识,希望对你有一定的参考价值。

参考技术A

从目态转换为管态的唯一途径是中断(访管指令或系统调用)。

机器处于目态时,程序只能执行非特权指令。用户程序只能在目态下运行,如果用户程序在目态下执行特权指令,硬件将发生中断,由操作系统获得控制,特权指令执行被禁止,这样可以防止用户程序有意或无意的破坏系统。

当CPU处理系统程序的时候,CPU会转为管态,CPU在管态下可以执行指令系统的全集。(包括特权指令与非特权指令)

从管态到目态可以通过修改程序状态字来实现,这将伴随着由操作系统程序到用户程序的转换。

扩展资料:

访管指令的操作原理:

当源程序中有需要操作系统服务的要求时,编译程序就会在由源程序转换成的目标程序中安排一条“访管指令”并设置一些参数。当目标程序执行时,中央处理器若取到了“访管指令”就产生一个中断事件,中断装置就会把中央处理器转换成管态,并让操作系统处理该中断事件。

操作系统分析访管指令中的参数,然后让相应的“系统调用”子程序为用户服务。系统调用功能完成后,操作系统把中央处理器的管态改为目态,并返回到用户程序。

从程序调用的角度来看,用户应用程序中要调用一些子程序。子程序可以分为用户自己编写的子程序和软件提供的子程序,对后者的访问即被称为访问系统程序(访管)指令,又称为陷阱(TRAP)指令。

访管指令并不是特权指令。所谓特权指令,是指用于操作系统或其他系统软件的指令,一般不提供给用户使用。

参考资料来源:百度百科-访管指令

参考资料来源:百度百科-目态

参考资料来源:百度百科-管态

操作系统:进程控制

核心态和用户态

为了防止操作系统及关键的数据受到用户程序有意无意的破坏,通常将处理器的运行分为核心态和用户态两种。

  • 核心态:又称为管态。它具有较高的特权,能够执行一切命令,并访问所有寄存器和存储区。
  • 用户态:又称为目态。这是具有较低特权的运行状态,它只能执行规定的指令,访问制定的寄存器和存储区。

处理器管理的一个重要任务就是进程管理。
进程管理:系统使用一些具有特定功能的程序来创建、撤销进程以及完成进程各个状态之间的转换,从而达到多进程、高效率的并发执行和协调,实现资源共享的目的。

原语

在核心状态下执行的某些具有特定功能的程序称之为原语,其特点是执行期间不允许中断,是一个不可分割的单位。
原语的执行是顺序的不是并发,系统对应进程的控制使用原语来实现。

用于进程控制的原语有:进程创建、进程撤销、进程阻塞与唤醒、进程挂起与激活。

进程创建

在系统生成时,要创建一些必须的、承担系统资源分配和管理工作的系统进程。
对于用户作业,每当调入系统时,由操作系统的作业调度程序为它创建相应的进程。
创建者成为父进程、被创建者成为子进程,创建父进程的进程被称为祖父进程,这样就形成了一个进程家族。

无论是系统或是用户创建进程都必须调用创建原语来实现
创建原语的主要功能是创建一个指定标识符的进程,主要任务是形成该进程的PCB
在这里插入图片描述

进程撤销

操作系统通常提供撤销(或终止)进程的方法。
其分为:

  • 正常终止
  • 由于错误而非正常终止
  • 由于祖先进程的要求而被终止。

当进程被撤销时,必须从系统队列中移除,并且释放所有资源,同时审查是否有子进程,如果有的话,一并撤销。
在这里插入图片描述

进程阻塞与唤醒

有了常见原语和撤销原语,还不能完成各个进程状态之间的转换。
还需要阻塞原语和唤醒原语。

阻塞原语
当一个进程出现等待事件的时候,该进程调用阻塞原语将自己阻塞。
阻塞原语的功能是:把CPU现场送至该进程的现场保护区,置进程的状态为等待,并插入到相应的等待队列中去,然后转到进程调度程序,另选一个进程投入运行。
在这里插入图片描述
唤醒原语
进程处于等待状态时不能唤醒自己。
有一个“发现者”进程能够在进程所期待的事件出现的时候用唤醒原语叫醒他。
唤醒原语的功能:唤醒处于某一等待队列中的进程,入口信息为唤醒进程名
在这里插入图片描述

进程的挂起与激活

由于输入输出的速度比处理机的运算速度更慢,经常会出现处理机等待输入输出的情况。这时操作系统需要将主存中的进程兑换至外存(或称为辅存)。为了刻画这种状态,新增一种为“挂起”的状态。当所有进程阻塞的时候,所有的进程都是等待态,处理机空闲。操作系统可以将一个或者一些进程置为挂起状态,并将他们交换到外存的交换区。
而当计算机中出现了或者空出了进程所需要的资源,操作系统调用激活原语激活进程,将挂起状态的进程从外存调入主存中使用空出的组员,修改这个进程状态为就绪态。
在这里插入图片描述

以上是关于CPU状态分为目态和管态两种,从目态转换到管态的惟一途径是?的主要内容,如果未能解决你的问题,请参考以下文章

用户态和内核态的理解和区别

操作系统第二单元思考题与练习题

访管指令的由来

处理器及其调度

操作系统选择判断题练习

Socket与系统调用深度分析