操作系统 进程管理 实验报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
********实验报告纸 计算机科学与工程学院 (院、系) 网络工程 专业 083 班 组 操作系统 课 学号************ 姓名 **** 实验日期 2011.05.20 教师评定 实验一、进程管理(3学时、必做) 一、实验目的 通过实验使学生进一步了解进程、进程状态、进程控制等基本概念。基本能达到下列具体的目标: 理解进程 PCB 的概念,以及 PCB 如何实现、如何组织以及管理。 复习数据结构中如何对链的操作,包括建链、删除、插入结点等,来实现进程的管理。 二、实验内容 建立一个结点,即 PCB 块包括用户标识域、状态域(执行、等待、就绪)、 link 域。  建立三个队列(执行队列、就绪队列、等待队列)。  根据进程状态转换实现对三个队列的具体操作。具体的驱动可以采用时间片算法或手动调度的形式完成三个状态之间的转换 用 switch 选择语句选择状态。  按照自己的设定能完成所有的状态转换的运行(包括创建和运行结束)。 三、实验步骤 复习进程管理三状态模型部分内容。 预习C++ Builder或VC++、Delphi、JBuilder线程编程。 运行示例程序,进一步明确实验要求。可以采用控制台模式或窗口模式。 上机编程、调试程序。 完成实验报告。 四、实验过程 进程管理三状态模型部分内容 进程从因创建而产生直至撤销而消亡的整个生命周期中, 有时占用处理器执行,有时虽然可以运行但分不到处理器,有时虽然处理器空闲但因等待某个事件发生而无法执行,这一切都说明进程和程序不同,进程是活动的且有状态变化, 状态及状态之间的转换体现进程的动态性,为了便于系统管理,一般来说,按照进程在执行过程中的不同情况至少要定义三种进程状态。 (1)运行态:进程占用处理器运行的状态。 (2)就绪态:进程具备运行条件,等待系统分配处理器以便起运行的状态。 (3)等待态:进程不具备运行条件,正在等待某个时间完成的状态。 程序设计环境 表1 程序设计环境表 设备名称 详细要求 处理器 英特尔 Core i5 M 460 @ 2.53GHz 内存容量 2 GB 操作系统 Windows 7 旗舰版 32位 java.runtime.version 1.6.0_13-b03 程序界面设计 本实验的目的不在界面的创新,所以界面的设计模仿示例程序二,程序界面设计如下: 程序界面设计 界面中的元件包括:标题、队列管理、进程状态转换操作、进程转换示意图、作者及版本信息。各元件的设计具体如下: 标题:蓝底白字“进程管理演示”,其部分代码如下: public static final String TITLE = 进程管理演示 ; //程序标题 JLabel J_title= new JLabel(htmlfont size=5 color=white + TITLE + /font/html,SwingConstants.CENTER); 队列管理:实时更新进程就绪队列、进程执行队列、进程阻塞队列,及进程执行队列中进程Node(模拟PCB 块,详见下文)的更新。其中,进程执行队列只包含一个进程,因为一个时间片内只能有一个进程处于运行态。部分代码如下: //进程队列名 public static final String PROCESS_READY = 进程就绪队列: ; public static final String PROCESS_EXECUTE = 进程执行队列: ; public static final String PROCESS_BLOCK = 进程阻塞队列: ; //进程队列信息显示 private JLabel process_ready = new JLabel(PROCESS_READY) ; private JLabel process_execute = new JLabel(PROCESS_EXECUTE) ; private JLabel process_block = new JLabel(PROCESS_BLOCK) ; //更新进程队列信息 process_ready.setText(PROCESS_READY + readyLink.print()) ; process_execute.setText(PROCESS_EXECUTE + executeLink.print()) ; process_block.setText(PROCESS_BLOCK + blockLink.print()) ; 进程状态转换操作: 创建新的进程:其部分代码如下: private JTextField process_name= n

文档评论(0)

bodkd + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档