什么是进程:
进程就是正在运行的应用程序。
操作系统对进程管理时,对进程的描述就是PCB(Process Control Block 进程块控制)。
查看进程方法:
- ls /proc/ //查看进程目录
- ps -ef // 可以通过管道符 | + grep + 函数名/pid(进程ID),进行过滤,查看想要的进程信息
- ps aux
- top // 类似于windows下的任务管理器
- getpid() // 在代码中获取pid
进程状态 :
- 就绪态 // 程序准备运行
- 运行态 // 程序正在运行
- 阻塞态 // 程序没有运行
进程优先级:
在系统中分有两种优先级:
1). 普通优先级;
2). 实时优先级。
按照优先级的值从小到大,优先级也由高到低。即优先级的值越小,优先级越高。优先级越高程序越先执行,当优先级高的程序运行结束时,优先级低的再运行。另外进程的优先级是**动态可调整的**。
上述两个区别是:当程序优先级相同时,普通优先级下是按照时间片的顺序轮流进行。而实时优先级下是按先运行的先控制CPU,直到该程序放弃控制时,下一个进程在执行。
如何更改优先级:
-
nice 方法:nice -n val pid 程序运行时调整优先级
-
renice 方法:renice -n val -p pid 程序运行后调整优先级
-
top 方法:进入top ---> 按“R” ---> 输入程序pid ---> 输入nice值 更改已存在的进程NI
其他概念
竞争性:
系统中运行程序数目较多,而CPU资源很少,程序之间必定存在竞争属性,为了高效运行,合理竞争资源,便具有了优先级。
独立性:
多进程运行,独享各种资源,进行程序调度,运行期间互不干扰。
并发性:
多进程下多个CPU下,分别同时进行。
并行性:
多进程在一个CPU下,采用进程切换的方式,在一段时间内,对多进程进行推进。