BUAA-OS-2023
浅浅放个 github 仓库以供参考,后期可能会完善(鸽),并写一些 OS 比赛的东西
浅浅放个 github 仓库以供参考,后期可能会完善(鸽),并写一些 OS 比赛的东西
文法$G=(V_n, V_t, P, Z)$ $G$ 文法 $V_n$ 非终结符号集 $V_t$ 终结符号集 $P$ 产生式或规则的集合 $Z$ 开始符号(识别符号) $V$ 词汇表,$V=V_n\cup V_t$ 规则是一个有序对,通常写为 $U\rightarrow x$,其中 $U\in V_n,x\in V^{*}$ 类别 定义 分析器 特点 0 ...
最折磨的一集 建模为了完成作业,我采取了先写代码再反向完成类图的方式。 架构思想这几次代码我都是按照生活中的常识进行的架构设计,但是在后期发现了许多的冗余类,于是进行了简化设计。 迭代过程中基本上没有进行大的架构变革,而是基于几次测试新增的要求进行更新。 与设计要求不太相同的是,我设计中的「书」更像是单纯的实体,它本身没有状态,所谓的「状态」由书在前所在的位置决定。这样的想法比较自然, ...
分析本单元的测试过程测试类型 黑箱测试 测试者不了解程序的内部情况,不需具备应用程序的代码、内部结构和编程语言的专门知识。只知道程序的输入、输出和系统的功能,这是从用户的角度针对软件界面、功能及外部结构进行测试,而不考虑程序内部逻辑结构。测试案例是依应用系统应该做的功能,照规范、规格或要求等设计。 在本单元的课程中就是根据 JML 规范来制定相应的测试用例,比如调用的 OKTest 方法便...
第五次作业本次作业由两个大的任务组成: 电梯运行策略 多线程设计 电梯运行策略想必大家在等电梯的时候,都会疑惑电梯是怎么调度的,甚至想「这方案太()了,假如(),肯定效率更高」 原本想实现一个最优方案,在尝试查找电梯调度方面的论文后,却发现不同的策略在不同的情况下有不同的优势,很难说有一种最优的方案。 仔细想想也确实如此。电梯是一个实时响应的系统,它不能预测未来,故只能选择当前条件下的最...
第一次作业整体架构整体架构 形式化表述原始规则$$\begin{align*} \texttt{Expr}\rightarrow\ &\texttt{White}\ [\texttt{PlusMinus}\ \texttt{White}]\ \texttt{Term}\ \texttt{White} \ |\ &\texttt{Expr}\ \texttt...
P7 中最重要的概念就是 异常,本文的全部内容都将围绕 异常 一词进行叙述 而系统桥等内容在本文中不会提及,请结合教程自行学习 什么是异常 在 MIPS 体系结构中,中断、自陷、系统调用以及其他打断程序正常执行流的事件统称为异常 See MIPS Run Linux 本文中的 异常 与 See MIPS Run Linux 中的定义一致。需要注意到异常是一个中性词 为何要有异常异常的存在,...
结构CPU 数据通路结构 设计思路实际上,从 P5 到 P6 是一个轻松而惬意的过程。因为大部分的数据通路在 P5 时已经设计完成,在 P6 只需要针对新增指令修修补补即可 唯一需要稍微注意的是新增的乘除模块 乘除模块和 ALU 模块并没有本质上的区别。不过 CPU 实现乘除操作需要进行的操作复杂,关键路径较长,其耗时比加减法要高出一个数量级 那么,如果将乘法操作直接加入到 ALU 中,E...
结构CPU 数据通路结构 设计思路从单周期到流水线首先需要明白的是,单周期 CPU 和多周期 CPU 并没有本质上的区别 CPU 处理指令时,由于数据操作逻辑上的先后,不同的元件难以并行运行同一条指令 但如果将指令抽象地划分为几个互不影响的阶段,不同的阶段便可以并行地运行不同的指令,也就是所谓的多周期 CPU 既然需要同时运行不同的指令,每个流水级就必须保存当前处理指令的信息。这里的信息指...