摘要: 谈谈raft fig8 —— 迷惑的提交条件和选举条件 前言 这篇文章的思路其实在两个月前就已经成型了,但由于实习太累了,一直没来得及写出来。大概一个月前在群里和群友争论fig8的一些问题时,发现很多群友对fig 8是充满了迷惑的。我个人在做lab的时候也对fig 8的问题感到非常头疼,真正大概理解 阅读全文
posted @ 2021-09-17 21:26 KatyuMarisa 阅读(542) 评论(0) 推荐(1) 编辑
摘要: 前言 如果想要对Raft算法的了解更深入一点的话,仅仅做6.824的Lab和读《In Search of an Understandable Consensus Algorithm》这篇论文是不够的。我个人粗略阅读了一下Tikv中关于Raft的实现(https://github.com/tikv/r 阅读全文
posted @ 2021-06-07 15:29 KatyuMarisa 阅读(695) 评论(0) 推荐(0) 编辑
摘要: 前言 刷题刷得头疼,水篇blog。这个BUG是我大约一个月前,在做15445实现lock_manager的时候遇到的一个很恶劣但很愚蠢的BUG,排查 + 摸鱼大概花了我三天的时间,根本原因是我在使用std::unordered_map做并发的时候考虑不周。但由于这个BUG无法在我的本地复现,只能提交 阅读全文
posted @ 2021-02-22 18:44 KatyuMarisa 阅读(3270) 评论(0) 推荐(1) 编辑
摘要: 前言 我本想把上篇中没讲完的剩余层全部在本篇中讲完,但没想到越写越多。日志层的代码不多,其思想和解决问题的手段也不算难以理解,但其背后涉及的原理和思想还是非常值得回味的,因此我打算用一整篇完整的blog来讲解日志层,并对其作出一点扩展。 本篇内容应该也会帮你对事务的拥有一个更好地理解。 聊聊xv6的 阅读全文
posted @ 2021-02-07 16:47 KatyuMarisa 阅读(1278) 评论(1) 推荐(6) 编辑
摘要: 前言 Lab一做一晚上,blog一写能写两天,比做Lab的时间还长( 这篇博文是半夜才写完的,本来打算写完后立刻发出来,但由于今天发现白天发博点击量会高点,就睡了一觉后才发(几十的点击量也是点击量啊T_T).... 我个人计划采用bottom-up的方式,用两篇blog配合源码讲解xv6的文件系统。 阅读全文
posted @ 2021-02-03 11:36 KatyuMarisa 阅读(3222) 评论(5) 推荐(8) 编辑
摘要: 前言 打开自己的blog一看,居然三个月没更新了...回想一下前几个月,开题 + 实验室杂活貌似也没占非常多的时间,还是自己太懈怠了吧,掉线城和文明6真的是时间刹手( 不过好消息是把15445的所有lab都锤完了,最近一个月应该没啥活干。立个flag,这个月更它个10篇blog,把15445的知识点 阅读全文
posted @ 2021-02-02 13:58 KatyuMarisa 阅读(1804) 评论(1) 推荐(3) 编辑
摘要: 前言 我前几天的blog里说Lab5 Copy On Write fork(https://www.cnblogs.com/KatyuMarisaBlog/p/13932190.html 给个赞吧球球大家了),这是我做过的最简单的Lab,今天我把这句话收回,我郑重宣布,Lab6 user-level 阅读全文
posted @ 2020-11-10 23:46 KatyuMarisa 阅读(935) 评论(0) 推荐(1) 编辑
摘要: 前言 这个星期睡眠和精神状态一直比较差,6.824很多论文没时间回顾,15-445的Lab2又耗费了我巨大的精力,实在写不动代码了。只能写点回顾总结之类的东西。我很久之前就想总结一下xv6中关于进程的知识,后来发现这涉及的范围实在是太大了(废话,这在哪本OS教材里都能占完整的一章),而且无论如何组织 阅读全文
posted @ 2020-11-06 01:27 KatyuMarisa 阅读(3240) 评论(2) 推荐(3) 编辑
摘要: 前言 最近绝大多数的空闲时间都拿来锤15-445了,很久没动6.S081。前几天回头看了一下一个月前锤完的Lazy Allocation,自己写的代码几乎都不认识了.......看来总结之类的东西最好还是趁着热乎的时候写啊。 不过15-445的内容实在太多了,我只是为了锤Lab粗略的看了看课件,课件 阅读全文
posted @ 2020-11-05 16:00 KatyuMarisa 阅读(1238) 评论(0) 推荐(1) 编辑
摘要: 前言 Lab Allocator代码量很少,主要是用xv6已经写好的buddy allocator替换掉kallocator。kallocator简单的将内存分为4096bytes(下简称PGSIZE)页面,将空闲页面串接成双向链表。这种方式很简洁,可以很好的应用First Fit算法,且没有用多余 阅读全文
posted @ 2020-10-29 10:26 KatyuMarisa 阅读(1031) 评论(0) 推荐(0) 编辑