操作系统:进程控制

核心态和用户态

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

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

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

原语

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

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

进程创建

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

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

进程撤销

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

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

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

进程阻塞与唤醒

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

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

进程的挂起与激活

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zeker62

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值