Quorum机制和边界问题
在分布式的多副本复制中,一个简单的做法是单主节点+多副本,另一种是多主节点,此时需要处理主节点冲突问题。在无主节点的写入一致性上,经常会用到Quorum机制(类似鸽笼原理),在Raft里面也有类似的机制(joint consensus),用来在多个节点变更的时候达成共识选出master
在分布式的多副本复制中,一个简单的做法是单主节点+多副本,另一种是多主节点,此时需要处理主节点冲突问题。在无主节点的写入一致性上,经常会用到Quorum机制(类似鸽笼原理),在Raft里面也有类似的机制(joint consensus),用来在多个节点变更的时候达成共识选出master
写习惯了go之后c/cpp水平直线下滑,每三行都有一行忘了加分号。麻了,全靠clang-tidy和报错clang报错救我狗命
这个Lab就是补全一个DMA收发的驱动, 不要被Lab标的Hard难度吓到,我感觉这是6.S081这几个Lab最简单的几个Lab之一。写个驱动都不用上板子调试,没啥意思,怎么感觉比当年你电PPT吹水课程微嵌的实验大作业给FPGA的板子写个驱动还水。。。
最后一个Lab放水,愉快的完结撒花。也难怪在2021 fall的lab net不是最后一个。等等,这个Lab还有附加内容,实现一个TCP/UDP协议栈。。。
好端端一个Docker container,怎么就内存占用过高被kill了呢
实现一个用户态线程uthread,就照着xv6的内核态线程抄呗。怎么什么FUSE啊、UIO啊,什么东西都想往用户态搬啊,连RCU都有人想往用户态搬。
COW实现起来好多小坑啊(更新了一点页表相关的笔记,当时做页表那个Lab的时候xv6页表相关的源码研究的不仔细, 把页表和进程那一堆东西好好看一遍这个Lab就好做了)
鸽了有点日子的6.S081的filesystem笔记,主要是看到ZFS和Btrfs之类的现代文件系统,再看看自己做的Lab,感觉跟幼儿园哄小孩玩的一样
不过,如果你只是一个路过的普通用户,懂的越少越幸福。在我接触Btrfs之前,我根本没担心过我电脑的文件系统。
THERE POWER LEADS ONLY TO RUIN.
又研究了一下linux的启动流程,然后换成systemd-boot了。原先好看的grub主题就不要了,但是systemd-boot它启动快啊,grub好臃肿
清明节闲着没事写点Vim的东西。我对Vim有诸多怨念,不过Vim有几个地方我很喜欢,最重要的一个就是操作可以组合和自动化。