操作系统课程设计。
一、课程设计目的。
通过课程设计,加深学生对教材中的重要算法的理解,同时通过用c语言编程实现这些算法,并在linux或windows平台上实现,让学生更好地掌握操作系统的原理及实现方法,提高学生综合运用各专业课知识的能力。
二、课程设计内容。
课题1 进程调度算法的模拟。
1.用语言来实现对n个进程采用不同调度算法的进程调度。
2.每个用来标识进程的进程控制块pcb用结构来描述,包括以下字段:
1)进程优先数id,其中0为闲逛进程,用户进程的标识数为1,2,3…。
2)进程优先级priority,闲逛进程(idle)的优先级为0,用户进程的优先级大于0,且随机产生,优先数越大,优先级越高。
3)进程占用的cpu时间cputime,进程每运行一次,累计值等于4。
4)进程总共需要运行时间alltime,利用随机函数产生。
5)进程状态,0:就绪态;1:运行态;2:阻塞态。
6)队列指针next,用来将多个进程控制块pcb链接为队列。
3.优先数改变的原则。
1)进程在就绪队列中每呆一个时间片,优先数增加1。
2)进程每运行一个时间片,优先数减3。
4.在调度前,系统中拥有的进程数pcb_number由键盘输入,经初始化后,所有的进程控制块pcb链接成就绪队列。
以下两题任选一题。
课题2.1 系统动态分配资源的模拟。
编程序模拟银行家算法,要求能体现算法的全过程。
课题2.2 进程同步模拟。
编写程序模拟实现五哲学家就餐问题。
以下两题任选一题。
课题3.1 设计一个虚拟存储区和内存工作区,编程序演示下述算法的具体实现过程,并计算访问命中率:
1、先进先出的算法(fifo)
2、最近最少使用算法(lru)
3、最佳淘汰算法(opt)
4、最不经常使用算法(lfu)
课题3.2 内存管理模拟。
使用 windows 2000/xp 的 api 函数,编写一个包含两个线程的进程,一个线程用于模拟内存分配活动,一个线程用于跟踪第一个线程的内存行为,而且要求两个线程之间通过信号量实现同步。模拟内存活动的线程可以从一个文件中读出要进行的内存操作,每个内存操作包括如下内容:
时间:操作等待时间。
块数:分配内存的粒度。
操作:包括保留(reserve)一个区域、提交(commit)一个区域、释放(release)一个区域、**(decommit)一个区域和加锁(lock)与解锁(unlock)一个区域,可以将这些操作编号存放于文件。保留是指保留进程的虚拟地址空间,而不分配物理存储空间。
提交在内存中分配物理存储空间。**是指释放物理内存空间,但在虚拟地址空间仍然保留,它与提交相对应,即可以**已经提交的内存块。释放是指将物理存储和虚拟地址空间全部释放,它与保留(reserve)相对应,即可以释放已经保留的内存块。
大小:块的大小。
访问权限 , 共五种 , 分别为:
page_readonly,page_readwrite ,page_execute,page_execute_read
page exetute_readwrite。
可以将这些权限编号存放于文件中跟踪线程将页面大小、已使用的地址范围、物理内存总量,以及虚拟内存总量等信息显示出来。
以下两题任选一题。
课题4.1 文件管理系统模拟。
为linux或windows 设计一个简单的二级文件系统。要求做到以下几点:
1、可以实现下列几条命令(至少4条)。
dir列文件目录。
create 创建文件。
delete 删除文件。
open 打开文件。
close 关闭文件。
read 读文件。
write 写文件。
2、列目录时要列出文件名、物理地址、保护码和文件长度。
3、源文件可以进行读写保护。
课题4.2 编程序实现下述磁盘调度算法,并求出每种算法的平均寻道长度:
1、先来先服务算法(fcfs)
2、最短寻道时间优先算法(sstf)
3、扫描算法(scan)
4、循环扫描算法(cscan)
三、课程设计考核方式。
课程设计成绩评定的依据有设计文档资料、具体实现设计方案的程序及课程设计考勤登记表,其中平时成绩占总成绩的20%。
注意:不及格:没有完整的符合标准的文档,软件没有基本实现设计方案,设计方案不正确。没有独立完成,抄袭或雷同。
四、提交的资料。
1、软件。软件需提供加注释的源程序,并能正常运行。
注:对于分析设计中未能实现的部分需要加以说明。对于软件中所参考的部分模块或**需要加以声明,并说明出处。
2、文档。有关的分析设计文档要求使用计算机打印在b5纸上,同时提交电子文档。
附:文档格式。
题目)1.设计目的。
2. 任务及要求。
2.1 设计任务。
2.2 设计要求。
3. 算法及数据结构。
3.1算法的总体思想(流程)
3.2 xxx模块。
3.2.1 功能。
3.2.2 数据结构。
3.2.3 算法。
3.3 yyy模块。
3.3.1功能。
3.3.2 数据结构。
3.3.3算法。
4. 实验结果及分析。
4.1 实验结果。
4.2 结果分析。
操作系统课程设计题目及要求
5 最近未使用算法 nur 命中率 页面失效次数 页地址流长度。分析 本实验的程序设计基本上按照实验内容进行。即首先用srand 和rand 函数定义和产生指令序列,然后将指令序列变换成相应的页地址流,并针对不同的算法计算出相应的命中率。1 通过随机数产生一个指令序列,共320条指令。指令的地址按下...
操作系统课程设计要求
操作系统 课程设计要求。一 课程设计教学目的。操作系统课程设计是操作系统理论课程的必要补充,学生在学习了操作系统的原理后,通过课程设计,综合运用所学知识,以小组为单位,通过综合实验环节,加深学生对操作系统基本原理与工作过程的理解,提高学生分析问题 解决问题的能力,增强学生的动手能力与协作能力。二 课...
操作系统新课程设计题目
学习完 操作系统 课程,通过一个具体的课程设计实践,可使学生对操作系统原理有更进一步的理解与应用,通过设计对操作系统有一个实现的尝试和创新的思维,同时发挥团队协作精神和个人创造能力。选题 以下可任选一个。分组 每组不可超过四人 包括四个 每组指定一个组长,每人设计系统中的一部分,集体协商整合。组长能...