进程优先级
1.什么的优先级
概念:指定进程获取某种资源(CPU)的先后顺序
本质:优先级的本质是优先级数字的大小,Linux中优先级数字越小,优先级越高
task_struct 进程控制快-> struct -> 内部字段 -> int prio = ??
default_prio = 80;
nice = ??
优先级vs权限
优先级:已经能做了,是我们获取资源的顺序
权限:能不能做的问题
2.为什么要有优先级
- 进程访问的资源(CPU)始终都是有限的,系统中进程大部分情况都是比较多的。
- 操作系统关于调度和优先级的原则:采用分时操作系统,保证基本的公平,如果进程因为长时间不被调度,就造成了饥饿问题。
3.Linux的优先级特点和查看方式
-
特点
- PRI:进程优先级
- NI:进程优先级的修正数据,nice值
- UID:代表执行者的身份
- PID:代表这个进程的代号
- PPID:代表这个进程是由哪个进程发展衍生而来的,也就是父进程的代号
🐂:新的优先级 = 优先级 + nice ,可以达到对于进程优先级动态修改的过程
- nice并不能容易调整,而是有范围的!->[-20 19] ----40个数字(在后面的地址空间再谈)
- 每次调整优先级,都是从80开始的
-
查看方式
用top命令更改已存在进程的nice:
- top
- 进入top后按"r" -> 输入进程PID -> 输入nice值
命令行参数和环境变量
命令行参数
C语言中,我们以前会接触到下面这种写法
- 带这些参数的意义的什么呢?