linux进程总结

进程的介绍


进程代表程序的执行过程, 它是一个动态的实体, 随着程序的变化而不断的变化
在某个时刻进程的内容称作进程映像
所谓进程, 就是由正文段, 数据用户段以及系统数据段共同组成的一个执行环境

进程的状态


1.运行状态: 进程正在运行(每个时刻有且只能有一个进程正在运行)
2.就绪态: 进程正在运行队列中等待运行
3.阻塞态: 等待某种事情发生而阻塞
4.僵死状态: 进程已经终止, 但进程描述符依然存在, 直到父进程调用wait()函数后释放

进程控制块FCB


struct task_struct
{
1.状态信息
2.链接信息(链接符间的亲属信息, 如当前进程的父进程, 祖父进程, 兄弟进程, 子进程, 孙子进程等)
3.各种标识符(pid, uid, gid等)
4.进程间通信信息(管道, 消息队列, 共享内存等)
5.时间和定时器信息
6.调度信息
7.文件系统信息
8.虚拟内存信息
9.处理器环境信息
}

创建进程


1.分配PCB, 并将父进程PCB拷贝给新建的PCB. 子进程几乎继承了父进程所有的资源
2.检查进程是否过多. 当分配资源已达到限制值时, 就不能再创建进程了
3.将子进程设置为等待状态, 让内核知道新进程已经诞生, 但是又不会马上运行
4.为新进程分配一个有效的PID, 这也是能唯一标识一个进程的编号
5.更新PCB. 因为有些资源无法从父进程获取
6.把新进程插入进程链表, 确保进程之间的亲属关系
7.把新进程的状态设置为就绪态, 将进程插入就绪列表
8.让父进程和子进程平分剩余时间片段(比如,父进程被分配到20ms的时间片段, 在产生子进程之前已经用掉了10ms, 那么现在父进程和子进程的时间片段各为5ms)
9.返回子进程的PID, 这个PID最终由用户态下的父进程读取
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Linux系统,每个进程都有一个优先级,用于确定在系统上运行时获取CPU时间片的相对频率。进程的优先级通常是动态调整的,可以根据进程的行为和系统的负载进行调整。优先级较高的进程在CPU时间片分配时获得更多的时间,因此它们通常可以更快地完成其任务。Linux系统进程优先级范围为-20到19,数值越小表示优先级越高。可以使用nice和renice命令来调整进程的优先级。 ### 回答2: 在Linux进程优先级用来确定进程在竞争CPU资源时的调度顺序。Linux使用了动态优先级调度算法,进程的优先级可根据其行为和需求进行动态调整。 Linux进程被分为实时进程和普通进程两种类型,每种类型都有其自身的优先级范围。实时进程的优先级取值范围为1-99,值越大表示优先级越高。普通进程的优先级取值范围为100-139,值越小表示优先级越高。 进程的优先级可以通过nice值进行设置。nice值的取值范围为-20到19,数值越小表示优先级越高。通过nice命令可以改变进程的nice值,提高或降低进程的优先级。 Linux还有一个称为实时优先级的概念,用于控制实时进程的优先级。实时进程的优先级可以通过sched_setscheduler函数进行设置,具有更高优先级的实时进程可以抢占较低优先级的实时进程和普通进程。 在Linux进程调度,绝大多数情况下,优先级高的进程会优先获得CPU资源,而优先级较低的进程则会相对较少获得CPU时间。但是,进程优先级并不是唯一确定进程调度顺序的因素,还与进程当前的状态、调度策略、CPU负载等综合考虑。 总结而言,Linux进程优先级用来确定进程的调度顺序,取决于进程的nice值和实时优先级。不同优先级的进程会获得不同的CPU时间片,从而影响系统的性能和响应速度。 ### 回答3: Linux进程的优先级是指操作系统对不同进程分配处理器时间片的优先级。Linux进程的优先级共有140个级别,范围从-20到19,其-20表示最高优先级,19表示最低优先级。 进程的优先级决定了它在竞争CPU资源时获得处理器时间的顺序。优先级较高的进程能够更频繁地获得CPU资源,提高了它们的执行速度和响应能力,而优先级较低的进程则相对减少了CPU的利用。但要注意,优先级并不直接决定进程执行顺序,而是通过调度算法来决定哪个进程获得处理器时间。 Linux分别为实时进程和普通进程设置不同的调度策略。实时进程具有更高的优先级,能够实时响应请求,适用于对响应时间要求较高的系统,如实时音频或视频处理。而普通进程的优先级较低,更多地用于一般的计算或批处理任务。 通过调整进程的优先级,可以实现对不同任务的调度控制。管理员可以使用nice命令或renice命令来为进程设置优先级,提高或降低其执行的权重。较高优先级的进程将更加频繁地获得CPU资源,从而提高其执行速度和响应能力。 总之,Linux进程的优先级是操作系统为不同进程分配处理器时间的一种机制,决定了它们在竞争CPU资源时的顺序。通过设定不同的优先级,可以实现进程的调度控制,提高系统的执行效率和响应能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值