lab2b mit6 lab2 raft

MIT6.828 Lab1-1(分析boot.S文件)

layout: ../../layouts/MarkdownPostLayout.astro title: 'MIT6.828 Lab1-1(分析boot.S文件)' pubDate: 2024-01-10 description: 'something about 6.828' author: ' ......
文件 MIT6 Lab1 boot MIT

mit6.828 - lab5笔记(上)

文件系统结构 unix的文件系统相关知识 unix将可用的磁盘空间划分为两种主要类型的区域:inode区域和数据区域。 unix为每个文件分配一个inode,其中保存文件的关键元数据,如文件的stat属性和指向文件数据块的指针。 数据区域中的空间会被分成大小相同的数据块(就像内存管理中的分页)。数据 ......
笔记 mit6 lab5 mit 828

XV6 lab2 增加系统调用

在本lab实验中,需要实现两个系统调用,分别为trace和sysinfo。 系统调用trace主要用于debug其他程序所执行的系统调用。打开trace,并通过mask设置需要观察的系统调用内容。在后续命令执行的时候,即可打印相关系统调用和其返回值。 系统调用sysinfo则用于统计空闲内存个数,以 ......
系统 lab2 XV6 lab XV

MIT6.828官方配置单

/*在网络安全技术领域中各种加密算法的软件实现始终有一个共同话题是如何在普通的PC机上实现大数运算。普通的PC机内部字长最多时32位或64位,但各种加密算法中为了达到一定安全强度,都要求在128位、512位或1024位字长下进行加减乘除等数学运算,这叫做“大数运算”。在此前提下,如何在普通的PC机上 ......
配置单 官方 MIT6 MIT 828

MIT6.828 Lab1环境搭建

layout: ../../layouts/MarkdownPostLayout.astro title: 'MIT6.828 Lab1环境搭建' pubDate: 2024-01-01 description: 'something about 6.828' author: 'liyishui' ......
环境 MIT6 Lab1 MIT 828

pysyncobj源码剖析和raft协议理解

什么是PySyncObj 源代码地址:https://github.com/bakwc/PySyncObj PySyncObj是一个python库,可以辅助去搭建一个可容错的分布式系统,通过复制备份你的应用数据在多个服务器上来达到。 实现的功能:基于raft协议的leader选举和日志复制;日志的压 ......
pysyncobj 源码 raft

MIT 6.824 raft01

Raft - 分布式共识算法 为什么要这么设计? 横向分布式,同一个模块内部为了提高系统的吞吐量而采用的多节点。 优点: 1.数据备份, 2.负载均衡 CAP理论 一致性consistency:数据强一致,读写一致。 可用性availabilty:响应快。 分区容错性partition tolera ......
6.824 raft MIT 824 01

实现 Raft 协议

文章地址 简介 Raft 是一个分布式共识算法,用于保证所有机器对一件事达成一个看法。本文用于记录实现 Raft 选举和日志复制的代码细节。 选举 节点启动时首先是跟随者状态,如果到达选举超时时间就尝试选举,为了预防对称网络分区带来的任期不断增加问题,需要使用预投票机制。 选举超时时间:跟随者在这段 ......
Raft

基于Raft算法的DLedger-Library分析

在分布式系统应用中,高可用、一致性是经常面临的问题,针对不同的应用场景,我们会选择不同的架构方式,比如master-slave、基于ZooKeeper选主。随着时间的推移,出现了基于Raft算法自动选主的方式,Raft是在Paxos的基础上,做了一些简化和限制,比如增加了日志必须是连续的,只支持领导... ......
DLedger-Library 算法 DLedger Library Raft

MIT6.824 笔记:Lab2 Raft

MIT6.824 笔记:Lab2 Raft 环境配置 goland 环境配置 同级目录下其他包无法引用,需要修改相关参数 ......
笔记 MIT6 Lab2 Raft MIT

Mit6.828 Lab2

lab2 ​ 提交lab1代码的时候,出现了合并冲突的问题,使用git status,发现问题出现在init.c文件与lab分支的文件产生冲突,修改后成功提交。 ​ lab2中多出来了以下几个文件 inc/memlayout.h kern/pmap.c kern/pmap.h kern/kclock ......
Mit6 Lab2 Mit 828 Lab

mit6.828 - lab3笔记

lab3主要内容是 完成进程管理的初始化 完成中断管理的初始化 完成pagefault的中断处理 PartA 初始化envs,内存映射数组,类似内存管理的pages 在 mem_init中预留 envs 的位置,并映射 初始化 envs 数组的内容 完成 env创建功能,涉及 加载用户代码 load ......
笔记 mit6 lab3 mit 828

mit6.828 - lab3练习笔记

Part A Exercise 1 练习 1. 修改 `kern/pmap.c` 中的 `mem_init()` ,分配并映射 `envs` 数组。该数组由 `Env` 结构的 `NENV` 实例组成,分配方式与分配页面数组类似。与页面数组一样,支持 `envs` 的内存也应在 `UENVS`(定义 ......
笔记 mit6 lab3 mit 828

算法【Raft 投票】

一、简介 Raft算法属于典型的多数派选主算法,谁获得的票数最多,谁就可以成为主节点。 二、说明 Raft算法选主中集群各个节点的角色有3种: Leader:主节点,同一时刻只有一个Leader节点,负责整个集群的节点间的协调和管理。 Candidate: 候选节点,只有角色为候选者的节点才可以被选 ......
算法 Raft

从CAP理论到Raft算法

什么是分布式系统 分布式系统是支持分布式处理的软件系统,是由通信网络互联的多处理机体系结构上执行任务的系统。 一个业务拆分为多个子业务,落地成不同的服务,将各个服务部署在不同的容器上。各个服务之间通过某种协议通信交互。 好处是有更好的可靠性,可扩展性,但也带来了一致性问题。所以碰到分布式系统,主要就 ......
算法 理论 Raft CAP

Lab2:数据组织基础方法及创新应用(创新)

1.数组指针 定义 int (*)[ ]数组指向二维 int 数组 定义 int 指针指向二维数组的第一个元素 指针的写法较多,从我个人的尝试中选择几种写法分析。 代码1: #include<bits/stdc++.h> using namespace std; int* p[12]; //数组的每 ......
基础 方法 数据 Lab2 Lab

分布式一致性算法Raft

raft算法之所以容易理解,其一是他将一致性问题划分成几个子问题,这几个子问题都是独立、可理解和解释的。从传统的思维来讲,对于一个复杂的系统或者工程,都是大化小,分解实现,然后去尝试融合解决整体逻辑。 一、Raft详解 Raft算法是分布式系统开发首选的共识算法。比如现在流行Etcd、Consul、 ......
一致性 分布式 算法 Raft

CS144-lab2

Checkpoint 2 Writeup 该lab主要实现TCP接收方,接受来自发送方的TCPSenderMessage数据包,并使用checkpoint 1的Reasembler将接收到的数据推流到ByteStream,然后发送TCPReceiverMessage,指明接收方的窗口大小(ByteS ......
lab2 144 lab CS

mit6.824lab2B raft

lab2b的内容主要是关于raft之中日志存储,相较于上一个2a的话,这一个部分主要实现的是日志的同步性以及当集群中存在较大规模断连之后的重新选举Leader。 2023/10/8 22:10 目前实现的结果是通过了一部分测试,但是对于TestFailNoAgree2B这个测试有通过的问题。 在最后 ......
lab2B mit6 lab2 raft mit

临时表、视图与系统函数_Lab2

理解全文检索、视图的基本知识,掌握全文检索的配置与使用方法,能够根据需要创建视图,掌握视图应用技术,熟悉常用系统的应用方法。 例如CTE,派生表的使用 ......
视图 函数 系统 Lab2 Lab

mit6.824lab2A-Raft

写在前面 最近更新的可能会比较慢,因为分布式系统这个部分到目前还是为爱发电。上个月是在开学考试的阶段,接下来可能会受一些项目或者学习课程安排上的影响,不过这个内容会坚持下去的。 lab2A的内容主要是关于Raft中server选举的实现,论文中的Figure2以伪代码的格式给出了很多较为详尽的解释, ......
lab2A-Raft mit6 Raft lab2 mit

分布式一致性算法——Raft

Raft Leader Election 背景介绍 Raft是一种用于管理Log的分布式一致性算法,在了解Raft之前首先需要了解为什么需要Log? 对于不同的系统,无论是中间件疑惑是其余的系统,我们如果想要求其满足CAP协议中的一致性,需要尽量保证多节点的数据是相同的,也就是所谓的“共识”。下文中 ......
一致性 分布式 算法 Raft

rnacos实现raft和类distro协议,支持集群部署

rnacos是一个用rust实现的nacos服务。 rnacos相较于java nacos来说,是一个提供相同功能,启动更快、占用系统资源更小、性能更高、运行更稳定的服务。 rnacos之前只支持单机部署,不能水平扩容,同时存在单点稳定性问题,不太合适用于生产环境。所以rnacos一直有计划开发支持... ......
集群 rnacos distro raft

xv6 进程切换中的锁:MIT6.s081/6.828 lectrue12:Coordination 以及 Lab6 Thread 心得

引言 这节课和上一节xv6进程切换是一个完整的的进程切换专题,上一节主要讨论进程切换过程中的细节,而这一节主要讨论进程切换过程中锁的使用,所以本节的两大关键词就是"Coordination"(协调)和 "lost wakeup" Coordination 就是有关出让CPU,直到等待的事件发生再恢复 ......
Coordination 进程 心得 lectrue Thread

深入分布式一致性:Raft 和 etcdRaft

分布式一致性是构建可靠的分布式系统的关键要素之一。为了确保数据的一致性和可用性,一致性算法的设计变得至关重要。在这篇博文中,我们将深入探讨两个与分布式一致性密切相关的主题:Raft 算法和 etcdRaft 存储系统。 ## Raft 算法:分布式一致性的基石 Raft 算法是一种分布式一致性算法, ......
一致性 分布式 etcdRaft Raft

xv6 中的进程切换:MIT6.s081/6.828 lectrue11:Scheduling 以及 Lab6 Thread 心得

# 絮絮叨 这两节主要介绍 xv6 中的**线程切换**,首先预警说明,这节课程的容量和第 5/6 节:[进程的用户态到内核态的切换](https://www.cnblogs.com/looking-for-zihuatanejo/p/17644000.html)一样,**细节多到爆炸**,连我自己 ......
Scheduling 进程 心得 lectrue Thread

手写raft(三) 实现日志压缩

# 手写raft(三) 实现日志压缩 在上一篇博客中MyRaft实现了日志复制功能,按照计划接下来需要实现日志压缩。 * [手写raft(一) 实现leader选举](https://www.cnblogs.com/xiaoxiongcanguan/p/17569697.html) * [手写raf ......
日志 raft

XV6中的锁:MIT6.s081/6.828 lectrue10:Locking 以及 Lab8 locks Part1 心得

这节课程的内容是锁(本节只讨论最基础的锁)。其实**锁本身就是一个很简单的概念**,这里的简单包括 3 点: 1. **概念简单**,和实际生活中的锁可以类比,不像学习虚拟内存时,现实世界中几乎没有可以类比的对象,所以即使这节课偏向于理论介绍,也一点不会感觉晦涩。 2. **使用简单**,几乎所有的 ......
心得 Locking lectrue 6.828 Part1

lab2

 # lab2 这个实验是为操作系统编写内存管理代码。内存管理分为两部分: 内核的物理内存分配器,虚拟内存。 1 page : 4k bytes 为获取lab2所需文件,执行如下命令: ``` git pull git checkout -b lab2 origin/lab2 git merge ......
lab2 lab

lab2总结

感觉这部分很细节,我就总结下几个点吧。 ### 大致过程总结 * 先是物理内存: 申请内存先把物理页组织好。此时有几个页已经被占用了,需要处理对应PageInfo结构体。然后再封装物理内存的申请过程。此处就完成了。之后就进入虚拟内存操作过程。 * 然后是虚拟内存,即管理页表: 插入和删除虚拟地址到 ......
lab2 lab
共100篇  :1/4页 首页上一页1下一页尾页