赞了文章2023-03-10
最近在 2021-11-13 更新记录(主要更新内容):[2021-11-13] 补充返回 Promise 对象的情况下,加或不加 async 是有区别的[2021-09-28] await 等待的不是 Promise Like 对象时 ...[2020-06-04] 解释 Promise.resolve()
发布了文章2022-02-21
In this lab you will build a fault-tolerant key/value storage service using your Raft library from lab 2. Your key/value service will be a replicated state machine, consisting of several key/value servers that use Raft for replication. Your key/va...
发布了文章2022-02-18
Raft 对于 Paxos 来说是个相对简单的共识算法,但再怎么简单“Raft 是怎么运行的”也不是三言两语就能搞定的,而且我本来就没想三言两语搞定。所以在看了 Raft 论文 之后,这里有两个网页可以帮助你理解 Raft 是怎么运行的:
发布了文章2022-02-02
You should try everything else, before you try to build a distributed system, because they're not simpler.
发布了文章2022-01-23
这个实验的测试分为两个部分:一是主机和 qemu 运行的 xv6 之间进行 APR 通信;二是 qemu 运行的 xv6 会向谷歌的 DNS server 发送一个查询,收到回复之后会打印输出。我们的实验任务就是在设备驱动侧完成以太网数据帧的处理。
发布了文章2022-01-22
mmap() 和 munmap() 这两个系统调用本身是类 UNIX 系统中才有的,这个实验只是仿照着实现它的一部分文件内存映射的功能(玩具)。具体 mmap() 的作用可以看看 [Linux中的mmap映射 [一]]([链接]),了解真实 Linux 中的 mmap() 作用可以为完成这次实验作一个不错的部分...
发布了文章2022-01-19
在文件系统中的 Crash 可能是由文件系统操作过程中发生了电力故障(突然断电)或内核 Panic 引起的。因为文件系统存储在持久层,Crash 之后不希望重启后我们的持久性数据处于不一致或不正确的状态(例如 inode 指向的 data blocks 是空的;或者在 bitmap block 分配...
发布了文章2022-01-09
前言本篇是关于 MIT 6.S081-2020-Lab8(Lock) 的实现;我并没有在找到“全局最优解”的情况下通过 Buffer cache 的测试;因此在 Exercise 2 我只提供了在找到“全局最优解”的前提下,我的各种代码尝试以及思路;如果内容上发现有什么问题请不要吝啬您的键盘。准备工作要...
发布了文章2021-12-17
这次实验不能像做前三次实验一样吃老本莽过去了,需要提前阅读 xv6 book 的 Scheduling 一章。但还没看过 Interrupts and device drivers 和 Locking 这两章,所以就三章一起看了。准备工作这里就摘抄了一些概念,主要是给自己理解所记录的,方便日后重温。“设备驱动...
发布了文章2021-12-09
前言本篇是关于 MIT 6.S081-2020-Lab6(Copy-on-Write Fork for xv6) 的实现;如果内容上发现有什么问题请不要吝啬您的键盘。准备工作先大概罗列一下实现 cow-fork 所要做的工作清单:修改 uvmcopy() 函数;【√】修改 copyout() 函数,因为它是直接对 pa 进行读写的;...
发布了文章2021-12-03
前言本篇是关于 MIT 6.S081-2020-Lab5 的实现;如果内容上发现有什么问题请不要吝啬您的键盘。Lazy allocation && Lazytests and Usertests这两个练习的内容是紧耦合的,所以就写一块了。Lazy allocation 的想法在之前在做页表实验的最后提到了,所以这次实...
发布了文章2021-11-25
前言本篇是关于 MIT 6.S081-2020-Lab4 的实现;如果内容上发现有什么问题请不要吝啬您的键盘。Backtrace实验指导书上给出了 RISC-V 栈帧布局:基本上只要看懂这幅图就可以过关了: {代码...} Alarm虽然是 hard,但仔细地看清楚并理解要求的话还是能够收掉的。先按照...
发布了文章2021-11-23
前言默认读者已经对三级页表的结构有基本的了解;以下所有的内容都可以在 xv6 book、实验指导书和 xv6 源码中找到原始出处;发现有错误或改进的地方时,请不要吝啬您的键盘。一、准备工作1、内核内存布局左边是 Kernel 的虚拟内存布局,右边是映射过去的物理内存布局...
发布了文章2021-10-07
ELF: Extensible and Linkable Format,is a standard format of excutible file.