1.4进程管理
进程管理主要包括进程调度,进程的创建和撤销、进程的阻塞和唤醒,中断作用的实现。
1.4.1主要寄存器的模拟
用全局变量模拟重要寄存器,如cpu重要寄存器,程序状态寄存器PSW、指令寄存器IR,程序计数器PC,数据缓冲寄存器DR等。
1.4.2中断的模拟
中断的发现应该是硬件的工作,这里在函数CPU中加检测PSW的方式来模拟。在CPU()函数中,每执行一条指令之前,先检查PSW,判断有无中断,若有进行中断处理,然后再运行解释指令。CPU函数应该不断循环执行的。
1.4.3模拟中断的种类和中断处理方式:
程序结束(执行指令end形成的中断,软中断):将结果写入文件out,其中包括文件路径名和x的值,调用进程撤销原语撤销进程,然后进行进程调度;
I/O中断(设备完成输入输出):将输入输出完成的进程唤醒,将等待该设备的一个进程同时唤醒。
1.4.4时钟模拟
系统中的绝对时钟和相对时钟用全局变量模拟。系统时钟用来记录开机以后的时间。
这里的系统时钟并不是计算机的真正的时钟,这里所说的时间只是一个单位,例如使用vb中的时钟控件实现,每触发一次timer事件,绝对时钟增1,表示增加一个时间单位,绝对时钟减1,表示时间片消耗一个。