Linux进程概念,进程状态和优先级分析

1.进程概念
课本概念:程序的一个执行实例,正在执行的程序等。
内核观点:担当分配系统资源(CPU时间,内存)的实体。

2.描述进程-PCB
进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合。
课本上称之为PCB(process control block),Linux操作系统下的PCB是: task_struct.

2.1task_ struct内容分类:
①标示符: 描述本进程的唯一标示符,用来区别其他进程。
②状态: 任务状态,退出代码,退出信号等。
③优先级: 相对于其他进程的优先级。
④程序计数器: 程序中即将被执行的下一条指令的地址。
⑤内存指针: 包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针
⑥上下文数据: 进程执行时处理器的寄存器中的数据[休学例子,要加图CPU,寄存器]。
⑦I/O状态信息: 包括显示的I/O请求,分配给进程的I/O设备和被进程使用的文件列表。
⑧记账信息: 可能包括处理器时间总和,使用的时钟数总和,时间限制,记账号等。
⑨其他信息

3.进程状态(三大进程状态:就绪,运行,阻塞),细分:
①运行状态( R ):并不意味着程序就正在运行,他可能正在运行或在运行队列里面。
②睡眠状态(S):意味着进程正在等待事件完成。可中断睡眠态。
③磁盘休眠状态(D)(Disk sleep):有时候也叫不可中断睡眠状态(uninterruptible sleep),在这个状态的进程通常会等待IO的结束。
④停止状态(T)(stopped): 可以通过发送 SIGSTOP 信号让进程停止变成(T)状态。这个被暂停的进程可以通过发送 SIGCONT 信号让进程继续运行。
⑤死亡状态(X)(dead):这个状态只是一个返回状态,你不会在任务列表里看到这个状态

值得重点关注的:
####僵死进程(Z): 如何产生:子进程先于父进程退出,将自己的
退出原因保存在pcb中,操作系统检测到子进程退出,因为父进程 有可能关注退出原因,所以不敢随意释放所有资源,通知父进程的退出,但是这时候父进程没有关注到这个通知,导致子进程退出了。但是资源一直没有被释放,处于僵死状态,成为僵尸进程。

处理:干掉父进程
如何避免:进程等待

4.进程优先级(重点)
4.1基本概念
①cpu资源分配的先后顺序,就是指进程的优先权(priority)。
②优先权高的进程有优先执行权利。配置进程优先权对多任务环境的linux很有用,可以改善系统性能。
③,还可以把进程运行到指定cup,把不重要的进程安排到某个CPU,可以大大改善系统整体性能.

PRI :代表这个进程可被执行的优先级,其值越小越早被执行。(0----139)
说到进程优先级,不得不提到NICE值(NI),nice,字面意思好,说明你nice值越大进程优先级越小,反之优先级就大。
进程调度与进程优先级

NICE值范围:-20-----19.

修改:优先级无法直接修改,但是可以通过修改
NI的值来调整PRI的值 PRI=PRI+NI.优先级调整更多的是针对cpu密集型程序(对cpu资源要求比较高); I/O密集型程序因为本身对cpu资源要求就不是很高,因此大多数情况下,没有必要调整.
什么是cpu密集型程序和I/O密集型

下面再介绍几个概念
##竞争性: 系统进程数目众多,而CPU资源只有少量,甚至1个,所以进程之间是具有竞争属性的。为了高效完成任务,更合理竞争相关资源,便具有了优先级.
##独立性: 多进程运行,需要独享各种资源,多进程运行期间互不干扰
##并行: 多个进程在多个CPU下分别,同时进行运行,这称之为并行
##并发: 多个进程在一个CPU下采用进程切换的方式,在一段时间之内,让多个进程都得以推进,称之为并发

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值