【学习笔记】计算机操作系统之进程(三)

进程的描述

1、进程概念(三种典型定义):

  1. 程序执行一次的过程
  2. 程序和数据在处理机上顺序执行一次的过程
  3. 具有独立功能的程序在数据集合上运行一次的过程,他是系统调度和资源资源分配的一个独立单位。

2、进程的组成:PCB+代码段+数据段。PCB有进程的描述信息(PID, UID),进程控制管理信息(优先级、当前状态),资源分配信息(键盘、鼠标、打印机、程序段指针、数据段指针),处理机信息(各种寄存器的值)

3、进程的组织方式:链式、索引两种方式。区别:就绪指针、阻塞指针直接指向队列还以一个索引表,经过索引表再指向队列。

 进程转态及转化

1、进程的三种基本状态:

  1. 就绪态:占有资源,没有得到处理器,万事俱备,只欠CPU
  2. 运行态:占有资源和处理器,进程处于运行转态。一个单核CPU,同一时间段只有一个进程处于运行态。
  3. 阻塞态:  因等待某一资源或时间的发生而暂时不能运行。既没有资源,也没有CPU。

2、另外两种状态:

  1. 创建态:创建PCB,分配资源。
  2. 终止态:撤销PCB,回收资源。

3、进程五状态转换图

 

 

进程控制

进程控制图

 

1、进程控制:系统对进程进行有效的管理,具有创建进程,进程状态转换,进程撤销的功能。

2、如何实现进程控制?原语。即原子操作,执行期间不能中断,只能一气呵成。如何实现原语?开指令,关指令。

3、原语在进程转换过程中,做了什么?

     1.更新PCB中的信息(如修改进程状态标志、将运行环境保存到PCB、从PCB恢复运行环境)

a.所有的进程控制原语一定都会修改进程状态标志

b.剥夺当前运行进程的CPU使用权必然需要保存其运行环境

c.某进程开始运行前必然要恢复期运行环境

     2.将PCB插入 合适的队列

     3.分配/回收资源

进程同步

 

进程通信

1、共享存储:基于数据结构的共享(低级,如一次只能读取一个长度为10的数组), 基于存储区的共享(高级)

2、管道通信:一个管道队列,两个进程一个满的时候读,一个空的时候写,互斥访问,所以半双工通信。两个队列就全双工

3、消息传递:直接通信,直接放到对方的缓冲队列,间接通信:放到信箱里,对方需要的时候从信箱取。

线程

1、定义:可以把线程理解为“轻量级进程。线程是一个基本的CPU执行单元,也是程序执行流的最小单位。引入线程之后,不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度。
注:引入线程后,进程只作为除CPU之外的系统资源的分配单元(如打印机、内存地址空间等都是分配给进程的)。(内核)线程则作为处理机的分配单元。

2、线程引入所带来的变化?

  1. 资源分配:之前进程是cpu调度、系统资源分配的基本单位,现在线程是cpu调度的基本单位,进程是资源分配的基本单位
  2. 并发性:进程间可以并发,同时,进程内的线程也可以并发,并发性大大提高。
  3. 系统消耗:进程切换,系统消耗大,线程切换,消耗小。qq调动摄像头,摄像头被占用,阻塞整个QQ和阻塞摄像头线程的区别。

3、线程的属性:

  1. 线程是处理机调度的单位
  2. 多CPU计算机中,各个线程可占用不同的CPU
  3. 每个线程都有一个线程ID、 线程控制块(TCB)
  4. 线程也有就绪、阻塞、运行三种基本状态
  5. 线程几乎不拥有系统资源
  6. 同一进程的不同线程间共享进程的资源
  7. 由于共享内存地址空间,同一进程中的线程间通信甚至无需系统干预
  8. 同一进程中的线程切换,不会引起进程切换
  9. 不同进程中的线程切换,会引起进程切换
  10. 切换同进程内的线程,系统开销很小
  11. 切换进程,系统开销较大

4、线程的实现方式

用户级线程:用户级线程由程序线程库实现,所有的线程管理有应用程序负责管理。在用户态下面运行。

内核级线程:内核级线程的管理工作由操作系统内核完成。线程调度、切换等工作都由内核负责,因此内核级线程的切换必然需要在核心态下才能完成。

5、三种多线程模型

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值