进程和线程相关知识总结
2017-04-21 22:45
525 查看
进程
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)共享进程资源
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)共享进程资源
相关文章推荐
- 知识储备—01-进程,线程,多线程相关总结
- Java线程相关知识总结
- 进程的相关知识总结
- 进程、线程、多线程相关总结
- 进程和线程的知识总结
- iOS中多线程知识总结:进程、线程、GCD、串行队列、并行队列、全局队列、主线程队列、同步任务、异步任务等(有示例代码)
- 线程、进程及其相关内容的完整总结
- 进程 & 线程相关知识
- 进程、线程、多线程相关总结
- 进程与线程的相关知识点总结
- iOS中多线程知识总结:进程、线程、GCD、串行队列、并行队列、全局队列、主线程队列、同步任务、异步任务等
- 进程、线程、多线程相关总结 火推
- 进程、线程相关知识汇总
- 进程、线程、多线程相关总结
- iOS进程、线程相关总结
- 程序、进程、线程——孙鑫视频知识总结
- 进程、线程、多线程相关总结
- 线程,进程,线程同步,线程异步,相关概念学习——》总结
- Android程序员知会的进程和线程相关知识
- iOS中多线程知识总结:进程、线程、GCD、串行队列、并行队列、全局队列、主线程队列、同步任务、异步任务等