- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上机实验安排
实验教材;实验时间:第7周-第12周(6周),每周二晚上7:30-9:00
实验地点:文波楼机房217
;实验前,认真学习教材以及实验指导书的相关内容,提前做好实验准备。
实验结束后提交实验报告,实验报告内容应包括(参照《实验报告格式.doc》):
实验目的、实验内容、设计思路和流程框图,源程序(含注释)清单、测试结果以及实验总结。
?
实验报告杜绝抄袭现象,一经发现雷同,双方成绩均以0分计算。
实验报告完成后班长收齐上交。
;实验项目一:进程同步与互斥?
1、预习要求: 进程的基本概念;进程的同步和互斥
2、实验目的:
(1)掌握进程同步和互斥的含义;
(2)能进行多进程的设计。
3、实验内容及要求:
参照教材第3章和《操作系统实验指导》实验一的要求,用信号量机制实现生产者和消费者问题。;实验项目一:进程同步与互斥
?
一、实验目的
掌握基本的进程同步与互斥算法,理解生产者-消费者问题。
学习使用Windows 2000/XP中基本的同步对象,掌握相关API的使用方法。
了解Windows 2000/XP中多线程的并发执行机制,实现进程的同步与互斥。;进程是一个可以拥有资源的基本单位。
进程是一个可以独立调度和分派的基本单位。;为解决此问题,人们想到将进程的上述两个属性分开,即对作为调度和分派的基本单位,不同时作为拥有资源的基本单位;对于拥有资源的单位,不对之进行频繁切换 。
线程因而产生。; 定义:线程是进程中的一个实体,是被系统独立调度和分配的基本单位,故又称为轻权(轻型)进程(Light Weight Process)。;线程(thread)和进程(process)的关系;线程的特点;线程与进程的比较;
在传统OS中,拥有资源、独立调度和分派的基本单位都是进程,在引入线程的OS中,线程是调度和分派的基本单位,而进程是拥有资源的基本单位。
在同一个进程内线程切换不会产生进程切换,由一个进程内的线程切换到另一个进程内的线程时,才会引起进程切换。
;
无论是传统OS,还是引入线程的OS,进程都是拥有资源的独立单位,线程一般不拥有系统资源,但它可以访问隶属进程的资源。即一个进程的所有资源可供进程内的所有线程共??。; 进程的创建和撤消的开销要远大于线程创建和撤消的开销。因为,进程切换时,当前进程的CPU环境要保存,新进程的CPU环境要设置,线程切换时只须保存和设置少量寄存器,并不涉及存储管理方面的操作,因此线程切换的开销远小于进程切换的开销。
同一进程内的各线程由于它们拥有相同的地址空间,它们之间的同步和通信的实现也变得比较容易。; 线程和进程一样,都有自己的状态。线程中所使用的同步控制机制与进程中所使用的同步控制机制相同。
进程的调度、同步等大多由OS内核完成,而线程的控制既可以由OS内核(内核提供API)进行,也可以由用户控制。;实验项目一:进程同步与互斥?
二、实验内容及要求
实验内容:
以生产者-消费者模型为依据,在Windows 2000/XP环境下创建一个控制台进程,在该进程中创建n个线程模拟生产者和消费者,实现进程(线程)的同步与互斥。
实验要求:
学习并理解生产者-消费者模型及其同步和互斥规则;
学习了解Windows同步对象及其特性;
熟悉实验环境,掌握相关API的使用方法;
设计程序,实现生产者-消费者进程(线程)的同步与互斥;
每个人提交一份实验报告。;生产者和消费者问题;实验项目一:进程同步与互斥
?
三、相关基础知识介绍
同步对象
同步对象是指Windows中用于实现同步与互斥的实体,包括信号量(Semaphore)、互斥量(Mutex)、临界区(Critical Section)和事件(Events)等。本实验中使用到信号量、互斥量和临界区三个同步对象。
同步对象的使用步骤:
创建/初始化同步对象。
请求该同步对象,随即进入临界区(这一步相当于P操作)。
释放该同步对象(这一步相当于V操作)。
这些对象在一个线程中创建,在其它线程中都可以使用。
;实验项目一:进程同步与互斥
?
三、相关基础知识介绍
相关API的功能及使用
我们利用Windows SDK提供的API编程实现实验题目的要求,在VC中包含有Windows SDK的所有工具和定义。要使用这些API,需要包含对这些函数进行说明的SDK头文件——最常见的是Windows.h。
下面给出的是本实验使用到的API的功能和使用方法的简单介绍。
;实验项目一:进程同步与互斥
相关API的功能及使用(具体的用法可以参考MSDN)
(1) CreateThread
功能:创建一个线程,该线程在调用进程的地址空间中执行。
格式:
HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttr
您可能关注的文档
最近下载
- 2025.6.27--12、博微配电网工程设计软件使用手册.pdf VIP
- 阿里巴巴集团股权结构分析.doc VIP
- 锡安长老纪要1-24本.pdf VIP
- YYT 0735.1-2009 麻醉和呼吸设备 湿化人体呼吸气体的热湿交换器(HME) 第1部分:用于最小潮气量为250mL的HME.docx VIP
- 汽车仪表盘图标全解.docx VIP
- 阿里巴巴上市后的股权结构(阿里巴巴最新股权结构).doc VIP
- 氧气、乙炔管理制度.docx VIP
- 上海众辰NZ100变频器用户使用说明书调试手册.pdf
- 伴有肺炎的肺脓肿多学科决策模式中国专家共识(2025版).docx VIP
- fwd系列高静压风机盘管机组-特灵空调.pdf VIP
原创力文档


文档评论(0)