进程和线程相关知识总结

来源:互联网 发布:数据库日志截断收缩 编辑:程序博客网 时间:2024/05/20 02:52

进程

1. 组成结构:由程序段代码段进程控制块(PCB)组成。

2. 基本属性:1)是一个可以独立拥有资源的独立单位   2)同时又是一个可独立调度和分派的基本单位。

3. 三种基本状态:就绪状态、执行状态、阻塞状态。一些系统中还有挂起状态


进程控制块(PCB)

1. 作用:使一个在多道程序环境下不能独立运行的程序(含数据),称为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。

OS是根据PCB来对并行执行的进程进行控制和管理的。PCB是进程存在的唯一标志。

2. 特点:PCB常驻内存。系统将所有的PCB组织成若干个链表(或队列),存放在操作系统中专门开辟的PCB区内。

3. 存放的信息:1)进程标识符 (唯一的标识一个进程)

                          2)处理机状态(记录当处理机被中断是,所有的处理机状态信息都保存在PCB中,为了进程重新执行时,可以从断电继续执行)

                          3)进程调度信息(存放进程状态、进程优先级、集昵称调度所需其他信息、阻塞原因)

                          4)进程控制信息(存放程序和数据的地址、进程同步和通信机制、资源清单、链接指针)

线程

1. 起源:进程是一个可拥有资源的独立单位,同时又是一个可独立调度和分派的基本属性,因此进程在创建、撤销和切换中的系统时空开销过大。线程提出就是将作为调度和分派的基本单位,不同时作为拥有资源的单位;而对于拥有资源的基本单位,又不对之进行频繁的切换。

2. 线程和进程的比较

线程又称轻型进程,传统进程称为重型线程。在引入线程的操作系统中,一个进程至少拥有一个线程。

线程和进程在以下4个方面进行比较:

1)调度

在传统的操作系统中,进程作为拥有资源的基本单位和独立调度、分派的基本单位

在线程的操作系统中,把线程作为调度和分派的基本单位,线程不拥有资源

在同一个进程中,线程的切换不会引起进程的切换,但从一个进程中的线程切换到另一个进程中的线程时,将会引起进程的切换。

2)并发性

进程之间可以并发,而且在一个进程中的多个线程之间也可以并发执行。

3)拥有资源

进程拥有资源,是系统中拥有资源的基本单位

线程不拥有系统资源,但可以访问其隶属进程的资源,即一个进程的代码段、数据段及所有拥有的系统资源,如已打开的文件、I/O设备等,可以供该进程中的所有线程所共享。

4)系统开销

线程切换的代价低于进程;由于一个进程中的多个线程具有相同的地址空间,在同步和通信的时间线方面线程也比进程容易。

3. 线程的属性

线程是利用CPU的基本单位。

1)轻型实体,不拥有系统资源,每一个线程都有一个TCB(线程控制块)

2)独立调度和分派的基本单位(指的是多线程OS中的进程,此时进程不再是一个可执行的实体,而是把线程作为独立运行的基本单位)

3)可并发执行

4)共享进程资源


0 0