【操作系统原理-陈渝老师】第七章 进程与线程

目录

0.总览

1.进程描述

1.1 进程的定义

1.2 进程的组成&进程与程序的比较

1.3 进程的特点

1.4 进程控制结构

2.进程管理

2.1 进程的生命期管理

2.2 进程状态模型

2.2.1 进程状态变化模型

2.2.2 进程状态变化图

2.2.3 进程可能的状态变化

2.3 进程挂起

2.3.1 什么是进程挂起

2.3.2 挂起的状态

2.3.3 与挂起相关的状态转化

2.3.4 操作系统如何管理PCB实现进程的调度

3.进程小结

4.线程

4.1 为什么使用线程

4.2 什么是线程

4.3 线程的实现

4.3.1 三种线程的实现方式

4.3.2 用户线程与内核线程的对应关系

4.3.3 用户线程的实现

4.3.4 内核线程的实现

4.3.5 轻量级进程的实现


0.总览

1.进程描述

1.1 进程的定义

1.2 进程的组成&进程与程序的比较

1.3 进程的特点

1.4 进程控制结构

不同功能的操作系统的进程控制块的组织方式可能不一样.
链表适合频繁进程创建结束的操作系统,如果有特殊需求,可以有不同的组织方案.

2.进程管理

2.1 进程的生命期管理

最开始操作系统初始创建第一个进程,叫做init进程,这个进程再负责创建其他新的进程.
什么时候创建新的进程呢?
是用户在向操作系统发出请求之后会创建新的进程.
另外正在运行的进程执行创建进程的系统调用也会创建新的进程.

查看systemd这个程序是干啥的.

有多个就绪进程的时候什么时候选择,如何选择与后面要介绍的调度算法有关.

'

忙等待浪费的是CPU资源.
进程的等待是放弃CPU资源给别的进程使用.
等待也可以称为阻塞,比如说将内容从硬盘中读到内存中,这个过程相对于CPU的执行速度来说很慢,如果
让CPU执行忙等待是很浪费CPU资源的,这时候就需要CPU等待起来,让其他就绪的进程执行,它自身等待操
作系统把文件读到内存中去.
其次,需要和其他进程协同完成某个工作,如果其他进程没有执行,它无法执行的话,这也需要等待.
再次,需要的数据没有到达.

进程由于某种原因不得不等待的话,操作系统将会把进程从运行态变到等待状态,一旦编程等待状态就不会占用CPU了.


课后查询:忙等待与等待之间的关系?

2.2 进程状态模型

2.2.1 进程状态变化模型

2.2.2 进程状态变化图

2.2.3 进程可能的状态变化

不会持续很久,这里只是完成一个PCB的初始化过程.

2.3 进程挂起

2.3.1 什么是进程挂起

2.3.2 挂起的状态

2.3.3 与挂起相关的状态转化

 

2.3.4 操作系统如何管理PCB实现进程的调度

3.进程小结

4.线程

4.1 为什么使用线程

4.2 什么是线程

线程控制段TCB中包含的内容:
1.PC--程序计数器;
2.SP--堆栈
3.State--
4.Regiseters--寄存器信息
...

早期MS-DOS支持单进程;
早期UNIX多进程单线程模式;
现在Windows-NT和Linux支持多进程且在单进程中有多线程的模式.

线程有独立的寄存器和堆栈,独立的堆栈能给线程一个相对独立的控制流.
共享代码段,数据,打开的文件及网络数据等.
线程有自己独占的资源和与其他线程共享的资源.

高性能计算时强调性能,代码相对统一,用线程比较好, 如天气预报,空气动力学的计算等,
也不容易出现错误.
之前的浏览器有些使用的是多线程,现在有的比如说chrome用的是多进程,早期可能注重资源的
节省,现在更注重安全.

为什么同一进程内的线程切换时间比进程短?
与内存管理相关,因为同一进程中的线程有同一个地址空间,有同一个进程的页表,切换的时候
不需要切换内存管理所需要的的页表,所有信息可以重用,但对进程而言,切换进程,需要切换页
表,这个代价是比较大的,许多cache和tlb等硬件信息都会无效,需要重新加载.

4.3 线程的实现

4.3.1 三种线程的实现方式

线程的分类:
用户线程
内核线程
轻量级进程



用户线程操作系统是看不见的,那么用户线程是由谁来管理呢?
是由应用程序的库来管理,有专门的应用线程库来实现用户线程的管理.

内核线程有操作系统自己来管理.

4.3.2 用户线程与内核线程的对应关系

4.3.3 用户线程的实现

4.3.4 内核线程的实现

4.3.5 轻量级进程的实现

有点晕...
Linux中有哪些种类的线程?
晕啥?Linux中既有内核线程也有用户线程啊
不过轻量级进程还需要再研究一下.

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值