yexiaorain / jos_lab_mit_2017 Goto Github PK
View Code? Open in Web Editor NEW代码MIT 2016-2017年JOS LAB(6/6) 过程记录文档为SJTU+MIT
代码MIT 2016-2017年JOS LAB(6/6) 过程记录文档为SJTU+MIT
谢谢熊神的文档和卓神的代码,我这些文档中修复了他们的部分bug,好像也引入了一些新的bug,我还是以做lab过程的小白视角来编写的,尽量具体到包括查文档,代码结构设计,代码实现的操作,(最后一个lab6的文档比较水。)熊神的文档让我这种小白看起来有些吃力,感觉很多代码凭空而降,不知怎样得到。卓神的总结的文档很棒棒哦 建议大家去阅读,以及卓神的代码实现也很棒棒哦,但卓神爸爸没写过程的文档 桑心
可能文档中有我认知错误的部分,还望看到的话请指正,提个issues什么的
文档也是仓促之作
有很多可以从某个lab中提取的部分,比如对不同qemu的管理方法,git分支的设计和使用
内容上有很多边写代码边写文档的,有些再回头看就会“不在语境下”看不懂,也就需要对文档的内容进行修改,相关依赖也需要整理,之前画的代码分析结构图也没有放上来。
感觉有缘再修改这文档吧=。=或者哪位学弟大腿重写一个 和我这样类似的 以小白视角的傻瓜文档。
最后在kern/spinlock.h中去掉#define USE_TICKET_SPIN_LOCK的注释 再make qemu-nox CPUS=4 然后卡住了:crying_cat_face:????
试了半天把申请锁的lk->own改为 atomic_return_and_add(&(lk->own), 0)然后可以运行:crying_cat_face:!!?? lk->own竟然不够原子,通过make grade CPUS=4得到输出
这里可能是因为编译器优化把lk->own这个变量放到寄存器里面了,因此当前线程看不到其它线程的对这个变量的修改,除了上面FAA的解决方法外,另外一个解决办法是在声明own变量的时候加上volatile关键字,告诉编译器不要对own进行优化,每次都从缓存或者主存中读取。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.