进程基本概念[1] 操作系统之哲学原理读书笔记啊

1:进程模型

由于PC机只有一个程序计数器,在任何时候单CPU只有单个进程,所以从物理层面上见所有进程共用一个程序计数器

但是进程切换时,原进程回到原执行位置,接着执行,从这个角度上看每个进程有自己的程序计数器

2:多道编程的好处

提高CPU利用效率,响应时间改善

3:进城的消亡

寿终:进程运行完成而退出

自杀:进程因错误而自动退出

他杀:进程被其他进程所终止

处决:进程因异常而终止

4:进程的状态转换(转http://www.tantengvip.com/2011/10/state/

三种状态:执行态,就绪态,阻塞态

就绪态:

进程已经分配到除CPU以外所有必要的资源,只要获得CPU权限后便能立即执行

执行态:

程序正在CPU上执行

阻塞态:

等待某个事件的发生而无法执行,放弃CPU处于阻塞状态

状态转换图

1):就绪态——>执行态

进程调度进程获得CPU资源后就绪态转化为执行态

2):执行态——>就绪态

时间片轮训等调度方法,由执行态进入就绪态

3):执行态——>阻塞态

正在执行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态

4):阻塞态——>就绪态

处于阻塞状态的进程,若其等待的事件已经发生,于是进程由阻塞状态转变为就绪状态

5:进程管理是由操作系统实现的,主要目标是极小化响应时间,极大化系统吞吐率也就是工作效率。进程调度通过一些算法实现。主要有先来先服务算法,时间片轮转法,短任务优先算法,以及优先级调度算法。

6:linux进程调度浅析

Pastedfrom <http://hi.baidu.com/_kouu/item/38c81042455c97d2c1a592d9>

7:优先级

优先级反转

低优先级进程(1)有高优先级进程(2)需要的数据,另一个优先级在前两个优先级之间的进程(3)就会首先执行,发生了优先级反转。

优先级反转一般两种情况:

1):不持有资源低优先级阻碍高优先级进程运行:(3)进程阻碍(2)进程

2):持有资源的低优先级进程阻碍高优先级进程运行:(1)阻碍(2)进程

对于1)情况,可以通过计入临界段的方式解决,即屏蔽中断

对于2)情况,可以通过优先级继承的方式解决

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
进程调度算法模拟。通过对进程调度算法的模拟,进一步理解进程基本概念,加深对进程运行状态和进程调度过程、调度算法的理解。 (1) 用C、C++、Java语言编程实现对5个进程采用动态优先权调度算法进行调度的过程。数据如下: 5个进程的到达时刻和服务时间见下表,忽略I/O以及其它开销时间,使用动态优先权算法进行调度,优先权初始值为100,请输出各个进程的完成时刻、周转时间、带权周转时间。 进程 到达时刻 服务时间 A 0 3 B 2 6 C 4 4 D 6 5 E 8 2 (2)每个用来标识进程进程控制块PCB可用结构来描述,包括以下字段(用不到的字段可以不定义)。  进程标识数ID。  进程优先数PRIORITY,并规定优先数越大的进程,其优先权越高。  进程已占用CPU时间CPUTIME。  进程还需占用的CPU时间ALLTIME。当进程运行完毕时,ALLTIME变为0。  进程的阻塞时间STARTBLOCK,表示当进程再运行STARTBLOCK个时间片后,进程将进入阻塞状态。  进程被阻塞的时间BLOCKTIME,表示已阻塞的进程再等待BLOCKTIME个时间片后,将转换成就绪状态。  进程状态STATE。  队列指针NEXT,用来将PCB排成队列。 (3)优先数改变的则:  进程在就绪队列中呆一个时间片,优先数增加1。  进程每运行一个时间片,优先数减3。 (4)为了清楚地观察每个进程的调度过程,程序应将每个时间片内的进程的情况显示出来,包括正在运行的进程,处于就绪队列中的进程和处于阻塞队列中的进程。 (5)分析程序运行的结果,谈一下自己的认识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值