xv6操作系统运行出现cpu卡死的解决方法

   日期:2020-05-21     浏览:107    评论:0    
核心提示:xv6操作系统bug:cpu运行卡死解决方案在xv6中出现了下图的bug,然后就cpu运行卡死了。对此,我总结了三条解决方案,希望以下建议可以帮到大家。如果有别的bug解决方法,可以上传上来,我及时更新,争取统一帮到更多的人。解决办法:我总结了三条,大家可以尝试。系统调用syscall.c中带有参数了,没有按照要求写void,对于带有参数的系统调用创建,可以按照我的另一篇博客。在操作系统分栏里面就可以找到。第二个解决办法,也是我真实遇到的。看上述图片的左半图片,wakeup1中添加的change操作系统

xv6操作系统bug:cpu运行卡死解决方案
在xv6中出现了下图的bug,然后就cpu运行卡死了。对此,我总结了三条解决方案,希望以下建议可以帮到大家。如果有别的bug解决方法,可以上传上来,我及时更新,争取统一帮到更多的人。

解决办法:

我总结了三条,大家可以尝试。

  1. 系统调用syscall.c中带有参数了,没有按照要求写void,对于带有参数的系统调用创建,可以按照我的另一篇博客。在操作系统分栏里面就可以找到。
  2. 第二个解决办法,也是我真实遇到的。看上述图片的左半图片,wakeup1中添加的changestate函数,先不在意他的功能啥的,主要是我添加的时候和原来的if下面的语句并列了,但是却忘记了添加{}讲他俩括起来,所以导致系统运行的时候内部调用出现bug,导致cpu卡死。加一个大括号,将这两个语句括到一起就可以了。
  3. makefile中有一条ifndef cpus下面那行设置成=1 默认的是=2

建议

对于操作系统的bug,真的是头痛。我总结的一个小办法就是把自己添加的函数一个一个的注释掉,然后再一个一个的加上去运行,这样就可以发现到底是哪个函数出现了bug,或者哪个过程出现了bug。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服