操作系统(王道考研):进程与线程

1、进程的概念、组成以及特征

(1)概念:进程是动态的,是程序的一次执行过程,是CPU分配资源的基本单位

(2)组成:进程控制块(PCB):操作系统对进程进行管理工作所需的信息都存在PCB中。PCB中主要包括:进程描述信息、进程控制和管理信息、资源分配清单、处理机相关信息。
程序段:程序代码(指令序列)。数据段:运行过程中产生的各种数据。

(3)特征:动态性(进程最基本的特征)、并发性、独立性、异步性、结构性

2、进程的状态

(1)三种基本状态:运行态、就绪态、阻塞态
运行态:占有CPU,并且在CPU上运行
就绪态:已经具备运行条件,但是由于没有空闲CPU,暂时不能运行
阻塞态:因等待某一事件而暂时不能运行
(2)创建态和结束态
创建态:进程正在被创建,操作系统为进程分配资源,初始化PCB的相关信息
结束态:进程正在从系统中撤销,操作系统会回收进程拥有的资源,撤销PCB
(3)进程状态之间的转换
在这里插入图片描述

3、进程控制

(1)进程控制主要是用来实现进程的状态转换

(2)通过原语实现进程控制。其中“原语”是一种具有原子性(运行一气呵成,不可中断)的特殊程序。具体的原语实现进程控制的过程都可分为三点:
①、更新PCB中的信息(修改进程状态、保存/恢复运行环境)
②、将PCB插入合适的队列
③、分配/回收资源

4、进程通信

(1)什么是进程通信?
进程通信即进程之间的信息交换,因为各进程之间的内存地址空间相互独立,一个进程不能直接访问另一个进程的地址空间,所以通过进程通信来实现进程之间的信息交换,其中操作系统提供了三种进程通信的方法:
共享存储(要互斥地访问共享空间)、消息传递(消息头、消息体)、管道通信(半双工通信)

5、线程

(1)为什么要引入线程?
可以增加并发度,在传统的进程间进行的并发,需要切换进程的运行环境,引入线程之后,是在同一进程之间进行线程的切换,可以减少并发带来的开销。

(2)线程与进程的区别
线程是处理机调度的基本单位(更准确的来说是内核级线程是处理机调度的基本单位),进程是资源分配的基本单位;

做个简单的比喻:进程=火车,线程=车厢

线程在进程下行进(只有一节车厢,自己是无法运行的)

一个进程可以包含多个线程(一辆火车可以有多节车厢)

不同进程间数据很难共享(一辆火车上的乘客很难换到另外一辆火车)

同一进程下不同线程间数据很易共享(1号车厢换到2号车厢很容易)

进程要比线程消耗更多的计算机资源(采用多列火车相比多节车厢更耗资源)

进程间不会相互影响,一个线程挂掉将导致整个进程挂掉(一列火车不会影响到另外一列火车,但是如果一列火车上中间的一节车厢着火了,将影响到所有车厢)

进程可以拓展到多机,进程最多适合多核(不同火车可以开在多个轨道上,同一火车的车厢不能在行进的不同的轨道上)

进程使用的内存地址可以上锁,即一个线程使用某些共享内存时,其他线程必须等它结束,才能使用这一块内存。(比如火车上的洗手间)-“互斥锁”

进程使用的内存地址可以限定使用量(比如火车上的餐厅,最多只允许多少人进入,如果满了需要在门口等,等有人出来了才能进去)-“信号量

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值