linux创建进程 子孙,linux之进程

看过操作系统的人应该都知道的一个概念.进程..

先提几个概念.就绪队列 阻塞队列,调度程序.

对多道程序设计的操作系统来说,进程在内存中有三个大体状态.就绪态,阻塞态和执行态. 进程创建好的状态时就绪态.多道程序设计要在一段时间内执行多个程序.所以所有的就绪态的进程组成一个就绪队列(一般是链式队列).同理,阻塞队列也是这样来的.进程状态之间的转换后面会提到.

调度程序就是从就绪队列中选择一个,让他执行.

进程通俗了理解就是运行中的程序,

进程和程序的区别:

1, 进程是动态的.程序是静态的,就是在内存或者外存中的一堆代码和数据.

2, 进程是动态的.

3,进程有自己的进程控制块.

4,进程大了来分有三个状态,程序就只是存在那里而已.

操作系统载入进程并为其分配PCB(进程控制块 Process Control Block)运行所需要的资源.然后把进程插入就绪队列中.进程状态从创建状态转为活动就绪态.若是分配运行时所需资源时没有分配成功(例如主存空间不够了).则进程状态被转换成静止就绪态.

进程之间详细状态以及其转换.进程状态大体来分的三种状态本文前面已经说过,在细分的话.就有:活动就绪态,静止就绪态,活动阻塞态,静止阻塞态. 执行态,创建态,终止态. 两种就绪态都不能直接到阻塞态.任何一种阻塞态不能直接到执行态.两种静止状态都是要转换成该状态是没有申请到空间.释放了空间就可以转换为对应的活动态.执行态若是遇到异常,等待某个正在占用的资源,或者等待某个程序的回应时等等则转换为阻塞态.等到了则被唤醒,进入就绪队列.

就绪态转换成执行态.若是就绪队列中的某个进程被调度程序选中了,则修改其PCB中的调度位(说明不需要调度了,调度程序通过这一位来选择程序).

很多时候一个时钟周期不能执行完一个进程.CPU执行了一个时间片后把断点保存到PCB 中的寄存器中.

进程的删除.删除PCB块并把资源还给操作系统.进程的创建也是创建PCB块并分配资源.进程删除时候,若是进程在就绪队列中并没有子孙进程,则删除PSB块,归还资源.若是进程在执行,则修改调度位,调度程序重新调度.若是有子孙进程,则先等待子孙进程退出然后删除PCB,归还资源给系统或者父进程.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值