临界资源及临界区(内核/普通)以及三种进程不能切换的情况

临界资源和临界区

临界资源:虽然进程可以共享系统中的各种资源,但其中许多资源一次只能为一个进程所用,我们将一个时间段内只允许一个进程使用的资源。各进程需要互斥地访问的资源叫做临界资源。

普通临界资源:如打印机,摄像头等,进程访问这些资源的时候,运行速度很慢,并且会阻塞其他请求这一资源的进程,知道本进程结束,才在等待队列中唤醒一个等待的进程

我们可以将对临界资源的访问分为四个部分:进入区(检查并上锁)、临界区、退出区(标志清除)和剩余区。

临界区:访问临界资源资源的那段代码。

内核程序临界区

内核程序临界区:用于访问某种内核数据结构,比如进程的就绪队列(由各就绪进程的PCB组成) 进入内核临界区后,进程需要独占式访问,理论上必须枷锁,以防止其他进程入内,解锁前不应切换到其他进程,以加快临界区的释放
重要:进程在操作系统内核临界区中不能进行调度与切换。

不能进行进程切换的三种情况

  • 在处理中断的过程中。中断处理过程复杂,与硬件密切相关,很难做到在中断处理过程中进行进程切换。
  • 进程在操作系统内核程序临界区中。
  • 在原子操作过程中(原语)。原子操作不可中断,要一气呵成。(如修改PCB的进程状态标志,并把其放入进程对列,必须一步完成)
    在这里插入图片描述
  • 15
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值