9、瞧一瞧Linux:Linux的自旋锁和信号量如何实现你好,我是LMOS。 上节课,我们学习了解决数据同步问题的思路与方法。Linux作为成熟的操作系统内核,当然也有很多数据同步的机制,它也有原子变量、开启和关闭中断、自旋锁、信号量。 那今天我们就来探讨一下这些机制在Linux中的实现。看看Linux的...2025-12-07
8、锁:并发操作中,解决数据同步的四种方法你好,我是LMOS。 我们在前面的课程中探索了,开发操作系统要了解的最核心的硬件——CPU、MMU、Cache、内存,知道了它们的工作原理。在程序运行中,它们起到了至关重要的作用。 在开发我们自己的操作系统以前,还不能一开始就把机器跑起来,而是先要弄...2025-12-07
7、Cache与内存:程序放在哪儿你好,我是LMOS。 在前面的课程里,我们已经知道了CPU是如何执行程序的,也研究了程序的地址空间,这里我们终于到了程序的存放地点——内存。 你知道什么是Cache吗?在你心中,真实的内存又是什么样子呢?今天我们就来重新认识一下Cache和内存,这对...2025-12-07
6、虚幻与真实:程序中的地址如何转换你好,我是LMOS。 从前面的课程我们得知,CPU执行程序、处理数据都要和内存打交道,这个打交道的方式就是内存地址。 读取指令、读写数据都需要首先告诉内存芯片:hi,内存老哥请你把0x10000地址处的数据交给我……hi,内存老哥,我已经计算完成,请...2025-12-07
5、CPU工作模式:执行程序的三种模式你好,我是LMOS。 我们在前面已经设计了我们的OS架构,你也许正在考虑怎么写代码实现它。恕我直言,现在我们还有很多东西没搞清楚。 由于OS内核直接运行在硬件之上,所以我们要对运行我们代码的硬件平台有一定的了解。接下来,我会通过三节课,带你搞懂硬件平...2025-12-07