摘要: 架构设计 应该考虑使用代理模式的,而不是自己写一个全新的类 第一次作业 项目结构 我的项目结构如下: |- mycode |-MainClass |-EnumsType // 枚举类,用于表明Attribute的真实类型(引用和基础) |-Tools // 工具类,负责具体的功能实现 |-MyAtt 阅读全文
posted @ 2022-06-21 22:02 tantor 阅读(28) 评论(1) 推荐(0) 编辑
摘要: 一、测试数据 采用了随机数据+特殊数据的方法准备测试数据 随机数据 采用的生成策略为:纯随机数据+优化。 **纯随机策略:**设置询问条数上限,随后每个询问都以相同概率随机出现。 分析纯随机生成策略,可知其中$personNum : groupNum: relationNum : MessageNu 阅读全文
posted @ 2022-06-02 21:41 tantor 阅读(25) 评论(1) 推荐(0) 编辑
摘要: 思考题 Thinking 4.1 调用宏函数SAVE_ALL来保存现场,在此过程中,仅仅操作了k0、k1两个寄存器。这两个寄存器专为OS/异常处理保留,程序中不会使用到。由此避免破坏通用寄存器。 可以,因为调用msyscall()时前4个函数参数都存到了$a0 ~ $a3中,使用syscall陷入内 阅读全文
posted @ 2022-06-02 11:04 tantor 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 电梯月官方给的测试数据实在是太水了,多亏了dalao的评测机我才能够发现自己的bug。 对于电梯而言,因为其为多线程,且不限制调度防止,导致了其最终结果的多样。因此需要写一个程序专门来进程正确性的判断。 对于一般的串行程序,其结果唯一,因此并不需要专门写一个正确性判断程序,只需要多找几个人的程序进行 阅读全文
posted @ 2022-05-29 09:19 tantor 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 思考题 Thinking 3.1 env_id = (asid << 11) | (1 << 10) | index,其保证了每一个进程控制块的id唯一。 在进行env_id != envid判断前仅仅只利用了index后10位进行偏移找到进程控制块e,无法保证高6位的asid信息相同。如果不判断, 阅读全文
posted @ 2022-05-20 20:15 tantor 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 第一次作业设计 代码架构 |- InputHandler 输入类,线程 |- Elevator 电梯类,线程 |- Request 单个请求 |- RequestQueue 等待队列,为Elevator与InputHandler的公有对象 |- OutputHandler 输出类 |- MainCl 阅读全文
posted @ 2022-04-29 19:42 tantor 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 思考题 Thinking 2.1 C程序中指针变量存储的地址是虚拟地址。 MIPS汇编程序使用的也是虚拟地址。 CPU只会发出虚拟地址,然后完成虚拟地址到物理地址的转换,最后根据物理地址访存。 Thinking 2.2 宏本身就具有可重用性,将一段代码封装成一条语句。 程序运行时存在着大量重复的链表 阅读全文
posted @ 2022-04-29 14:22 tantor 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 思考题 Thinking 1.1 参数含义: objdump -D test 反汇编test中的所有section objdump -S test 将代码段反汇编的同时,将反汇编代码和源代码交替显示,编译时需要给出-g,即需要调试信息。 我的link script: SECTIONS { . = 0 阅读全文
posted @ 2022-04-29 14:19 tantor 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 思考题 Thinking 0.1 ​ 不一样。通过分析可知: ​ 第一次的 README.txt 没有add,其状态没有被git跟踪,为Untracked即“未被跟踪”; ​ 第二次的状态为文件已入库,但工作区文件已被修改,与版本库中的文件不同,显示为Modified。 ​ 两者主要的区别在于之前是 阅读全文
posted @ 2022-04-29 14:10 tantor 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 简介 ​ 本人由于对Java的不了解和对字符串处理的不熟悉,第一周到周六才开始写作业,直接就使用了预解析的方式,之后的几次作业也偷懒沿用了预解析的形式来完成作业。使用预解析的话,因为无需考虑对符号的处理,只用处理运算的过程,所以比起正常读入要简单非常多。三次作业的架构大体相同,区别只在于对因子的处理 阅读全文
posted @ 2022-03-26 01:08 tantor 阅读(20) 评论(0) 推荐(0) 编辑