自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 makefile

简单的入门级makefile

2022-08-08 20:40:07 936 1

原创 2021 MIT6.S081 Lab: page table

2021的Lab3在设计上相比2020精简了许多内容,很快就做完了,第三个assignment的边界检查没做也能过就懒得做了

2022-08-03 11:50:32 560

原创 vimtutor

vimtutor教程总结

2022-07-24 17:55:28 316

原创 6.S081 Lab11: Network

Lab11比想象中的简单,因为hint太详细了基本等于伪代码,不动脑子跟着写都可以,需要注意的是宏注意不要写错了,debug找起来还是挺费眼的。至此6.S081的Lab全部完成,完结撒花!https。

2022-07-21 15:14:34 201

原创 6.S081 Lab10: mmap

总结下来就是不要想着一步到位,先把最重要的部分写出来,写完一个小模块就可以去跑测试,参数合法性可以在跑测试时慢慢添加。https。

2022-07-21 09:13:47 386

原创 6.S081 Lab9: file system

fs部分源码给我看麻了,网上的思路也不尽相同,任务2基本是毛来的,以后再说罢。

2022-07-19 16:42:26 305

原创 6.S081 Lab8: locks

两个作业都是通过修改数据结构、将粗粒度锁替换为细粒度锁,降低锁争用,增加并行度。

2022-07-15 15:00:19 188

原创 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 171

原创 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 177

原创 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 405

原创 MIT6.S081 Lab3: page tables

MIT 6.S081 Lab3: page tables

2022-05-16 11:12:18 198

原创 在Linux下实现输入不回显

Linux下不回显输入的解决方法有些输入并不合适直白地出现在屏幕上,所以需要在输入时做不回显处理getch函数有这种功能,它会读取一个输入的字符,但是不显示在屏幕上。但是在linux环境下并不方便使用getch,它所属的头文件conio.h并不在标准c库中在linux环境下可以使用stty命令和system()函数结合的方法达到getch的效果sttystty命令会修改终端命令行的相关设置有屏蔽显示的作用stty echo #打开回显stty -echo #禁止回显具体用法#

2021-11-17 15:25:52 2409

原创 C++实现支持表达式的文本查询程序

C++ Primer 15.9的实践内容因为不管是习题集还是书附赠的源码,都没有很好实现一个支持输入表达式的查询效果,因为这一节算是对整本书第三部分的一个总结和实践,所以有必要实现一个效果比较好的,符合书中预期效果的程序书中附带源码的程序其实已经实现了支撑C++表达式的单词查询,但是没有做将输入字符串作为表达式转化为C++表达式的部分,所以我做的工作相当于给原程序增加了直接从命令行输入表达式再转化为C++表达式对字符进行查询的部分原程序的C++表达式本身的完成度已经很高了。将命令行的字符串转化,其实就

2021-10-02 09:58:34 93

原创 C++实现简单计算器

数据结构课后的实验作业主要模块为:转换模块:将中缀表达式转换为后缀表达式;运算模块:对后缀表达式进行运算,得到最终运算结果。运行环境为Ubuntu,g++版本为9.3.0运算范围只限在32位整形以内运算符包括了加减乘除、取余和幂次可以进一步扩展的有:增加实数范围的运算;扩展运算符,例如根号等;实现图形操作界面使用了GNU的开源readline库来实现比较人性化的行编辑器功能,具体的操作在这篇博客中源码:#include <iostream>#include <ss

2021-10-01 00:33:34 1533

原创 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 10618

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除