Linux:进程调度切换_命令行参数(上)

一.进程退出:

1.释放代码和数据

2.将退出信息(任务完成情况)保存在task_struct内(int code.....)

3.task_struct被维护,给父进程管理

进程创建时,先创建数据结构,再加载代码和数据,退出顺序是反的

如果进程退出前父进程已经没了,会给操作系统进程管理(systemd)

子进程退出,父进程不接收他的退出信息,子进程处于僵尸状态,造成内存泄漏(Z状态一直不退出,PCB一直不释放(必须给父进程退出信息))

二.进程优先级

意义:获得计算机资源的先后顺序,计算机资源有限,排优先级可以提高效率

表示:PCB内几个int型变量表示新的PRI=PRI(旧)+nice值                          (越小优先级越高)

默认PRI为80,nice值可调【-20,19】,总PRI范围[60,99]

关联:进程PCB内有UID记录启动人,(linux一切皆文件,所有操作都是进程操作,可以通过UID判断对应文件的拥有者,所属组。。。判断权限)

查看:ps -la

修改:1.指令:top 指令进入后按r,输入pid和nice值

2.系统调用(不常用,调优先级会影响其他进程)

三.进程切换

上下文:

2.切换过程(核心:怎么保存和恢复上下文)

问题:一个进程的时间片到了,切换置另一个进程,寄存器值被覆盖。但重新排队到它,上下文数据怎么恢复(程序从哪执行(PC值和IR值),寄存器内值怎么恢复(内存中的部分没人动))

答:做保护:时间片到了将寄存器的值放入内存中操作系统的tss段内(可理解为放入PCB内,老内核tss在PCB中),重新排到此进程再加载恢复。

四,进程调度

意义:解决一个进程时间片完了调哪个进程的问题。

问题:很老的内核是FIFO,一个链表拿头节点。但没用优先级,用了优先级又要遍历插入,效率低。

答:linux的调度算法:

解释了为什么优先级PRI值范围只有40

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值