2022年操作系统课程设计题目 4.pdf
《2022年操作系统课程设计题目 4.pdf》由会员分享,可在线阅读,更多相关《2022年操作系统课程设计题目 4.pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、操作系统课程设计指导书课程设计要求:1、根据每道题目的人数要求 指定题目,要求每两名同学之间课程设计内容应该不同。如果有选择相同题目的小组,则设计方案不同,否则视为操袭。2、分析设计要求,给出解决方案,建立必要的数据结构,然后设计总体流程(包括界面)、详细设计必要的算法,并最终显示出结果。基于 Windows 或 Linux 操作系统都可以,用何种编程语言都可以。3、提交设计报告,包括设计要求、设计思想及流程、设计所涉及的主要数据结构、程序清单、运行结果、设计心得、参考资料等。4、最终成绩决定因素设计质量(40)设计报告(30)答辩(30)5、时间安排:16 周确定题目,查找资料,上机编程;2
2、0 周上机编程调试,验收答辩,提交课程序设计报告书。6、设计报告内容与他人相同者无成绩。课程设计题目:1Windows 多线程控制台程序(1 人)目的:学习和掌握如何编写Windows 多线程控制台程序。通过编写程序,加深对进程和线程关系的理解,掌握多线程程序的执行和编写技巧。内容要求:写一个单进程多线程的Windows控制台程序,该程序在一个进程内建立 N 个线程来执行指定的任务。N 由命令行传递给系统。Win32 控制台应程序中,主函数的格式如:void main(int argc,char*artv),可以获取命令行参数。通过 VC+“工程设置”的CC+属性页设置应用程序为“MTD”多线
3、程。利用 Win32 API CreateThread()来生成线程。参考书:操作系统原理与实践教程周湘贞曾宪权编 清华出版社2睡眠理发师问题(2 人)实验目的:了解信号量机制,了解并掌握进行同步和机制,熟悉信号量的操作函名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 8 页 -数,利用信号量实现对共享资源的控制。设计要求:1编写程序实现理发师与顾客进程的同步。问题描述:这是另一种经典的IPC 问题,理发店有一位理发师,一把理发椅和n把用来等候理发的椅子。如果没有顾客,则更好师便在理发椅上睡觉,顾客到来时,如理发师闲则理发,否则如有空等候椅则坐等,没有空椅则离开,编写程序实现理发
4、师和顾客程序,实现进程控制,要求不能出现竞争。2将 1 题中问题修改为有两位理发师,设计程序实现同步控制。问题提示:可以用一个变量waiting 来记录等候理发的顾客数,另使用三个信号量:用来记录等候理发的顾客数customers;用来记录理发师是否空闲的信息号量 barbers,一个用于互斥访问waiting 变量的 mutex。3进程调度模拟程序(2 人)实验目的:深入掌握进行调度的概念原理和实同方法。设计要求:编写一个进程调度程序,允许多个进程并行执行。进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)、先来先服务算法、按时间片轮转调度算法,最终总结该算法的优
5、缺点,写出设计体会。每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为输入进程的时间。进程的运行时间以时间片为单位进行计算。每个进程的状态可以是就绪W(Wait)、运行 R(Run)、或完成 F(Finish)三种状态之一。4进程调度模拟程序2(1 人)实验目的:深入掌握进程调度的概念原理和实现方法。设计要求:编写一个进程调度程序,允许多个进程并行执行。进程调度算法:采用最高优先数与按时间片轮转调度结合算法,最终总结该算法
6、的优缺点,写出设计体会。就绪进程获得 CPU 后都只能运行一个时间片。用已占用CPU 时间加 1 来表示。如果运行一个时间片后,进程的已占用CPU 时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU 时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 8 页 -重复以上过程,直到所要进程都完成为止。5读者与写者问题(进程同步问题)(1 人)实验目的
7、:了解进程同步的概念,理解信号量机制的原理,掌握运用信号量解决进程同步问题的方法,进而学会运用进程的同步与互斥。设计要求:编程模拟教材中讨论的读者与写者问题,要求能显示结果。6模拟文件管理系统(3 人)实验目的:深入了解文件管理系统,初步掌握文件管理系统的实现方法。设计要求:编写一程序,模拟一个简单的文件管理系统。树型结构,目录下可以是目录,也可以是文件。在此文件管理系统,可实现的操作有:改变目录:格式:cd 显示目录:格式:dir 创建目录:格式:md 删除目录:格式:rd 新建文件:格式:edit 删除文件:格式:del 退出文件系统:exit 实现参考:1文件系统采用二叉树型存储结构,结
8、点结构如下:struct FileNode char filenameFILENAME_LEN;/文件名/目录名int isdir;/目录、文件的识别标志int i_nlink;/文件的链接数/int adr;/文件的地址struct FileNode*parent,*child;/指向父亲的指针和指向左孩子的指针struct FileNode*sibling_prev,*sibling_next;/指向前一个兄弟的指针和指向后一个兄弟的指针.;2目录名和文件名支持全路径名和相对路径名,路径名各分量间用“/”隔开3功能具体描述:改变目录:改变当前工作目录,目录不存在时给出出错信息显示目录:显示
9、指定目录下或当前目录下所有文件和一级目录(选做:带/s参数的 dir 命令,显示所有子目录)创建目录:在指定路径或当前路径下创建指定目录。重名时给出错信息。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 8 页 -删除目录:删除指定目录下所有文件和子目录。要删目录不空时,要给出提示是否要删除。创建文件:创建指定名字的文件,只要创建表示文件的节点即可,内容及大小不考虑。删除文件:删除指定文件,不存在时给出出错信息。退出文件系统:exit 4、总体流程:初始化文件目录;输出提示符,等待接受命令,分析键入的命令;对合法的命令,执行相应的处理程序,否则输出错误信息,继续等待新命令,直到键
10、入 EXIT 退出为止。7内存的申请与释放(2 人)实验目的:了解操作系统内存分配的算法。实验要求:1、定义一个自由存储块链表,按块地址排序,表中记录块的大小。当请求分配内存时,扫描自由存储块链表,直到找到一个足够大的可供分配的内存块,若找到的块大小正好等于所请求的大小时,就把这一块从自由链表中取下来,返回给申请者。若找到的块太大,即对其分割,并从该块的高地址部分往低地址部分分割,取出大小合适的块返回给申请者,余下的低地址部分留在链表中。若找不到足够大的块,就从操作系统中请求另外一块足够大的内存区域,并把它链接到自由块链表中,然后再继续搜索。释放存储块也要搜索自由链表,目的是找到适当的位置将要
11、释放的块插进去,如果被释放的块的任何一边与链表中的某一块临接,即对其进行合并操作,直到没有合并的临接块为止,这样可以防止存储空间变得过于零碎。2、空闲区采用分区说明表的方式实现1 中的功能。要求同上。8Window 磁盘直接读写实验(1 人)实验目的:了解磁盘设备编程的特点。实验要求:通过本实验了解在Windows 系统中如何直接使用磁盘的读写功能;所编应用程序能够响应用户指定的读写磁盘扇区的请求,也能提供查看磁盘相关参数的功能。技术的关键是使用了Windows 提供的 API(应用程序接口)来实现所要求的功能。用户可以利用API 进行底层的磁盘操作。相关知识:(下列函数的详细使用方法参看VC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年操作系统课程设计题目 2022 操作系统 课程设计 题目
限制150内