- 博客(5)
- 收藏
- 关注
原创 Xv6 Lab4: Traps
对比指令格式,可见imm=0,dest=00001,opcode=0010111,对比汇编指令可知,auipc的操作码是0010111,ra寄存器代码是00001。,可见imm=0110 0000 0000,rs1=00001,funct3=000,rd=00001,opcode=1100111,rs1和rd的知识码都是00001,即都为寄存器。,将高位立即数加到PC上,从下面的指令格式可以看出,该指令将20位的立即数左移12位之后(右侧补0)加上PC的值,将结果保存到dest位置,图中为。
2024-07-27 14:51:42
938
原创 Xv6 Lab3: page tables
直到几年前,许多内核在用户和内核空间中都为当前进程使用相同的自身进程页表,并为用户和内核地址进行映射以避免在用户和内核空间之间切换时必须切换页表。Xv6使用从零开始的虚拟地址作为用户地址空间,幸运的是内核的内存从更高的地址开始。在本部分的实验中,您的工作是将用户空间的映射添加到每个进程的内核页表(上一节中创建),以允许。Xv6还为每个进程的用户地址空间提供了一个单独的页表,只包含该进程用户内存的映射,从虚拟地址0开始。你的第一项工作是修改内核来让每一个进程在内核中执行时使用它自己的内核页表的副本。
2024-06-23 16:35:37
1751
原创 XV6 Lab2: system calls
在本实验室中,您将向xv6添加一些新的系统调用,这将帮助您了解它们是如何工作的,并使您了解xv6内核的一些内部结构。您将在以后的实验室中添加更多系统调用。如果在掩码中设置了系统调用的编号,则必须修改xv6内核,以便在每个系统调用即将返回时打印出一行。它应该有一个参数,这个参数是一个整数“掩码”(mask),它的比特位指定要跟踪的系统调用。在本作业中,您将添加一个系统调用跟踪功能,该功能可能会在以后调试实验时对您有所帮助。系统调用应该有一个参数,一个整数“mask(掩码)”,其指定要跟踪的系统调用。
2024-06-18 19:57:37
1293
原创 MIT6.S081学习记录
6.S081 / Fall 2020b站视频课程搬运MIT 6.S081 2020 操作系统 [中英文字幕]_哔哩哔哩_bilibili大佬翻译的课程内容简介 | MIT6.S081xv6参考书https://pdos.csail.mit.edu/6.S081/2020/xv6/book-riscv-rev1.pdf参考书翻译以及实验指导翻译book-riscv-rev1 · 6.S081 All-In-OneLinux:Ubuntu20.04 (我在VMWare上用的)配置环境:官方文档6.S081 /
2024-06-17 15:03:57
958
1
原创 Ubuntu开启SSH
如果没有设置root用户密码可以根据提示输入即可(输入的密码屏幕上不会显示出来;且并未严格要求密码位数)设置密码后,输入以下命令切换到root用户su root。
2024-05-30 19:16:06
2999
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人