摘要:
思考题 Thinking 4.1 思考并回答下面的问题: 内核在保存现场的时候是如何避免破坏通用寄存器的? 通过SAVE_ALL将所有通用寄存器的值存入sp中 系统陷入内核调用后可以直接从当时的$a0-$a3 参数寄存器中得到用户调用msyscall 留下的信息吗? 可以 我们是怎么做到让sys 开 阅读全文
摘要:
思考题 Thinking 3.1 为什么我们在构造空闲进程链表时必须使用特定的插入的顺序?(顺序或者逆序) 为了保证链表中Env块的顺序和在envs中的顺序相同 Thinking 3.2 思考env.c/mkenvid 函数和envid2env 函数: • 请你谈谈对mkenvid 函数中生成id 阅读全文
摘要:
思考题 Thinking 2.1 请思考cache用虚拟地址来查询的可能性,并且给出这种方式对访存带来的好处和坏处。另外,你能否能根据前一个问题的解答来得出用物理地址来查询的优势? 用虚拟地址查询的好处是不需要经过tlb和页表查询,如果cache命中的话极大地提高了性能。坏处是多个虚拟地址有可能对应 阅读全文
摘要:
一.实验思考题 Thinking 1.1 也许你会发现我们的readelf 程序是不能解析之前生成的内核文件(内 核文件是可执行文件) 的,而我们刚才介绍的工具readelf 则可以解析,这是为什么 呢?(提示:尝试使用readelf -h,观察不同) 数据一个是小端存储一个是大端存储 Thinki 阅读全文
摘要:
实验思考题 思考0.1 通过你的使用经验,简单分析 CLI Shell,GUI Shell **在你使用过程中的各自优劣(**100 字以内) GUI界面清晰且易于理解,不需要太多专业知识的人也可以轻松使用,但是操作时无法得知背后的具体实现原理是什么。 CLI通过命令行控制程序,控制更为细致和具体, 阅读全文