• 2024-04-01[os]xv6系列学习计划
    选了个劳什子OS课,想着弥补一下本科的时候没写成uCore的遗憾,结果感觉是给自己纯纯找事情做了。开课的时候说是读xv6源码,结果后来发现是上课讲专题,作业读源码,然后写lab(结果还是judge),后来又多了看ostep的作业。只能说每周跟着把ostep重温一遍,同时把xv6的lab写了,然后写点笔记加强记忆
  • 2023-11-04Mit 6.828 lab1 第三部分
    Part3TheKernel利用虚拟内存解决位置依赖问题​ 当您检查上述引导加载器的链接地址和加载地址时,它们完全匹配,但内核的链接地址(由objdump打印)和加载地址之间存在(相当大的)差异。回去检查一下这两个地址,确保你能看到我们在说什么。(链接内核比引导加载器更复杂,所以链接地址和
  • 2023-11-04Mit 6.828 Lab1 第二部分
    Part2TheBootLoader​ 个人电脑的软盘和硬盘被划分为512字节的区域,称为扇区。扇区是磁盘的最小传输粒度:每次读取或写入操作必须有一个或多个扇区大小,并在扇区边界对齐。如果磁盘是可启动的,第一个扇区称为启动扇区,因为这是启动加载程序代码所在的位置。当BIOS发现可引导软
  • 2023-10-111789_MIT 6.828 实验室3:用户环境要求翻译
            全部学习汇总:GreyZhang/g_unix:somebasiclearningaboutunixoperatingsystem.(github.com)简介在这个实验室中,您将实现运行受保护的用户模式环境(即“进程”)所需的基本内核功能。您将增强JOS内核,以设置数据结构来跟踪用户环境,创建单个用户环境,将程序映像加
  • 2023-09-12xv6 进程切换中的锁:MIT6.s081/6.828 lectrue12:Coordination 以及 Lab6 Thread 心得
    引言这节课和上一节xv6进程切换是一个完整的的进程切换专题,上一节主要讨论进程切换过程中的细节,而这一节主要讨论进程切换过程中锁的使用,所以本节的两大关键词就是"Coordination"(协调)和"lostwakeup"Coordination就是有关出让CPU,直到等待的事件发生再恢复执行。人们发明了很
  • 2023-08-23MIT6.s081/6.828 lectrue07:Page faults 以及 Lab5 心得
    本篇博客主要是复习MIT6.s081/6.828lectrue07:Pagefaults以及记录Lab5:COWfork的心得值得一提的是,2020年之前的版本第5个lab是lazyalloction,但是到了2020年之后就换成了难度稍高一点的COWfork,有兴趣的小伙伴可以把lazyalloction也一起做一做~毕竟这些lab
  • 2023-08-20MIT6.s081/6.828 lectrue5/6:System call entry/exit 以及 Lab4 心得
    这篇博客主要复习lecture05:GDBcallingconentions和lecture06:Systemcallentry/exit的内容,外加Lab4:traps的心得前置知识这里的前置知识是指lecture05:GDBcallingconentions的内容,是由TA来上的,是作为lecture06的前置知识,主要讲解了以下三点内容:指令集架构的概念
  • 2023-08-10MIT6.s081/6.828 lectrue2:OS design 以及 Lab2 心得
    这节课主要介绍OS的顶层设计以及OS启动流程和系统调用流程前置知识:要求阅读xv6bookchapter2和xv6源码:kernel/proc.h,kernel/defs.h,kernel/entry.S,kernel/main.c,user/initcode.S,user/init.c,andskimkernel/proc.candkernel/exec.c一、课程内容课程主要
  • 2023-07-18MIT6.s081/6.828 lectrue1:Introduction and examples
    目前课程官网能够查到2020,2021.2022秋季的课程表,但是视频都是2020年录制的那一版简单复习+回顾下自己的OS学习之旅参考资料:官网:https://pdos.csail.mit.edu/6.828/2022/schedule.html视频翻译:https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/教材英文
  • 2023-01-21MIT——6.828:操作系统工程——第3章:实验三:用户环境
    在本实验中,我们将实现运行受保护的用户模式环境(即“进程”)所需的基本内核设施。我们将增强JOS内核,设置数据结构来跟踪用户环境,创建单个用户环境,将程序映像加载到其中,并开始
  • 2023-01-07 MIT——6.828:操作系统工程——第2章:实验二:内存管理
    在本实验中,为操作系统编写内存管理代码,分为三个部分第一部分是物理内存管理,使得内核可以分配内存并稍后释放它。物理内存管理将以4096字节为单位运行,称为pages。这一部
  • 2022-12-28MIT 6.828 Homework: biggers files for xv6
    任务概述在这个作业中,需要增加xv6系统允许的文件大小。当前的xv6文件大小被限制为140扇区(sectors),因为xv6的索引节点(innode)包含了12个“直接的”块(bl
  • 2022-12-27MIT——6.828:操作系统工程——第1章:实验一:启动计算机
    本实验分为三个部分。第一部分:熟悉x86汇编语言、QEMUx86模拟器和PC的开机引导程序。第二部分:检查我们的6.828内核的引导装载程序。第三部分:深入研究了我们的6.
  • 2022-12-16MIT——6.828:操作系统工程——第-1章:环境配置
    MIT——6.828是一门操作系统课程,课程在6.828这里记录一下自己所学的东西,这一章主要介绍环境配置。1.硬件环境VMware15+debian8.x2.编译器工具链编译工具链是一