摘要: 作业四:进程 20373915-朱文涛 读者写者问题(写者优先) 题目:满足以下条件的读者写者问题: 读者可以共享; 读写互斥、写写互斥; 写者优先于读者(一旦有写者,则后续读者必须等待,唤醒时优先考虑写者) 答:如下述伪代码所示,重要部分注释: semaphore mutex_for_reader 阅读全文
posted @ 2022-07-06 22:38 `Demon 阅读(37) 评论(0) 推荐(1) 编辑
摘要: Lab-6实验报告 20373915-朱文涛 实验思考 Thinking 6.1 示例代码中,父进程操作管道的写端,子进程操作管道的读端。如果现在想让父进程作为“读者”,代码应当如何修改? 代码如下(交换case 0 和default部分的代码): #include <stdlib.h> #incl 阅读全文
posted @ 2022-07-06 22:31 `Demon 阅读(6) 评论(0) 推荐(0) 编辑
摘要: Lab-5实验报告 20373915-朱文涛 思考题 Thinking 5.1 查阅资料,了解 Linux/Unix 的 /proc 文件系统是什么?有什么作用? Windows 操作系统又是如何实现这些功能的?proc 文件系统这样的设计有什么好处和可以改进的地方? /proc是一种伪文件系统。存 阅读全文
posted @ 2022-07-06 22:26 `Demon 阅读(7) 评论(0) 推荐(0) 编辑
摘要: Lab-4实验报告 实验思考题 Thinking 4.1. 思考并回答下面的问题: 内核在保存现场的时候是如何避免破坏通用寄存器的? 系统陷入内核调用后可以直接从当时的a0-a3参数寄存器中得到用户调用msyscall留下的信息吗? 我们是怎么做到让sys开头的函数“认为”我们提供了和用户调用msy 阅读全文
posted @ 2022-07-06 22:25 `Demon 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Lab-3实验报告 20373915-朱文涛 实验思考题 Thinking 3.1 思考envid2env函数: 为什么envid2env中需要判断e->env_id != envid的情况?如果没有这步判断会发生什么情况? 我们先观察一下envid的具体结构: 事实上只有ASID可以标志一个env 阅读全文
posted @ 2022-07-06 22:17 `Demon 阅读(26) 评论(0) 推荐(0) 编辑
摘要: Lab-2实验报告 ​ 20373915-朱文涛 实验思考题 Thinking 2.1 请你根据上述说明,回答问题: 在我们编写的程序中,指针变量中存储的地址是虚拟地址还是物理地址? MIPS 汇编程序中lw, sw使用的是虚拟地址还是物理地址? 由于我们的R3000 CPU 只会发出虚拟地址,故程 阅读全文
posted @ 2022-07-06 22:10 `Demon 阅读(3) 评论(0) 推荐(0) 编辑
摘要: BUAA_2022_OO_Unit4_Summary 长风破浪会有时,直挂云帆济沧海。 第1章 第四单元架设计 任务总览 本单元要求实现一个UML解析器。主要分为类图、顺序图、状态图,同时根据简单规则检查UML图中可能出现的问题。 预处理 由于本次作业元素的输入顺序随机,而许多元素之间存在依赖或者父 阅读全文
posted @ 2022-06-27 19:41 `Demon 阅读(46) 评论(0) 推荐(0) 编辑
摘要: BUAA_2022_OO_Unit3_Summary 石以砥焉,化钝为利。 第0章 总览 本单元为按照JML规格实现一个带有并查集、最小生成树、最短路径等算法的简单社交网络模拟系统。当然,JML严谨的描述和保姆级别的指导足以让同学写出正确性的代码,但是并不代表“照搬照抄”的代码可以在性能上取得满意的 阅读全文
posted @ 2022-06-01 00:58 `Demon 阅读(41) 评论(0) 推荐(0) 编辑
摘要: BUAA_2022_OO_Unit2_Summary 大梦谁先觉,平生我自知。 第一章 基本架构 第一次作业架构分析 总体设计 我的第一次作业架构主要包括输入类(InputThread),总调度器(Schedule),电梯类(Elevator),候乘类(RequestQueue),输出类(MyOut 阅读全文
posted @ 2022-05-02 23:04 `Demon 阅读(37) 评论(0) 推荐(0) 编辑
摘要: OS伙伴系统的实现 伙伴系统简介 伙伴系统是一种物理内存管理方式,也被用于linux的物理内存管理。 在这种系统中,空闲空间首先从概念上被看成大小为 个物理页的 大空间。当有一个大小为 页的内存分配请求时,空闲空间被递归地一分为二成两个伙伴块,直到成为大小为 刚好可以满足请求的块,即 ,需要注意: 阅读全文
posted @ 2022-04-15 00:05 `Demon 阅读(159) 评论(0) 推荐(0) 编辑