进程和线程相关知识总结
来源:互联网 发布:数据库日志截断收缩 编辑:程序博客网 时间: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)共享进程资源
- 进程和线程相关知识总结
- 进程和线程的知识总结
- 进程/线程知识总结
- 线程相关知识总结
- 进程、线程相关知识汇总
- 操作系统的进程和线程的相关知识的理解
- Android程序员知会的进程和线程相关知识
- 【Linux】进程相关知识总结
- 进程的相关知识总结
- Java线程相关知识总结
- 进程和线程相关
- 进程、线程、多线程相关总结
- iOS进程、线程相关总结
- 进程、线程、多线程相关总结
- 进程、线程、多线程相关总结
- 进程、线程、多线程相关总结
- 进程+线程+死锁的相关知识
- Linux下线程相关知识总结
- 解决myeclipse导入项目中文乱码的问题
- 架构师之路:一个架构师需要掌握的知识技能
- 获取已经连接热点的设备
- ORACLE Docker容器云试用
- Android Studio导入Android 4.4.4r1的源码
- 进程和线程相关知识总结
- (BST)二叉搜索树操作(二)
- 抽象类和接口
- 处理java错误:javac不是内部或外部命令
- 初识JS
- C#之引用 ref
- 【洛谷P3690】【模板】Link Cut Tree
- 例题3-3回文串与镜像串的判定
- 过滤器