课程设计(100分)1.分析设计内容,给出解决方案(要说明设计实现的原理,采用的数据结构)。
20分2.画出程序的基本结构框图和流程图。
10分3.对程序的每一部分要有详细的设计分析说明。
10分4.源代码格式规范,符合软件模块化设计思想,数据结构采用得当。
20分5.设计合适的测试用例,对得到的运行结果要有分析。
10分6.设计中遇到的问题,设计的心得体会。
10分7.按期提交完整的程序代码、可执行程序和课程设计报告。
10分8. 设计有新意,功能模块完善,有操作界面,运行结果清晰 10分l 模拟页式存储管理方案中内存空间的管理和分配。
1063(05级)l :仿真模拟银行家算法对死锁的避免 0606303030 (专升本)详细要求:采用银行家算法,编写和调试一个仿真模拟银行家算法避免死锁的程序。
设计n 个并发进程共享3类不同的系统资源,即1类资源、2类资源、3类资源。
进程可以动态的申请资源,系统按各个进程的申请动态的分配资源。
可以添加进程,进程动态的申请资源,系统进行安全性检查,判断是否可以为申请资源的进程分配资源。
如果能够找到安全序列,则系统为进程分配资源,否则原先的试探分配资源作废。
l 用多线程同步方法解决生成者与消费者问题 0606303007 (06专升本)设计目的:通告研究Linux的进程机制和信号量实现生产者和消费者问题的并发控制。
说明:有界缓冲区内设置有20个存储单元,放入/取出的数据项设定为1-20这20个整型数。
设计要求:(1)每个生成者/消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容,当前指针位置和生成者/消费者线程的内容。
(2)生产者和消费者各有两个以上。
(3)多个生产者或多个消费者之间须有共享对缓冲区进行操纵的函数代码。
l 用JAVA模拟仿真“生产者-消费者”问题的解决过程及方法。
0606303021要求:(1)多个缓冲区不是环形循环的,也不要求按顺序访问。
生产者可以把产品放到目前某一个空缓冲区中。
(2)消费者只消费指定生产者的产品。
(3)在测试用例文件中指定了所有的生产和消费的需求,只有当共享缓冲区的数据满足了所有关于它的消费需求后,此共享缓冲区才可以作为空闲空间允许新的生产者使用。
(4)在为生产者分配缓冲区时各生产者间必须互斥,此后各个生产者的具体生产活动可以并发。
而消费者之间只有在对同一产品进行消费时才需要互斥,同时它们在消费过程结束时需要判断该消费对象是否已经消费完毕并清除该产品。
l 仿真进程管理程序,应考虑,进程状态之间的转换、同步机制与进程通讯1001l 仿真连续分配存储管理系统,至少包括以下功能:并发分配与回收、查询、多种分配算法的分析比较、拼接和搬家等功能1002l Linux下进程调度算法模拟实现 1003设计要求:1)进程调度算法包括:时间片轮转法,短作业优先算法,动态优先级算法.2)可选择进程数量3)本程序包括三种算法,用C语言实现,执行时在主界面选择算法(可用函数实现),进入子页面后输入进程数,(运行时间,优先数由随机函数产生),执行,显示结果.l 页面置换算法模拟 1004设计要求1.实现OPT,LRU,FIFO三种算法并进行对比分析.2.要求界面简单,易懂,关键代码部分要注释.3.编程语言可以采用自己任意精通的语言l 可视化仿真多台电梯的并行调度程序 1006l 仿真各种磁盘调度算法,并进行性能分析 1007课程设计内容设计四个算法,分别是先来先服务算法,最短寻道时间优先算法,扫描(SCAN)算法,循环扫描(CSCAN)算法.由人工输入当前的磁道数和要访问的磁道.l 模拟仿真“生产者-消费者”问题的解决过程及方法。
1005生产消费者问题是操作系统设计中经常遇到的问题。
多个生产者和消费者线程访问在共享内存中的环形缓冲。
生产者生产产品并将它放入环形缓冲,同时消费者从缓冲中取出产品并消费。
当缓冲区满时生产者阻塞并且当缓冲区有空时生产者又重新工作。
类似的,消费者当缓冲区空时阻塞并且当缓冲区有产品时又重新工作。
显然,生产者和消费者需要一种同步机制以协调它们的工作。
l Java仿真各种磁盘调度算法,并进行性能分析 1008课程设计内容设计四个算法,分别是先来先服务算法,最短寻道时间优先算法,扫描(SCAN)算法,循环扫描(CSCAN)算法.由人工输入当前的磁道数和要访问的磁道.l 页式存储管理方案中内存空间的管理和分配。
1010(包括位示图法、空闲表法)内存被划分成2048块(页)。
用32位字长的字存放位示图,为0的位表示该块尚未分配,为1的位表示该块已分配。
输出位示图和页表。
l 进程调度算法 1011目的:主要通过优先权法与轮转调度算法的模拟加深对进程概念和进程调度过程的理解,掌握进程状态之间的切换,同时掌握进程调度算法的实现方法和技巧。
对进程调度过程中的状态变化,调度过程进行显示。
l 仿真模拟操作系统中的“哲学家就餐问题” 1012l C++实现银行家算法 1013l linux 下多进程模拟哲学家就餐问题 1014题目要求:五个哲学家围坐在一张圆桌周围,每个哲学家面前都有一盘通心粉。
由于通心粉很滑,所以需要两把叉子才能夹住。
相邻两个盘子之间放有一把叉子。
哲学家的生活中有两种交替的活动:吃饭和思考(其他活动对哲学家来说都无关紧要)。
当一个哲学家感到饿了时,他就试图分两次去取左边和右边的叉子,每次拿一把,但不分次序。
如果成功得到了两把叉子,就开始吃饭,吃完后放下叉子继续思考。
请为每一个哲学家写一段描述其行为的程序,而且不会死锁。
l 仿真各种磁盘调度算法,并进行性能分析 1015设计要求:设计四个算法,分别是先来先服务算法,最短寻道时间优先算法,扫描(SCAN)算法,循环扫描(CSCAN)算法.由人工输入当前的磁道数和要访问的磁道.VC模拟实现过程。
l 仿真各种磁盘调度算法,并进行性能分析 1016设计要求:设计四个算法,分别是先来先服务算法,最短寻道时间优先算法,扫描(SCAN)算法,循环扫描(CSCAN)算法.由人工输入当前的磁道数和要访问的磁道.java模拟实现过程。
l 可视化进程调度过程的仿真模拟 1017内容:采用模拟与仿真思路,以定时器驱动机制为模式,用动画方式,以进程调度为中心,实现了对选用调度算法的运行过程的模拟与仿真,同时也实现了进程创建、调度、执行、阻塞和终止过程的可视化.系统能够自动完成进程演进过程的数据记录和分析,并对算法的性能进行初步评测.这对深入理解操作系统核心层,透析进程原理,发现和研究新的调度算法具有重要意义论文题1:论软硬件之间的异构性促进软件技术的发展。
论文题2:论软件生产方式的变革促进软件技术的发展论文题3:个性化服务以满足不同个体的需求论文题4:随时随地计算实现多种访问方式第二部分 Internet平台对OS的要求论文题5:自主配置和自适应协调(Self-configuration and Adaptive Coordination)论文题6:支持跨网络的互连、互通和协作论文题7:管理和协调系统资源的共享论文题8:支持功能、性能和可信性指标动态演化论文题9:浅谈客户端不装操作系统的优劣第三部分 The Operating System Zoo论文题10:Mainframe operating systems论文题11:Server operating systems论文题12:Multiprocessor operating systems论文题13:Personal computer operating systems论文题14:Real-time operating systems论文题15:Embedded operating systems论文题16:Smart card operating systems要从这些操作系统适用的应用环境,可行性,存在的问题等方面论述。
第四部分操作系统结构论文题17:单体系统结构的分析与研究论文题18:分层系统的分析与研究论文题19:虚拟机结构的分析与研究论文题20:C/S模型的分析与研究论文题21:简述操作系统的引导过程第五部分存储管理论文题22:Linux内存管理的基本框架论文题23:Linux地址映射的全过程论文题24:Linux内核缓冲区管理论文题25:Linux外部设备存储空间的地址映射论文题26:Linux物理页面的使用和周转论文题27:LRU页面置换算法的实现方案论文题28:高速缓存论文题29:倒排页表论文题30:分页与请求分页论文题31:位示图与FAT论文题32:用户堆栈的扩展论文题33:论FIFO(先进先出)页面置换算法的异常问题第六部分进程管理与死锁论文题34:进程与线程的典型应用分析论文题35:进程通信中有阻塞和无阻塞现象论文题36:静态优先级与动态优先级论文题37:可再入程序的设计要素与实例分析论文题38:P/V操作的实现模型论文题39:fork(),vfork()的应用实例分析论文题40:进程中的调度与切换论文题41:实时系统中的一种互斥方法论文题42:银行家算法避免死锁的研究与实现第七部分文件管理论文题43:FAT12与FAT32文件系统的分析与研究论文题44:NTFS文件系统的分析与研究论文题45:Linux文件系统的分析与研究第八部分其它论文题46:请选择一个在课程中没有讨论到的现代操作系统,如Apple Macintosh, IBM OS/400,SUN的Solaris等,查阅资料写一篇文章论述该系统进行进程管理、内存管理、设备管理和文件管理的数据结构与算法,最好能论及其系统管理是如何实施的。
论文题47:在进程的同步机制中,有一个工具名为管程(monitor)。
最早提供管程的语言为Ada。
请查阅资料说明对管程的定义及使用。
近年来,为了防止与时间有关的错误,当前最流行的数据库管理系统广泛采用“存储过程”这一工具来实现操作不可分割,它实际上就类似于管程。
请查询资料,说明它是如何实现的?标准格式是什么?如何定义和使用?这些系统还有什么其它互斥工具?论文题48:请作一个调查,如各大学、国家机关、市政府、各大银行或证券公司,看看各种计算机的应用领域都在使用什么样的操作系统,它们分别是什么类型的操作系统,它们选择此类操作系统的原因。
调查的内容应该涵盖现代操作系统的主要类别。
通过这个调查,你认为限制那些操作系统(除了Windows)广泛使用的关键原因是什么?论文题49:随着计算机时代的变迁,“信息电器”成为当前最流行的产业:即Computer+Communication+Customer electric----3C合一,例如手机、掌中宝、空调、组合音响等。
由此产生了嵌入式操作系统(或称实时操作系统),请查询资料,说明这一课题大致在研究什么,有什么特点?如何实现?与我们学习操作系统原理有什么关联。