第2次实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西南科技大学

计算机实验报告

课程名称:计算机操作系统综合设计

实验名称:实验二P、V原语的模拟实现(验

证型)

机型或机位:PC机

学号:20123266

学生姓名:付晓

班级:信安1205

指导教师:陈立伟老师

评分:

实验日期:2014 年11 月30日(13周周日晚)

1、实验目的

●理解信号量相关理论;

●掌握记录型信号量结构;

●掌握P、V原语实现机制。

2、实验题目和软(硬)件设计

●《P、V原语的模拟实现》

软件:VC++编译器,win xp系统;

硬件:PC机一台

操作步骤如下:

A. 在vc++上构建工程,并建立相应头文件和源文件,

然后输入给定代码:

basic.h 和pv.cpp(详见课件所提供参考代码)

B. 进行功能测试并得出正确结果:

◆实验中提供了5个信号量(s0-s4)和20个进程(pid 0-19)。

在程序运行过程中可以键入down命令,up命令和

showdetail命令显示每个信号量的状态。具体输入解释如

下:

down 获取信号量操作(P操作)。

参数: 1 sname 2 pid 。

示例:down(s1,2) 。进程号为2的进程申请名字为s1的

信号量。

这是删除s0信号量中的0号进程,此时进程1占用该信

号量

◆up 释放信号量操作(V操作)。

参数1 sname。

示例:up(s1)。释放信号量名字为s1的信号量。

这是删除s1信号量中的4号进程,此时进程5占用该信号量

◆showdetail 显示各信号量状态及其等待队列。

这是删除s3信号量的两个进程

直到最后,为0号进程申请信号量,再释放0号进程

exit 退出命令行。

c.代码执行的模块流程图如下:

开始

执行函数initerror()函数和变量初始化函数INIT()

3、实验体会

● 实验思考: 如果修改down 操作,使之能一次申请多个信号量? Findflag==true&&cmdstr==”exit ” 否 是 执行创建或删除函数 结束

该设计和实际的P、V操作有什么异同点?

✓该设计并没有具体的资源划分和等待,但是同实际的PV操作的等待资源规则和调用资源的规则是一样

的;

相关文档
最新文档