Mobile wallpaper 1Mobile wallpaper 2Mobile wallpaper 3Mobile wallpaper 4Mobile wallpaper 5Mobile wallpaper 6Mobile wallpaper 7Mobile wallpaper 8
483 字
2 分钟
[自用]操作系统初步:并发性
2026-03-07
2026-03-07

存个档
内容来源于opencamp的公开课程。
缓存一致性:让核心知道内存的更新(同一个簇,不同簇开销的区别)因此出现了可见域的概念

可见域Inner(簇内)/Outer(包括其他核心)/全局,需要手动塞入指令

MESI协议在这里插入图片描述

原子操作:

有些操作是原子的,要么都成要么都不成,是很多锁的基石

一般都是有标准库的,但是有些不能很好的支持原子操作,要么第三方库要么自己搓
×86下的原子操作,主要是因为它是个复杂指令集,针对这些东西它都有实现,依赖于一个所谓的 lock 的这个操作,它直接调用一个 compare exchange,它就实现了我下面示例的这个 CAS的一个操作嘛。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

多核内核处理:percpu机制:划分好一个区域给某个CPU专门用的以及各种锁,无锁机制。

1.自组织自管理性:(内存依赖自己)

启动需要内存分配器,但是构造内存分配器也需要内存。

解决方法:自举,先给定一块静态内存,构造早期的内存分配器然后构造,最后迁移过去。

先要申请一个页面,管理页面的页表也需要页面:一开始写死页表

2.框架性:(对于成熟的OS内核而言)

内核设计:用户和驱动开发者,需要良好的框架(Linux)鲁棒性

防御性:防用户,用户不可靠,可能传入不可靠的syscall参数,考虑策略之外的攻击

防自己:写bug很正常,需要做好基本的检查,注意好错误处理,能够传递出log信息

[自用]操作系统初步:并发性
https://blog.csdn.net/2501_93882415/article/details/158768196
作者
Mem0rin
发布于
2026-03-07
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时