计算机08操作系统课程设计题目与任务分配

  • 格式:doc
  • 大小:87.00 KB
  • 文档页数:7

上海海事大学计算机08操作系统课程设计
一、课程设计的基本要求
课程设计是在有限的时间内实现模拟操作系统的部分功能,为使课程设计能够有效实施,并取得一定效果,把设计的重点放在操作系统核心内容的模拟上。

基本要求如下:
1.详细描述整个系统设计的总体框架和设计思想,并给出系统的主要模块以及模块间
关系。

2.详细描述整个系统所使用的全局数据结构,包括结构名称、作用和各个字段的含义。

3.给出所有模块的详细的设计说明,并画出流程图。

4.源代码格式规范,并给出注释,以标明函数和数据结构的功能。

5.系统完成后,提交完整的程序代码、课程设计报告及相关文档,并适当说明设计
中遇到的问题及心得体会。

6.课程设计使用的开发工具不限,但程序必须是WINDOWS图形界面。

二、课程设计的题目
1、进程调度模拟程序
设计要求:编写一个进程调度程序,模拟实现进程的创建、运行、阻塞、完成等进程控制,允许多个进程并行的进程调度程序。

a. 系统能够真实模拟多任务操作系统中进程生命周期中的相关活动,主要功能涉及进程
管理和进程调度。

b. 进程状态:每个进程的状态可以是就绪 W(Wait)、运行R(Run)、阻塞B(Blocked)
或完成F(Finish)四种状态之一。

c. 每个进程相关的数据结构有:进程控制块(PCB)和进程生命周期数据。

♦进程控制块(PCB):至少应该包含如下信息:进程名、优先级、创建时间、需要
运行时间、已使用CPU时间、进程状态、进程生命周期数据、队列链表等等。

♦进程生命周期数据:即CPU-I/O时间序列,它是进程调度、进入不同队列的依据。

如序列:10秒(CPU),500秒(I/O),20秒(CPU),100秒(I/O),30秒(CPU),90秒(I/O),110秒(CPU),60秒(I/O)……等,要求序列有一定长度,在进
程创建时随机生成,作为进程PCB结构的一个数据项。

d. 系统管理的数据结构
♦系统PCB结构数组;
♦系统就绪队列、完成队列和阻塞队列;
♦系统参数:时钟(可以调节速度,以利于观看系统运行)、时间片大小;
e. 系统运行时的显示信息
时钟以时间片为单位计数,系统每次有进程发生状态改变时都给出改变进程的显著提示信息,系统在运行完每个时间片后都要显示所有队列和相关进程的状态(基本是FCB的值,格式如下仅供参考),以便掌握系统的运行情况。

每个时间片后,系统动作大体顺序如下:
♦根据进程调度算法决定需要更改的进程PCB数据,并调整相关队列,给出提示信息(最好单独出现信息窗口);
♦更新显示窗口信息;
f. 进程调度算法:
①采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先
服务算法。

进程的优先数由随机数产生。

②采用时间片轮转调度算法和先来先服务算法。

③采用动态优先级调度算法(优先级的计算自己决定,但一个进程的优先级要随时间
改变,即UNIX的策略)和先来先服务算法。

2、存储管理模拟程序
设计要求:设计请求页式存储管理方案,并编写模拟程序实现之。

页面淘汰算法采用:
①FIFO和LRU页面淘汰算法②FIFO和OPT页面淘汰算法。

方案提示:
♦系统参数:页面尺寸(例如以1K或2K为1页)、每个进程内存页表的最大长度;
♦选择生成序列功能后,随机产生一个进程的随机大小,构建页表并对页表进行初始化,随后随机生成访问的指令地址流(是一系列需要访问的指令的地址)并显示在
界面上,并将转换后的页面访问序列也显示在界面上。

不失一般性,可以适当地(人。