yfsCpp11
yfs是一个分布式文件系统
https://github.com/liu-jianhao/yfsCpp11
https://pdos.csail.mit.edu/archive/6.824-2012/labs/index.html
lab1-lab7小结
lab1:实现锁服务器
Q&A
- 锁服务器有什么用?
yfs是一个分布式文件系统,客户端通过网络与服务器通信,那要怎么保证两个客户不会修改同一个文件,
这就需要一个防止资源竞争的机制,即加锁。
在lab1中,我们可以假设每一个时刻只有一个客户,所以暂时不用考虑当一个客户申请的锁是空闲或被别的客户占用的情况。
在后续的实验会继续完善。
-
怎么获得锁?
使用RPC,客户远程调用锁服务器的锁请求RPC handler。 -
怎么实现RPC的最多执行一次语义?
这是lab1第二部分的重点,只要记录哪个客户持有了那个锁,哪个客户还在等待锁。