无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。相信许多人会觉得范文很难写?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。
操作系统原理课程设计 操作系统课程设计文件系统篇一
课程名称:操作系统课程设计 课程编码:10110206 英文名称:course design of operating system 学 时: 二周 学 分:2
适用专业:计算机科学与技术、计算机网络工程、计算机软件工程 课程类别:必修
课程性质:学科基础课 先修课程:c++程序设计,数据结构,计算机组成原理 参考教材:
计算机操作系统教程,清华大学出版社,张尧学等,2006.10 现代操作系统,机械工业出版社,陈向群等译,2005.9
一、课程性质与任务
“操作系统基础”是计算机专业的核心专业课,“操作系统课程设计”是理解和巩固操作系统基本理论、原理和方法的重要的实践环节。
操作系统课程主要讲述的内容是计算机操作系统的基本原理及组成,操作系统中常用的设计技巧和方法。它与计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法;在算法基础上,解决实际问题,提高学生实际应用、编程的能力。
二、课程教学的基本要求
学生针对操作系统课程设计题目所提出的问题,查阅相关资料,利用操作系统中的基本原理和方法,通过分析、设计、编码、调试,实现完整的解决方案。
三、课程设计题目及要求
题目:linux二级文件系统设计
要求:系统采用两级目录,其中第一级对应于用户账号,第二级对应于用户帐号下的文件;使用内存来模拟外存,进行数据结构设计和操作算法的设计,实现一个文件系统并实现基本的文件操作。
四、课程学时分配
总设计时间:两周
五、课程设计内容与安排
1、问题分析及解决方案确定;
2、形成编程思路;
3、使用具体语言实现算法;
4、上机调试程序;
5、编写课程设计报告.六、考核方式
考核的内容包括:程序语言描述的科学性、系统性,程序设计的正确性,程序设计文档的系统性可读性,学生的工作态度、动手能力、是否有创新,总结报告的质量。
课程设计结束时,要求学生按照统一格式写出课程设计报告。
以编写的程序和学生实际操作能力为主,参考提问和出勤情况等,综合评定给出成绩。
七、课程的主要参考书
1.现代操作系统,机械工业出版社,陈向群 等译,2005 2.操作系统原理·技术与编程,机械工业出版社,蒋 静等编著,2004 3.计算机操作系统,西安电子科技大学出版社,方敏主编,2004.8 4.计算机操作系统(第二版),西安电子科技大学出版社,汤子灜等编著,2001 5.操作系统实验指导,清华大学出版社,任爱华等 编著,2004
制定人: 任德华
审定:
批准:
操作系统原理课程设计 操作系统课程设计文件系统篇二
《计算机操作系统》课程设计教学大纲
课程编号:08120070 课程名称:计算机操作系统/computer operating system
课程总学时/学分:56/3.(其中理论46学时,实验10学时 课程设计时间/学分:1周/1学分 适用专业:计算机科学与技术
一、设计任务及目的
《计算机操作系统》课程是计算机科学与技术专业的一门重要专业基础课,“计算机操作系统课程设计”的目的是在学生学习了《计算机操作系统》课程之后理论联系实践,一方面延续《计算机操作系统》课程实验的要求,进一步加深与巩固学生对计算机操作系统中概念、基本原理、算法的理解和掌握,培养学生对计算机常用操作系统的操作能力;另一方面通过本环节加强培养学生分析、修改和设计操作系统的能力。期望达到学为所用,并且能进一步提高使用计算机和编程能力。
二、课程设计的基本要求
1、了解所选择开发环境的调试功能,掌握跟踪,修改错误的技巧。
2、能根据实际问题选择数据结构,清淅的描述算法。
3、培养良好的编程风格。
4、撰写课程设计报告,按格式要求写出完整的、规范的报告并打印,其中模块图、流程图要清楚规范,特别要求学生独立完成。
三、设计需运用的基本理论
设计需运用计算机系统知识、操作系统基本概念、进程管理、存储管理技术、i/o管理技术、文件管理、高级语言程序设计、数据结构等内容。
四、课程设计内容与时间安排
1、设计内容:可以选择下面提供的参考选题,也可以自选,如果自选,需要将自选题,目的详细内容以及实现要求提供给老师,老师批准后方可采用。
课题一:进程管理演示
设计目的:加深对进程概念及进程管理各部分内容的理解;熟悉进程管理中主要数据结构的设计及进程调度算法、进程控制机构、同步机构及通讯机构的实施。
设计内容:设计一个允许n个进程并发运行的进程管理模拟系统。该系统包括有简单的进程控制、同步与通讯机构,其进程调度算法可任意选择(优先级调度,时间片轮转,短进程优先中的一种)。每个进程用一个pcb表示,其内容根据具体情况设置。各进程之间有一定的同步 关系(可选)。系统在运行过程中应能显示或打印各进程的状态及有关参数的变化情况,以便观察诸进程的运行过程及系统的管理过程。
课题二:存储管理系统设计
设计目的:使学生熟悉存储器管理系统的设计方法;加深对所学各种存储器管理方案的了解。设计内容:采用一些常用的存储器分配算法,设计一个请求页式存储管理模拟系统并调试运行。课题三:编程模拟银行家算法
设计目的:通过设计和调试银行家算法通用程序,加深对死锁概念和死锁避免方法的了解。设计内容:编制银行家算法程序,并检测所给状态的系统安全性。课题四:磁盘调度算法的实现与分析
设计目的:使学生熟悉磁盘管理系统的设计方法;加深对所学各种磁盘调度算法的了解及其算法的特点。
设计内容:编程序实现下述磁盘调度算法,并求出每种算法的平均移动磁道数,并分析结果:
①先来先服务算法(fcfs)②最短寻道时间优先算法(sstf)③扫描算法(scan)④循环扫描算法(c-scan)
课题五:文件系统演示
设计目的:使学生熟悉文件管理系统的设计方法;加深对所学各种文件操作的了解及其操作方法的特点。
设计内容:设计一个简单的多用户文件系统。即
①在系统中用一个文件来模拟一个磁盘;
②此系统至少有:create、delete、open、close、read、write等和部分文件属性的功能。③实现这个文件系统。④能实际演示这个文件系统。
基本上是进入一个界面(此界面就是该文件系统的界面)后,可以实现设计的操作要求。
2、时间安排:
动员,准备及规则(0.5天)
具体内容:动员、选题、系统功能和需求的分析。
课程设计实施及检查(0.5天)
具体内容:任务规划,设计出每个功能
课程设计实施(5天)
具体内容:具体功能的实现、系统的完善、中期检查和个人答辩
整理课程设计报告书(1天)
具体内容:文档的整理,设计报告的完成
五、考核方式与评分办法
考核方式:课堂点名、设计报告及个人答辩的综合评定 评分方式:课程设计成绩=点名*10%+设计报告*60+答辩*30%
成绩实行五级记分。其中,优(90-100分),良(80-89),中(70-79),及格(60-69),不及格(59分及以下)。如果教师认定为抄袭,则成绩为0分。
六、使用教材及参考书(小4号黑体)
[1]徐虹.操作系统实验指导.清华大学 出版社,2009年3月 [2]孟庆昌.操作系统(第2版).电子工业出版社,2010年9月 [3]罗宇,邹鹏等.操作系统(第2版).电子工业出版社,2007年 4月 [4]宗大华,宗涛等.操作系统.人民邮电出版社,2009年1月
执笔人:左新娥
2011年11月2日
审核人:文志强
2011年11月5日
批准人: 朱艳辉
2011年11月6日
操作系统原理课程设计 操作系统课程设计文件系统篇三
《操作系统课程设计》教学大纲
一、课程设计基本信息 课程设计环节代码:230027 课程设计环节名称:操作系统课程设计
英文名称:course design of operating system 课程设计周数:2周 学分:2.0 适用对象:计算机科学与技术专业、网络工程专业
先修课程与环节:高级语言程序设计、数据结构和操作系统
二、课程设计目的和任务
本课程是计算机专业的学生在学习了《操作系统》课程之后,为了加深和巩固学生对所学操作系统各个理论和算法知识的理解,同时提高学生利用操作系统知识综合运用的能力和分析问题、解决的问题的能力而开设的一门实践课程。
通过本环节学生能够充分把学到的知识应用到实际的编程实践中,有可以进一步巩固操作系统中学习的理论。通过算法实现各种控制应用进一步体会操作系统中基本功能模块的结构和实现方法的实质,建立深入了解现有操作系统的评价和比较的方法,加深体会利用操作系统的原理能够解决实际问题的在计算机系统编程和普通编程中解决实际问题的思路;通过对程序编写规范,可以培养学生良好的编程风格,包括程序结构形式,行文格式和程序正文格式等;并培养学生的上机调试能力。
三、课程设计方式
1、课程设计题目的选定
采用指导教师提供参考题目与学生自主命题相结合的办法选定课程设计题目。一人一题,不得重复。其中学生自主命题需要指导教师严格的审核,看是否满足课程要求,检查是否为重复课题。
2、课程设计任务的完成
在指导教师的指导下,各个学生独立完成课题分析、设计、代码编写和调试,独立撰写课程设计报告。所有工作任务主要在微机实验室完成。
四、课程设计教学方法与要求
课程设计教学方法:主要以学生上机操作为主,教师指导为辅 课程设计要求:
1、对系统进行功能分解、模块分析、控制模块分析正确
2、选择合适的操作系统原理所需要数据结构以及相应的算法
3、程序规模适中,着重于内核修订功能,也可以编写外围的程序驱动、文件系统的辅助工具和网络工具等。尽可能的使系统的功能更加完善和全面
4、掌握程序调试的方法
5、说明书、流程图要清楚,阐明设计思路。
6、撰写课程设计报告。按格式要求写出完整、规范的报告并打印。其中模块图、流程图要清楚、规范。特别要求学生自己独立完成。
五、课程设计内容和时间安排
(一)动员、准备及规划(1天)
实习具体内容:动员、选题、系统功能和需求的分析 时间分配:上午动员、下午选题及规划 实习地点:机房
(二)课程设计实施、检查(1天)
实习具体内容:需求分析说明书和任务规划,设计出每个功能 时间分配: 上午上机、下午初期检查 实习地点: 机房
(三)课程设计实施(12天)
实习具体内容: 具体功能的实现及系统的完善工作、中期检查 时间分配: 11.5天上机,0.5天中期检查 实习地点: 机房
(四)整理报告(1天)
实习具体内容: 文档整理、设计报告的完成 时间分配: 全部时间写报告 实习地点:机房或图书馆
六、课程设计基本要求
(一)动员、准备及规划
1、要求:通过学习,使学生了解所选择开发环境的程序运行环境中的调试功能,掌握跟踪、修改错误的技巧。
2、重点:题目的选定和结合操作系统原理的各个部分确定实现的功能以及和原理的结合,难点:对于程序运行环境学会断点设置以及中间结果的检查。
3、说明:题目自选也可以参考教师提供的题目,选题要紧密结合课堂教学内容;并建立一个可行的工作计划;熟悉程序运行环境。
(二)课程设计实施、检查
1、要求:领会按照实际的结构,使学生能根据实际问题选择数据结构,清晰的描述算法
2、重点和难点:算法分析和设计
3、说明:学生自检和指导教师检查相结合,严格按照拟订计划完成任务
(三)课程设计实施
1、要求:培养良好的编程风格,掌握所选编程语言
2、重点和难点:算法分析和设计
3、说明:学生自检和指导教师检查相结合,严格按照拟订计划完成任务
(四)整理报告
1、要求:通过学习,使学生掌握报告书写规范
2、重点:格式的规范
3、说明:指导教师检查
七、课程设计的考核方式和成绩评定标准
(一)课程设计考核方式
点名、各个环节的考核及程序检查、设计报告的综合评定。
(二)课程设计成绩评定标准 课程设计成绩=点名*10%+程序检查*30%+设计报告*60% 由指导教师根据学生完成任务的情况、课程设计报告的质量和课程设计过程中的工作态度等综合打分。成绩评定实行优、良、中、及格和不及格五个等级。不及格者不能得到相应的学分,需重新做课程设计,经指导教师考核及格后,方可取得相应学分。
优:有完整的符合标准的文档,文档有条理、文笔通顺,格式正确,其中有总体设计思想的论述;程序完全实现设计方案,设计方案先进,软件可靠性好;
良:有完整的符合标准的文档,文档有条理、文笔通顺,格式正确;有完全实现设计方案的软件,设计方案较先进;
中:有完整的符合标准的文档,有基本实现设计方案的软件,设计方案正确;
及格:有完整的符合标准的文档,有基本实现设计方案的软件,设计方案基本正确; 不及格:没有完整符合标准的文档,软件没有基本实现设计方案,设计方案不正确。提交的电子文档和软件必须是由学生自己独立完成,雷同者教师有权视其情况扣分或记零分。
八、课程设计指导书 孙钟秀编《操作系统教程》(高等教育出版社)
九、其他说明
(一)课程设计报告要求:
总结报告按如下内容顺序用a4纸进行撰写并打印装订成册:
1、统一的封面;
2、内容摘要;
3、目录;
4、课程设计正文包含以下内容:(1)需求分析
(2)概要设计:每个部分的算法设计说明可以是描述算法的流程图,说明每个程序中使用的存储结构设计(如果指定存储结构请写出该存储结构的定义)。
(3)详细设计:各个算法实现的源程序,源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。(4)调试分析:测试数据,测试输出的结果,算法时间复杂度分析 e结论和展望:每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),和算法的改进设想。课程设计过程的收获、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对《数据结构》课程的认识等内容。
(5)按统一格式列出主要参考文献。
(二)学生上交材料:
1、程序源代码和一组较完备的测试数据(打包上传,发送到各个指导老师的邮箱中,文件名格式为“姓名-班级-学号”);
2、上交程序的说明文件:(中)在说明文档中应该写明上交程序所在的目录,上交程序的主程序文件名,如果需要安装,要有程序的安装使用说明;
3、课程设计报告
大纲修订人:闫大顺 修订日期:2006年8月20 大纲审定人: 审定日期: 附:指导教师推荐题目(供参考)选题:题目大小适中
课题
一、编制银行家算法通用程序,并检测所给状态的系统安全性。
设计目的:主要是解决多种资源的被多个独立执行的程序使用的安全算法。银行家算法就是采用矩阵存储资源的数据进行处理的方法。设计的要求:
1)资源的种类和数目可以变化的 2)进程可以的任意的顺序创建和变化 3)采用保守的方法来分配资源。
课题
二、处理机调度程序:选择一个调度算法,实现处理机调度。
设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个。也就是说能运行的进程数大于处理机个数。为了使系统中的进程能有条不紊地工作,必须选用某种调度策略,选择一进程占用处理机。要求学生设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。设计要求:
1)进程调度算法包括:时间片轮转法,短作业优先算法,动态优先级算法。2)可选择进程数量
3)本程序包括三种算法,用c语言实现,执行时在主界面选择算法(可用函数实现),进入子页面后输入进程数,(运行时间,优先数由随机函数产生),执行,显示结果。
课题
三、用多进程同步方法解决生产者-消费者问题
设计目的:通过研究linux 的进程机制和信号量实现生产者消费者问题的并发控制.说明:有界缓冲区内设有20个存储单元,放入/取出的数据项设定为1-20这20个整型数.设计要求: 1)每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容,当前指针位置和生产者/消费者县城的标识符.2)生产者和消费者各有两个以上.3)多个生产者或多个消费者之间须有共享对缓冲区进行操作的函数代码.课题
四、设计虚拟存储区和内存工作区,编程序演示下述算法的具体实现过程,并计算访问命中率: 要求设计主界面以灵活选择某算法,且以下算法都要实现
1)先进先出算法(fifo)
2)最近最久未使用算法(lru)3)最佳置换算法(opt)
课题
五、编程序实现下述磁盘调度算法,并求出每种算法的平均寻道长度: 要求设计主界面以灵活选择某算法,且以下算法都要实现
1)先来先服务算法(fcfs)
2)最短寻道时间优先算法(sstf)3)扫描算法(scan)
4)循环扫描算法(cscan)
课题
六、编程模拟多进程共享临界资源: 要求产生3个进程: 1)两个进程模拟需要进入临界区的用户进程,当需要进入临界区时,显示:“进程x请求进入临界区…”,同时向管理进程提出申请;申请返回,表示进入了临界区。在临界区中等待一段随机时间,并显示:“进程x正在临界区…”;当时间结束,显示:“进程x退出临界区…”,同时向管理进程提出退出申请;当申请返回,显示:“进程x已退出临界区。”
2)一个进程作为原语的管理进程,接受其他进程的临界区进入请求:如果允许进入,则设置相应变量,然后返回;如果不允许进入,则进入循环等待,直到允许为止;
3)对临界区的访问应遵循空闲让进、忙则等待、有限等待、让权等待的准则。4)进程间通信可以采用信号、消息传递、管道或网络通信方式。
课题七:为linux 设计一个简单的二级文件系统。要求做到以下几点:
1)可以实现下列几条命令(至少4条)。
login
用户登录 dir
列文件目录 create
创建文件 delete
删除文件 open
打开文件 close
关闭文件 read
读文件 write
写文件
2)列目录时要列出文件名、物理地址、保护码和文件长度。3)源文件可以进行读写保护。
课题八:存储管理---动态分区分配算法的模拟:
要求设计主界面以灵活选择某算法,且以下算法都要实现:首次适应算法、循环首次适应算法、最佳适应算法;
课题九:编程演示三种存储管理方式的地址换算过程:
1)分页方式的地址换算 分段方式的地址换算 3)段页式的地址换算
要求演示正确、清晰,编程所用工具不限。
课题
十、编写一个简单的端口扫描程序
目的:熟悉linux下socket、网络编程的基本方法;
任务:编写一个简单的程序,该程序可扫描局域网的某计算机开放了哪些端口;
课题
十一、编写一个基于tcp协议的客户/服务器程序
目的:熟悉linux下socket、网络编程的基本方法,掌握实现客户/服务器程序的编写方法; 任务:编写一个简单的程序,该程序可实现基于tcp协议的简单的客户/服务器方式。
课题
十二、编写一个使用数据报套接字的客户/服务器程序
目的:熟悉linux下socket、网络编程的基本方法,掌握客户/服务器程序的编写方法; 任务:编写一个简单的程序,该程序使用数据报套接字实现简单的客户/服务器方式。课题
十三、在linux平台编写一个简单的网络监听程序
目的:熟悉网络数据包格式,熟悉捕获网络数据包的基本方法
任务:在linux平台编写一个简单的网络监听程序,该程序能捕获网络数据包,并根据需要分析相应的数据包。
课题
十四、编写一个简单的内核模块。
目的:动态可加载内核模块是我们动态扩展内核功能的一种方便灵活的方式,可用来实现一种文件系统、一个驱动程序、或其它内核上层的功能。基本要求:
1)该模块至少需要有两个函数:一个是init_module()函数,在把模块装载到内核时被调用,向内核注册模块所提供的新功能;另一个是cleanup module()函数,在卸载模块时被调用,其任务是清除init_module()函数所注册的功能。编写完成后进行该模块的编译、装载和卸载操作。编写一个用户空间的程序来测试是否成功。
2)进一步的要求:向上面模块中再添加一些自己设计实现的新函数新功能;编写一个用户空间的程序来测试你的模块能否实现自己添加的功能。
课题
十五、编写一个简单的命令解释器—模拟shell功能 基本要求
1)可打开提示符,并获取用户输入的指令可解析指令 3)可寻找命令文件 4)可执行基本的命令
课题
十六、实现系统状态监测工具
目的:实现程序,通过获取/proc文件系统所提供的系统信息,检查系统当前的各种状态信息。要求:通过在命令行运行该程序,可获取以下信息:
1)cpu类型、型号、内核版本等信息从系统启动至今的时间等 3)内存总容量及当前可用内存量 4)系统平均负载
5)支持的文件系统类型
6)系统正在使用的module信息
附件2:课程设计题目
1.中文输入法程序 2.文件管理系统 3.线程管理
s进程多种同步案例演示 5.各种window或linux驱动程序编程 6.基于共享内存的进程之间的通信 7.文件加密
文件结构解析 9.异常处理系统 10.作业管理 11.中断驱动程序
12.可执行程序的加壳和脱壳 动态内存管理模拟 14.注册表管理程序 15.内存管理程序 16.多系统启动程序
的保护运行模式切换操作 18.扫描病毒算法模拟 19.木马扫描算法 20.硬盘碎片清理程序 21.程序卸载工具
22.文件系统fat、ntfs、光盘、u盘分析程序 23.程序补丁 24.程序插件 25.文件压缩程序 26.文件备份系统 27.文件切割和组合 参数监控程序 29.进程监控工具 30.文件系统搜索 31.系统监控软件 32.计算机看门狗 33.文件同步软件 34.个人信息同步软件 文件创建和安装 36.小型操作系统编写 37.虚拟光驱软件 38.网络端口监测
39.内存管理——页面置换算法
附录3:课程设计封皮
仲恺农业技术学院
课程设计报告
课程名称:操作系统
实验题目:tcp/ip编程-网络聊天
院 系:计算机科学与工程学院 班 级: 2011级 ***班 姓 名: 张幸平学 号: *************
二○○八年七月二十日
操作系统原理课程设计 操作系统课程设计文件系统篇四
操作系统课程设计大纲
课程名称:操作系统课程设计(operating system curriculum design)课程编码: 学 分:1 总 学 时:1周
适用专业:计算机科学与技术专业
先修课程:程序设计语言基础、操作系统一、课程设计教学目的及基本要求
1、掌握操作系统基本理论与管理方式
2、掌握以编写程序的方法与操作系统交互
3、了解操作系统内核的添加和裁剪的一般方法
二、课程设计安排
流程:
问题分析及解决方案确定; 形成编程思路;
使用具体语言实现算法; 上机调试程序; 编写课程设计报告
三、课程设计指南
课程设计题目可以在老师的指导下自行选题,也可以由老师指定题目。选题大方向有2个:基于os的编程;基于开放源代码的操作系统的内核的添加和裁剪。以下列举若干具体选题方向共参考:
1、进程间的同步与互斥
2、进程与线程
3、虚拟存储器的工作原理以及虚拟页式存储管理中的页面置换算法
4、进程调度算法模拟编程
5、观察linux的行为
6、进程间通信
7、理解和增加linux系统调用
8、内核模块编程
9、文件系统编程
10、设备驱动程序
11、父进程子进程控制
12、消息的发送与接收
13、磁盘空间管理
14、鼠标键盘控制
15、银行家算法
16、基于linux的proc文件系统编程
17、网络通讯编程
18、shell编程
四、课程设计参考资料
费翔林等,linux操作系统实验教程,高等教育出版社,2009 罗宇,楮瑞等.操作系统课程设计.机械工业出版社,2005 冉林仓.windows api编程.清华大学出版社,2005 arnold robbins.linux程序设计.机械工业出版社,2005
五、考核及成绩评定
依据学生在设计过程中的表现、设计题目算法的合理性、编程质量、说明书撰写规范程度及答辩情况,按照一定的计权方法,综合进行评定。课程设计成绩分为优秀、良好、中等、及格、不及格五个等级
操作系统原理课程设计 操作系统课程设计文件系统篇五
《操作系统课程设计》教学大纲
课程类型:专业必修课 学 分:0.5 计划周数:1周
预修课程:高级语言程序设计、微机原理、数据结构 开设学期:第四学期
适用专业:计算机科学与技术本科、网络工程本科、软件工程本科
一、课程设计目的与任务
《操作系统》是一门重要的专业基础课,是涉及较多硬件知识的计算机系统软件课程。在计算机软硬件课程的设置上,它起着承上启下的作用。操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,用户在使用计算机时都要得到操作系统提供的服务。操作系统课程设计的主要任务是研究计算机操作系统的基本原理和算法,掌握操作系统的进程管理、存储管理、文件管理和设备管理的基本原理与主要算法。目的是使学生掌握常用操作系统(如dos、windows或linux)的一般管理方法,了解它是如何组织和运作的,对操作系统的核心概念和算法有一个透彻的理解,并对系统运行的机制有一个全面的掌握,从而充分理解系统调用与程序设计之间的关系。
二、课程设计选题
设计项目一:动态资源分配算法演示程序(银行家算法)
内容:
主要用于解决多种资源被多个独立执行的进程共享的安全算法。采用矩阵存储资源的数据,通过对系统资源预分配后检查系统状态,以避免死锁的产生。要求:
1.资源种类与数目可在界面进行设置,在资源分配过程中可以随时增加进程及其对资源的需求。
2.可读取样例数据(要求存放在外部文件中)进行资源种类、数目与进程数的初始化。3.在资源分配过程中可以随时进行系统安全状态检测。
4.如果能够通过系统安全状态检测,则系统对该进程进行资源分配;当进程满足所有资源分配后能够自行释放所有资源,退出资源竞争。
5.要求进行安全性检查时按指定策略顺序进行,即按每个进程当前need数由小至大进行排序,如果need数相同,则按序号由小至大进行排序; 6.具有一定的数据容错性。
设计项目二:通用处理机调度演示程序
内容:
设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。要求:
1.进程调度算法包括:时间片轮转算法、先来先服务算法、短作业优先算法、静态优先权优先调度算法、高响应比调度算法。
2.每一个进程有一个pcb,其内容可以根据具体情况设定。
3.进程数、进入内存时间、要求服务时间、作业大小、优先级等均可以在界面上设定。4.可读取样例数据(要求存放在外部文件中)进行进程数、进入内存时间、时间片长度、作业大小、进程优先级的初始化
5.可以在运行中显示各进程的状态:就绪、执行(由于不要求设置互斥资源与进程间的同步关系,故只有两种状态)
6.采用可视化界面,可在进程调度过程中随时暂停调度,查看当前进程的状态及相应的阻塞队列。
7.有性能比较功能,可比较同一组数据在不同调度算法下的平均周转时间。
设计项目三:用多进程同步方法演示“桔子苹果”问题
内容:
有两类生产者,一类负责生产桔子,一类负责生产苹果;有两类消费者,一类负责消费桔子,一类负责消费苹果;他们共享一个有20个存储单元的有界缓冲区,每个存储单元只能放入一种产品(桔子/苹果)。要求:
1.二类生产者与二类消费者数目均为20,即20个生产者负责生产桔子,20个生产者负责生产苹果;20个消费者负责消费桔子,20个消费者负责消费苹果。2.二类生产者的生产速度与二类消费者的消费速度均可独立在程序界面调节,在运行中,该值调整后立即生效。
3.多个生产者或多个消费者之间必须有共享对缓冲区进行操作的函数代码,同时需要考虑算法的效率性。
4.每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容、当前生产者与消费者的指针位置,以及生产者和消费者线程标识符。
5.采用可视化界面,可在运行过程中随时暂停,查看当前生产者、消费者以及有界缓冲区的状态。
设计项目四:存储管理动态分配算法的模拟 内容:设计主界面以灵活选择某算法,且以下算法都要实现:首次适应算法、循环首次适应算法、最佳适应算法;
要求:用一种结构化高级语言构造分区描述器,编制动态分区分配算法和回收算法模拟程序,并掌握分配算法的特点,提高编程技巧和对算法的理解和掌握。
设计项目五:存储管理之虚拟存储器实现(页面置换算法)
内容:编程序实现先进先出算法(fifo)、最近最久未使用算法(lru)算法、最佳置换算法(opt)的具体实现过程,并计算访问命中率。
要求:
1.设计主界面以灵活选择某算法,且以上算法都要实现。2.用随机数方法产生页面走向。3.假定初始时页面都不在内存。
设计项目六:文件系统设计
内容:以内存作为存储区,模拟unix的文件系统结构,设计一个简单的文件系统,并提供以下的文件和目录操作接口:创建文件、删除文件、打开文件、关闭文件、读文件、写文件。
要求:设计文件系统的数据结构和数据结构间的关系,设计文件的基本操作算法,完成系统的总控模块编程和各个操作模块编程。上机测试各个模块,没执行一个操作,打印有关数据结构的内容,判断操作的正确性。
设计项目七:编程序实现下述磁盘调度算法,并求出每种算法的平均寻道长度。
内容:设计一个磁盘调度系统,针对磁盘访问序列,可以选择先来先服务算法(fcfs)、最短寻道时间优先算法(sstf)、扫描算法(scan)、循环扫描算法(cscan)来实现。
要求:
1.系统主界面可以灵活选择某种算法。
2.每种调度算法实现之后,要计算出每种算法的平均寻道长度,并比较结果。
3.采用改进算法之后是否会使性能提高?
设计项目八:
内容:在windows环境下,编程实现基于共享内存的多个进程间通信。要求:(1)当两个进程通信时需满足进程同步机制。(2)当多个进程(大于2)通信时需使用信号量机制实现互斥操作。
(3)编程语言不限。