摘要: Using gdb(easy) 任务:学习使用 gdb 来调试 Xv6 内核 按照实验要求启动 gdb,出现错误: warning: No executable has been specified and target does not support determining executable 阅读全文
posted @ 2022-12-22 10:35 雪中的茶 阅读(298) 评论(0) 推荐(0) 编辑
摘要: Part One: Eliminate allocation from sbrk() 任务 将 sbrk(n) 系统调用实现中的分配 page 部分删除,在 sysproc.c 中的 sys_sbrk() 中。在删除之后,新的 sbrk(n) 应该仅仅将进程的内存大小的指示符 (myproc()-> 阅读全文
posted @ 2022-12-18 09:52 雪中的茶 阅读(286) 评论(0) 推荐(0) 编辑
摘要: isAsciiDigit 任务 判断 x 的值是否在 0 和 9 对应的ASCII码(0x30 和 0x39)之间。 要求 Legal ops: ! ~ & ^ | + << >> Max ops: 15 思路 计算 x – 0x30 和 0x39 – x 的值,如果两个值都大于0,则说明 x 的值 阅读全文
posted @ 2022-12-16 16:31 雪中的茶 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 任务A 任务主要内容分析 编写一个 cache 仿真程序,使用valgrind的内存跟踪记录作为输入,模拟高速缓存的命中/未命中行为,然后输出总的命中次数,未命中次数和缓存块的替换次数。 实验给出了一个可执行程序 csim-ref,要求实现的仿真程序和 csim-ref 功能相同。 仿真程序模拟的 阅读全文
posted @ 2022-12-15 23:01 雪中的茶 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 概述 网络层分为两个相互作用的部分:数据平面和控制平面 数据平面:负责转发(forwarding),将分组从一个输入链路接口转移到适当的输出链路接口 控制平面:负责路由选择(routing),确定分组从源到目的地所采取的端到端路径 转发是路由器的本地动作,路由选择是网络范围的处理 网络服务模型:尽力 阅读全文
posted @ 2022-12-11 17:02 雪中的茶 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 局部性原理(locality) 时间局部性与空间局部性 局部性通常有两种不同的形式,时间局部性(temporal locality)和空间局部性(spatial locality)。在一个具有良好时间局部性的程序中,被引用过一次的内存位置很可能在将来再被多次引用。再一个具有良好空间局部性的程序中,如 阅读全文
posted @ 2022-12-11 17:01 雪中的茶 阅读(235) 评论(0) 推荐(0) 编辑
摘要: KMP算法是一个字符串匹配算法,或者说是一个子字符串匹配算法 算法在字符串str中搜索子串pattern,如果存在,返回这个子串的起始索引,如果不存在,返回-1 暴力枚举匹配 暴力的字符串匹配算法非常简单,就是枚举所有可能的起始索引 i,对于每一个索引,都通过与pattern逐个字符地进行比较来检查 阅读全文
posted @ 2022-11-12 10:10 雪中的茶 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 任务:修改代码以实现对于每一个循环,让每一个线程都暂时阻塞直到所有线程都调用了barier函数 实际上就是实现一个屏障,当线程运行到屏障之前,会被暂时挂起,直到所有线程都到达屏障之后才会继续运行 而在原始的代码中,由于 barriers 函数中没有进行处理,sleep 较短时间的线程必定会比另一线程 阅读全文
posted @ 2022-11-11 19:58 雪中的茶 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 实验提供了一个shell的简化版本,主要功能是解析shell命令并且执行 在提供的shell代码中已经编写好了对命令进行解析的部分,我们需要的是利用Unix系统调用对命令进行执行 Executing simple commands 任务: 执行简单的命令,如: $ ls 要完成简单命令的执行,应该补 阅读全文
posted @ 2022-11-11 11:34 雪中的茶 阅读(174) 评论(0) 推荐(0) 编辑
摘要: Part One: System call tracing 任务:修改Xv6内核的代码来打印出每个系统调用以及返回值 根据提示,应该在syscall.c中修改syscall()。 首先在syscall.c中增加对应系统调用名称的数组: static char *syscalls_name[] = { 阅读全文
posted @ 2022-11-11 03:03 雪中的茶 阅读(323) 评论(0) 推荐(0) 编辑