第二节 进程状态及状态切换

一、进程控制基本概念

进程控制:

对进程在整个生命周期中各种状态之间的转换进行有效的控制,通过进程控制原语来实现。

原语:

若干条指令所组成的一个指令序列,用来实现某个特定的操作功能,连续的,具有不可分割性,在执行时也不可间断,必须在管态下执行,并且常驻内存,用于进程控制的原语:创建进程、撤销进程、挂起进程、激活进程、阻塞进程、唤醒进程以及改变进程优先级等。

1、创建原语

创建一个新的进程、前者称为父进程,后者称为子进程,建立进程控制块PCB

2、撤销原语

撤销进程的PCB

撤销属于该进程的一切“子孙进程”,释放被撤销进程所占用的全部资源

3.阻塞原语

进程从运行状态转换为阻塞状态

中断CPU的执行,把CPU的当前状态保存在PCB的现场信息中

当前状态置为等待状态,并把它插入到该事件的等待队列中去

4.唤醒原语

等待状态转换为就绪状态

从等待队列中撤出并插入到就绪队列中排队,等待调度执行

二、linux操作系统有关进程控制的系统调用

在LINUX操作系统中,常用的有关进程控制的系统调用有:fork,exec,wait,exit,getpid,sleep和nice等下所表示为这些系统调用的功能说明

系统调用 功能
fork  创建一个子进程
getpid 返回当前进程的PID
exec 更换进程映像,即根据指定的文件名找到可执行文件,并用他来取代调用进程的内容
exit 终止调用的程序(用于程序运行出错)
wait 等待任何要僵死的子进程
sleep 使进程挂起指定的时间
nice 改变进程的优先级  

 

 

 

 

 

 

 

 

 

 

posted @ 2024-08-13 13:56  夜星空雨  阅读(41)  评论(0)    收藏  举报