这里可能没有你想看的...
GAMES101(现代图形学入门)の 作业记录 GAMES101(现代图形学入门)の 作业记录
>>> Github 传送门<<< 环境搭建 使用平台:Windows + Vscode + MSYS2 + MinGW Eigen 库安装 & 编译 进入下载地址进行下载并解压。 cd /yo
2024-04-19
6.s081 Lab9 Mmap 6.s081 Lab9 Mmap
最后一个,也是最有挑战性的一项 coding 任务,是所有前置 lab 的知识综合。 Preparation 切换到对应分支 $ git fetch $ git checkout mmap $ make clean 我们需要实现的 mma
2023-11-04
6.s081 Lab8 File System 6.s081 Lab8 File System
现在开始进入文件系统的阶段。 Preparation 切换到对应分支 $ git fetch $ git checkout fs $ make clean Task1: Large files 该任务要求我们为 inode 实现二级间接索
2023-11-02
6.s081 Lab7 Lock 6.s081 Lab7 Lock
这个 lab 就是对原先的并发控制进行优化。 Preparation 切换到对应分支 $ git fetch $ git checkout lock $ make clean Task1: Memory allocator 原来的内存分配
2023-11-01
6.s081 Lab6 Networking 6.s081 Lab6 Networking
这里要我们在软件层面实现数据包的收发操作。 Preparation 切换到对应分支 $ git fetch $ git checkout net $ make clean 模拟网络 我们将使用名为 E1000 的网络设备来处理网络通信,实
2023-10-31
6.s081 Lab5 Multithreading 6.s081 Lab5 Multithreading
现在进入操作系统的另一大特性:并发。 线程切换 in xv6 在 xv6 中,每个进程都可以视为有一个主线程,逐行运行指令,享有所有寄存器的使用权。然而,时间片到期,也就是进程收到时钟中断后,会调用 yield() 函数自愿让出 CPU。
2023-10-30
6.s081 Lab4 Copy-on-Write Fork for Xv6 6.s081 Lab4 Copy-on-Write Fork for Xv6
课上谈了个 COW 优化策略,这里就要具体实现了。 关于 COW(Copy-On-Write, 写时拷贝) The Problem The fork() system call in xv6 copies all of the pare
2023-10-30
6.s081 Lab3 Traps 6.s081 Lab3 Traps
现在是,陷入内核时间。 Preparation 切换到对应分支 $ git fetch $ git checkout traps $ make clean Task1: RISC-V assembly 第一个任务就是了解一下 RISC-V
2023-10-26
6.s081 系统调用流程 6.s081 系统调用流程
番外篇,探究通过 shell 运行命令时,系统调用到底是个什么流程。 用户层是如何进行系统调用的 以 sleep.c 为例,在 lab0 中我们知道要修改 Makefile 中的 UPROGS 变量,并且 user/user.h 中也为我
2023-10-25
6.s081 Lab2 Page Tables 6.s081 Lab2 Page Tables
在本 lab 中,我们将进行页表机制的探索。 Preparation 切换到对应分支 $ git fetch $ git checkout pgtbl $ make clean Task1: Speed up system calls 该
2023-10-24
6.s081 Lab1 System Calls 6.s081 Lab1 System Calls
本 lab 要求我们进行系统调用代码的编写。 Preparation 切换到对应分支 $ git fetch $ git checkout syscall $ make clean 可以看到 Makefile 里内容都重置了,且测试脚本
2023-10-23
6.s081 Lab0 Xv6 and Unix Utilities 6.s081 Lab0 Xv6 and Unix Utilities
热身运动,实现一些 shell 命令。 Boot xv6 首先去 lab tool page 把实验所需工具都给装上,然后查看一下各个工具的版本,检查是否安装成功。 $ tool --version 获取代码,切换到实验对应分支,准备开撸
2023-10-22
TinyKV-Project4 Transaction TinyKV-Project4 Transaction
本 Project 需要我们实现基于 MVCC 的事务模块。 思路 Part A Mvcc Txn 需要实现的代码在文件夹 kv/transaction/mvcc 下。 这一 part 需要我们实现支持 MVCC(多版本并发控制, Mul
2023-08-20
TinyKV-Project3 Multi-Raft TinyKV-Project3 Multi-Raft
本 Project 需要我们实现多个存储节点之间的管理。 思路 Part A Leadership/Membership Change in Raft 需要修改的代码位于 raft/raft.go。 在 3A 中我们仅需修改 Raft 层
2023-08-20
TinyKV-Project2 RaftKV TinyKV-Project2 RaftKV
本 Project 需要我们实现基础 Raft 算法。 思路 Part A Raft 需要实现的代码在整个 raft 文件夹下。 这一 part 我们要实现三个模块,分别为 Leader election => 领导选举 Log
2023-08-14
TinyKV-Project1 StandaloneKV TinyKV-Project1 StandaloneKV
本 Project 需要我们基于 badger 实现一个独立存储引擎。 思路 Part A Implement standalone storage engine 需要实现的代码在 kv/storage/standalone_storag
2023-08-13
CS144 Lab Note CS144 Lab Note
CS144 lab 记录过程。 环境配置 本课程所有 lab 均需要在 Linux 环境下运行,课程组提供了 4 种运行方式,直接照着 Instructions 来就好了。我这里因为实验室自带 Ubuntu 工作站,所以用了第三种方式,按
2023-03-21
CMU15445 Project#4 Concurrency Control CMU15445 Project#4 Concurrency Control
接下来,需要完善对事务并发的支持。 >>> LAB 主页传送门 <<< Task #1 - Lock Manager LM 负责以五种不同的模式保持 Table 和 Tuple 两个粒度的锁:Inten
2023-01-12
1 / 2