《计算机操作系统》课程设计(2010年版)

更新时间:2023-09-07 04:49:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

设计要求

《计算机操作系统》课程设计

一、 设计题目

1. 绘制描述事件先后顺序的前驱图。(2人) 4分 建立前驱图的数据结构描述;

建立绘制前驱图的例程,包括结点和有向边;

可以删除、添加结点或有向边;

可用鼠标在窗口的任意位置指点,确定结点或有向边位置;

可以拖动现有结点的位置,与该结点相连的有向边也随之移动;

可以将前驱图存入文件,从文件中取出;

2. 绘制简单程序片段的前驱图。 (2人)* 4分 建立前驱图的数据结构描述;

可以从键盘或对话框接收程序片段;

可将程序片段存入磁盘文件或从文件中取出;

对程序片段进行词法分析,得出各语句之间的依赖关系;

画出各语句间的前驱图;

3. Intel 80x68系列CPU的环保护机制:分析CIH病毒代码。(1人) 3分 查找CIH病毒代码资料;

分析代码;

找到CIH病毒绕过CPU环保护机制的方法;

分析代码的工作流程,画出相应的流程图。

写出分析报告;

4. 多进程/线程编程:临界区控制、线程互斥与同步。(1人) 3分 设置两个进程/线程,一个执行计算N:=N+1,另一个将N的值输出到窗口; 为减慢进程/线程的执行速度,可以在程序中插入Sleep(1000)语句,1000表示程序停顿1000ms,;

在窗口上显示结果;

设法调整两个进程/线程的执行顺序,使之出现教材P29上所列出的(1)、(2)、

(3)三种情况;

设置互斥信号量,保证两线程互斥使用共享变量N;

设置同步信号量,保证两线程按指定顺序运行;

5. 多进程/线程编程:生产者-消费者问题。(1人) 5分 设置两类进程/线程,一类为生产者,一类为消费者;

建立缓冲区的数据结构;

随机启动生产者或消费者;

显示缓冲区状况;

随着进程/线程每次操作缓冲区,更新显示;

6. 多进程/线程编程:读者-写者问题。(1人) 5分 设置两类进程/线程,一类为读者,一类为写者;

随机启动读者或写者;

显示读者或写者执行状态;

随着进程/线程的执行,更新显示;

设计要求

7. 多进程/线程编程:哲学家问题。(1人) 4分 设置进程/线程,描述哲学家 ;

随机启动哲学家 ;

显示进程/线程执行状态;

随着线程的执行,更新显示;

编写正确的哲学家程序,设法延迟线程的执行,使之出现死锁;

编写正确的哲学家程序,保证不出现死锁;

8. 进程通信。(2-3) 4分 编写两个进程,一进程负责发送字符 串,另一进程负责接收字符串;

支持Windows/linux的的共享存储区、消息、有名和无名管道、Socket通信 发送进程应可以从窗口或键盘上接收字符串;

接收进程应可将字符串显示在窗口上;

9. 进程/作业调度。(3人) 4分 建立作业的数据结构描述;

使用两种方式产生作业/进程:(a)自动产生, (b)手工输入;

在屏幕上显示每个作业/进程的执行情况;

时间的流逝可用下面几种方法模拟:(a)按键盘,每按一次可认为过一个时

间单位; (b) 响应WM_TIMER;

计算并显示一批作业/进程的周转时间、平均周转时间、带权周转时间、平均

带权周转时间。

将一批作业/进程的执行情况存入磁盘文件,以后可以读出并重放;

支持的调度算法:先来先服务、短作业/进程优先、时间片轮转调度算法、优

先权调度算法、高响应比优先调度算法、多级反馈队列调度算法。

10. 进程死锁的检测:绘制资源分配图。(2人) 4分 建立资源分配图的数据结构描述;

建立绘制资源分配图的例程,包括结点和有向边;

可以删除、添加结点或有向边;

可用鼠标在窗口的任意位置指点,确定结点或有向边位置;

可以拖动现有结点的位置,与该结点相连的有向边也随之移动;

可以将资源分配图存入文件,从文件中取出;

11. 进程死锁的避免:银行家算法,教材P127-129页。(1人) 3分 建立银行家算法的数据结构描述;

将初始数据放在文件中,算法运行时读出;

对给定的资源请求,使用算法判断是否允许;

输出每次判断产生的执行序列;

12. 进程死锁的检测:资源分配图化简判断是否有死锁发生。(2人) 3分 建立所需数据结构;

使用题目21存成的资源分配图的文件作为输入;

编写资源分配图化简算法;

每化简一步,在屏幕上显示化简的当前结果;

最后给出结论,是否死锁,如思索给出死锁的进程及资源;

13. 动态分区分配存储管理。(3人) 4分 建立描述内存分配状况的数据结构;

建立描述进程的数据结构;

设计要求

使用两种方式产生进程:(a)自动产生, (b)手工输入;

在屏幕上显示内存的分配状况、每个进程的执行情况;

建立分区的分配与回收算法,支持紧凑算法;

时间的流逝可用下面几种方法模拟:(a)按键盘,每按一次可认为过一个时

间单位; (b) 响应WM_TIMER;

将一批进程的执行情况存入磁盘文件,以后可以读出并重放;

支持算法:首次适应算法、循环首次适应算法、最佳适应算法:最坏适应算法。

14. 分段存储管理系统:建立一个基本分段存储管理系统的模型。(1-2人) 4分 首先分配一片较大的内存空间,作为程序运行的可用存储空间;

建立应用程序的模型,应该包括相应的分段描述与存储结构;

建立进程的基本数据结构及相应算法

建立管理存储空间的基本存储结构。

建立管理分段的基本数据结构与算法。

设计存储空间的分配与回收算法;

提供信息转储功能,可将存储信息存入磁盘,也可从磁盘读入;

15. 分页存储管理系统:建立一个基本分页存储管理系统的模型。(1-2人) 4分 首先分配一片较大的内存空间,作为程序运行的可用存储空间;

建立应用程序的模型;

建立进程的基本数据结构及相应算法

建立管理存储空间的基本存储结构。

建立管理分页的基本数据结构与算法。

设计存储空间的分配与回收算法;

提供信息转储功能,可将存储信息存入磁盘,也可从磁盘读入;

16. 段页式存储管理系统:建立一个基本段页存储管理系统的模型。(1-2人) 4分 首先分配一片较大的内存空间,作为程序运行的可用存储空间;

建立应用程序的模型,包括分段结构在内;

建立进程的基本数据结构及相应算法

建立管理存储空间的基本存储结构。

建立管理段页的基本数据结构与算法。

设计存储空间的分配与回收算法;

提供信息转储功能,可将存储信息存入磁盘,也可从磁盘读入;

17. 页面置换算法。(2人) 4分 建立相应的数据结构;

在屏幕上显示页面的状况;

时间的流逝可用下面几种方法模拟:(a)按键盘,每按一次可认为过一个时

间单位; (b) 响应WM_TIMER;

将一批页的置换情况存入磁盘文件,以后可以读出并重放;

计算页面的缺页次数、缺页后的页面置换次数;

支持算法:FIFO、LRU、、clock算法、最佳置换算法。

18. 磁盘调度算法。(2人) 4分 建立相应的数据结构;

在屏幕上显示磁盘请求的服务状况;

时间的流逝可用下面几种方法模拟:(a)按键盘,每按一次可认为过一个时

间单位; (b) 响应WM_TIMER;

将一批磁盘请求的情况存磁盘文件,以后可以读出并重放;

计算磁头移动的总距离及平均移动距离;

设计要求

支持算法:FIFO、SSTF、SCAN、CSCAN、FSCAN。

19. 空闲磁盘存储空间的管理:位示图法。(1人) 4分 建立相应的数据结构;

磁盘上建立一个文件,文件长度设为10MB,用该文件来模拟一个磁盘,磁盘

的物理块大小为512字节。

建立进程的数据结构;

时间的流逝可用下面几种方法模拟:(a)按键盘,每按一次可认为过一个时

间单位; (b) 响应WM_TIMER;

将一批进程对磁盘的请求的情况存磁盘文件,以后可以读出并重放;

使用两种方式产生进程对磁盘的请求:(a)自动产生, (b)手工输入; 显示每次磁盘的请求和空间释放后的位示图状态;

显示每次磁盘的请求和空间释放后状态;

20. 空闲磁盘存储空间的管理:UNIX成组链接法。(1人) 4分 建立相应的数据结构;

磁盘上建立一个文件,文件长度设为10MB,用该文件来模拟一个磁盘,磁盘

的物理块大小为512字节。

建立进程的数据结构;

时间的流逝可用下面几种方法模拟:(a)按键盘,每按一次可认为过一个时

间单位; (b) 响应WM_TIMER;

将一批进程对磁盘的请求的情况存磁盘文件,以后可以读出并重放;

使用两种方式产生进程对磁盘的请求:(a)自动产生, (b)手工输入; 显示每次磁盘的请求和空间释放后的空闲物理块链的状态;

显示每次磁盘的请求和空间释放后状态;

21. 目录查询:查找Windows FAT文件系统下指定目录的特定文件 。(1人)3分 对形如“C:\\Windows\\System\\Telnet.hlp”的文件进行查找;算法为:

首先找到根目录C:\\;

从根目录找到子目录Windows;

再找到子目录System;

再找到文件Telnet.hlp;

22. 内存文件系统:建立基于内存的文件系统。(2-3人) 4分 首先分配一定容量的内存,建立虚拟磁盘;

在该磁盘上建立相应的文件系统;

为该文件系统设计相应的数据结构来管理目录、虚拟磁盘的空闲空间、已分配

空间等。

提供文件的创建、删除、移位、改名等功能。

提供良好的界面,可以显示磁盘文件的状态和空间的使用情况;

提供虚拟磁盘转储功能,可将信息存入磁盘,还可从磁盘读入内存;

23. 磁盘文件系统:建立基于磁盘存储设备的FAT文件系统。(2-3人) 4分 首先分配一定容量的磁盘存储空间,作为文件存储空间;

建立相应的文件系统,使用FAT文件系统;

为该文件系统设计相应的数据结构来管理目录、磁盘空闲空间、已分配空间等。 提供文件的创建、删除、移位、改名等功能。

提供良好的界面,可以显示磁盘文件系统的状态和空间的使用情况;

提供虚拟磁盘转储功能,可将信息存入磁盘,还可从磁盘读入内存;

24. 磁盘文件系统:建立基于磁盘存储设备的UNIX文件系统。(2-3人) 4分

设计要求

首先分配一定容量的磁盘存储空间,作为文件存储空间;

建立相应的文件系统,使用UNIX文件系统,使用索引结点、混合分配方式、

成组连接方法管理存储空间;

为该文件系统设计相应的数据结构来管理目录、磁盘空闲空间、已分配空间等。 提供文件的创建、删除、移位、改名等功能。

提供良好的界面,可以显示磁盘文件系统的状态和空间的使用情况;

提供虚拟磁盘转储功能,可将信息存入磁盘,还可从磁盘读入内存;

25. 事务模型设计:建立事务的系统安全管理模型。(1-2人) 4分 建立事务的基本数据结构;

建立事务日志的结构;

设计基于事务日志的Redo和Undo功能。

建立一个多线程的测试程序,分别对磁盘上的多个文件进行处理,并利用事务

来管理。

执行过程中人为安排一些意外的发生,包括断电、异常等,导致文件修改任务

无法完成;

利用事务日志进行数据的恢复;

26. 操作系统接口:Windows命令接口1。(2人) 4分 为Windows操作系统建立兼容的DOS命令接口,杂项命令;

具体命令:CLS, DATE,TIME,DOSKEY,FIND,FINDSTR,COMP,FC,EXIT,HELP,

MORE, PRINT, PROMPT,SORT,TYPE,COPY,命令格式可参照Windows的

CMD.EXE或MS-DOS提供的命令;

设计命令的名称、参数等格式。

可以字符形式接收命令,执行命令,然后显示命令执行结果;

27. 操作系统接口:Windows命令接口2。(2人) 4分 为Windows操作系统建立兼容的DOS命令接口,文件与目录命令;

具体命令:DIR, RD,CD,MD, DEL,MOVE,REN,XCOPY,命令格式可参照

Windows的CMD.EXE或MS-DOS提供的命令;

设计命令的名称、参数等格式。

可以字符形式接收命令,执行命令,然后显示命令执行结果;

28. 操作系统接口:Windows命令接口3。(2人) 4分 为Windows操作系统建立兼容的DOS命令接口,批处理文件中的流程命令; 批处理文件的扩展名为.BATCH

具体命令:IF, FOR,WHILE,SET,SHIFT,ECHO, GOTO,:(标号),命令格式可

参照Windows的CMD.EXE或MS-DOS提供的命令;

设计命令的名称、参数等格式。

可以执行扩展名为.BATCH的批处理文件。

29. 操作系统接口:兼容Unix/Linux命令接口。(2人) 4分 为Windows操作系统建立一个兼容Unix命令的命令接口;

实现命令包括ls,cat,cp,mv,md,rd,cd,sort,more,print,命令的内容与详细格式请查

阅unix命令手册;

可以字符形式接收命令,执行命令,然后显示命令执行结果;

30. 域模型设计:建立基于保护域的系统安全管理。(1-2人) 4分 建立进程的基本数据结构;

建立待保护对象的模型;

设计要求

建立保护域的模型与基本数据结构。建立进程的运行模式并模拟进程运行过程

中对对象的访问。

二、 开题报告格式及要求

下面是课程设计的开题报告的要求:

(一) 该项课程设计的意义;

(二) 课程设计的任务

(三) 相关原理及算法描述;

(四) 开发环境;

(五) 预期设计目标;

三、 课程设计报告格式及要求

下面是课程设计报告的要求:

(一) 课程设计任务、要求、目的;

(二) 原理及算法描述;

(三) 开发环境;

(四) 重要算法和设计思路描述;

(五) 程序实现---数据结构;

(六) 程序实现---程序清单;

(七) 总结;

(八) 参考文献;

四、评分标准

1、分为1—5五个等级,每道题后的红字为初始题目级别。

2、如果等分工作量完成题目要求内容,则参与人的分数为题目等级。

3、如果在题目要求内容之外做到了额外的内容,比如友好的交互界面、更先进的算法、在LINUX操作系统下实现,则参与人分数为题目等级+1。

4、如果没有完成题目要求的内容,则参与人分数为题目等级-1。

5、如果降低人数或按最低人数完成题目要求内容,则参与人分数为题目等级+1。

6、如果合作项目参与者有主要完成人与次要完成人,则主要完成人的分数为题目等级+1,次要完成人为题目等级或题目等级-1,视工作量大小与最后的检验时的问答情况。

本文来源:https://www.bwwdw.com/article/ws9h.html

Top