欢迎来到天天文库
浏览记录
ID:15679189
大小:42.00 KB
页数:4页
时间:2018-08-04
《操作系统实验__实验指导书》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、南昌工程学院《操作系统》实验指导书09软件技术(专)专业王晖编2011年9月目录实验一………………………………………………………………………..实验二………………………………………………………………………..实验三………………………………………………………………………..实验四………………………………………………………………………..实验五………………………………………………………………………..实验一进程同步和互斥(一)一、实验目的1.掌握操作系统中信号量的使用方法。2.掌握利用VC++或Java来实现多线程访问信号量。二、实验设备和仪器1.计算机。2.VC+
2、+6.0或Eclipse+JavaJDK。三、实验内容及要求1.实现线程的定义与创建。2.实现信号量的访问。3.要求具备多线程的程序设计基础。四、实验原理及步骤1.实验原理信号量(Semaphore)属于内核对象。它自动执行可用资源查询的测试,如果有可用资源,则可用资源的计数减少,从而避免其它线程请求资源。当该线程释放该资源后,可用资源计数增加,则操作系统允许另一个线程请求资源。信号量与临界区和互斥量的不同在于,它不能被认为属于某个线程。也就是说,一个线程可以等待信号量对象(减少它的资源计数),而另一个线程释放该对象(增加它的资源计数)。2.步骤1)使用Crea
3、teThread()函数创建线程。2)定义ThreadProc()函数,它作为CreateThread()创建线程的起始地址服务。3)使用WaitForSingleObject()函数挂起线程,当信号量有状态时,执行它下面的代码。4)使用ReleaseSemaphore()函数释放信号量。五、实验结果分析及实验报告要求1)分析WaitForSingleObject()的作用。2)分析程序的运行结果。实验二进程同步和互斥(二)一、实验目的1.掌握操作临界区的使用方法。2.掌握利用VC++或Java来实现多线程访问临界区。二、实验设备和仪器1.计算机。2.VC++6
4、.0或Eclipse+JavaJDK。三、实验内容及要求1.实现线程的定义与创建。2.实现对临界区的访问。3.要求具备多线程的程序设计基础。四、实验原理及步骤1.实验原理当多个线程共享对同一数据的访问时,线程之间可能会有干扰。一个临界区对象保护一段代码不被多于一个线程访问。在所有的同步对象中,临界区是最容易使用的,但是,一个临界区对一个进程或DLL是有限的,不能被其他进程共享,只能用于同步单个进程中的线程。临界区不是Windows核心对象,它和核心对象不同,存在于进程的内存空间中。2.步骤1)打开VC++6.0,打开文件菜单->新建。2)点击Win32Conso
5、leApplication。3)输入工程名称,点击确定。4)选择“一个简单的程序”,点击确定。5)输入代码。6)编译运行,并分析运行结果。五、实验结果分析及实验报告要求1)分析EnterCriticalSection()的作用。2)分析程序的运行结果。
此文档下载收益归作者所有