Linux进程管理
进程管理 1、操作系统基础 调用:kernel通过给应用程序提供system call方式来提供硬件资源; 注意:这个应用程序也包括库文件; 库文件是运行在ring 0上的一段程序代码,不对客户直接提供应用; 中断、保护现场 2、进程运行原理(一个进程与多个进程) 一个进程:首先我们需要把硬盘中的程序代码加载到内存(复制),再将这段程序放到CPU上运算,此时,这段程序就会去调用(也会自动生成)很多的进程;由这些进 程来完成程序所指定的任务; 在这个过程当中:我们就需要解决数据输入与输出,还有存储的问题 (不讨论多核、CPU多线程的情况) 多个进程:在电脑中一般都是存在多个进程的,而CPU却只有一个,我们就使用time space的方式来给进程分配固定的时间来运行;某个进程只能在轮到自己运行的时候 才会被放到CPU上执行,时间一到就会自动被踢下来,CPU则会执行下一个进程; 问题: 1、进程谁先谁后的问题? 进程优先级 2、如果进程没有运行完就被踢下来了怎么办?--解决数据存储的问题 3、如果进程造反了怎么办? 3、进程优先级 0-139 0-99 实时进程 越大越优先 100-139 非实时进程 越小越优先 【特性:普通用户可以转让自己的优先级】 nice值:定义普通进程的优先级,-20 - 19 轮了一圈以后怎么办? 在我们内存上,会提供一个空间