1、 课 程 设 计 说 明 书 题目 进程调度程序设计 系(部) 计算机科学与技术 专 业 ( 班 级 ) 姓名 学号 指导教师 起止日期 2012.06.042012.6.15 课程设计任务书 课程名称:课程名称:操作系统操作系统课程设计课程设计 设计题目:进程调度程序设计设计题目:进程调度程序设计 已知技术参数和设计要求:已知技术参数和设计要求: 1. 1. 设计任务设计任务 设计一个虚拟内核,该内核能支持多任务管理。提供创建进程、终止进程、进程状态转换,进程调度, 上下文切换等功能。 2. 2. 问题描述问题描述 2.1 系统组成 系统由虚拟内核(VKernel)、 命令解释程序(Comm
2、ander)、 用户程序 (Application) 、 编译器 (Compiler) 四部分组成。VKernel 首先运行,并常驻内存。Kernel 启动后,创建 Commander 进程。根据用户请求创建 多个 Application 进程。Kernel 负责维护 6 个数据结构,包括时间 (Time), 处理器状态(CPUstate),进程 表 (PCBTable), 就绪队列(ReadyState),等待队列(BlockedState),运行进程(RunningState) 。Time 是系 统时间片。CPUstate 应包括程序计数器 PC,累加器 A、B,状态寄存器 F 的值。PC
3、BTable 的每一项是一个进 程的进程控制块(PCB)。Commander 程序、Application 程序是用下列 CPU 虚拟指令书写的程序: CPU 虚拟指令(以下指令仅供参考, 设计者可以自行设计) MOV n /把整数 n 赋给累加器 A SAV m /把累加器 A 的值存入地址 M ADD n /从累加器 A 的值加上整数 n,结果送到累加器 A。 SUB n /从累加器 A 的值减去整数 n,结果送到累加器 A。 MUL n /从累加器 A 的值乘以整数 n,结果送到累加器 A。 DIV n /从累加器 A 的值除以整数 n,结果送到累加器 A。 JEQ m /F 为 0 跳
4、转到 m JLG m /F 大于 0 跳转到 m JLE m /F 大于等于 0 跳转到 m JMP m /无条件跳转到 m OUT port /累加器的内容输出到端口 port。port 为 0,指显示器;为 1,指扬声器。 虚拟系统调用(以下系统调用仅供参考, 设计者可自行设计) exec() /执行程序并创建子进程 exit() /进程终止 block() /进程等待 printk() /在屏幕上打印系统信息 scanf() /从键盘输入一字符串 msg() /向内核发送消息 为了简化设计,复杂的系统调用当作广义指令处理。 2.2 命令解释程序 命令解释程序从标准输入重复读入用户命令,然
5、后以消息形式发送给内核。命令解释程序处理的命令 由设计者定义并实现。 2.3 编译器 编译器把虚拟指令和虚拟系统调用编译为可执行字节码。可执行字节码由内核解释执行。 3. 3. 功能要求功能要求 应实现的功能有:(1)能接收用户提交的命令并执行该命令。(2)执行用户程序:创建进程、终止进程、 调度进程、管理进程状态转换 4. 4. 技术要求技术要求 采用时间轮转和优先级调度混合算法。优先级以优先数表示,优先数越大则优先级越高。调度时,就 绪队列中优先数最大的进程优先运行,相同优先数进程按 FIFO 方式调度。进程运行一个时间片以后,其优 先数数减 1(即降低一级) ;进程在就绪队列中等待 3
6、个时间片以后,其优先数加 1。优先数范围 031。 5. 5. 界面要求界面要求 用户界面设计不做统一规定,但应做到界面友好,易于操作。 6. 6. 其他其他要求要求 编程语言和操作系统不限。 4. 课程设计时间:课程设计时间:2 周(2012.06.042012.6.15) 5.5. 课程设计的考核方式及评分方法课程设计的考核方式及评分方法 (1) (1) 考核方式考核方式 课程设计结束时,在机房当场验收。 教师提供测试数据,检查运行结果是否正确。 回答教师提出的问题。 学生提交课程设计文档(A4 打印件),教师评阅。 (2) 评分方法评分方法 上机检查:书面报告:答辩=6:3:1, 没有通过上机检查的或不提交课程设计报告的, 其成绩直接记为不及格。 指导教师指导教师签名:签名: 日期:日期: 系主任签名:系主任签名: 日期:日期: 摘要摘要 本次操作系统课程设计的题目是进程调度程序设计。在整个设计的