Java并发编程(1)——进程与线程

以下内容摘自 《计算机操作系统教程》 张尧学 清华版 第三版

什么是进程
  1. 进程是程序的执行过程,在操作系统中为了进行进程的管理与调度,抽象出了进程的概念。
  2. 操作系统将进程作为资源分配和管理的基本单位。
进程的组成

在操作系统中为了感知到进程,从而进行进程的调度与管理,提供了进程的静态描述。静态描述主要包含 进程控制块PCB、要执行的程序段与程序段执行时进行操作的数据集


其中进程控制块包含进程的描述信息、控制信息以及资源信息,有些系统中还有进程调度等待所使用的现场保护区。

  • 描述信息
    • 包含进程名或进程标识号(标识进程唯一性)、用户名或用户标识号(标识进程所属用户,有利于资源共享与保护)、家族关系(描述进程的继承关系)
  • 控制信息
    • 包含进程状态、优先级、程序开始地址、各种计时信息、通信信息
  • 资源管理信息
    • 包含有关存储器的信息、使用输入输出设备的信息、有关文件系统的信息等
  • CPU现场保护结构
    • 用于存储退出执行时的进程

由于PCB中包含有较多的信息,因此一个PCB表汪汪要占据较大的存储空间。在有的系统中,为了减少PCB对内存的占用量,只许PCB中最常用的部分(如CPU现场保护、进程描述、控制线信息)常驻内存,其他部分存放于外存中,将要执行时再与其他数据一起装入内存。

进程的上下文切换

进程的切换过程一般包含3个部分,并涉及到3个进程
1. 保存被切换进程的正文部分
2. 操作系统进程中有关调度和资源分配程序执行,并选取新的进程
3. 将被选中进程的被保存的正文部分从有关存储区中取出,并送至有关寄存器和堆栈中,激活被选中进程执行。

进程上下文切换涉及到系统调度和分配程序与寄存器和堆栈等中的数据流入流出PCB的存储区,这些都较消耗CPU时间。

为了提高上下文切换的效率,在有的计算机中采用多组寄存器技术,即进程上下文切换时,不把被切换进程上下文的正文保留到相关存储区,而直接切换相应的寄存器。
另外,为了进一步提高执行效率,提出了线程的概念。

线程的概念

线程有时又被成为轻量级进程。与进程相同,线程也是CPU调度的一个基本单位。

与进程不同的是,进程是系统中所有资源分配时的基本单位,而线程的改变只代表了CPU执行过程的改变,而没有发生进程所拥有资源的变化,或者说,除了CPU之外,计算机内的软硬件资源的分配与线程无关。线程只能共享它所属进程的资源。也就是说,线程是一个只与内存和寄存器相关的概念,它的内容不会因切换而进入外存。

与进程控制表PCB相似,每个线程也有自己的线程控制表TCB,而TCB中所保存的线程状态信息比PCB表少的多,这些信息主要是相关指针用堆栈和寄存器中的状态数据。

使用线程最大的好处是在有多个任务需要处理器处理时,减少处理器的切换时间;而且线程的创建和结束所需要的系统开销也比进程的创建和结束要小得多。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值