进程控制理论
一、进程
进程是一个具有一定独立功能程序的一次运行活动。
1.1进程特点
1.动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的
2.并发性:任何进程都可以同其他进程一起并发执行
3.独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位
4.异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进
结构特征:进程由程序、数据和进程控制块三部分组成.
1.2进程状态图
1.3进程ID
进程ID(PID):标识进程的唯一数字
父进程的ID(PPID)
启动进程的用户ID(UID)
1.4进程互斥
进程互斥是指当有若干进程都要使用某一资源时,但该资源在同一时刻最多允许一个进程使用,这时其他进程必须等待,直到占用该资源者释放了该资源为止。
1.5临界资源
操作系统中将同一时刻只允许一个进程访问的资源称为临界资源。
1.6临界区
进程中访问临界资源的那段程序代码称为临界区。为实现对临界资源的互斥访问,应保证诸进程互斥地进入各自的临界区。
1.7进程同步
一组进程按一定的顺序执行的过程称为进程间的同步.具有同步关系的这组进程称为合作进程,最为有名的是生产者和消费者进程
1.8进程调度
按一定算法,从一组待运行的进程中选出一个来占有CPU运行。
1.9调度算法
在操作系统中,常见的调度算法有:
1.先来先服务
2.短进程优先调度
3.高优先级优先调度
4.时间片轮转法
1.10按调度时机调度可分为
1.抢占式调度:高优先数的进程会抢占处理器,让正在处理的进程处于就绪队列。
2.非抢占式调度:当就绪队列中某进程的最高优先级高于正在处理器中运行的进程的最高优先级时,并不会让正在运行的进程退出处理器,而是将高优先数的排在就绪队列的首部。
1.11死锁
多个进程因竞争资源而形成一种僵局,导致这些进程都无法继续往前执行。
1.12函数学习
getpid()用来取得目前进程的进程识别码,许多程序利用取到的此值来建立临时文件,以避免临时文件相同带来的问题。
函数原型:pid_t getpid(void)
函数作用:返回调用该函数的进程的pid
所属头文件:<sys/types.h> <unistd.h>
函数参数:无
函数返回值:调用该函数的进程的id