- 0
- 0
- 约4.18千字
- 约 7页
- 2017-05-16 发布于贵州
- 举报
2012 操作统实验1 报告格式与要求(修改版)
《操作系统》课程实验报告
实验名称 进程同步算法的实现模拟 实验序号 1 姓 名 刘凯 系院专业 计算机 班 级 10网络1 学 号 1010322122 实验日期 2012-10 指导教师 阮鸥 成 绩 一、实验目的
进程同步问题是OS的核心内容。本实验要求用高级语言编写和调试一个程序来模拟进程同步算法。通过本实验可以加深理解有关同步技术、进程控制块、进程队列的概念,并体会和了解同步(生产者—消费者问题)算法的具体实施办法。 二、实验内容与要求
(1) 模拟实现生产者—消费者问题。Get、put二进程共用缓冲区s(大小为每次只存放一个记录)。Get负责输入记录到缓冲区s, put负责把t中的记录取出打印。
(2) 设计进程PCB结构和三种进程状态的队列,可以实现PCB队列的插入、删除、排序功能。
(3) 设计各进程使用的信号灯,画出各进程的P、V操作实现流程图;
(4)实现进程同步,完成记录的正常输出,要能够通过程序运行表现出对缓冲区s的进行临界区互斥和进程同步的思想(最好能记录或输出二个进程的实时状态和变化过程、二个进程队列的实时内容、几个缓冲区中实时内容,输出到屏幕上,这个过程同时记录在一个文本文件中);
(5) 编程语言不限制,tc2.0,vc6.0,.net,java都可以。 三、实验设备
地点: 科技楼 网络实验室602
硬件环境: Intel Pentium Processor 1.8G 512M内存?windows 操作系统
软件环境: win7系统 vc++6.0
实验步骤
模拟实现生产者—消费者问题。Get、put二进程共用缓冲区s(大小为每次只存放一个记录)。Get负责输入记录到缓冲区s, put负责把t中的记录取出打印。
实验代码:
// Test1.cpp : Defines the entry point for the console application.
#include stdafx.h
#include windows.h
#include string.h
char temp; //中间缓存
DWORD WINAPI Get(LPVOID lp)
{ //将要打印的字符取出并一个一个的存入缓存
char * sp;
sp=( char *) lp;
while(1) //字符结束标志\0
{ temp=*sp;
if(temp==\0) return 0;
sp++;
Sleep(500);
}
return 0;
}
DWORD WINAPI Put(LPVOID lp)
{ //将字符从缓存里面取出,一次一个
printf(output the string:);
while(temp!=\0)
{
printf(%c ,temp);
Sleep(500);
}
putchar(\n);
return 0;
}
void Mythread(char sp [])
{ //建立两个并行线程
HANDLE handle1,handle2;
handle1 = CreateThread(NULL,NULL,Get,(void*)sp,NULL,NULL);
handle2 = CreateThread(NULL,NULL,Put,NULL,NULL,NULL);
}
int main(int argc, char* argv[])
{
char sp[100]={\0};
printf(input the string to print:);
scanf(%s,sp);
Mythread(sp);
Sleep(10000);
printf(the output come to teh end !\n);
return 0;
}
(2)设计进程PCB结构和三种进程状态的队列,可以实现PCB队列的插入、删除、排序功能。
(3)设计各进程使用的信号灯,画出各进程的P、V操作实现流程图;
(4)实现进程同步,完成记录的正常输出,要能够通过程序运行表现出对缓冲区s的进行临界区互斥和进程同步的思想(最好能记录或输出二个进程的实时状态和变化过程、二个进程队列的实时内容、几个缓冲区中实时内容,输出到屏幕上,这个过程同时记录在一个文本文件中);
实验代码:
// test2.cpp : Defines the entry point for the console application.
/* 本程序利用受信事件,通过调用应用程序编程接口,实
现了两个线程(get 、 put)之间的同步*/
#include stdaf
您可能关注的文档
- 2011高考数公式大全(最全面,最详细).doc
- 2011高考数复习建议.ppt
- 2011高考概统计(一)).doc
- 2011高考物一轮复习典例精析课件:第十章 交变电流 传感器(可编辑文字版).ppt
- 2011高考英 Unit10精美课件 北师大版必修4.ppt
- 2011高考英一轮基础专题篇:完形填空.ppt
- 2011高考英一轮复习精品课件 Module 1 Unit 1 Lifestyles 北师大版必修1.ppt
- 2011高考英一轮复习精品课件 Module 2 Unit 6 Design 北师大版必修2.ppt
- 2011高考英二轮三轮复习课件:模块3-阅读理解—新课标广东省专用.ppt
- 2011高考英完形填空猜题秘诀(免费公益资料).doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)