有关进程的小笔记

来源:互联网 发布:mac怎么输入!号 编辑:程序博客网 时间:2024/05/01 03:57
 

摘自《精通UNIX下C语言编程与项目实践》第九章:进程控制
    以影片《黑客帝国》为例,在《黑客帝国》中存在一个计算机虚拟世界叫Metrix,在Metrix中生的每个人本质上都是一个进程,都有

其产生、发展、和消亡的过程:主人公里奥是高优级进程,他的队友们是较高优先级进程,大反派smith是系统进程,smith将别人复制成

自己的过程是进程的exec调度,数不胜数的simith是进程的并发运行。
9.1进程的基本环境。
     进程是程序的一次执行,是运行在自己的虚拟地址空间的一个具有独

9.1.1进程的概念
  进程通常是由程序、数据和进程控制块(PCB)三个部分组成的。其中,程序部分描述了进程所要完成的功能;数据部分为进程提供了

运行所需的堆栈和私有数据;进程控制块则含有进程的描述和控制信息,集中反映进程的动态特性,是系统识别和控制进程的依据。
1、进程与程序
   进程是程序的一次执行,故程序是一个静态的概念,本身可以作为一种软件资源长期保存;而进程是程序的执行过程,是动态概念,

有一定的生命周期,具有产生、发展和消亡的过程。
  程序是一个规划,它计划了所要执行的代码和所要完成的动作;进程一位执行者,它依照程序的设计,申请资源,计算数据,并完成

预定的任务。一个程序可以同时由多个进程执行;一个进程也可以有顺序地执行基干个程序。
  进程不能脱离程序而存在,程序规定了相应进程所要完成的动作;程序不能脱离进程而运行,进程将程序的设想变成可能。
2、进程与线程
  线程又名轻负荷进程,它是在进程基础上的程序的一次执行,一个进程可以拥有多个线程。
  线程没有独立的资源,它共享进程的ID,共享进程的资源。
    线程是UNIX中最小的调度单位,目前有系统级调度和进程级调度两种线程调度实行方式;系统级调度的操作系统以线程为单位进行调

度;进程级调度的操作系统仍以进程为单位进行调度,进程为其上运行的线程提供设度控制。
3、前台进程和后台进程
   用户在shell提示符处键入命令、创建进程,此后该进程接管终端,shell中不能再输入其它的命令,直到进程执行完毕,才将终端迭

制权返回shell并显示用户提示符。这样的进程是前台进程。
   如果用户在输入shell命令时,在命令串后加上"&",shell将不等待进程执行完毕就直接返回,于是就可以同时运行进程与执行shell

操作。这样的进程就是后台进程,后台进程产东接管终端,因此必须是非交互式的。
4、守护进程
守护进程与终端无关,常驻后台进程的特殊进程。UNIX最著名的两个守护进程是
sysproc进程
unix的第一个进程,标识号为0,能合理地调度系统中运行的进程,负责将进程从硬盘交换区调入内存(换入)或者将进程从内存调到硬

盘交换区(换出)。
init进程
系统初始化进程,进程标识为1,是除sysproc外所有进程的祖先。
5、父子进程。
进程采用树型结构管理。当一个进程启动另一个进程时,被启动的进程就是子进程,原进程就是父进程。  

原创粉丝点击