操作系统课程设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计

题目:操作系统课程设计

学部信息科学与工程学部

学科门类工学

专业网络工程

学号

姓名

指导教师

年月日

目录

一基本思想.............................. 错误!未定义书签。

1.1硬件工作的模拟 (1)

1.1.1中央处理器的模拟 ....................... 错误!未定义书签。

1.1.2主要寄存器的模拟 ....................... 错误!未定义书签。

1.1.3中断的模拟............................. 错误!未定义书签。

1.1.4 时钟的模拟............................. 错误!未定义书签。

1.2进程控制块 (2)

1.3进程调度................................. 错误!未定义书签。

1.4进程控制................................. 错误!未定义书签。

1.5屏幕显示要求 (3)

二定义的公共变量或数据结构(给出注释) (4)

2.1主要公共变量 (4)

2.1.1关于进程 (4)

2.1.2时间片................................. 错误!未定义书签。

2.1.3定时器 (4)

2.2主要数据结构 (4)

三各部分主要函数的过程描述 (6)

3.1中央处理器的模拟 (6)

3.2中断的模拟 (6)

3.3时钟的模拟 (7)

3.4 进程创建create (7)

3.5进程阻塞block (8)

四运行截图 (9)

4.1添加进程 (9)

4.2运行进程 (10)

4.3 结束进程 (2)

五总结 (13)

一基本思想

1.1硬件工作的模拟

1.1.1中央处理器的模拟

用函数CPU()(该函数不能有参数)模拟中央处理器。该函数主要负责解释“可执行文件”中的命令。

x=?; 给x赋值一位数

x++; x加1

x--; x减1

!??;第一个?为A,B,C中某个设备,第二个?为一位数,表示使用设备的时间;

end. 表示进程结束,同时将结果写入运行结果框中,其中包括进程名和最终结果。

CPU只能解释指令寄存器IR中的指令。一个进程的运行时要根据进程执行的位置,将对应的指令存放到指令寄存器中。

1.1.2主要寄存器的模拟

用全局变量模拟重要寄存器,如CPU重要寄存器,程序状态寄存器PSW、指令寄存器IR,程序计数器PC,数据缓冲寄存器DR等。

1.1.3中断的模拟

I.中断的发现应该是硬件的工作,这里在函数CPU中加检测PSW的方式来模拟

在CPU()函数中,每执行一条指令之前,先检查PSW,判断有无中断,若有进行中断处理,然后再运行解释指令。CPU函数应该不断循环执行的。

Ⅱ.模拟中断的种类和中断处理方式:

程序结束(执行指令end形成的中断,软中断):将结果写入运行结果框体中,其中包括运行指令的指令名和指令的值,调用进程撤销原语撤销进程,然后进行进程调度;

时间片到(当相对始终寄存器值减到0时):将正在运行进程的CPU现场保存在进程控制块中,然后进行进程调度;

I/O中断(设备完成输入输出):将输入输出完成的进程唤醒,将等待该设备的一个进程同时唤醒。

1.1.4时钟的模拟

系统中的绝对时钟和相对时钟用全局变量模拟。绝对时钟用来记录进程运行后直到软件关闭的的时间,相对时钟用来存放进程可执行的时间片,在进程调度时设置初值,随系统时间的增值1而减值1,减到0时,发出时钟中断。

1.2进程控制块

进程控制块内容包括进程标识符、处理机状态信息(如主要寄存器内容)、进程调度信息(如进程状态、进程优先级、进程调度所需的其他信息、阻塞原因)、进程控制信息(如进程程序和数据的地址)。本模拟系统最多容纳10个进程块。

PCB区域用数组模拟。

进程控制块根据内容的不同组成不同的队列:空白进程控制块链、就绪队列和阻塞队列,正在运行的进程只有一个,系统初始时只有空白进程控制块链。

1.3进程调度

1.进程调度在模拟系统中,采用时间片轮转调度算法,时间片可设定。

2.进程调度函数的主要工作是:将正在运行的进程保存在该进程对应进程控制块中;从就绪队列中选择一个进程;将这个进程中进程控制块中记录的各寄存器内容恢复到CPU 各个寄存器内。

3.闲逛进程

建立一个闲逛进程,当就绪对列为空时,系统调用该进程运行。当有进程就绪时,就调度就绪进程运行。闲逛进程什么也不做,只是起到系统能正常运转的作用。例如windows 中的idle进程。

1.4进程控制

建立四个函数模拟进程创建、撤销、阻塞和唤醒四个原语。

1.进程创建create

进程创建的主要工作是:

第一步,申请空白进程控制块;

第二步,申请主存空间,申请成功,装入主存;

第三步,初始化进程控制块;

第四步,将进程链入就绪队列。

2.进程撤销destory

进程撤销的主要工作是:

第一步,回收进程所占内存资源;

第二步,回收进程控制块;

第三步,在屏幕上显示进程执行结果,进程撤销

3.进程阻塞block

进程阻塞的主要工作是:

第一步,保存运行进程的CPU现场;

第二步,修改进程状态;

第三步,将进程链入对应的阻塞队列,然后转向进程调度。

相关文档
最新文档