




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
12022年10月27日北京交通大学计算机学院主讲教师:何永忠联系电话:电子邮件:(交助教)制作人:制作单位:北京交通大学计算机学院《操作系统实验指导》22022年10月27日北京交通大学计算机学院教学要求待续一、完成三个必做实验课题,并提交相应完整的实验课题电子版,含实验报告、源程序和可执行系统(截至16周周五)。二、实验报告应给出实验目的、实验设计、源程序清单和说明、算法及关键数据结构设计、实验问题回答、实验过程中间结果屏幕截图、疑难解惑及经验教训。建议自组和光盘方式自评与教评相结合32022年10月27日北京交通大学计算机学院教学要求续完三、电子版目录结构要求:
1、以自己的学号姓名为一级目录名
2、以课题简称为二级目录名
3、以源程序、可执行系统为三级目录名
4、实验报告文档存放在二级目录下示例:05281101岳飞
|--线程同步算法---------------实验报告文档.doc|--内存管理算法|--源程序
|--文件系统模拟∟可执行系统
42022年10月27日北京交通大学计算机学院线程同步机制52022年10月27日北京交通大学计算机学院线程同步机制实验目的通过观察共享数据资源但不受控制的两个线程的并发运行输出结果,体会同步机制的必要性和重要性。然后利用现有操作系统提供的同步机制编程实现关于该两个线程的有序控制,同时要求根据同步机制的Peterson软件解决方案尝试自己编程实现同步机制和用于同一问题的解决,并基于程序运行时间长短比较两种同步机制。62022年10月27日北京交通大学计算机学院线程同步机制课题基本要求1基于给定银行账户间转账操作模拟代码作为线程执行代码,在主线程中创建两个并发线程,编程实现并观察程序运行结果和予以解释说明。利用Windows互斥信号量操作函数解决上述线程并发问题,并分析、尝试和讨论线程执行体中有关信号量操作函数调用的正确位置。72022年10月27日北京交通大学计算机学院线程同步机制课题基本要求2根据同步机制的Peterson软件解决方案尝试自己编程实现线程同步机制和用于上述线程并发问题的解决,并基于程序运行时间长短将其与基于Windows互斥信号量的线程同步机制的效率展开比较。其间,可规定线程主体代码循环执行1000000次。82022年10月27日北京交通大学计算机学院共享数据资源的并发线程代码示例intnAccount1=0,nAccount2=0;//主线程创建的全局变量intnLoop=0;intnTemp1,nTemp2,nRandom;do{ nTemp1=nAccount1; nTemp2=nAccount2; nRandom=rand(); nAccount1=nTemp1+nRandom; nAccount2=nTemp2-nRandom; nLoop++;}while((nAccount1+nAccount2)==0);printf("循环次数为%d\n",nLoop);银行账户间转账操作模拟92022年10月27日北京交通大学计算机学院Windows线程编程知识1线程函数原型及框架DWORDWINAPIThreadExecutive(LPVOIDlpParameter){ …… return0;}#include<windows.h>102022年10月27日北京交通大学计算机学院Windows线程编程知识2线程创建函数原型HANDLECreateThread(LPSECURITY_ATTRIBUTESlpThreadAttributes,DWORDdwStackSize,LPTHREAD_START_ROUTINElpStartAddress,LPVOIDlpParameter,DWORDdwCreationFlags,LPDWORDlpThreadId);112022年10月27日北京交通大学计算机学院Windows线程编程知识3等待线程函数原型DWORDWaitForMultipleObjects(DWORDnCount,CONSTHANDLE*lpHandles,BOOLfWaitAll,DWORDdwMilliseconds);122022年10月27日北京交通大学计算机学院Windows线程编程知识4互斥信号量创建函数原型HANDLECreateMutex(LPSECURITY_ATTRIBUTESlpMutexAttributes,BOOLbInitialOwner,LPCTSTRlpName);132022年10月27日北京交通大学计算机学院Windows线程编程知识5互斥信号量释放唤醒函数原型BOOLReleaseMutex(HANDLEhMutex);142022年10月27日北京交通大学计算机学院Windows线程编程知识6互斥信号量申请(上锁/等待)函数原型DWORDWaitForSingleObject(HANDLEhHandle,DWORDdwMilliseconds);152022年10月27日北京交通大学计算机学院Windows线程编程知识7线程挂起函数原型VOIDSleep(DWORDdwMilliseconds);162022年10月27日北京交通大学计算机学院Windows时间编程知识系统时间获取函数原型DWORDGetTickCount(VOID)172022年10月27日北京交通大学计算机学院线程同步机制
相关知识说明182022年10月27日北京交通大学计算机学院利用软件方法解决进程互斥问题进程互斥算法1设置访问编号进程互斥算法2设置访问标志进程互斥算法3设置访问标志进程互斥算法4编号+标志问题Peterson解决方案192022年10月27日北京交通大学计算机学院进程互斥算法1设置访问编号Varturn:integer:=i;repeat……
whileturnidono_op;
临界区
turn:=j;……untilfalse;202022年10月27日北京交通大学计算机学院进程互斥算法2设置访问标志Varflagi,flagj:boolean:=false,false;repeatwhileflagjdono_op;flagi:=true;
临界区
flagi:=false;untilfalse;212022年10月27日北京交通大学计算机学院进程互斥算法3设置访问标志Varflagi,flagj:boolean:=false,false;repeatflagi:=true;
whileflagjdono_op;
临界区
flagi:=false;untilfalse;222022年10月27日北京交通大学计算机学院进程互斥算法4编号+标志Varflagi,flagj:boolean;
turn:integer;repeatflagi:=true;turn:=j;
while(flagjandturn=j)dono_op;
临界区
flagi:=false;untilfalse;232022年10月27日北京交通大学计算机学院利用硬件方法解决进程互斥问题完全利用软件方法解决诸进程互斥进入临界区的问题,有一定难度,且有很大局限性,因而现代很少采用此方法。针对这一点,现在许多计算机已提供了一些特殊的硬件指令,相关指令允许对一个字中的内容进行检测和修正或交换两个字的内容,故可用于解决临界区问题。Test-and-Set指令Swap指令242022年10月27日北京交通大学计算机学院Test-and-Set指令functionTS(varlock:boolean):boolean;beginTS:=lock;lock:=true;end252022年10月27日北京交通大学计算机学院利用Test-and-Set指令实现互斥Varlock:boolean:=false;repeat……whileTS(lock)doskip;
临界区
lock:=false;
……untilfalse;262022年10月27日北京交通大学计算机学院Swap指令procedureSwap(vara,b:boolean);Vartemp:boolean;begintemp:=a;a:=b;b:=temp;end272022年10月27日北京交通大学计算机学院利用Swap指令实现互斥Varlock:boolean:=false;repeat
key:=true;repeatSwap(lock,key);untilkey=false;
临界区
lock:=false;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年复方芩兰口服液项目合作计划书
- 2025全新版权合同范本
- 2025年面试时合同管理的利与弊
- 2025古董艺术品赠与合同模板
- 2025装饰设计工程承包合同
- 2025建筑工程项目施工分包合同
- 2025租赁合同纠纷起诉范文
- 2025中国农业银行个人汽车贷款借款合同(合同版本)
- 2025氧化铁供销合同范文
- 2025陕西省农业种植(苹果)买卖合同示范文本
- 消防安全隐患排查试题及答案
- 2024年食品安全法管理知识试题库(含答案)
- 2025广西文化产业集团招聘174人易考易错模拟试题(共500题)试卷后附参考答案
- 宿舍管理考试试题及答案
- 2025福建德化闽投抽水蓄能有限公司招聘15人笔试参考题库附带答案详解
- 智能财税综合实训 上篇 课件 社会共享初级代理实务
- 军人抚恤优待条例培训2024
- 16J914-1 公用建筑卫生间
- 人教版高中美术 《传承与创新-中国近现代美术》课件
- Opera、绿云、西软、中软酒店管理系统对比分析
- 超市经营业务管理规范标准
评论
0/150
提交评论