操作系统第二章 ---- 处理机管理 知识点整理及梳理

本文详细介绍了操作系统中处理机管理的相关知识,包括单道程序系统与多道程序系统的特征,进程的定义、特性、状态转换以及进程控制块PCB的作用,重点讲解了进程的互斥与同步机制,如临界区原则和信号量机制,同时探讨了死锁的原因、解决办法,以及处理机调度算法如FCFS、SJF等,最后提到了线程与进程的比较

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 单道程序系统与多道程序系统

1.1单道程序系统

单道程序系统在内存中每次仅存在一个程序,该程序运行时独占整个系统的资源,实际上它只会顺序的使用其中的一部分。因此在某一时刻,系统的各个部分只有一部分在工作,这造成了资源浪费从而利用率低。
程序顺序执行示意图

1.1.1程序顺序执行的特征:

  • 顺序性: 由图可知,在程序内部I、C、P操作的顺序是不可颠倒的,各程序之间的顺序也不可以颠倒,需严格按照程序所规定的顺序执行。
  • 封闭性:程序在运行时,独占全部系统资源,只有程序本身才能改变系统资源的状态。
  • 可再现性: 由于程序不受外部影响,只要初始条件相同,运行的结果就一定相同。

1.2多道程序系统

为了减少单道程序系统的利用率低的情况,引入了多道程序设计技术。多道程序设计指允许多道程序同时进入内存,并允许它们共享资源、并发执行的程序设计技术。采用这一技术的系统称为多道程序系统。 多道程序系统是现代操作系统所采用的最基本、最重要的技术。
在多道程序系统中,程序是并发执行的。
程序并发执行示意图
由图可见,各程序的内部操作I、C、P操作未颠倒,但程序之间不再是严格的串行次序。如,当程序1在进行运算操作时,很明显程序2的输入操作不会影响程序之间的关系。因此I、C、P操作在时间上可以重叠。 显然,并发执行的程序失去了封闭性和可再现性。 举个例子,I1与I2都取的同一地址的数值,本意是想让I2是取的程序1运行结束后的。而当C1正在进行运算时还未来得及将运算结果写回,I2却已将还未处理的数据取出进行计算造成了结果的错误。

1.2.1程序并发执行的条件

假设有以下几条语句

语句 读集 写集
P1:a = x + y; R(P1) = {x,y} W(P1) = {a}
P2: b = z + 1; R(P1) = {z} W(P2) = {b}
P3: c = a + b; R(P3) = {a,b} W(P3) = {c}
P4:d = c -2; R(P4) = {c} W(P4) = {d}

如果两个程序P1,P2满足Bernstein条件,它们便能并发执行,否则不能:
( R ( p 1 ) ∩ W ( p 2 ) ) ∪ ( R ( p 2 ) ∩ W ( p 1 ) ) ∪ ( W ( p 1 ) ∩ W ( p 2 ) ) = { } (R(p1) \cap W(p2)) \cup (R(p2) \cap W(p1) )\cup (W(p1) \cap W(p2)) = \{\} R(p1)W(p2)R(p2)W(p1)W(p1)W(p2)

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值