Git Product home page Git Product logo

jos_lab_mit_2017's People

Contributors

cromarmot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

jos_lab_mit_2017's Issues

文档结构和内容优化

谢谢熊神的文档和卓神的代码,我这些文档中修复了他们的部分bug,好像也引入了一些新的bug,我还是以做lab过程的小白视角来编写的,尽量具体到包括查文档,代码结构设计,代码实现的操作,(最后一个lab6的文档比较水。)熊神的文档让我这种小白看起来有些吃力,感觉很多代码凭空而降,不知怎样得到。卓神的总结的文档很棒棒哦 建议大家去阅读,以及卓神的代码实现也很棒棒哦,但卓神爸爸没写过程的文档 桑心

可能文档中有我认知错误的部分,还望看到的话请指正,提个issues什么的

文档也是仓促之作

有很多可以从某个lab中提取的部分,比如对不同qemu的管理方法,git分支的设计和使用

内容上有很多边写代码边写文档的,有些再回头看就会“不在语境下”看不懂,也就需要对文档的内容进行修改,相关依赖也需要整理,之前画的代码分析结构图也没有放上来。

感觉有缘再修改这文档吧=。=或者哪位学弟大腿重写一个 和我这样类似的 以小白视角的傻瓜文档。

lab4.md中while(thisticket != lk->own)卡住的原因

最后在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进行优化,每次都从缓存或者主存中读取。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.