考研OSchap2处理机管理

本文详细介绍了进程实体的概念、组成部分、状态与转换,进程的控制原语,包括创建、终止、阻塞与唤醒,以及进程通信的方式。此外,探讨了线程和多线程模型,处理机调度的原理、算法及其影响因素,进程同步和互斥的实现,信号量机制在这些问题中的应用,以及死锁的概念、原因和处理策略。
摘要由CSDN通过智能技术生成

目录

一、进程实体(进程映像)

1.概念

2.组成

(1)程序控制块

(2)程序段

(3)数据段

3.vs进程

4.特征

二、进程的状态与转换

1.状态

2.状态间的转换

3.进程的组织方式

三、进程控制 p42

1.概念

2.原语

3.创建

(1)操作

(2)引起创建的事件

4.终止

5.阻塞 Block

6.唤醒 Wakeup

7.切换(eg运行->就绪,就绪->运行)

(1)切换原语操作

(2)引起切换的事件

1)时间片到了

2)有更高优先级的进程要执行

3)当前进程主动阻塞

4)当前进程终止

四、进程通信  p43

1.共享储存 

(1)thought

(2)demand

(3)class

2.消息传递

(1)concept

(2)way

3.管道通信

(1)thought

(2)attn

(3)demand

(4)dis 共享存储

五、线程和多线程模型  p45

​编辑

1.线程

(1)concept

(2)conpare

(3)属性

(4)状态与转换

(5)组织与控制

2.多线程模型  p48

(1)线程的实现方式

1)用户级线程

2)内核级线程

4)组合方式

(2)多线程模型

1)1-1

i)thought

ii)advantage

iii)disadvantage

2)多-1

i)thought

ii)advantage

iii)disadvantage

4)多-多

i)thought

ii)advantage

iii)disadvantage

六、处理机调度 p66

1.调度

(1)concept

(2)高级(作业)

(3)中级(内存)

(4)低级(进程)

2.联系 and vs

3.补充

(1)挂起

(2)七状态(五态+阻塞挂起、就绪挂起)

4.评价调度

(1)CPU利用率

(2)系统吞吐量

(3)周转时间

(4)等待时间

(5)响应时间

5.进程调度的时机 p67

(1)时机

1)能调度

i)主动

ii)被动

2)不能调度

(2)调度 vs 切换

1)切换过程

2)结论

(3)方式

1)抢占式

2)非抢占式

6.两种线程调度比较

(1)用户级线程调度

(2)内核级线程调度

7.闲逛进程

8.调度算法

(1)先来先服务(FCFS)

(2)短作业优先(SJF)(非抢占式)(default)

(2+)最短剩余时间优先算法(STRN)(抢占版SJF)

​编辑

(3)高响应比优先(HRRN)

(4)时间片轮转(RR)

1)eg:时间片=2

​编辑

2)eg:时间片=5

(5)优先级调度

1)不可抢占

2)可抢占

(6)多级反馈队列调度(只有抢占式)

step变化:

​编辑​编辑

(7)多级队列

七、同步and互斥 p94

1.进程同步

2.进程互斥

(1)concept

(2)class

(3)principle

3.实现互斥的软件方法

(1)单标志法

(2)双标志先检查

(3)双标志后检查

(4)Peterson算法

八、信号量机制

1.整型

2.记录型

3.实现进程互斥

4.实现进程同步

5.实现进程的前驱关系

6.application

7.管程

九、死锁

1.concept

2.饥饿 vs 死循环

3.产生的必要条件

4.发生死锁的时间

5.处理策略


一、进程实体(进程映像)

1.概念

p39

2.组成

p39-p40

(1)程序控制块

(2)程序段

(3)数据段

3.vs进程

p39

4.特征

p39

attn:if没有特别声明,进程就是指的进程实体

二、进程的状态与转换

1.状态

5个,3个基本

p41

2.状态间的转换

3.进程的组织方式

(1)链接方式

每个相同状态的进程用状态指针指向(链队)

(2)索引方式

用状态指针指向一个索引表,索引表中包含每个进程的PCB

三、进程控制 p42

1.概念

2.原语

3.创建

(1)操作

(2)引起创建的事件

4.终止

5.阻塞 Block

6.唤醒 Wakeup

7.切换(eg运行->就绪,就绪->运行)

(1)切换原语操作

step1:将运行环境的信息放入PCB

step2:将PCB移动到响应队列

step3:选择另一个进程执行,并更新其PCB

step4:执行完此进程之后,根据存信息的PCB回复原来进程的运行环境

(2)引起切换的事件

1)时间片到了
2)有更高优先级的进程要执行
3)当前进程主动阻塞
4)当前进程终止

四、进程通信  p43

1.共享储存 

(1)thought

(2)demand

同步互斥工具

(3)class

高级 and 低级

2.消息传递

(1)concept

(2)way

3.管道通信

(1)thought

(2)attn

(3)demand

(4)dis 共享存储

在共享存储中两个进程可以任意读写,管道通信只能挨着一个一个读写

五、线程和多线程模型  p45

1.线程

(1)concept

(2)conpare

线程 vs 进程

(3)属性

(4)状态与转换

(5)组织与控制

2.多线程模型  p48

(1)线程的实现方式

1)用户级线程
2)内核级线程
4)组合方式

(2)多线程模型

1)1-1
i)thought
ii)advantage
iii)disadvantage
2)多-1
i)thought
ii)advantage
iii)disadvantage
4)多-多
i)thought
ii)advantage
iii)disadvantage

六、处理机调度 p66

1.调度

(1)concept
(2)高级(作业)

谁该领取工具干活了

创建一个进程并且为之分配资源,之后可以争抢CPU了

(3)中级(内存)

谁该回来了

将一个进程由外存中带回内存,由挂起态转成五态之一

(4)低级(进程)

谁该干活了

上cpu

2.联系 and vs

                发生地点        发生频率        对状态影响

高           外存->内存           低                无->创建->就绪

中            外存->内存          中                挂起->。。。

低            内存->CPU          高                就绪->运行

3.补充

(1)挂起

暂时不能运行的进程调至外存等待,称为挂起,此时状态为挂起态

详细分成阻塞挂起、就绪挂起等,else不常考

(2)七状态(五态+阻塞挂起、就绪挂起)

4.评价调度

(1)CPU利用率

(2)系统吞吐量

(3)周转时间

(4)等待时间

(5)响应时间

5.进程调度的时机 p67

(1)时机

1)能调度
i)主动
ii)被动
2)不能调度

补③进程处于OS内核程序的临界区

reason:访问内核DS,访问之前会上锁,访问完解锁

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

在访问之前也会上锁,但是因为未影响系统内核的管理工作,so可以进行调度和切换

(2)调度 vs 切换

1)切换过程
2)结论

(3)方式

1)抢占式
2)非抢占式

6.两种线程调度比较

(1)用户级线程调度

(2)内核级线程调度

7.闲逛进程

特点3个

8.调度算法

thought、运行环境、advantage 、disadvantage、是否发生饥饿、手算

周转时间:总发生时间,完成t-到达t

带权周转时间:周转t /运行t

等待时间:从到达到开始t, 开始运行 - 到达t

so 等待时间+运行时间=周转时间

avg:除进程数量

手算eg

(1)先来先服务(FCFS)

周转时间:7   9  7  11

带权周转时间:1  9/4 7 11/4

等待时间:0 5  6  7

(2)短作业优先(SJF)(非抢占式)(default)

周转时间:7   10  4  11

带权周转时间:1  2.5 4 11/4

等待时间:0 6  3  7

(2+)最短剩余时间优先算法(STRN)(抢占版SJF)

当有新进程加入就绪队列时,考虑剩余时间,if短,上CPU

Pn(m)表示当时进程Pn剩余时间为m

0时刻:P1(7)

2时刻:P2(4)、P1(5)

4时刻:P1(5)、P2(2)、P3(1)

5时刻:P1(5)、P2(2)、P4(4)

7时刻:P1(5)、P4(4)

11时刻:P1(5)

16时刻:over

(3)高响应比优先(HRRN)

既考虑等待时间也考虑运行时间,if一个进程运行时间短,等待时间长,则其拥有高响应比

响应比 = (等待时间 +  运行时间)  /  运行时间

Pn(m)表示进程Pn的响应比为m

0时刻:P1

7时刻:P2(5+4/4 =9/4)、P3(3+1/1=4)、P4(2+4/4=1.5)

8时刻:P2(6+4/4=2.5)、P4(3+4/4=7/4)

15时刻:P4

之后同SJF

(4)时间片轮转(RR)

让位于队列中的进程依次上CPU

attn:①时间片是给每个进程一次的时间,当进程运行时间<时间片时,则进程主动放弃CPU,则下一个进程单次运行时间仍为一个时间片,而非上个时间片的剩余时间

②if一个时间片执行完之后正好有进程入队,此进程先入队

1)eg:时间片=2

Pn(m)表示当时进程Pn剩余时间为m

后面间隔表示就绪队列,头->尾

0:P1(5)   p1  

2:P1(3)、P2(4)    p1  p2    

4:P1(3)、P2(2)、P3(1)  p2 p3 p1  

5:P1(2)、P2(2)、P3(1)、P4(6)  p4 入队,p1未执行完 p4 p2 p3  

6:P1(1)、P2(2)、P3(1)、P4(6)  p1 p4 p2 p3   

7:P1(1)、P2(2)、P4(6)  p1 p4 p2

9:P1(1)、P4(6)         p1 p4

11:P1(1)、P4(4)   p4 p1

12:P4(4) p4  

14:P4(2)  p4

16:over

so由此可见,if时间片设置过短,系统频繁调度,浪费资源

2)eg:时间片=5

Pn(m)表示当时进程Pn剩余时间为m,右侧表示就绪队列

0:P1(5)   p1 

5:P2(4)、P3(1)、P4(6)  p4、p3、p2

9:P3(1)、P4(6)  p4、p3

10:P4(6)  p4

15:P4(1) p4

16:over

so由此可见,if时间片设置过长,就退化成了FCFS,效率降低

(5)优先级调度

根据事先规定的优先数确定顺序,分成可抢占and不可抢占

attn:优先数 != 优先级

eg:本例优先数 越大,优先级越大

1)不可抢占

Pn(m)表示当时进程Pn优先数为m

0:P1(1)

7:P2(2)、P3(3)、P4(2) 

8:P2(2)、P4(2)         ∵2先到,so2先运行

12:P4(2)

16:over

2)可抢占

进程入栈时比较优先级,if优先级高进行抢占

Pn(m-p)表示当时进程Pn优先数为m,剩余时间为p

0:P1(1-7)

2:P1(1-5)、P2(2-4)

4:P1(1-5)、P2(2-2)、P3(3-1)

5:P1(1-5)、P2(2-2)、P4(2-4)

7:P1(1-5)、P4(2-4)

11:P1(1-5)

16:over

(6)多级反馈队列调度(只有抢占式)

融合上述所有的优点

设置多级反馈队列,优先级从高到低,时间片从小到大

0:P1(8)

1:P1(7)、P2(4)

2:P1(7)、P2(3)

4:P1(5)、P2(3)

5:P1(4)、P2(3)、P3(1)

6:P1(4)、P2(3)

10:P2(3)

step变化:

                       t=0                                                                t =1

                        t=2                                                                t = 4

                        t=5                                                                t=6

                                t = 8                                                        t=  12

attn:①多级反馈队列调度就是抢占式的算法,当t=5时,p3进入队列,因为优先级高,so抢占p2的CPU

②抢占之后p2仍置于第二队列,下次执行时时间片=2

(7)多级队列

设置多个就绪队列

七、同步and互斥 p94

1.进程同步

reason

2.进程互斥

(1)concept

(2)class

(3)principle

3.实现互斥的软件方法

(1)单标志法

turn表示谦让

(2)双标志先检查

先访表示意愿后上锁

(3)双标志后检查

先上锁后表示意愿

(4)Peterson算法

先表示意愿,后表示可以谦让,当最后是自已想享用资源以及是自己谦让,then等待

八、信号量机制

1.整型

2.记录型

3.实现进程互斥

4.实现进程同步

5.实现进程的前驱关系

6.application

7.管程

九、死锁

1.concept

2.饥饿 vs 死循环

3.产生的必要条件

互斥、不可剥夺、请求和保持、循环等待

4.发生死锁的时间

5.处理策略

预防、避免、检测和解除

  • 15
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

blue_blooded

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

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

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

打赏作者

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

抵扣说明:

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

余额充值