Skip to content

西北工业大学 操作系统实验 基于2022修订版实验手册

Notifications You must be signed in to change notification settings

heorion/npu-nwpu-oslab-geekos-project0-4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

npu-nwpu-oslab-geekos-project0-4


西北工业大学 操作系统实验 基于2022修订版实验手册 若后续实验再次修订,则无法直接使用,请关注时效性


声明: 本仓库中的所有代码均不是本人编写,为本人在完成实验后,整理从各处搜罗到的项目文件,方便找到这个仓库的你直接使用,不用再四处翻找。

由于本人拿到这些项目文件时,已经经过多次转手,最初的作者已经无法考证, 在此致谢自己完成实验并愿意分享代码的前辈


我并不鼓励直接搬代码的行为, 但是这个实验的设计实在是大奋中的大奋, 原本geekos是MIT的教授弄出来未来让学生进一步了解操作系统的实现的,其原本实验设计包含了完整的引导教学。

我们的课程设计弃其精华取其糟粕,上课把实验手册和实验环境发给大家,然后告诉大家照着手册去完成实验吧,下课前要验收。一句都不讲,好家伙这玩意儿几千行的代码指望学生用四节课靠自己看懂并完善? 实验手册里充斥着长篇大论的代码, 却没几句解释, 完全不得要领。 在这种情况下,为了学分,抄一下作业倒也无可厚非了


project0-4为完成后的代码文件,已生成对应的虚拟机文件,可直接复制到实验环境中,并使用bochs -f bochsrc运行虚拟机

  • project0 内容为从磁盘加载操作系统,并打印指定的字符串。然后自己设计线程程序并加载运行(仓库中的代码为设计自定义线程程序后的结果)

  • project1 内容为解析ELF文件,验收需求能够打印三条指定字符串

  • project2 内容为加载用户态进程,启动一个shell。 验收需求在shell中依次执行以下指令:


pid
b 1 2 3
long
exit

  • project3 内容为实现进程调度算法, 实现信号量

分两阶段验收 第一阶段(进程调度)需要在shell中依次执行以下指令:


workload rr 1
workload rr 100
workload mlf 1
workload mlf 100

第二阶段(信号量)需要在shell中依次执行以下指令:


semtest
semtest1
semtest2

  • project4 内容为实现分页内存管理,虚拟内存

验收需求在shell中依次执行以下指令:


rec 4
rec

最后分享一下 使用AI在20分钟内拉出一坨实验报告的小寄巧

我知道能翻出来这个仓库的你,大概率不会自己完成实验,也基本看不懂这实验到底干了什么,没关系,这里教你如何快速生产看起来像实验报告的答辩,感谢赛博义父ChatGPT

  1. 实验过程部分,将你执行结果的截图扔给AI,然后将测试程序的代码也扔给AI(位于/project/src/user,和你执行的指令同名的那个C文件), 把截图贴到报告上再把AI生成的分析贴到截图下面

  2. 实验分析部分,把实验手册对应章节的前言部分扔给AI,生成一下这个实验都干了什么。再让AI生成这个实验所需要的相关知识, 挑几个合适的放进报告。然后翻一下实验手册的项目实现部分,在那里找几个你看着顺眼的函数,然后去项目的源码(/project/src/user/geekos)里面找到同名函数的源代码,把它扔给AI让他分析一下,将这段源码和AI的分析同时放进报告,作为关键函数的代码实现,多弄几个函数冲冲报告长度。

  3. 实验遇到的问题部分, 使用下面的提示词生成若干问题

假设你是一个学生,你完成了这个实验,你在完善这些关键函数的过程中遇到了某些问题,这些问题可能(这里自己填充为您希望AI生成的 问题描述)等等, 请编写若干可能出现的问题, 详细描述出现问题时的状况,问题的分析及其解决方案。 重点描述出现问题时的程序状态,使用更丰富的语言。使用如下的格式给出,不要添加其他的序号,不进行字体加粗,不进行非必要的缩进 问题描述: 问题分析: 解决方案:

好了,挑几个你看着顺眼的粘上去吧

  1. 实验总结部分,先把课后题扔给AI,生成一个答案,然后把题目和答案全放进来, 最后使用以下提示词生成一段实验收获

你是完成了这个实验的学生, 你在完成实验后感到收获颇丰, 你希望将在实验中学到的知识分享出来, 你会使用尽可能丰富且严谨的语言来描述你的收获。 基于对当前实验的讨论内容生成一份实验收获, 使用连贯的若干段话描述, 不添加非必要的序号和缩进

到此为止,你应该已经收获了一坨5000多字的答辩了, 接下来就把它交给老师品味吧。

About

西北工业大学 操作系统实验 基于2022修订版实验手册

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published