摘要: 任务: 修改系统调用或编写新的系统调用,使得: 1. 只有文件系统进程能读写IDE磁盘 2. 文件系统新城仅能读写IDE磁盘而不能读写其他内核地址 选做部分: 用户态下使用writef函数经常出现输出到一半就被打断的情况,如何解决? lab5挑战性任务-必做部分 任务分析 只有文件系统进程能读写ID 阅读全文
posted @ 2020-08-26 10:06 bl水滴 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 思考题 **Thinking 6.1 示例代码中,父进程操作管道的写端,子进程操作管道的读端。如果现在想让父进程作为“读者”,代码应当如何修改? ** #include <stdlib.h> #include <unistd.h> int fildes[2]; /* buf size is 100 阅读全文
posted @ 2020-08-26 09:56 bl水滴 阅读(546) 评论(0) 推荐(1) 编辑
摘要: 思考题 Thinking 5.1 查阅资料,了解 Linux/Unix 的 /proc 文件系统是什么?有什么作用? Windows 操作系统又是如何实现这些功能的?proc 文件系统这样的设计有什么好处和可以改进的地方? /proc文件系统是一种特殊的,由软件创建的(伪)文件系统,内核使用它向外界 阅读全文
posted @ 2020-08-26 09:55 bl水滴 阅读(1282) 评论(0) 推荐(0) 编辑
摘要: 思考题 Thinking 4.1 思考并回答下面的问题: 内核在保存现场的时候是如何避免破坏通用寄存器的? 通过SAVE_ALL将所有通用寄存器的值存入sp中 系统陷入内核调用后可以直接从当时的$a0-$a3 参数寄存器中得到用户调用msyscall 留下的信息吗? 可以 我们是怎么做到让sys 开 阅读全文
posted @ 2020-08-26 09:54 bl水滴 阅读(1254) 评论(0) 推荐(2) 编辑
摘要: 思考题 Thinking 3.1 为什么我们在构造空闲进程链表时必须使用特定的插入的顺序?(顺序或者逆序) 为了保证链表中Env块的顺序和在envs中的顺序相同 Thinking 3.2 思考env.c/mkenvid 函数和envid2env 函数: • 请你谈谈对mkenvid 函数中生成id 阅读全文
posted @ 2020-08-26 09:52 bl水滴 阅读(1558) 评论(0) 推荐(0) 编辑
摘要: 思考题 Thinking 2.1 请思考cache用虚拟地址来查询的可能性,并且给出这种方式对访存带来的好处和坏处。另外,你能否能根据前一个问题的解答来得出用物理地址来查询的优势? 用虚拟地址查询的好处是不需要经过tlb和页表查询,如果cache命中的话极大地提高了性能。坏处是多个虚拟地址有可能对应 阅读全文
posted @ 2020-08-26 09:50 bl水滴 阅读(856) 评论(0) 推荐(0) 编辑
摘要: 一.实验思考题 Thinking 1.1 也许你会发现我们的readelf 程序是不能解析之前生成的内核文件(内 核文件是可执行文件) 的,而我们刚才介绍的工具readelf 则可以解析,这是为什么 呢?(提示:尝试使用readelf -h,观察不同) 数据一个是小端存储一个是大端存储 Thinki 阅读全文
posted @ 2020-08-26 09:48 bl水滴 阅读(726) 评论(0) 推荐(0) 编辑
摘要: 实验思考题 思考0.1 通过你的使用经验,简单分析 CLI Shell,GUI Shell **在你使用过程中的各自优劣(**100 字以内) GUI界面清晰且易于理解,不需要太多专业知识的人也可以轻松使用,但是操作时无法得知背后的具体实现原理是什么。 CLI通过命令行控制程序,控制更为细致和具体, 阅读全文
posted @ 2020-08-26 09:45 bl水滴 阅读(1441) 评论(0) 推荐(0) 编辑