东北大学操作系统实验报告_第1页
东北大学操作系统实验报告_第2页
东北大学操作系统实验报告_第3页
东北大学操作系统实验报告_第4页
东北大学操作系统实验报告_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程编号B080000070操作系统实验报告姓名班级指导教师石凯实验名称操作系统实验开设学期20162017第二学期开设时间第11周第18周报告日期2017年7月3日评定人石凯评定成绩评定日期2017年7月5日东北大学软件学院实验一进程的同步与互斥实验题目通过学习和分析基础例子程序,使用WINDOWS进程和线程编程(也可以采用JAVA或UNIX/LINUX的POSIX线程编程)实现一个简单的生产者/消费者问题的程序。关键代码IMPORTJAVAUTILARRAYLISTPUBLICCLASSPRODUCEPUBLICOBJECTOBJECTPUBLICARRAYLISTLIST/用LIST存放生产之后的数据,最大容量为1PUBLICPRODUCEOBJECTOBJECT,ARRAYLISTLISTTHISOBJECTOBJECTTHISLISTLISTPUBLICVOIDPRODUCESYNCHRONIZEDOBJECT/只有LIST为空时才会去进行生产操作/TRYWHILELISTISEMPTYSYSTEMOUTPRINTLN“生产者“THREADCURRENTTHREADGETNAME“WAITING“OBJECTWAITINTVALUE9999LISTADDVALUESYSTEMOUTPRINTLN“生产者“THREADCURRENTTHREADGETNAME“RUNNABLE“OBJECTNOTIFYALL/然后去唤醒因OBJECT调用WAIT方法处于阻塞状态的线程CATCHINTERRUPTEDEXCEPTIONEEPRINTSTACKTRACEIMPORTJAVAUTILARRAYLISTPUBLICCLASSCONSUMERPUBLICOBJECTOBJECTPUBLICARRAYLISTLIST/用LIST存放生产之后的数据,最大容量为1PUBLICCONSUMEROBJECTOBJECT,ARRAYLISTLISTTHISOBJECTOBJECTTHISLISTLISTPUBLICVOIDCONSMERSYNCHRONIZEDOBJECTTRY/只有LIST不为空时才会去进行消费操作/WHILELISTISEMPTYSYSTEMOUTPRINTLN“消费者“THREADCURRENTTHREADGETNAME“WAITING“OBJECTWAITLISTCLEARSYSTEMOUTPRINTLN“消费者“THREADCURRENTTHREADGETNAME“RUNNABLE“OBJECTNOTIFYALL/然后去唤醒因OBJECT调用WAIT方法处于阻塞状态的线程CATCHINTERRUPTEDEXCEPTIONEEPRINTSTACKTRACE实验结果思考题(1)如何控制进程间的相互通信答主要有管道,信号,共享内存,消息队列(2)什么是进程的同步什么是进程的互斥分别有哪些实现方式答进程互斥是进程之间的间接制约关系。当一个进程进入临界区使用临界资源时,另一个进程必须等待。只有当使用临界资源的进程退出临界区后,这个进程才会解除阻塞状态。进程同步也是进程之间直接的制约关系,是为完成某种任务而建立的两个或多个线程,这个线程需要在某些位置上协调他们的工作次序而等待、传递信息所产生的制约关系。进程间的直接制约关系来源于他们之间的合作。可以利用信号量来实现进程的同步与互斥。实验二处理机调度实验题目设计一个按优先权调度算法实现处理器调度的程序数据结构及符号说明TYPEDEFSTRUCTPB/每个进程CHARPNAME5/进程的名字CHARSTATUS8/进程的状态INTTIME/要求运行时间INTPRI/进程的优先权INTCPUTIME/CPU时间STRUCTPBP/队列结构,它的下一个。PBC,PBCP流程设计关键代码VOIDATTEMPERPBCPPBCAPBCPPITEMPBCAPPBCPPITERATORPBCAPWHILEPITERATORNULLIFPITEMPRIPRIPITERATORPITERATORPIFPITEMTIME10PITEMCPUTIME1PITEMPRI1STRCPYPITEMSTATUS,“FINISH“ELSESTRCPYPITEMSTATUS,“RUN“PITEMCPUTIME1PITEMPRI1STRCPYPITEMSTATUS,“RUN“PITERATORPBCAPWHILEPITERATORNULLIFPITERATORCPUTIME0STRCPYPITERATORSTATUS,“READY“PITERATORPITERATORPPRINTPBCPBCA运行结果思考题(1)处理机调度的目的答主要还是为了优化软件的运行。(2)你实现优先权调度算法的思想答遍历一次,取出优先权最高的,判断该进程是否还要运行,要允许就运行它。实验三存储管理实验题目模拟分页式存储管理中硬件的地址转换和产生缺页中断。用先进先出(FIFO)页面调度算法处理缺页中断。数据结构及符号说明INTPAPER_TABLE75/7乘5的页表CHAROPER_CHAR12/每次操作INTOPER_TABLE122/指令序列的单元号和操作存储INTFIFO_TABLE4/先进先出表,记录那几个在内存中INTSTATICCOUNT0/记下哪个先来的流程设计核心代码VOIDSCHEDULERVOIDINTI,PAGE,PAGE_BLOCK,PAGE_MOVEFORI0IUSER_NAMEFORUSER_ID0USER_ID“CINCOMMANDIFCOMMAND“DIR“COUTTEMPUFDIFILE_NAMETEMPCOUTTEMP_INTIFTEMP_INT0UFDILENGTH_FILETEMP_INTCOUTTEMPFORI0ITEMPFORI0ITEMPFORI0ITEMPFORI0ITEMPFORI0I_NUMBER_FILESIIFUFDILENGTH_FILE1IFI_NUMBER_FILESCOUT“文件名错误,请再次输入“ENDLELSEFORTEMP_INT0TEMP_INT_MAXNUMBER_OPEN_FILESTEMP_INTIF_AFDTEMP_INTFILE_IDIBREAKIFTEMP_INT_MAXNUMBER_OPEN_FILESCOUT“文件“TEMP“未打开“ENDLELSEIF_AFDTEMP_INTWRITETRUECOUT“文件“TEMP“成功写入“ENDLELSECOUT“ERROR文件打开模式错误“ENDLELSEIFCOMMAND“SHUTDOWN“COUT“正在注销“ENDLCOUT“再见,“USER_NAME“ENDLCOUT“正在关机“ENDLBREAKELSECOUT“指令错误,请再次输入“ENDLWHILECOMMAND“LOGOUT“WHILECOMMAND“SHUTDOWN“实验结果评价表格考核标准

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论