linux进程理解
一.进程概念
第一个章节学习图:
3.进程概念
进程基础
进程是什么?
进程就是正在运行中的程序,在所有的程序运行的时候必须先加载到内存中去
1.CPU分时机制:
就是对需要运行的程序进行连续切换,利用几毫秒切换一次的方式,来实现同时进行!
2.pcb进程控制快:
保存程序已经运行到的位置,方便下一次程序运行的时候CPU找到对应的位置,再次处理!
特性:
1.通过对程序的运行描述,这样的四步就叫做程序的调度管理
2.对于操作系统来说,进程就是对一个程序运行的描述,进程就是pcb
3.对于程序的动态描述,就叫做pcb进程控制块,在linux中叫做task_struct ,是一个结构体.
上面的三句话描述的都差不多是一个意思,只有最后一句是对于linux的引入!加油!!!
描述信息
三个关键字知识点:
进程简单的操作
创建进程:
pid_t fork(void)-----创建进程的接口
1.我们创建的这个进程就是一个子进程,原来的这个程序就叫做父进程
2.在linux中有一个存放进程的结构体叫做task_struct ,用于存放进程的一个结构体.
3.语句中的getpid(),表示的是在内存中对应的地址,而子进程和父进程的地址是相连的
4.返回值:父进程返回子进程的pid ---------- 子进程返回0
5.在运用了fork(),这个语句以后,所形成的子进程会完全拷贝父进程中大部分的数据,但是子进程有对应的地址,它只执行fork();往下的代码,上面的不会进行拷贝输出!
如图:运行结果
知识点:
4.进程状态
一个进程的生命周期可以划分为一组状态,这些状态刻画了整个进程。进程状态即体现一个进程的生命状态。
每个状态后面的字母就是其在进程表示中的符号:
1)运行态—R
正在运行或者轮转到时间片则能够运行叫做运行态.就是正在运行的状态
2)可中断休眠态—S
可以被中断的休眠状态(满足唤醒条件,或者休眠被中断则进入运行态).可以被打断
3)不可中断休眠态—D
不能被中断的休眠状态(满足唤醒条件之后才会进入运行态).不可以被打断,只能让其满足条件后
4)停止态—T
程序停止运行的状态(依然会被调度,但是没有什么作用).
5)死亡态—X
直接没了,没有什么解释的.
6)僵尸态—Z
进程已经退出,但是其资源还没有被完全释放,处于等待处理的状态.