止息'幻想乡

风雪夜归人

在分布式的多副本复制中,一个简单的做法是单主节点+多副本,另一种是多主节点,此时需要处理主节点冲突问题。在无主节点的写入一致性上,经常会用到Quorum机制(类似鸽笼原理),在Raft里面也有类似的机制(joint consensus),用来在多个节点变更的时候达成共识选出master

写起来确实比树家族简单太多了,树家族的并发我不太会整。为什么要费劲左旋右旋去平衡呢,跳表靠概率分布多么简单优雅啊

这个Lab就是补全一个DMA收发的驱动, 不要被Lab标的Hard难度吓到,我感觉这是6.S081这几个Lab最简单的几个Lab之一。写个驱动都不用上板子调试,没啥意思,怎么感觉比当年你电PPT吹水课程微嵌的实验大作业给FPGA的板子写个驱动还水。。。
最后一个Lab放水,愉快的完结撒花。也难怪在2021 fall的lab net不是最后一个。等等,这个Lab还有附加内容,实现一个TCP/UDP协议栈。。。

实现一个用户态线程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有几个地方我很喜欢,最重要的一个就是操作可以组合和自动化。

0%