进程与线程

2019-07-14 09:37发布

进程是指一个具有一定独立功能的程序关于某个数据集合的一次运动活动。         简单地说进程是可以并发执行的程序的执行过程,它是控制程序管理下的基本的多道程序单位。         进程控制块(PCB )是由系统为每个进程分别建立的,用以记录对应进程的程序和数据的存储情况,记录进程的动态信息。PCB是一个进程存在的标志。系统根据PCB而感知进程的存在,根据PCB中的信息对进程实施控制管理,当进程结束时,系统回收对应的PCB,进程随之消亡。进程控制块中包含一系列信息,其中进程名即进程标识符唯一标识对应进程,系统根据该标识符来识别一个进程。         一个进程只有唯一的进程控制块,不可和其他进程共用一个进程控制块。         在多线程的OS中,线程是调度和分配的基本单位,而进程是拥有资源的基本单位。
栈: 是个线程独有的,保存其运行状态和局部自动变量的。栈在线程开始的时候初始化,每个线程的栈互相独立,因此,栈是 thread safe 的。 线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID