随笔分类 -  课程--计算机系统基础与实现

摘要:NEMU_PA1: 开天辟地的篇章: 最简单的计算机from pixiv 请注意你的学术诚信! 本博客只提供个人思路的参考和一些想法, 并非能够抄袭的答案 1.本人水平有限,实现的PA可能有可怕的bug 2.本人思路可能有误,需要各位自行判别 C语言中.h的作用 与 如何起作用的? 参考博客:C语言编译器工作原理以及.h和.c文件解析 一个实际问题: 阅读全文
posted @ 2024-04-04 12:10 次林梦叶 阅读(3225) 评论(0) 推荐(0)
摘要:NEMU_PA0 - 世界诞生的前夜: 开发环境配置 + 基于WSL使用Docker打包linux环境初音未来_交响乐 请注意你的学术诚信! 本博客只提供个人思路的参考和一些想法, 并非能够抄袭的答案 1.本人水平有限,实现的PA可能有可怕的bug 2.本人思路可能有误,需要各位自行判别 写在前面:我为何要用Docker? 一般我在寝室我会用我的笔记本,但是到工作室的时候我会倾向于我的台式机。这就有 阅读全文
posted @ 2024-04-02 20:44 次林梦叶 阅读(127) 评论(0) 推荐(0)
摘要:CSAPP Malloc Lab桜が散る 知识点 Physical Address (PA) Virtual Address (VA) Memory Management Unit (MMU):利用存放在主存中的查询表来动态翻译虚拟地址。 Virtual Page (VP):VM系统通过将虚拟内存分割为若干大小固定的块,称为虚拟页 阅读全文
posted @ 2024-03-25 10:16 次林梦叶 阅读(360) 评论(0) 推荐(0)
摘要:CSAPP Shell Labsakura🌸 框架 实验框架 本实验目的是通过Linux信号函数实现简单的Shell main: 在main程序中,主要是使用`signal`注册当内核向Shell程序发送信号时,应该调用的处理函数 然后使用while循环,每一次循环打印shell提示符tsh>,以及等待用户输入,用户输入完成后 阅读全文
posted @ 2024-03-24 20:05 次林梦叶 阅读(45) 评论(0) 推荐(0)
摘要:CSAPP Cache Lab春が来る 知识点 在这里我会回答以下几个问题: 计算机的访问内存的整个流程是什么?计算机中虚拟地址,物理地址(P573),以及访问缓存的地址(P426) 他们之间的关系是什么,又是如何进行转换的? 我们在两个C语言程序中打印某个变量的内存,发现他们的内存显示是一样的,难道不会冲突吗? PS:图均来自 阅读全文
posted @ 2024-03-22 09:39 次林梦叶 阅读(128) 评论(0) 推荐(0)
摘要:CSAPP Attack Labfrom pixiv 吐槽 首先不得不说说官网的WriteUp了,看了半天看不懂他在讲啥,好吧其实是我菜 我的输出与官网演示的不一样: 而我的是 查了一下,说是默认连接评分服务器,要用-q关闭 我都没输入任何字符串呢,就直接让我Segmentation fault了 我用gdb调试进去,发现只要没有 阅读全文
posted @ 2024-03-15 22:20 次林梦叶 阅读(157) 评论(0) 推荐(0)
摘要:CSAPP Architechture Labfrom pixiv 知识点 在上一章"程序的机器级表示"中,我们可以知道所谓ISA(指令集体系结构)定义了机器级程序的格式和行为: P113 定义了指令的格式(编码方式) 定义了处理器状态 定义了每条指令对状态的影响 软件设计师和硬件设计师以ISA为规则,分别编写出合法的汇编程序,制造出实现ISA 阅读全文
posted @ 2024-03-15 12:58 次林梦叶 阅读(22) 评论(0) 推荐(0)
摘要:CSAPP Bomb Labfrom pixiv 参考博客 手把手教你拆解 CSAPP 的 炸弹实验室 BombLab GDB调试-从入门实践到原理 Linux上分屏软件 Tmux 使用教程 知识点 gdb jump 函数名 / * 地址名 jump 能够很灵活地在gdb调试汇编代码时跳转 当一不小心错过了关键信息时,我们便可 阅读全文
posted @ 2024-03-12 21:48 次林梦叶 阅读(42) 评论(0) 推荐(0)
摘要:CSAPP Data Labfrom pixiv 实验官方地址 环境配置 问题 当我按照官网Lab1中的WriteUp对项目进行make时,出现如下错误: 很快我找到了问题的原因: from there 但是在apt install时又出现了问题: 查找网络,说是Ubuntu版本太高,但是apt的源太低,要apt update 阅读全文
posted @ 2024-03-07 21:45 次林梦叶 阅读(33) 评论(0) 推荐(0)
摘要:编译原理--静态语义分析和中间代码生成from pixiv 符号表和类型表 符号表 如图上所示是符号表要写的内容 一般常考的是类型标识符和变量标识符的写法 其中类型标识符很好识别,就是前面写了typedef的声明类型,如: 这些都是类型标识符 对于类型标识符,我们只要在符号表中记录 类型标识符名称|(自己命名这个类型的名称)|typeK 阅读全文
posted @ 2024-01-03 23:28 次林梦叶 阅读(78) 评论(0) 推荐(0)
摘要:c++/c中关于头文件的探索from pixiv 如何使用.h文件? 一篇不错的博客 具体来说我们可以在.h中进行定义const常量,这个不用使用extern也不会报错 使用普通变量将其当做全局变量的时候就要用extern关键字了 同时在其中只是定义struct等也没啥问题 还还可以在其中引用其他.h库 但是要使用如下代码 # 阅读全文
posted @ 2023-10-28 21:14 次林梦叶 阅读(17) 评论(0) 推荐(0)
摘要:编译原理--有穷自动机from pixiv 有穷自动机 我们学习完后应该能够做到一件事: 正则表达式->NFA->DFA->识别 正则表达式->NFA 教程的P55和P56,57有详细过程 其实在真正考试的时候按照这个教程上写,当正则表达式有点复杂的时候,我们的ε会有点多,同时状态也有点多,这会导致下面将NFA->DFA 阅读全文
posted @ 2023-10-18 23:56 次林梦叶 阅读(439) 评论(0) 推荐(0)
摘要:编译原理--文法和语言summer pocket _ 羽未 将幸福装进口袋,那个夏日无比的耀眼 文法与语言的定义 文法定义: >文法G定义为四元组(Vn,Vt,P,S),Vn为非终结符,Vt为终结符,P为规则,S为标识符(开始符) 文法G所产生所参数的语言定义为集合L(G) 文法的类型P25 句型与句子: > 句型包括句 阅读全文
posted @ 2023-09-26 19:12 次林梦叶 阅读(281) 评论(0) 推荐(0)
摘要:计算机系统基础PA1(2)写在前面 PA1的内容还是挺多的,只用一个博客写会看起来很臃肿,于是用这篇博客写接下的PA1 表达式求值 数学表达式求值 如果想要完成就不得不学学regex.h这个库中的函数了 博客1< 博客2< 接下来就都是看讲义和编程基本功了 我们先来思考一下如果是负数的负号可能会出现在什么位置? “(” 后面 阅读全文
posted @ 2023-07-28 14:56 次林梦叶 阅读(141) 评论(0) 推荐(0)
摘要:计算机系统基础PA1在开始愉快的PA之旅之前 不来玩一下吗? 不得不说,要仔细看清楚来,是根据 fceux-am/README.md中的内容进行操作 这里我们可以拿到一个压缩包 咋解压? 解压完后,比如我想要将这个文件夹下的全部文件移动到当前文件夹下,咋办? 如将 a/b/下的文件全部移动搭配 a/下 mv a/b/* 阅读全文
posted @ 2023-07-20 11:58 次林梦叶 阅读(636) 评论(0) 推荐(0)
摘要:计算机系统基础----特殊类型(数组,结构体 ,联合体)的分配《数组》 《数组的分配与访问》 首先我们要知道在8086中内存的结构如图: 可见一个单元格有8bit(1B) 对于指针类型数据占4字节,char占1个字节,int 占 4个字节,short 占2个字节,double 占8个字节 当我们访问数组中的数据时是要访存的,当要访存时,我们只知道数组的首地址和 阅读全文
posted @ 2023-05-05 22:28 次林梦叶 阅读(36) 评论(0) 推荐(0)
摘要:链接首先会用: 《为何需要链接?》 在汇编中我们总是需要通过跳转指令,到我们想要执行的地方去执行指令 那么我们如何指定跳转的位置呢? 汇编中通过符号表示 但是符号终究是符号,机器看不懂 在整个代码都定型后,无序改动后 我们就可以通过链接,将符号替换成 如: 这样的编号使得机器知道我们跳转的地方(编号实际 阅读全文
posted @ 2023-04-27 17:02 次林梦叶 阅读(47) 评论(0) 推荐(0)
摘要:函数过程调用这一章中先以如下代码来讨论一下函数调用的大致过程: 解释: 首先明确一点: 在函数执行的过程中,变量,参数,地址等都是放到栈中: 而且需要注意的是: 栈的栈底是在高地址,每一次入栈,栈指针寄存器ESP都会 -= Call指令 会将Call指令的下一条指令的地址入栈,这条保存的数据被称为返回地址 Re 阅读全文
posted @ 2023-04-23 18:28 次林梦叶 阅读(77) 评论(0) 推荐(0)