PA1实际上就是让我们写一下一个基本的调试器,但是这个调试器我都没怎么用,可别学我(忏悔),能让nemu正确的运行,顺便理解一下基础设施和TRM的相关概念,还有KISS法则 简单介绍一下PA1中的NEMU,它的本质是将计算机硬件部分抽象成软件进行运行,换句话来说,它是一个最简单的图灵机(TRM),能够模拟基本的数字电路元器件...
NJU-ICS 2024学习随笔PA1 前言略,以此记录我在了解计算机的初次尝试 2024.9.11 已经做了几天了,PA0已经过去,正在做PA1 我好像是跳过了gdb部分的学习,所以我打算明天(或者后天)学习一下,然后解决运行指令make file后直接q会报错的bug 2024.9.12 很难绷的是,我之前直接cv他们的那个.vimrc的修改内容会各种报错,好...
同样地,在没有虚拟内存管理的时候,第一项需要由 OS 加载时保证;而第二项由于有了系统调用时的栈切换代码,只需要在加载进程时设置好对应的栈指针,让不同进程的堆栈不要重合就可以了。 2023 Fall 的 ICS 相比 2022 多了一个内核线程的实验,实现过程显得顺滑很多。内核线程相较于普通进程的区别在于,因为内核线程...
NJU-ICS 2024学习随笔PA1_3(监视点) 目录 2024-10-08 new_wp 2024-10-09 dispaly_wp delete_wp 2024-10-10 sdb_create_wp cmd_info 2024-10-12 回到顶部 2024-10-08 new_wp watchpoint.c WP*new_wp(){if(free_ ==NULL){printf("No free watchpoint\n");assert(free_ !=NULL); } WP *now...
NJU PA1 series lab PA1.0: 畅玩马里奥:但是一开始还是不可畅玩马里奥的,心情非常的sad。后来上网冲浪了一会,发现是: /home/han/ics2021/abstract-machine/am/src/native/platform.h 中的: uint8_t sigstack[8192]; 导致的(之前中括号里面写的并不是8192,是英文字母,将字母改成8192就可以流畅运行马里奥了 :...
NJU-ICS 2024学习随笔PA1_1(基础设施) 目录 2024.9.19 单步执行 如何在vim使用系统剪切板 2024.9.20 打印寄存器状态 扫描内存 内容的正确性检验 : 因为这一步意义重大,所以我打算单列出来。 这是才是正式开始 ”写代码“ 回到顶部 2024.9.19 停了几天,一个是刚感冒好,多休息休息,一个是有点懒。