第二节 进程状态及状态切换
一、进程控制基本概念
进程控制:
对进程在整个生命周期中各种状态之间的转换进行有效的控制,通过进程控制原语来实现。
原语:
若干条指令所组成的一个指令序列,用来实现某个特定的操作功能,连续的,具有不可分割性,在执行时也不可间断,必须在管态下执行,并且常驻内存,用于进程控制的原语:创建进程、撤销进程、挂起进程、激活进程、阻塞进程、唤醒进程以及改变进程优先级等。
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 | 改变进程的优先级 |

浙公网安备 33010602011771号