1. 多进程是操作系统的基本图像

操作系统-用户级线程 Linux 第1张

2. 是否可以资源不动而切换指令序列

两个函数共享同一份数据的时候,可以用线程来运行它们,想java里面的多线程就行

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

把进程的切换分成两个部分,一个是指令的切换,一个是映射表(内存)的切换,现在只需知道指令的切换,也就是线程的切换

操作系统-用户级线程 Linux 第2张

3. 切换线程是否实用?

操作系统-用户级线程 Linux 第3张

4. 如何实现(重点)

操作系统-用户级线程 Linux 第4张

主要靠Yield来实现切换
其作用是当前线程“放弃”执行,让操作系统调度另一线程继续执行

操作系统-用户级线程 Linux 第5张

重点

用户级线程需要我们自己安排线程之间的切换

操作系统-用户级线程 Linux 第6张

每个线程都要有自己独有的栈,即线程栈

根据TCB(进程控制块)来进行切换栈

操作系统-用户级线程 Linux 第7张

Create:

操作系统-用户级线程 Linux 第8张

5. 将所有的东西组合在一起

操作系统-用户级线程 Linux 第9张

6. 为什么说用户级线程---Yield是用户程序

操作系统-用户级线程 Linux 第10张

7. 核心级线程

操作系统-用户级线程 Linux 第11张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄