您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页实验1_进程管理

实验1_进程管理

来源:意榕旅游网
实验一 进程管理

【实验目的】

1.加深对进程概念及进程管理各部分内容的理解。

2.熟悉进程管理中主要数据结构的设计和进程调度算法、进程控制机构、同步机构、通讯机构的实施。 【实验要求】

1.调试并运行一个允许n 个进程并发运行的进程管理模拟系统。了解该系统的进程控制、同2.步及通讯机构,每个进程如何用一个 PCB 表示、其内容的设置;各进程间的同步关系;系统在运行过程中显示各进程的状态和有关参数变化情况的意义。 【实验环境】

具备Windows或MS-DOS操作系统、带有Turbo C 集成环境的PC机。 【实验重点及难点】

重点:理解进程的概念,进程管理中主要数据结构的设计和进程调度算法、进程控制 机构、同步机构、通讯机构的实施。

难点:实验程序的问题描述、实现算法、数据结构。 【实验内容】 一.阅读实验程序

程序代码见【实验例程】。 二.编译实验例程

用Turbo C 编译实验例程。

三.运行程序并对照实验源程序阅读理解实验输出结果的意义。

【问题与讨论】

系统为进程设置了几种状态?说明这些状态的含义。

三种。就绪、执行、阻塞。就绪:处于就绪状态的进程已经得到除 CPU之外的其他资源,只要由调度得到处理机,便可立即投入执行。执行:只有处于内存就绪状态的进程在得到处理机后才能立即投入执行。阻塞:进程因等待某个事件发生而放弃处理机进入等待状态。 采用何种方式来模拟时间片?简要说明实现方法。

系统分时执行各进程,并规定3个进程的执行概率均为33%。通过产生随机数x来模拟时间片。当进程process1访问随机数x时,若x ≥0.33;当进程process2访问x时,若x<0.33或x≥0.66;当进程process3访问x时,若x<0.66,分别认为各进程的执行时间片到限,产生“时间片中断”而转入低就绪态t。 进程调度算法采用剥夺式最高优先数法。各进程的优先数通过键盘输入予以静态设置。调度程序每次总是选择优先数最小(优先权最高)的就绪进程投入执行。先从r状态进程中选择,在从t状态进程中选择。当现行进程唤醒某个等待进程,且被唤醒进程的优先数小于现行进程时,则剥夺现行进程的执行权。 各进程在使用临界资源s1和s2时,通过调用信号量sem1和sem2上的P,V操作来实现同步,阻塞和唤醒操作负责完成从进程的执行态到等待态到就绪态的转换。 系统启动后,在完成必要的系统初始化后便执行进程调度程序。但执行进程因“时间片中断”,或被排斥使用临界资源,或唤醒某个等待资源时,立即进行进程调度。当3个进程都处于完成状态后,系统退出运行

由于输出结果较多,一屏显示不完,如何较好地阅读程序输出?

一是在程序中控制输出的行数,比如20行,输出后用gets停顿一下,继续时 回车即可;

还有一种更简单办法,运行时将输出重定向到文件:c:\\程序名> doc.txt,然后使用记事本或dos下的Edit查看doc.txt里的输出内容。

描述进程管理主控程序的算法(流程图或N-S图)。

main

初始化 处处石化初

scheduler 有进程管理 N (exe≠NIL) Y 进程3 进程1 进程2

END

图1 进程管理主控程序

描述进程调度程序的算法(流程图或N-S图)。

(1)

scheduler 有r态就

Y

N Y Y

Y

N

实验截图:

N N

Y Y N

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务