C语言模拟操作系统运行课程设计.doc

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE PAGE 2 操作系统课程设计报告 时间:2010-12-20~2010-12-31 地点:信息技术实验中心 计算机 专业 2008级x班xx号 xx 2010-12-31 目录 一 课程设计的目的和意义………………………………………………………3 二 进程调度算法模拟……………………………………………………………4 1 设计目的………………………………………………………………………4 2 设计要求………………………………………………………………………4 3 时间片轮转算法模拟…………………………………………………………4 4 先来先服务算法模拟…………………………………………………………9 三 主存空间的回收与分配………………………………………………………14 1 设计目的………………………………………………………………………14 2 设计要求………………………………………………………………………14 3 模拟算法的实现………………………………………………………………15 四 模拟DOS文件的建立和使用…………………………………………………26 1 设计目的………………………………………………………………………26 2 设计要求………………………………………………………………………26 3 模拟算法的实现………………………………………………………………27 五 磁盘调度………………………………………………………………………38 1 设计目的………………………………………………………………………38 2 设计要求………………………………………………………………………38 3 模拟算法的实现………………………………………………………………38 六 总结……………………………………………………………………………49 一、课程设计的目的和意义 本次操作系统课程设计的主要任务是进行系统级的程序设计。本课程设计是操作系统原理课程的延伸。通过该课程设计,使学生更好地掌握操作系统各部分结构、实现机理和各种典型算法,加深对操作系统的设计和实现思路的理解,培养学生的系统设计和动手能力,学会分析和编写程序。课程设计的实施将使学生在以下几个方面有所收获: (1)加深对操作系统原理的理解,提高综合运用所学知识的能力; (2)培养学生自主查阅参考资料的习惯,增强独立思考和解决问题的能力; (3)通过课程设计,培养严谨的科学态度和协作精神。 二:进程调度算法模拟 1 设计目的 (1)要求学生设计并实现模拟进程调度的算法:时间片轮转及先来先服务。 (2)理解进程控制块的结构。 (3)理解进程运行的并发性。 (4)掌握进程调度算法。 2 设计要求 在多道程序运行环境下,进程数目一般多于处理机数目,使得进程要通过竞争来使用处理机。这就要求系统能按某种算法,动态地把处理机分配给就绪队列中的一个进程,使之运行,分配处理机的任务是由进程调度程序完成的。一个进程被创建后,系统为了便于对进程进行管理,将系统中的所有进程按其状态,将其组织成不同的进程队列。于是系统中有运行进程队列、就绪队列和各种事件的进程等待队列。进程调度的功能就是从就绪队列中挑选一个进程到处理机上运行。进程调度的算法有多种,常用的有优先级调度算法、先来先服务算法、时间片轮转算法。 进程是程序在处理机上的执行过程。进程存在的标识是进程控制块(PCB),进程控制块结构如下: typedef struct node { char name[10]; /* 进程标识符 */ int prio; /* 进程优先数 */ int round; /* 进程时间轮转时间片 */ int cputime; /* 进程占用 CPU 时间*/ int needtime; /* 进程到完成还需要的时间*/ int count; /* 计数器*/ char state; /* 进程的状态*/ struct node *next /*链指针*/ }PCB; 系统创建一个进程,就是由系统为某个程序设置一个PCB,用于对该进程进行控制和管理,进程任务完成,由系统收回其PCB,该进程便消亡。每个进程可以有三个状态:运行状态、就绪状态和完成状态。 用C语言、C++或者Java语言编写一个程序实现进程调度的

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档