• OS-Shell Challenge

    Shell Challenge 任务文档 实现不带 .b 后缀指令 你需要实现不带 .b 后缀的指令,但仍需兼容带有 .b 后缀的指令,如 ls 与 ls.b 都应能够正确列出当前目录下的文件。 在 /home/git/22371236/user/lib/spawn.c 的 spawn 函数中,对程序路径进行特判,若其不含有 .b 后缀,则进行添加,实现兼容。同时,为避免修改到后面的参数...
  • OS-Lab2

    Lab2 实验报告 思考题 Thinking 2.1 Thinking 2.1 请根据上述说明,回答问题: 在编写的 C 程序中,指针变量中存储的地址被视为虚拟地址,还是物理地址? MIPS 汇编程序中 lw 和 sw 指令使用的地址被视为虚拟地址,还是物理地址? 均为虚拟地址。 Thinking 2.2 Thinking 2.2 请思考下述两个问题: 从可重用性的角度,阐述用宏来实现...
  • OS-Lab4

    Lab4_实验报告_00 Lab4_实验报告_01 Lab4_实验报告_02 Lab4_实验报告_03 Lab4_实验报告_04
  • OS-Lab3

    Lab3 实验报告 思考题 Thinking 3.1 请结合 MOS 中的页目录自映射应用解释代码中 e-> env_pgdir [PDX(UVPT)] = PADDR(e-> env_pgdir) | PTE_V 的含义。 UVPT(user virtual page table):用户页表起始处的内核虚拟地址 PDX(UVPT):UVPT 的页目录号 PADDR(e-&g...
  • OS-Lab5

    Lab5_实验报告_00 Lab5_实验报告_01 Lab5_实验报告_02 Lab5_实验报告_03 Lab5_实验报告_04 Lab5_实验报告_05
  • OS-Lab6

    Lab6_实验报告_00 Lab6_实验报告_01 Lab6_实验报告_02 Lab6_实验报告_03 Lab6_实验报告_04 Lab6_实验报告_05 Lab6_实验报告_06 Lab6_实验报告_07
  • OS-Lab0

    Lab0 实验报告 思考题 Thinking 0.1 执行命令 cat Modified.txt,观察其结果和第一次执行 add 命令之前的 status 是否一样,并思考原因。 第一次执行 add 命令之前 修改 README.txt 之后 不一样。 第一次执行 add 命令之前,README.txt 属于未跟踪的文件。 修改 README.txt 之后,README.txt 属于已跟...
  • OS-Lab1

    Lab1 实验报告 Thinking Thinking 1.1 请阅读 附录中的编译链接详解,尝试分别使用实验环境中的原生 x86 工具链(gcc、 ld、 readelf、 objdump 等)和 MIPS 交叉编译工具链(带有 mips-linux-gnu-前缀),重复其中的编译和解析过程,观察相应的结果,并解释其中向 objdump 传入的参数的含义。 创建 C 源文件 {.lin...
  • 电梯调度

    BUAA 2024 OO Unit 2 Unit 2 概览 第二单元的核心内容是 多线程程序设计,以 电梯调度 问题为核心任务。即给定具有特定参数(容量、开关门时间、运行速度等)的六部电梯,不定时输入乘客(纸片人,被动接受电梯调度)请求和电梯重置请求(修改参数,单轿厢变双轿厢),要求在规定时间内将乘客正确送达,并通过输出时间戳的方式检验调度是否合乎逻辑。 指导书自取 Hw 5 第一次作业中,...
  • 社交网络

    BUAA OO Unit 3 Unit 3 概览 第三单元的核心内容是 JML(java modeling language)规格的理解与运用,以 社交网络 的模拟为核心任务。 为什么要引入 JML 规格 我们知道,要理解一个函数的作用,最有效的方法就是直接 读源码 ,可以帮助我们直入函数的底层逻辑,了解它的来龙去脉;但是这样的效率十分低下,而且我相信对于程序员来说阅读别人的代码一定是一件令...