操作系统实验指导书 下载本文

内容发布更新时间 : 2024/11/15 22:45:19星期一 下面是文章的全部内容请认真阅读。

全特性 bInheritHandles Long,TRUE表示允许当前进程中的所有句柄都由新建的子进程继承 Long,来自API32.TXT文件的一个或多个下述常数之一,它们都带有前缀CREATE_。下面这些用于VB程序员: CREATE_SEPARATE_WOW_VDM(仅适用于NT) 启动一个16位的Windows应用程序时,强迫它在自己的内存空间运行 启动一个16位的Windows应用程序时,强迫它在共享的16位虚拟机(VM)内运行 立即挂起新进程。除非调用了CREATE_SUSPENDED ResumeThread函数函数,否则它不会恢复运行 dwCreationFlags 也可能是下述常数之一,用于指定优先级 新进程应该有非常低的优先级—IDLE_PRIORITY_CLASS —只有在系统空闲的时候才能运行。基本值是4 新进程有非常高的优先级,它优HIGH_PRIORITY_CLASS 先于大多数应用程序。基本值是13。注意尽量避免采用这个优先级 标准优先级。如进程位于前台,NORMAL_PRIORITY_CLASS 则基本值是9;如在后台,则优先值是7 不要在VB中使用REALTIME_PRIORITY_CLASS lpEnvironment Any,指向一个环境块的指针(环境缓冲区的头一个字符,或者环境块的地址) String,新进程的当前目录路径。调用函数的时候,可用vbNullString指定当前目录 STARTUPINFO,指定一个STARTUPINFO结构,其中包含了创建进程时使用的附加信息 CREATE_SHARED_WOW_VDM(仅适用于NT) lpCurrentDriectory lpStartupInfo lpProcessInformation PROCESS_INFORMATION,该结构用于容纳新进程的进程和线程标识第 13 页 共 25 页

符。大多数情况下,一旦这个函数返回,父应用程序都会关闭两个句柄。 ExitProcess VB声明 Declare Sub ExitProcess Lib \Long) 说明 中止一个进程 参数表 参数 uExitCode 在VB中使用 应尽量避免用该函数来关闭进程。不要在自己的VB程序中使用它。此时,应试着向要关闭的那个程序的主窗口投递一条WM_CLOSE消息

TerminateProcess VB声明 Declare Function TerminateProcess Lib \Alias \(ByVal hProcess As Long, ByVal uExitCode As Long) As Long 说明 结束一个进程 在VB里使用 可以使用,但尽量不用 返回值 Long,非零表示成功,零表示失败。会设置GetLastError 参数表 参数 hProcess 类型及说明 Long,指定要中断的一个进程的句柄 类型及说明 Long,指定想中断的那个进程的一个退出代码 第 14 页 共 25 页

uExitCode Long,进程的一个退出代码

实验三 进程调度实验

一、实验目的

多道系统中,当就绪进程数大于处理机数时,须按照某种策略决定哪些进程优先占用处理机,本实验模拟实现处理机调度,以加深了解处理机调度的工作 二、实验内容

选择一个调度算法,实现处理机调度。 三、实验要求

设计一个按优先权调度算法和按时间片轮转调度算法实现处理机调度的程序。

PCB内容: 进程名/PID 、要求运行时间(单位时间)、优先权、状态 、到达时间、已用CPU时间等。 1、 可随机输入若干进程,并按优先权排序。

2、 从就绪选进程运行,优先权-1,要求运行时间=0时,撤消该进程。

3、每次调度后,显示各进程状态 。重新排序进行下轮调度。

本实验模是拟实现处理机调度, 添加时要求写明该进程属性:进程名,运行时间,优先权等,然后按优先权排序,将具有最高优先

第 15 页 共 25 页

权的进程的状态设为:运行,其他为:就绪,若优先权相同,则以其他原则决定,如:要求运行时间短的优先。

设定一个时间段T ,在该时间段内,若该进程没运行完(即t>T),则中止该进程,优先权降一级,重新排序,修改状态。若在该时间段内运行完毕(即t

第 16 页 共 25 页