OS-lab5 OS-lab5 写在前面,往年的上机实验都是60分就给满,去年因为疫情转为线上,实验总分还送了10分。就是说大佬甚至不用申优就能拿99分。今年exam和extra都是按百分比算分,1分的extra得了80相当于0.8。所以不能完全实现,实现一部分骗个样例分也不错。OS上机终于结束,在之后打算再好好理解一下MOS,内存管理,进程管理,文件系统,Shell和管道都有不太清楚的地,感觉OS一路下来每次都 2023-05-22 OS #OS #实验报告
OO第三单元总结 OO第三单元总结 一、测试 本单元基于JML进行规格化设计,并且针对实现的代码进行测试。由于每个要实现的功能和方法的规格和作用都已明确给出,所以在具体实现方面着重考虑数据结构和方法复杂度。众所周知,中测就是闹着玩的,真测试还得靠自己。 黑箱、白箱测试 黑箱测试,着重测试软件的功能需求,是在程序接口上进行的测试。对于每次作业,就是评测机通过大量测试数据力求达到高覆盖性的测试。由于只能看到输入与输 2023-05-21 OO #OO #总结 #JML
OS-lab4 OS-lab4 上机 lab4-1 exam 发现这届课程组确实很贴心,担心大家过不了exam,每次都给伪代码。lab3上机要自己实现异常处理函数,lab4是实现系统调用。这次exam特别特别简单(尤其还给伪代码,想错都难),实现进程组通讯。 extra 实现父进程给所有的后代进程(子进程、子子进程、…),可以在用户态实现,也可以写新的系统调用。 要遍历所有的后代进程可以用dfs,我是在用户态实现 2023-05-13 OS #OS #lab4
OO第二单元总结 OO 第二单元总结 本文为OO 第二单元电梯作业总结,本单元主要是掌握多线程和线程安全。三次作业总的架构类似,可分为输入线程、调度线程、电梯线程。三次作业的增量迭代如下 第五次作业 六部电梯 第六次作业 可选择增加电梯,电梯的初始属性可变 维修电梯,将维修电梯的乘客重新安排 第七次作业 新增电梯增加可达性、 信号量的使用 一、同步块和锁 由于我的架构还算完善,所以每次增量较为 2023-04-17 OO #OO #总结 #多线程
OS-lab3 OS-lab3 上机 exam 我们要修改调度函数,实现多用户的(公平)进程调度,就是在Env结构体了新加一个属性:u_int env_user([0,4])(测试程序会给你赋值),最多不超过5名用户。简言之,在需要调度新的进程的时候你需要统计每个用户的总时间片选,总时间片选保存static int[] 数组中,然后你需要选出当前有进程的用户并且总时间片选最少的(相同则id最小)的用户,然后选出遍 2023-04-17 OS #OS #lab3
OS-lab2 lab2 上机 lab2-exam 还是比较简单的,认真写肯定能对 lab2-extra 这是专门给佬出的题,我就只把题面放到这了,造福后人了 lab2-exam 对于一个页表项,我们知道其存储的31-12位为物理页号,0-11是标志位,我们的任务是遍历整个页表的页表项,如果是有效页并且检查标志位perm_mask(可能是好几个标志位),如果都包含则计数,最后返回数量 1234567891 2023-04-03 OS #OS #lab2
蓝桥杯(1) 蓝桥杯(1) 写在前面:去年裸考,想着今年好好准备一下,这几周天天被OS和OO折磨,一直拖到现在。看了一下往年题,填空题只要时间复杂度不是特别离谱,直接暴力模拟就行,编程题我主要总结一下常考的算法,由于现在还没上过算法课,好多东西也都不会,写这篇博客就当边学习边总结了。 最短路径 Floyd算法和Dijkstra算法 Dijkstra主要用于求两点最短距离和最短路径,而且只能求出一条最短路径。 2023-04-02 蓝桥杯
OS-lab1 上机 1.lab1-exam: 在lab1课下分支的基础上,扩展printk函数,增加新的格式字符串"%[flags] [width] [length]R",从参数表中得到两个参数,两个参数当做“%[flags] [width] [length]d”输出,具体输出形式为"(参数1,参数2)“。例如printk(”%4R", 2023, 202 2023-03-20 OS #OS #lab1
OS-lab0 实验报告 lab0思考题 thinking0.1 不一样,在新建README.txt时候,处于Untracked状态,文件第二行显示"Untracked files"。当add 追踪再修改处于已修改状态,Modified.txt显示"Changes not staged for commit",此时使用add命令进入Stage区。这两次add的功能并不相同 2023-03-18 OS #OS #实验报告
OO第一单元总结 OO 第一单元总结 本文为OO第一单元总结,本单元主要任务是表达式的展开与化简。核心思想是递归下降法,主要分为预处理、解析、多项式生成、化简四个个核心步骤。三次作业增量迭代的要求如下 第一次作业 去括号 一层括号 多项式化简 第二次作业 括号嵌套 自定义函数 无递归定义,有递归调用 新增三角函数因子 第三次作业 自定义函数 递归声明与调用 新增求导因 2023-03-18 OO #OO #总结 #递归下降