暂无搜索历史
java.lang.Object是所有类的父类,默认继承,而且java.lang包下的所有类都由编译器自动导入,不需要显示import,因为用的多,提前加载可以...
处理器只能识别机器指令,不能识别汇编指令。汇编语言是直接面向处理器的程序设计语言,并且操作的对象不是数据,而是寄存器、内存。
这个实验探索系统调用是如何通过trap实现的,会涉及到汇编代码和寄存器操作,建议先参考xv6手册以及xv6源码分析--trap机制。
本文讲解如何搭建6.S081的环境,主要涉及到仿真模拟器(qemu)、镜像文件、依赖。Ubuntu20搭建起来比较简单,执行以下命令即可。6.S081环境搭建
第一个Lab是实现几个shell工具,每个工具都是一个可以独立运行的main函数,会调用系统调用,但其本身并不是系统调用。
以固定的速率向桶中加入令牌,达到上限为止。拿到令牌的请求继续往下执行,没拿到令牌的请求则根据具体的拒绝策略来处理。拒绝策略可以类似于线程池一样,例如:进阻塞队列...
一、下载和编译bash git clone --recurse-submodules https://github.com/google/leveldb.git...
sst文件是以key来排序的,L0层的sst文件可能有重叠,而L1--L7层是不会有重叠的。通过bloom filter可以来判断某个sst中是否拥有查找的ke...
事务并发破坏了事务的隔离性,根据破坏的程度分为四大隔离级别,每种级别对于写都是需要加写锁并在事务提交后释放,区别在于读的可见性不一样。
书接上文6.824 raft Lab 2C 持久化与恢复,本文继续往下讲解日志压缩。
前面实现了raft协议,本文实现一个单机键-值数据库,并通过raft建立主从架构,使得能够容错,但是没有分片。
上文6.824 raft Lab 3 kvRaft是实现了一个single raft group的键值数据库,本文实现一个multi-raft-group键值数...
因为,所有线上请求的set、get操作都是在内存中,涉及到磁盘和网络的部分都是由后台线程执行,尽量减少了主线程的开销。单线程只是说对字典空间set、get时是单...
接上文6.824 raft lab 2A、2B,本文只是简单的添加编码和解码的功能,至于持久化是上层提供的接口,并不属于raft核心逻辑。另外,对raft探测进...
正常来说,TCP连接建立后,只要不主动释放,连接会一直存在,所以为了避免无用连接占用资源导致客户端无法建立新连接,就需要保活机制,保活机制在传输层和应用层都有实...
为突破单机的容量和性能瓶颈,现在都采用分布式存储系统,而分布式存储系统就是采用分片扩大容量、多副本提供容错和性能的能力,可以简单、自动地横向扩展。
暂未填写个人简介
暂未填写个人网址