二、进程线程

进程的概念

进程

进程是指一个具有一定独立功能的程序在一个数据集合上的一次动态执行过

进程的概念

进程的特点
动态性
并发性
独立性
制约性:因访问共享数据/资源或进程间同步而产生制约
进程与程序的联系
进程是操作系统处于执行状态程序的抽象
程序=文件(静态的可执行文件)
进程=执行中的程序=程序+执行状态
进程与程序的区别
■进程是动态的,程序是静态的
口程序是有序代码的集合
口进程是程序的执行,进程有核心态/用户态

进程控制块

操作系统管理控制进程运行所用的信息集合
操作系统用 PCB 来描述进程的基本情况以及运行变化的过程 PCB 是进程存在的唯一标志每个进程都在操作系统中有一个对应的 PCB
■进程标识信息
■处理机现场保存
■进程控制信息
进程控制信息
调度和状态信息
口调度进程和处理机使用情况
进程间通信信息
进程间通信相关的各种标识存储管理信息
口指向进程映像存储空间数据结构进程所用资源,进程使用的系统资源,如打开文件等有关数据结构连接信息 D 与 PCB 相关的进程队烈状态的变化体现为
进程控制块的组织
■链表同一状态的进程其 PCB 成一链表,多个状不同的链表
■索引表同一状态的进程归入一个索引表(由索引指向 PC 多个状态对应多个不同的索引表

进程状态

进程的生命周期划分
进程创建
进程执行
进程等待
进程抢占
进程唤醒
进程结束

进程创建

引起进程创建的情况
系统初始化时
用户请求创建一个新进程
正在运行的进程执行了创建进程的系统调用
进程执行

进程等待

■进程进入等待(阻塞)的情况:
请求井等待系统服务,无法马上完成
启动某种操作,无法马上完成
需要的数据没有到达
只有进程自身才能知道何时需要等待某种事件的发生

进程抢占

■进程会被抢占的情况
口高优先级进程就绪
口进程执行当前时间用完

进程唤醒

唤醒进程的情况:
被阻塞进程需要的资源可被满足被阻塞进程等待的事件到达
进程只能被别的进程或操作系统唤醒

进程结束

进程结束的情况:
正常退出(自愿的)
错误退出(自愿的)
致命错误(强制性的)
被其他进程所杀(强制性的)

进程切换

三状态进程模型

在这里插入图片描述

挂起进程模型

进程挂起
处在挂起状态的进程映像在磁盘上,目的是减少进程占用内存
■等待挂起状态 Blocked-suspend 进程在外存并等待某事件的出现
■就绪挂起状态(Ready-suspend)进程在外存,但只要进入内存,即可运行
与挂起相关的状态转换
■挂起( Suspend):把一个进程从内存转到外存
口等待到等待挂起没有进程处于就绪状态或程要求更多内存资源
运行到就绪挂起
对抢先式分时系统,当有高优先级等待挂起进程因事件出现而进入就绪挂起
在外存时的状态转换,
等待挂起到就绪挂起当有等待挂起进程因相关事件出现
激活(Activate ) :把一个进程从外存转到内存口就绪挂起到就绪没有就绪进程或挂起就绪进程优先级高于就绪进程
等待挂起到等待当一个进程释放足够内存,并有高优先级等待挂起进程

状态队列
由操作系统来维护一组队列,表示系统中所有进程的当前状态
不同队列表示不同状态就绪队列、各种等待队列
根据进程状态不同,进程 PCB 加入相应队列,进程状态变化时,它所在的 PCB 会从一个队列换到另一个

线程

为什么引入线程

【案例】编写一个 MP3播放软件。核心功能模块有三个:
(1)从 MP3音频文件当中读取数据
(2)对数据进行解压缩
(3)把解压缩后的音频数据播放出来
问题:
1.播放出来的声音能否连贯
2.各个函数之间不是并发执行,影响资源的使用效率
在这里插入图片描述存在的问题:
1.进程之间如何通信,共享数据?
2.系统开销较大:创建进程、进程结束、进程切换

多线程的解决思路
在进程内部增加一类实体,满足以下特性:
(1)实体之间可以并发执行
(2)实体之间共享相同的地址空间
这种实体就是线程(Thread)

线程的概念

线程是进程的一部分,描述指令流执行状态。它是进程中的指令执行流的最小单元,是 CPU 调度的基本单位。

线程的优点:
,一个进程中可以同时存在多个线程各个线程之间可以并发地执行 D 各个线程之间可以共享地址空间和文件等资源
线程与进程的比较
进程是资源分配单位,线程是 CPU 调度単位
进程拥有一个完整的资源平台,而线程只独享指令流执行的必要资源,如寄存器和栈
线程具有就绪、等待和运行三种基本状态和状态间的转换关系
线程能减少并发执行的时间和空间开销
线程的创建时间比进程短
线程的终止时间比进程短
同一进程内的线程切换时间比进程短
由于同一进程的各线程间共享内存和文件资源,可不通过内核进行直接通信

用户线程

线程的三种实现方式
■用户线程:在用户空间实现
■内核线程:在内核中实现

内核线程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值