计算机操作系统第一次作业+软件第一次作业
自我介绍
廖辉映 菜鸡
操作系统作业记录一下思路 以面以后忘记
先看最终的实现效果
单道程序:


多道程序非抢占式:


项目结构

实现思路:单道程序采用Drawer作为绘画器 Operation为调度程序 首先operation会依次给输入的程序在drawer添加一个类似于监听器的内部类,这个内部类用于监听CPUdevice和
IOdevice发出的绘画事件,我这里我设计成了多线程的方式。也可以不用线程。用线程是因为一开始没清楚,想完全模拟cpu执行.。这里我把每个程序要使用那些Componet看成一个Event事件,cpu是cpuEvent io是ioEvent。因为是单道程序又有优先级 那么可以把他看成一个有序的链表 这里用递归处理很快。只是遇到不支持的事件要把他放到支持的事件里去处理

具体的执行逻辑 就是依次像注册器发送注册事件

事件的注册:这里取巧了 不可借鉴

总调度程序依次执行ABC程序

这里我用的是个队列 而且输入的时候是ABC顺序天然有序 不需要去设计优先级 但是只是应付这个题目 不可取

多道程序设计的比较乱 没有整理好思路 想到再写 有点取巧 但是基本可以实现。

浙公网安备 33010602011771号