文章分类 -  MIT6.828

麻省理工OS教程
摘要:引用了以下文章中的文字或图片,删除请联系我 https://github.com/Babtsov/jos/blob/master/lab2/README.md https://zhuanlan.zhihu.com/p/165104094 背景知识 通过实验1,我们知道系统的启动流程: 系统启动自动执 阅读全文
posted @ 2024-03-03 00:48 Pril 阅读(46) 评论(0) 推荐(0)
摘要:make qemu 当我们执行make qemu的时候,实际上是在执行GNUMakefile中的 qemu: $(IMAGES) pre-qemu $(QEMU) $(QEMUOPTS) #上面第一行冒号前面的部分,叫做"目标"(target),冒号后面的部分叫做"前置条件"(prerequisit 阅读全文
posted @ 2024-01-14 16:12 Pril 阅读(160) 评论(0) 推荐(0)
摘要:#Classes and Objects ##More on Classes 本结主要讲: Return在方法中的使用 This 关键字 类成员和实例成员 访问控制(类成员) ###Returning a Value from a Method 方法在调用时遇到以下的情况会返回到调用它的代码: 执行 阅读全文
posted @ 2022-05-25 15:18 Pril 阅读(41) 评论(0) 推荐(0)
摘要:Exercise 4 修改 trapentry.S 和 trap.c 并实现Lab 3 中的功能。 trapentry.S 中的宏 TRAPHANDLER 和 TRAPHANDLER_NOEC 和 inc/trap.h 中的 T_* 定义可以帮助我们 我们需要使用那两个宏每个为每个 定义在 inc/ 阅读全文
posted @ 2022-04-29 15:23 Pril 阅读(85) 评论(0) 推荐(0)
摘要:引用:https://www.jianshu.com/p/2f1c2431fefe Part 3: Kernel Address Space 我们用qemu模拟器模拟了运行JOS所需的硬件,这个硬件的cpu拥有32位的地址总线,也就是说JOS的虚拟空间最大可以为为2^32,即4G(429496729 阅读全文
posted @ 2022-04-15 16:10 Pril 阅读(58) 评论(0) 推荐(0)
摘要:引用说明:代码来自hyuuko这位大佬的: https://www.cnblogs.com/zsmumu/p/12729463.html 知识回顾 我们运行JOS的的系统是基于x86结构的,所以寻址需要经过段翻译和页翻译。 段翻译主要是根据段选择子去匹配全局描述符表中的段描述符,根据段描述符可以得到 阅读全文
posted @ 2022-04-15 15:43 Pril 阅读(79) 评论(0) 推荐(0)
摘要:在Lab 2 中,我大概理解了物理内存分页机制,以及物理内存页如何通过页目录页表和虚拟内存建立关系。虽然后面的Exercise 4,5和很多Challenge都没做完...(有空再做?),中间还有个Homework: xv6 system calls也没做... 现在正准备开Lab 3的新坑 隔了3 阅读全文
posted @ 2022-04-15 15:20 Pril 阅读(78) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/qhaaha/article/details/111430350 逻辑地址,线性地址,物理地址 在Lab2 Exercise 2 中,我们提到了这三种地址的关系: 逻辑地址由段选择子和段内偏移组成 线性地址(虚拟地址)是逻辑地址进行段翻译后得到的 物理地址 阅读全文
posted @ 2022-03-23 11:35 Pril 阅读(90) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/bdhmwz/p/4960034.html https://www.cnblogs.com/oasisyang/p/15495908.html https://zhuanlan.zhihu.com/p/188757141 https://blog.cs 阅读全文
posted @ 2021-12-29 14:18 Pril 阅读(274) 评论(0) 推荐(0)
摘要:Lab 2 Introduction 在本实验中,您将为您的操作系统编写内存管理代码。内存管理有两个组件。 第一个组件是内核的物理内存分配器,这样内核可以分配内存,然后释放它。你的分配器将以4096字节(称为页)为单位进行操作。您的任务将是维护数据结构,这些数据结构记录了哪些物理页面是空闲的,哪些被 阅读全文
posted @ 2021-12-23 16:52 Pril 阅读(74) 评论(0) 推荐(0)
摘要:本篇文章未经同意引用或参考了以下连接的内容,需要删除请私信我 https://blog.csdn.net/weixin_41761478/article/details/101102354 Exercise 9 确定内核初始化其堆栈的位置,以及堆栈在内存中的确切位置。内核如何为其堆栈预留空间?堆栈指 阅读全文
posted @ 2021-12-20 16:35 Pril 阅读(144) 评论(0) 推荐(0)
摘要:本篇文章未经同意引用或参考了以下连接的内容,需要删除请私信我 https://github.com/fatsheep9146/6.828mit/blob/master/lab/lib/printfmt.c https://www.cnblogs.com/oasisyang/p/15365482.ht 阅读全文
posted @ 2021-12-16 16:08 Pril 阅读(80) 评论(0) 推荐(0)
摘要:前置知识 GDB调试命令见:https://blog.csdn.net/leikezhu1981/article/details/44831999 Exercise1 不幸的是,本书中的例子是为NASM汇编程序编写的,而我们将使用GNU汇编程序。NASM使用所谓的Intel语法,而GNU使用AT&T 阅读全文
posted @ 2021-11-06 17:30 Pril 阅读(152) 评论(0) 推荐(0)
摘要:MIT6.828是麻省理工的一个操作系统课程,强调在实践中学习操作系统,亦即是learning by doing。 该博客不是教程,写这个博客的原因是为了对MIT6.828的学习过程进行一个记录。 阅读全文
posted @ 2021-08-18 14:11 Pril 阅读(584) 评论(0) 推荐(0)