6、虚幻与真实:程序中的地址如何转换你好,我是LMOS。 从前面的课程我们得知,CPU执行程序、处理数据都要和内存打交道,这个打交道的方式就是内存地址。 读取指令、读写数据都需要首先告诉内存芯片:hi,内存老哥请你把0x10000地址处的数据交给我……hi,内存老哥,我已经计算完成,请...2025-12-07操作系统实战45讲
7、Cache与内存:程序放在哪儿你好,我是LMOS。 在前面的课程里,我们已经知道了CPU是如何执行程序的,也研究了程序的地址空间,这里我们终于到了程序的存放地点——内存。 你知道什么是Cache吗?在你心中,真实的内存又是什么样子呢?今天我们就来重新认识一下Cache和内存,这对...2025-12-07操作系统实战45讲
8、锁:并发操作中,解决数据同步的四种方法你好,我是LMOS。 我们在前面的课程中探索了,开发操作系统要了解的最核心的硬件——CPU、MMU、Cache、内存,知道了它们的工作原理。在程序运行中,它们起到了至关重要的作用。 在开发我们自己的操作系统以前,还不能一开始就把机器跑起来,而是先要弄...2025-12-07操作系统实战45讲
9、瞧一瞧Linux:Linux的自旋锁和信号量如何实现你好,我是LMOS。 上节课,我们学习了解决数据同步问题的思路与方法。Linux作为成熟的操作系统内核,当然也有很多数据同步的机制,它也有原子变量、开启和关闭中断、自旋锁、信号量。 那今天我们就来探讨一下这些机制在Linux中的实现。看看Linux的...2025-12-07操作系统实战45讲
10、设置工作模式与环境(上):建立计算机你好,我是LMOS。 经过前面那么多课程的准备,现在我们距离把我们自己操作系统跑起来,已经是一步之遥了。现在,你是不是很兴奋,很激动?有这些情绪说明你是喜欢这门课程的。 接下来的三节课,我们会一起完成一个壮举,从GRUB老大哥手中接过权柄,让计算机回...2025-12-07操作系统实战45讲
11、设置工作模式与环境(中):建造二级引导器你好,我是LMOS。 上节课,我们建造了属于我们的“计算机”,并且在上面安装好了GRUB。这节课我会带你一起实现二级引导器这个关键组件。 看到这儿你可能会问,GRUB不是已经把我们的操作系统加载到内存中了吗?我们有了GRUB,我们为什么还要实现二级引...2025-12-07操作系统实战45讲