摘要: NJU Static Analysis Notes(3)——Data Flow Analysis Ⅱ 课程链接 本次课程主要内容 Live Variables Analysis Available Expressions Analysis 活跃变量分析 活跃变量(live variable)分析的作 阅读全文
posted @ 2022-04-28 16:50 OasisYang 阅读(275) 评论(0) 推荐(0) 编辑
摘要: NJU Static Analysis Notes(2)——Data Flow Analysis Ⅰ 课程链接 本次课程主要内容 Overview of Data Flow Analysis Preliminaries of Data Flow Analysis Reaching Definitio 阅读全文
posted @ 2022-04-27 19:17 OasisYang 阅读(153) 评论(0) 推荐(0) 编辑
摘要: NJU Static Analysis Notes(1)——Intermediate Representation 课程链接 本次课程主要内容 Compilers and Static Analyzers AST vs. IR IR: Three-Address Code (3AC) 3AC in 阅读全文
posted @ 2022-04-26 16:16 OasisYang 阅读(192) 评论(0) 推荐(0) 编辑
摘要: Github仓库 neovim的配置 这里列出我自己使用的init.vim,如果插件无法安装,请按照github仓库中给出的解决方法解决(手动clone安装即可)。 参考了github仓库在给出的链接文档。 call plug#begin('~/.vim/plugged') Plug 'crusoe 阅读全文
posted @ 2021-12-08 18:09 OasisYang 阅读(1251) 评论(0) 推荐(0) 编辑
摘要: Lab3 Part A MIT6.828——Lab1 PartA MIT6.828——Lab1 PartB Lab2内存管理准备知识 MIT6.828——Lab2 内核维护了三个关于用户环境的全局量 struct Env *envs = NULL; // All environments struc 阅读全文
posted @ 2021-11-07 15:55 OasisYang 阅读(562) 评论(0) 推荐(1) 编辑
摘要: Lab2 Lab2 是关于操作系统存储管理的细节。主要是建立内存模型,页表,物理地址映射等。 在Lab2之前,请复习好前序知识: Lab2内存管理准备知识 MIT6.828——Lab1 PartA MIT6.828——Lab1 PartB Part1 物理内存管理 在开始做题之前,需要了解一下一些常 阅读全文
posted @ 2021-11-01 20:06 OasisYang 阅读(1056) 评论(0) 推荐(1) 编辑
摘要: 保护模式内存管理机制 MIT6.828——Lab1 PartA MIT6.828——Lab1 PartB 分段机制的问题 ​ 分段的主要问题,出现在内存不足或者内存碎片过多的情况下。对于一个程序而言,例如其代码段长度就和其代码的长度直接相关,各个段的大小是不固定的,不能拆分的,要装入内存便一次性将一 阅读全文
posted @ 2021-10-18 19:31 OasisYang 阅读(433) 评论(0) 推荐(0) 编辑
摘要: GCC 内联汇编 在MIT6.828的实验中,有几处用到了很底层的函数,都以内联汇编的形式存在,例如 static inline uint32_t read_esp(void) { uint32_t esp; asm volatile("movl %%esp,%0" : "=r" (esp)); r 阅读全文
posted @ 2021-10-04 19:53 OasisYang 阅读(320) 评论(0) 推荐(0) 编辑
摘要: Lab1 历时2天,完成了LAB1,完整代码仓库可点击:https://github.com/Elio-yang/MIT6.828 partA 练习 exercise3 gdb指令: x/Ni addr :反汇编addr处的N条指令 x/Nx addr:打印N字节addr处的内存 b *addr:在 阅读全文
posted @ 2021-10-04 00:12 OasisYang 阅读(544) 评论(0) 推荐(1) 编辑
摘要: Lab1 基本部分 在实验给出的文档中,已经详说明了早期PC的内存布局,并且运行了bootloader。详细地解释了,上电后BIOS所做的工作,因此这部分不再赘述。需要注意的是bootloader的职能: 进入保护模式 从磁盘加载kernel到内存 boot/boot.S 实验文档中要求好好理解bo 阅读全文
posted @ 2021-10-02 17:58 OasisYang 阅读(767) 评论(0) 推荐(0) 编辑