花费 9 ms
XV6学习(9)Lab cow: Copy-on-write fork

代码在github上。总体来说如果理解了COW机制的话,这个实验的完成也没有很复杂。 这一个实验是要完成COW(copy on write)fork。在原始的XV6中,fork函数是通过直接对进程的 ...

2021-01-31 20:19 0 1017
XV6学习(6)Lab: traps

这一个实验主要是对RISC-V的汇编、栈帧结构以及陷阱进行简单的了解,难度并不大。 代码放在github上。 RISC-V assembly (easy) Q1: Which registers ...

2021-01-06 18:37 0 957
XV6学习(11)Lab thread: Multithreading

代码放在github上。 这一次实验感觉挺简单的,特别是后面两个小实验。主要就是对多线程和锁进行一个学习。 Uthread: switching between threads 这一个实验是要实 ...

2021-02-06 05:24 1 775
XV6学习(2)Lab syscall

实验的代码放在了Github上。 第二个实验是Lab: system calls。 这个实验主要就是自己实现几个简单的系统调用并添加到XV6中。 XV6系统调用 添加系统调用主要有以下几步: ...

2020-12-21 18:28 0 917
XV6学习(15)Lab mmap: Mmap

代码在Github上。 这一个实验是要实现最基础的mmap功能。mmap即内存映射文件,将一个文件直接映射到内存当中,之后对文件的读写就可以直接通过对内存进行读写来进行,而对文件的同步则由操作系统来 ...

2021-02-10 20:04 0 695
XV6学习(3)Page tables

页表是操作系统中非常重要的一部分,用于将虚拟地址转化为物理地址。虚拟内存是操作系统实现进程隔离的关键技术。 在 XV6 中通过 RISC-V 的页表机构完成了虚拟地址向物理地址的转换。 分页硬件机构 ...

2020-12-21 18:32 0 743
XV6学习(1) Lab util

正在学习MIT的6.S081,把做的实验写一写吧。 实验的代码放在了Github上。 第一个实验是Lab util,算是一个热身的实验,没有涉及到系统的底层,就是使用系统调用来完成几个用户模式的小 ...

2020-12-22 01:21 0 727
XV6学习(14)Lab fs: File system

代码在github上。 这次实验是要对文件系统修改,使其支持更大的文件以及符号链接,实验本身并不是很复杂。但文件系统可以说是XV6中最复杂的部分,整个文件系统包括了七层:文件描述符,路径名,目录,i ...

2021-02-10 04:12 0 500
XV6源代码阅读-文件系统

Exercise1 源代码阅读 文件系统部分 buf.h fcntl.h stat.h fs.h file.h ide.c bio.c log.c fs.c file.c sysfile.c exe ...

2019-06-10 00:33 0 746
XV6学习(12)Lab lock: Parallelism/locking

代码在github上 这一次实验是要对XV6内部的锁进行优化,减少锁争用,提高系统的性能。 Memory allocator (moderate) 第一个实验是对XV6内核的内存页面分配器进行改 ...

2021-02-07 03:01 0 484

 
粤ICP备18138465号  © 2018-2023 CODEPRJ.COM