00 写在前面
本系列内容主要是对李治军老师的《操作系统》课程的笔记整理。
b站地址:https://www.bilibili.com/video/BV1d4411v7u7?spm_id_from=333.337.search-card.all.click
01 为什么要讲线程?
线程与进程的区别:
02 线程的价值
Create函数让多个线程同时出发
Yield函数让多个线程交替执行
03 碰到}会变成一条汇编指令 ret 弹栈
如何解决:将每个序列分配每一个栈
TCB是一个全局的数据结构
esp是物理寄存器,是CPU里面的寄存器
04 } 与 jmp 204 作用重合
05
malloc申请内存空间
A是程序初始地址
06 线程1卡住了,也不会切换到线程2
线程1卡住了,可以切换到线程2
07 内核级线程 —多核要想发挥其价值,就必须要支持核心级线程
多处理器和多核的区别:多处理器有多个缓存Cache,MMU(内存映射)
并发(同时出发,交替执行)、并行(同时出发,同时执行)
硬件中的P是指核
08
09 进入内核的时候要用到内核栈
什么时候,进入内核,进入内核的唯一方法:中断
CS 就是段基址
10
碰到阻塞,就要进行调度。
next就是找到下一个线程