进程

来源:互联网 发布:linux 云同步 编辑:程序博客网 时间:2024/06/06 20:47

进程

进程模型:计算机上所有可运行的软件,通常包括操作系统,被组织成若干顺序进程(sequentialprocesses),简称进程。

每个进程拥有自己的控制流程(自己的虚拟CPU),并且每个都独立地运行。当程序开始运行是,它自己的虚拟cpu被装入到物理cpu中;当程序执行时间到或者结束时,物理cpu被保存到当前程序的虚拟cpu中(在内存中),就这样不停地在多个进程中来回切换。

进程的创建:进程的创建有四个主要的原因

1.      系统初始化
2.      正在运行的一个进程执行了创建进程的系统调用
3.      用户请求创建一个新进程
4.      批处理作业的初始化

进程的终止:通常可能是由于下列原因

1.      正常退出(自愿)
2.      出错退出(自愿),比如执行的一条非法指令,应用了不存在的内存,或除数是零。在Minix3中,进程可以告诉OS,它希望自行处理某些类型的错误,在这类错误中,进程会受到信号(被中断),而不是在这类错误出现时终止。
3.      严重错误(非自愿)),比如用户输入cc foo.c来编译程序foo.c,而这个文件不存在,那么编译器就会简单退出
4.      被其他进程杀死(非自愿)

进程的层次结构:树结构

进程的状态:

1.      运行态(Running,此时占用cpu)
2.      就绪态(Ready,可运行,因为其他进程在运行,所有暂时被挂起,得等到被调度时才能运行)
3.      阻塞态(Blocked)
进程模型:

最底层处理中断和调度,上层是顺序进程。

原创粉丝点击