网站大量收购闲置独家精品文档,联系QQ:2885784924

计算机操作系统实用教程教学课件作者王旭启8.ppt

计算机操作系统实用教程教学课件作者王旭启8.ppt

  1. 1、本文档共134页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章操作系统实验及课程设计 8.1进程调度 8.2进程通信 8.3存储器管理 8.4磁盘调度 8.5文件管理 8.6进程同步之经典问题 8.7Linux操作系统的使用实验 8.8课程设计1-生产者和消费者问题 8.9课程设计2-银行家算法 8.1进程调度 8.1.1 实验目的和要求 用高级语言编写和调试进程调度的模拟程序,以加深对进程调度算法的理解。 实验要求如下: (1)上机前做好充分准备,先做方案设计,并预先做一些情况分析。 (2)方案设计、程序编写和上机调试要求独立完成。 (3)仔细观察并记录上机时出现的各种现象,记录并详细分析运行的结果。 8.1进程调度 (4)认真书写综合实验报告。报告内容中主要包括实验目的与意义、问题模型描述、方案设计、算法描述及框图、开发/编程环境说明、调试记录及其分析、程序清单(源代码要带注释)、运行记录及其分析、实验总结、程序的不足之处及修改预案等几个部分。 (5)实验报告要求条理清晰,层次分明,图文并茂,要符合科技文献的一般要求。 8.1.2 实验内容 (1)自定义进程相关的数据结构。 (2)利用MFC类库中的栈,链表、向量等模板模拟进程控制块队列、进程控制块优先级队列、统计信息链表及其指令集合。 8.1进程调度 (3)利用MSDN和MFC API编程实现常见的进程控制和调度策略(先来先服务算法、时间片轮转算法、最高优先权优先调度算法、最短进程优先调度算法)。 (4)测试以上进程调度策略的周转时间、带权周转时间、平均周转时间和平均带权周转时间,并定性评价它们的性能。 8.1.3预备知识 1.信号相关的系统调用 (1) Set Console Ctrl Handler:定义或取消本进程的信号处理例程列表中的用户定义例程。 (2) Generate Console Ctrl Event:发送信号到与本进程共享同一控制台的控制台进程组。 8.1进程调度 2.临界区有关的系统调用 ( l)InitializeCriticalSection:初始化临界区对象。 (2) EnterCriticalSection:等待占用临界区的使用权。 (3) TryEnterCriticalSection:非等待方式申请临界区的使用权。 (4) LeaveCriticalSection:释放临界区的使用权。 (5) DeleteCriticalSection:释放与临界区对象相关的所有系统资源。 3.线程相关的系统调用 (1) CreateThread:创建一个线程内核对象,线程执行指定的ThreadProc例程。 8.1进程调度 (2) ThreadProc:线程执行例程。 (3) ExitThread:终止线程的运行,同时操作系统清除该线程使用的所有操作系统资源。 (4) TerminateThread:撤消任何线程,线程的内核对象的使用计数也递减,但系统不撤消该线程的堆栈。 线程函数返回是确保所有线程资源被正确地清除的唯一办法。 以上的系统调用详细资料参考MSDN网站或光盘。 4.进程调度常用算法 进程调度常用算法的相关知识参考前文。 8.1进程调度 5.相关概念 MFC栈(queue)、链表(list)、向量(vector)的相关知识参考MSDN网站或光盘 8.1.4实验指导 1.进程相关的数据结构 //进程状态 enum PROCSTATUS { Ready, //就绪 Block, //阻塞 Run, //运行 ); 8.1进程调度 //进程优先级 enum PROCPRIORITY { Low, //低 LowStandard, //低于标准 Standard, //标准 HighStandard, //高于标准 High, //高 RealTime, //实时 ); //调度算法 enum SCHEDULEALGORITHM 8.1进程调度 { FCFS, //先来先服务 SPF, //短进程优先 FPF_Reaved, //抢占式高优先级 TimePiece, //时间片轮转 ); //进程标识符 struct PROCID { 8.1进程调度 int nInID; //内部标识符 int nOutID; //外部标识符 ); //处理机状态 struct PROCESSORSTATUS { int

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档