ImageVerifierCode 换一换
格式:DOC , 页数:7 ,大小:215KB ,
资源ID:3510602      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3510602.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(操作系统实验.doc)为本站会员(hw****26)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

操作系统实验.doc

1、课程设计一:进程调度12.1.1 设计目的(1) 要求学生设计一个模拟进程调度的算法。(2) 理解进程控制块的结构。(3) 理解进程运行的并发性。(4) 掌握进程调度的三种基本算法。12.1.2 设计要求在多道程序运行环境下,进程数目一般多于处理机数目,使得进程要通过竞争来使用处理机。这就要求系统能按某种算法,动态地把处理机分配给就绪队列中的一个进程,使之运行,分配处理机的任务是由进程调度程序完成的。一个进程被创建后,系统为了便于对进程进行管理,将系统中的所有进程按其状态,将其组织成不同的进程队列。于是系统中有运行进程队列、就绪队列和各种事件的进程等待队列。进程调度的功能就是从就绪队列中挑选一

2、个进程到处理机上运行。进程调度的算法有多种,常用的有优先级调度算法、先来先服务算法、时间片轮转算法。进程是程序在处理机上的执行过程。进程存在的标识是进程控制块(PCB) ,进程控制块结构如下:typedef struct nodechar name10; /*进程标识符*/int prio; /*进程优先数*/int round; /*进程时间轮转时间片 */int cputime; /*进程占用 CPU 时间*/int needtime; /*里程到完成还需要的时间*/int count; /*计数器*/char state; /*进程的状态*/struct node *next; /*链指

3、针*/PCB;系统创建一个进程,就是由系统为某个程序设置一个 PCB,用于对该进程进行控制和管理。进程任务完成,由系统收回其 PCB,该进程便消亡。每个进程可以有三个状态:运行状态、就绪状态和完成状态。用 VC 编写一个程序实现进程调度的算法,模拟进程调度的过程,加深对进程控制块概念和进程调度算法的理解。1. 进程的调度采用优先数调度算法。2. 采用动态优先数法确定进程的优先级别。3. 设计三个链队列,分别用来表示运行队列、就绪队列和完成队列。4. 用户输入进程标识符以及进程所需的时间,申请空间存放进程 PCB 信息。优先数调度算法为每个进程设一个优先数,它总是把处理机给就绪队列中具有最高优先

4、权的进程。常用的算法有静态优先数法和动态优先数法。动态优先数法,使进程的优先权随时间而改变。初始的进程优先数取决于进程运行所需要的时间,时间大,则优先数低。采取了将进程优先数定为用一个较大的数(50)减去进程运行所需要的时间。随着进程的运行对优先数进行调整,每次运行时都是从就绪队列中选取优先数最大的进程运行,所以将就绪队列按照优先数的大小从高到低排序,这样,每次取队头进程即可。进程每执行一次,优先数减一个数(自定) ,CPU 时间数加 1,进程还需要的时间数减1。如果进程所需要的时间为 0,说明进程运行完毕,将其状态变为完成状态“F” ,将此PCB 插入到完成队列中,若就绪队列不空,就将绪队列

5、中的第一个 PCB 变为运行状态。进程若没有完成,则将其优先数和就绪队列中第一个 PCB 的优先数作比较,如果小,则将其变为就绪态,插入到就绪队列中适当的位置,将就绪队列中的第一个 PCB 变为运行态投入运行,重复上述过程,直到就绪队列为空,所有进程成为完成态为止。12.1.3 环境操作系统 windows xp,开发工具 vc+ 6.0 或者 bcb 6.0。12.1.4 步骤1. 打开 VC,选择菜单项 File-New,选择 Project 选项卡并建立一个名为 processes 的win32 console application 工程。2. 在工程中创建原文件 processes.

6、cpp:选择菜单项 Project-Add to Project-File,此时将打开一个新窗口,在其中输入想要创建的文件名字,这里是 processes.cpp,在其中编辑好原文件并保存。3. 通过调用菜单项 Build-Rebuild all 进行编译连接,可以在指定的工程目录下得到debug-processes.exe 程序,可以在控制台进入该 debug 目录运行程序了。12.1.5 运行结果分析C: processes输入进程数:2输入进程号和运行时间:P1 3P2 2优先数算法输出信息:*进程号 cpu 时间 所需时间 优先数 状态P2 0 2 48 wP1 0 3 47 w进程号

7、 cpu 时间 所需时间 优先数 状态P1 0 3 47 RP2 1 1 45 W进程号 cpu 时间 所需时间 优先数 状态P2 1 1 45 RP1 1 2 44 W进程号 cpu 时间 所需时间 优先数 状态P1 1 2 44 RP2 2 0 42 F进程号 cpu 时间 所需时间 优先数 状态P1 2 1 41 RP2 2 0 42 F进程号 cpu 时间 所需时间 优先数 状态P1 3 0 38 FP2 2 0 42 F分析如下:创建 2 个进程其进程号和运行时间分别为 P1 3 和 P2 2。进程 P2 运行的时间是 2(优先数为 50-2=48) ,进程 P1 运行的时间是 3(

8、优先数为 50-2=47) ,所以 P2 优先数高,因此在就绪队列中排在 P1 的前面,先运行。进程号 cpu 时间 所需时间 优先数 状态P2 0 2 48 wP1 0 3 47 wP2 运行了一次,占用 CPU 时间 1,完成还需时间 1。在程序中设定进程每运行一次优先数减 3,所以 P2 的优先数为 48-3=45。进程号 cpu 时间 所需时间 优先数 状态P1 0 3 47 RP2 1 1 45 WP1 运行了一次,占用 CPU 时间 1,完成还需时间 2。在程序中设定进程每运行一次优先数减 3,所以 P1 的优先数为 47-3=44。进程号 cpu 时间 所需时间 优先数 状态P2

9、 1 1 45 RP1 1 2 44 WP2 运行了二次,占用 CPU 时间 2,完成还需时间 0,P2 进入完成队列。在程序中设定进程每运行一次优先数减 3,所以 P2 的优先数为 45-3=42。进程号 cpu 时间 所需时间 优先数 状态P1 1 2 44 RP2 2 0 42 FP1 运行了二次,占用 CPU 时间 2,完成还需时间 1。在程序中设定进程每运行一次优先数减 3,所以 P1 的优先数为 44-3=41。进程号 cpu 时间 所需时间 优先数 状态P1 2 1 41 RP2 2 0 42 FP1 运行了三次,占用 CPU 时间 3,完成还需时间 0,P1 进入完成队列。在程

10、序中设定进程每运行一次优先数减 3,所以 P1 的优先数为 41-3=38。进程号 cpu 时间 所需时间 优先数 状态P1 3 0 38 FP2 2 0 42 F课程设计二:模拟文件管理12.2.1 设计目的(1) 建立一个简单的模拟文件管理系统。(2) 理解用户界面和操作命令在操作系统中的作用。12.2.2 设计要求需要实现一个命令行操作界面,包含如下命令:1.创建文件 功能:创立一个指定名字的新文件,即在目录中增加一项,不考虑文件内容,但必须能输入文件长度。2.删除文件 功能:删除指定的文件3.创建目录 功能:在当前路径下创建指定的目录。4.删除目录 功能:删除当前目录下的指定目录,如果

11、该目录为空,则可删除,否则应提示是否作删除,删除操作将该目录下的全部文件和子目录都删除。5.改变目录 功能:工作目录转移到指定的目录下,只要求完成改变到当前目录的某一个子目录下的功能,不要求实现相对目录以及绝对目录。 6.显示目录 功能:显示全部目录以及文件,输出时要求先输出接近根的目录,再输出子目录。对于重名(创建时) ,文件不存在(删除时) ,目录不存在(改变目录时)等错误情况,程序应该作出相应处理并给出错误信息。界面的提示符为#,提示的命令以及调试的方法应和前面的要求一致,可以自己设计更多的命令或者附加功能。12.2.3 环境本实验是在 windows xp+vc 6.0 环境下实现的,

12、利用 windows SDK 提供的系统接口(API)完成程序功能。在 windows xp 下安装好 VC 后进行,VC 是一个集成开发环境,其中包含了 windows SDK 所有工具,所以就不用单独在安装 SDK 了,程序中所用的 API 是操作系统提供的用来进行应用程序设计的系统功能接口。要使用这些 API,需要包含对这些函数进行说明的 SDK 头文件,最常见的就是 windows.h。一些特殊的 API 调用还需要包含其他的头文件。12.2.4 步骤4. 打开 VC,选择菜单项 File-New,选择 Project 选项卡并建立一个名为 filesys 的 win32 consol

13、e application 工程。5. 在工程中创建原文件 filesys.cpp:选择菜单项 Project-Add to Project-File,此时将打开一个新窗口,在其中输入想要创建的文件名字,这里是 filesys.cpp,在其中编辑好原文件并保存。6. 通过调用菜单项 Build-Rebuild all 进行编译连接,可以在指定的工程目录下得到debug-filesys.exe 程序,可以在控制台进入该 debug 目录运行程序了。12.2.5 运行结果分析在控制台窗口的提示符下输入 filesys 回车,如图 12-1。图 12-1 主界面1. 创建文件,如图 12-2。图 12-2 创建文件2. 删除文件,如图 12-3。图 12-3 删除文件3. 创建目录,如图 12-4。图 12-4 创建目录4. 删除目录,如图 12-5。图 12-5 删除目录5. 改变目录,如图 12-6。图 12-6 改变当前目录6. 显示目录,如图 12-7。图 12-7 显示目录

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。