操作系统课程设计题目

上传人:pu****.1 文档编号:498361775 上传时间:2023-11-11 格式:DOC 页数:11 大小:52KB
返回 下载 相关 举报
操作系统课程设计题目_第1页
第1页 / 共11页
操作系统课程设计题目_第2页
第2页 / 共11页
操作系统课程设计题目_第3页
第3页 / 共11页
操作系统课程设计题目_第4页
第4页 / 共11页
操作系统课程设计题目_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《操作系统课程设计题目》由会员分享,可在线阅读,更多相关《操作系统课程设计题目(11页珍藏版)》请在金锄头文库上搜索。

1、操作系统课程设计题目课程设计要求:1、可以依据教材中的算法自行选题,也可以从下面给出的题目中选题。要求 每两名同学之间课程设计内容应该不同。如果有选择相同题目的小组,则设计方案 不同,否则视为抄袭。2、分析设计要求,给出解决方案,建立必要的数据结构,然后设计总体流程(包 括界面、详细设计必要的算法,并最终显示出结果。 基于Windows或Linux操作系 统都可以,用何种编程语言都可以。3、 提交设计报告,包括设计要求、设计思想及流程、设计所涉及的主要数据 结构、程序清单、运行结果、设计心得、参考资料等。4、最终成绩决定因素=设计质量(40+设计报告(30+答辩(305、设计报告内容与他人相同

2、者无成绩。6要求同学们在上机前,尽量多做准备,编写好程序代码,上机时进行修改调试, 以提高上机效率。课程设计题目:1. Win dows多线程控制台程序目的:学习和掌握如何编写 Windows多线程控制台程序。通过编写程序,加深 对进程和线程关系的理解,掌握多线程程序的执行和编写技巧。内容要求:写一个单进程多线程的Windows控制台程序,该程序在一个进程内 建立N个线程来执行指定的任务。N由命令行传递给系统。Win32控制台应程序中,主函数的格式如:void mai n(int argc,char* artv,可以获取命令行参数。通过VC+“工程/设置”的C /C+属性页设置应用程序为“ M

3、TD多线程。利用 Win 32 API CreateThread来生成线程。参考书:操作系统原理与实践教程周湘贞 曾宪权编 清华出版社2. 睡眠理发师问题实验目的:了解信号量机制,了解并掌握进行同步和机制,熟悉信号量的操作函数,利用信号量实现对共享资源的控制。设计要求:1编写程序实现理发师与顾客进程的同步。问题描述:这是另一种经典的IPC问题,理发店有一位理发师,一把理发椅和n把 用来等候理发的椅子。 如果没有顾客,则更好师便在理发椅上睡觉,顾客到来时,如 理发师闲则理发,否则如有空等候椅则坐等,没有空椅则离开,编写程序实现理发师和 顾客程序,实现进程控制,要求不能出现竞争。2. 将1题中问题

4、修改为有两位理发师,设计程序实现同步控制。问题提示:可以用一个变量waiting来记录等候理发的顾客数,另使用三个信号 量:用来记录等候理发的顾客数customers用来记录理发师是否空闲的信息号量 barbers 一个用于互斥访问 waiting变量的mutex。3. 进程调度模拟程序1实验目的:深入掌握进行调度的概念原理和实同方法。设计要求:编写一个进程调度程序,允许多个进程并行执行进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高 的进程、先来先服务算法、按时间片轮转调度算法,最终总结该算法的优 缺点,写出 设计体会。每个进程有一个进程控制块(PCB表示。进程控制块可

5、以包含如下信息:进程 名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。进程的优先数及需要的运行时间可以事先人为地指定 (也可以由随机数产 生。进程的到达 时间为输入进程的时间。进程的运行时间以时间片为单位进行计算。每个进程的状态可以是就绪 W (Wait、运行R (Run、或完成F (Finish三种状 态之一。4. 进程调度模拟程序2实验目的:深入掌握进程调度的概念原理和实现方法。设计要求:编写一个进程调度程序,允许多个进程并行执行。进程调度算法:采用最高优先数与按时间片轮转调度结合算法,最终总结该算法 的优缺点,写出设计体会。就绪进程获得CPU后都只能运行一个时间片。用已

6、占用 CPU时间加1来表 示。如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则 撤消该进程,如果运行一个时间片后进程的已占用 CPU时间还未达所需要的 运行时 间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级,然后把它 插入就绪队列等待CPU。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB ,以便进行检查。重复以上过程,直到所要进程都完成为止5. 读者与写者问题(进程同步问题实验目的:了解进程同步的概念,理解信号量机制的原理,掌握运用信号量 解决 进程同步问题的方法,进而学会运用进程的同步与互斥 。设计要求:编程模拟教材中讨论的读者

7、与写者问题,要求能显示结果。6. 模拟文件管理系统实验目的:深入了解文件管理系统,初步掌握文件管理系统的实现方法。设计要 求:编写一程序,模拟一个简单的文件管理系统。树型结构,目录下可以是目录,也可 以是文件。在此文件管理系统,可实现的操作有:改变目录:格式:cd 目录名显示目录:格式:dir 目录名创建目录:格式:md 目录名删除目录:格式:rd 目录名新建文件:格式:edit 文件名删除文件:格式:del 文件名退出文件系统:exit实现参考:1. 文件系统采用二叉树型存储结构,结点结构如下:struct FileNodechar filenameFILENAME_LEN; 文件名 /目录

8、名int isdir;/目录、文件的识别标志int i_nli nk;文件的链接数/int adr;/文件的地址struct FileNode *pare nt, *child;指向父亲的指针和指向左孩子的指针structFileNode *sibling_prev, *sibling_next;指向前一个兄弟的指针和指 向后一个兄弟的 指针.;2. 目录名和文件名支持全路径名和相对路径名,路径名各分量间用“ /隔开3. 功能具体描述:改变目录:改变当前工作目录,目录不存在时给出出错信息显示目录:显示指定目录下或当前目录下所有文件和一级目录(选做:带/s参数的dir命令,显示所有子目录创建目录

9、:在指定路径或当前路径下创建指定目录。重名时给出错信息。删除目录:删除指定目录下所有文件和子目录。要删目录不空时,要给出提 示是否要删除。创建文件:创建指定名字的文件,只要创建表示文件的节点即可,内容及大小不 考虑。删除文件:删除指定文件,不存在时给出出错信息。退出文件系统:exit4、总体流程:初始化文件目录;输出提示符,等待接受命令,分析键入的命令;对合法的命令,执行相应的处理程序,否则输出错误信息,继续等待新命令,直到 键入EXIT退出为止。7. 内存的申请与释放实验目的:了解操作系统内存分配的算法。实验要求:1、定义一个自由存储块链表,按块地址排序,表中记录块的大 小。当 请求分配内存

10、时,扫描自由存储块链表,直到找到一个足够大的可供分配 的内存块, 若找到的块大小正好等于所请求的大小时,就把这一块从自由链表中 取下来,返回给 申请者。若找到的块太大,即对其分割,并从该块的高地址部分往低地址部分分割, 取出大小合适的块返回给申请者,余下的低地址部分留在链 表中。若找不到足够大 的块,就从操作系统中请求另外一块足够大的内存区域 ,并把它链接到自由块链表中, 然后再继续搜索。释放存储块也要搜索自由链表,目的是找到适当的位置将要释放的块插进 去,如 果被释放的块的任何一边与链表中的某一块临接,即对其进行合并操作,直到没有合 并的临接块为止,这样可以防止存储空间变得过于零碎。2、空闲

11、区采用分区说明表的方式实现 1中的功能。要求同上。8. Win dow磁盘直接读写实验实验目的:了解磁盘设备编程的特点实验要求:通过本实验了解在 Windows系统中如何直接使用磁盘的读写功 能; 所编应用程序能够响应用户指定的读写磁盘扇区的请求,也能提供查看磁盘相关参 数的功能。技术的关键是使用了 Windows提供的API (应用程序接口来实现所要 求的功能。用户可以利用 API进行底层的磁盘操作。相关知识:(下列函数的详细使用方法参看 VC+的MSDN文档1、 CreateFile用来创建或者打开一个文件、管道、磁盘设备等,它返回一个句 柄用于以后对这个对象的访问。2、 DeviceIo

12、Control :本API直接向相应设备的驱动程序发出指令,以完成在 函 数参数中所指定的动作。3、WriteFile :本API用于向文件中写入数据,写入操作可以采用同步方式或 者异步方式,写入操作从文件指针处开始,写操作后会被相应调整。磁盘设备被当作文件看待。4、ReadFile本API用于从文件中读出数据,读出操作从文件指针处开始,文件指针在读操作后会被相应调整。用法同写文件函数相似。5、SetFilePoi nter用于移动一个打开的文件中的读写指针。9. 处理机调度实验目的:加深作业概念的理解,深入了解多道程序设计系统中如何组织作业、 管理作业和调度作业,加深对作业调度算法的理解。实

13、验要求:采用短作业优先调度算法、先来先服务调度算法和最高响应比调度算法实现处理机对作业的调度。作业调度算法的关键是在已有的作业后备队列上按照一定的规则选择一个作 业,如何在已有的数据结构上进行操作的问题。10. 页面置换算法实验目的:深入掌握内存调度算法的概念原理和实现方法。设计要求:编写程序实现:1先进先出页面置换算法(FIFO2最近最久未使用页面置换算法(LRU3最佳置换页面置换算法(OPT专题:设计一个虚拟存储区和内存工作区,编程序演示以上三种算法的具体实 现过程,并计算访问命中率。演示页面置换的三种算法。通过随机数产生一个指令序列,将指令序列转换成为页地址流。计算并输出各种算法在不同内

14、存容量下的命中率。11. 售票员与乘客(信号量操作实验目的:了解进程同步的概念,理解信号量机制的原理,掌握运用信号 量解决 进程同步问题的方法,进而学会运用进程的同步与互斥 。设计要求:编程序模拟车站售票厅内进程同步问题,售票厅任何时刻最多可容纳 20名购票者进入,当售票厅中少于20名购票者时,厅外的购票者可立即 进入,否则需 要在外面等待。每个购票者可看成一个进程。12. 生产者一消费者问题实验目的:掌握信号的使用方法和PV操作的定义,掌握使用PV操作实现 进行 之间同步和互斥的方法,加深对进行同步互斥概念的理解设计要求:设计一个程序,由一个父进程创建三个子进程,三个子进程一个是生 产者进程

15、,两个是消费者进行,父子进程都使用父进程创建的共享存储区进行通信,由生产者进程将一个数组中的十个数值发送到由5个缓冲区组成的共享内存中,两个消费者进程轮流接收并输出这十个数值,同时将两个消费者进 程读出的数值进行累加求和。13.驱动调度.实验目的:掌握驱动调度算法的 原理设计要求:模拟电梯调度算法,实现对磁盘的驱动调度。要求模拟设计一个驱动调度程序,观察驱动调度程序的动态运行过程。通过实验理解和掌握驱动调度的职能。通过输入一个01的数来确定函数执行 接受请求”命令,还是执行 驱动调度”命令。同时可以根据自己需要确定是否继续执行。调用数组对输入的进程进行存储,并运用循环进行显示同时对 I/O请求列表 进行初始化。运用电梯 调度算法,对I/O列表中的磁盘请求进行调度,同时对I/O列表进 行排序,调度完 成后显示新的列表14.银行家算法已选.银行家算法(已选已选实验目的:了 解多道程序系统中,多个进程并发执行的资源分配。管理员可以把一定数量的作业供多个用户周转使用,为保证作业的安全管理 员规定:当一个用户对作业的最 大需求量不超过管理员现有的资金就要接纳该用户;用户可以分期贷款,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号