- 博客(15)
- 收藏
- 关注
原创 2021 MIT6.S081 Lab: page table
2021的Lab3在设计上相比2020精简了许多内容,很快就做完了,第三个assignment的边界检查没做也能过就懒得做了
2022-08-03 11:50:32
577
原创 6.S081 Lab11: Network
Lab11比想象中的简单,因为hint太详细了基本等于伪代码,不动脑子跟着写都可以,需要注意的是宏注意不要写错了,debug找起来还是挺费眼的。至此6.S081的Lab全部完成,完结撒花!https。
2022-07-21 15:14:34
216
原创 6.S081 Lab10: mmap
总结下来就是不要想着一步到位,先把最重要的部分写出来,写完一个小模块就可以去跑测试,参数合法性可以在跑测试时慢慢添加。https。
2022-07-21 09:13:47
393
原创 6.S081 Lab6: Copy-on-Write FOrk for xv6
在kernel/riscv.h中增加字段:修改kernel/vm.c中的uvmcopy函数:在kernel/defs.h中声明函数walk:更改kernel/trap.c中的usertrap函数,定义handle_cow_fault函数,在kernel/def.h中增加函数声明:修改kernel/kalloc.c,增加引用计数功能,更改kalloc、kfree、freerange函数:在kernel/def.h中增加函数inc_ref定义:更改kernel/v
2022-07-13 19:14:41
179
原创 MIT6.S081 Lab5: xv6 lazy page allocation
Eliminate allocation from sbrk()更改kernel/sysproc.c中的sys_sbrk函数:uint64sys_sbrk(void){ int addr; int n; if(argint(0, &n) < 0) return -1; addr = myproc()->sz; /* if(growproc(n) < 0) return -1; */ myp
2022-05-31 11:56:42
186
原创 MIT6.S081 Lab4: Trap
RISC-V assembly(easy)a0-a7. a2无函数调用位于0x630ra中是0x00输出为 He110 World,如果是大段存储,i应该为0x726c64,57616不需要改Backtrace(moderate)在kernel/defs.h中添加函数声明void backtrace(void)在kernel/riscv.h中添加以下字段:// get frame pointerstatic inline uint64r_fp(){
2022-05-24 16:48:29
416
原创 在Linux下实现输入不回显
Linux下不回显输入的解决方法有些输入并不合适直白地出现在屏幕上,所以需要在输入时做不回显处理getch函数有这种功能,它会读取一个输入的字符,但是不显示在屏幕上。但是在linux环境下并不方便使用getch,它所属的头文件conio.h并不在标准c库中在linux环境下可以使用stty命令和system()函数结合的方法达到getch的效果sttystty命令会修改终端命令行的相关设置有屏蔽显示的作用stty echo #打开回显stty -echo #禁止回显具体用法#
2021-11-17 15:25:52
2461
原创 C++实现支持表达式的文本查询程序
C++ Primer 15.9的实践内容因为不管是习题集还是书附赠的源码,都没有很好实现一个支持输入表达式的查询效果,因为这一节算是对整本书第三部分的一个总结和实践,所以有必要实现一个效果比较好的,符合书中预期效果的程序书中附带源码的程序其实已经实现了支撑C++表达式的单词查询,但是没有做将输入字符串作为表达式转化为C++表达式的部分,所以我做的工作相当于给原程序增加了直接从命令行输入表达式再转化为C++表达式对字符进行查询的部分原程序的C++表达式本身的完成度已经很高了。将命令行的字符串转化,其实就
2021-10-02 09:58:34
97
原创 C++实现简单计算器
数据结构课后的实验作业主要模块为:转换模块:将中缀表达式转换为后缀表达式;运算模块:对后缀表达式进行运算,得到最终运算结果。运行环境为Ubuntu,g++版本为9.3.0运算范围只限在32位整形以内运算符包括了加减乘除、取余和幂次可以进一步扩展的有:增加实数范围的运算;扩展运算符,例如根号等;实现图形操作界面使用了GNU的开源readline库来实现比较人性化的行编辑器功能,具体的操作在这篇博客中源码:#include <iostream>#include <ss
2021-10-01 00:33:34
1542
原创 Ubuntu20.04下安装,使用readline库
Ubuntu20.04下安装,使用readline库在编写以行编辑器为交互方式的程序中,像bash、gdb等有tab补全、历史命令和行编辑快捷键功能会比较方便,GNU提供一个开源库Readline,通过调用库中的函数可以直接实现上面的几种效果。安装sudo apt install libreadline-dev使用#include <iostream>#include <string>#include <readline/readline.h> .
2021-09-29 20:34:33
10934
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人