14-15-2操作系统原理实验报告(计131、132)(新)_第1页
14-15-2操作系统原理实验报告(计131、132)(新)_第2页
14-15-2操作系统原理实验报告(计131、132)(新)_第3页
14-15-2操作系统原理实验报告(计131、132)(新)_第4页
14-15-2操作系统原理实验报告(计131、132)(新)_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、操作系统原理实验报告 2014-2015学年 第2学期操作系统原理实验报告学 院: 信息与电子工程学院 专 业: 计算机科学与技术 班 级: 计算机130班 学 号: 1130299000 姓 名: 某某某 浙江科技学院2014-2015学年 第2学期实验1 进程管理一、实验目的1. 弄清进程和程序的区别,加深对进程概念的理解。2. 了解并发进程的执行过程,进一步认识并发执行的实质。3. 掌握解决进程互斥使用资源的方法。二、实验内容1. 管道通信使用系统调用pipe( )建立一个管道,然后使用系统调用fork( )创建2个子进程p1和p2。这2个子进程分别向管道中写入字符串:“Child pr

2、ocess p1 is sending message!”和“Child process p2 is sending message!”,而父进程则从管道中读出来自两个子进程的信息,并显示在屏幕上。2. 软中断通信使用系统调用fork( )创建2个子进程p1和p2,在父进程中使用系统调用signal( )捕捉来自键盘上的软中断信号SIGINT(即按Ctrl-C),当捕捉到软中断信号SIGINT后,父进程使用系统调用kill( )分别向2个子进程发出软中断信号SIGUSR1和SIGUSR2,子进程捕捉到信号后分别输出信息“Child process p1 is killed by parent!

3、”和“Child process p2 is killed by parent!”后终止。而父进程等待2个子进程终止后,输出信息“Parent process is killed!”后终止。三、实验要求1. 根据实验内容编写C程序。2. 上机调试程序。3. 记录并分析程序运行结果。四、程序说明和程序流程图五、程序代码六、程序运行结果及分析实验2 线程管理一、实验目的1. 弄清线程与进程的区别,加深对线程概念的理解。2. 了解并发线程的调度和执行过程,进一步理解线程同步机制。3. 掌握多线程编程的基本方法。二、实验内容生产者与消费者问题(Producer-consumer problem),或称

4、有限缓冲区问题(Bounded-buffer problem),是一个多线程/进程同步问题的经典案例。该问题描述了共享固定大小缓冲区的两类线程:即“生产者”线程和“消费者”线程在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据(产品)放入缓冲区中,然后重复此过程。与此同时,消费者从缓冲区中取出数据并消耗。解决该问题的关键是如何保证生产者不会在缓冲区满时放入数据,而消费者也不会在缓冲区中空时消耗数据。使用POSIX thread库函数pthread_create创建若干个(至少2个)生产者线程和1个或若干个消费者线程,利用POSIX线程同步机制互斥锁和条件变量实现生产者线程和消费者线程

5、的同步。三、实验要求1. 根据实验内容编写C程序。2. 上机调试程序。3. 记录并分析程序运行结果。四、程序说明和程序流程图五、程序代码六、程序运行结果及分析实验3 进程通信一、实验目的1. 了解进程间通信IPC的三种方式:消息队列、共享内存和信号量。2. 掌握使用消息队列进行进程间通信的有关系统调用和编程方法。3. 掌握使用共享内存进行进程间通信的有关系统调用和编程方法。二、实验内容1. 消息队列使用系统调用msgget( )、msgsnd( )、msgrcv( )和msgctl( ),用消息队列机制实现客户进程和服务器进程间的通信。客户进程首先建立一个描述符为msgqid的消息队列,接着向

6、服务器进程发送一个消息正文为自己的进程标识pid且类型为1的消息,然后接收来自服务器进程的消息,并在屏幕上显示:“Client receives a message from xxxx!”,其中“xxxx”为服务器进程的进程标识。服务器进程首先捕捉软中断信号(除不能捕捉的SIGKILL),若捕捉到时则调用函数cleanup( )删除消息队列,终止服务器进程。否则重复下列操作:接收所有类型为1的消息,并在屏幕上显示:“Server receives a message from xxxx!”,其中“xxxx”为客户进程的进程标识;然后服务器进程将客户进程的进程标识作为返回消息的类型,而将自己的进

7、程标识作为消息正文发送给客户进程。2. 共享内存使用系统调用shmget( )、shmat( )和shmctl( ),用共享内存机制实现进程间的通信。其中一个进程向共享内存中写入数据,另一个进程从共享内存中读出数据并显示在屏幕上。三、实验要求1. 根据实验内容编写C程序。2. 上机调试程序。3. 记录并分析程序运行结果。四、程序说明和程序流程图五、程序代码六、程序运行结果及分析实验4 存储管理一、实验目的1. 了解虚拟存储管理技术的原理与特点。2. 掌握请求页式存储管理的页面置换算法。二、实验内容1. 通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成:(1) 50%的指令是

8、顺序执行的;(2) 25%的指令均匀分布在前地址部分;(3) 25%的指令均匀分布在后地址部分。实现方法:(1) 在0,319的指令地址中随机选取一起点s;(2) 执行指令s;(3) 顺序执行一条指令,即执行地址为s+1的指令;(4) 在前地址0,s中随机选取一条地址为m的指令执行;(5) 顺序执行一条指令,即执行地址为m+1的指令;(6) 在后地址m+2,319中随机选取一条指令s;(7) 重复(2)(6),直到执行320次指令。2. 将指令序列变换为页地址流,设:(1) 页面大小为1K;(2) 用户内存容量为432页面(page frame);(3) 用户虚存容量为32K(即32页)。若10条指令为1页,则320条指令在虚存中的存放方式为:第0页(虚存地址0,9)第0条第9条指令;第1页(虚存地址10,19)第10条第19条指令; 第31页(虚存地址310,319)第310条第319条指令。3. 计算并输出下列算法在不同内存容量下的命中率(命中率=1-缺页率)。(1) FIFOFirst In First Out Page Replacement Algorithm(2) L

温馨提示

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

评论

0/150

提交评论