ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:840.73KB ,
资源ID:13306075      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13306075.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(操作系统实验报告BWord文件下载.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

操作系统实验报告BWord文件下载.docx

1、4.基于消息队列和共享内存的进程间通信135. 一个进程启动另一个程序的执行176.个人总结19实验二 进程管理【实验目的】 加深对进程概念的理解,明确进程与程序的区别;进一步认识并发执行的实质。【实验内容】(1)进程创建编写一段程序,是系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示a;子进程分别显示b和c。(2)进程控制 修改已编写的程序,将每一个进程输出一个字符改为每一个进程输出一句话,再观察程序执行时屏幕上出现的现象(3)进程的管道通信 编写程序实现进程的管道通信。使系统调用pipe()建立一个管道,

2、两个子进程P1和P2分别向管道各写一句话:child 1 is sending a message! child 2 is sending a message! 父进程从管道中读出两个来自子进程的信息并显示【实验要求】按照要求编写程序,放在相应的目录中,编译成功后执行,并按照要求分析执行结果,并写出实验报告【实验设计】【实验测试结果及分析】显示顺序为bca的原因:在创建两个子进程时分别在两个子进程中写入了需要显示的字符,但因为创建的顺序有先后所以显示顺序是bc,父进程中的a是最后显示的。父进程在子进程开始前就会执行,但是子进程中的代码先后性是随机的,不一定那一个先执行完,所以在实验中通过ife

3、lse的语句能分清两个子进程的先后顺序。显示顺序与创建顺序有关。先创建了两个子进程和一个父进程,分别在屏幕上显示出进程的创建状态,显示顺序由创建顺序而得,在创建两个子进程时也创建了管道,分别在管道内写入了相应需要显示的字符串,在父进程中调用了管道中的数据,所以会分别显示出来。通过管道pipe,进行数据输入的时候,主要学会了如何和再合适的时间里封闭和打开p管道的出入口,从而使得父子进程能够方便调用。【运行结果】【参考资料】实验指导书实验三 线程的管理编写 Linux 环境下的多线程程序,了解多线程的程序设计方法,掌握最常用的三个函 pthread_create,pthread_join 和 pt

4、hread_exit 的用法1、主程序创建两个线程 myThread1 和 myThread2,每个线程打印一句话。使用pthread_create(&id,NULL,(void *) thread,NULL)完成。提示:定义每个线程的执行体,然后在main中()创建几个线程,最后主线程等待子线程结束后再退出。2、创建两个线程,分别向线程传递如下两种类型的参数传递整型值传递字符 (1) 线程的创建(2) 利用线程传递参数通过本次实验我知道了如何建立一个线程,并通过对pthread_create()函数的学习,知道如何利用指针进行参数的传递和利用。(1)线程的创建(2)利用线程传递不同类型参数实

5、验四 利用信号量实现进程控制【实验目的】 学习使用UNIX类操作系统信号量机制,编写Linux环境下利用信号量实现进程控制的方法,掌握相关系统调用的使用方法。创建4个线程,其中两个线程负责从文件读取数据到公共的缓冲区,另两个线程从缓冲区读取数据作不同的处理,使用信号量控制这些现成的执行。 按照要求编写程序,放在相应的目录中,编译成功后执行,并按照要求分析执行结果,并写出实验报告。此程序主要通过建立(void*)ReadData1,(void*)ReadData2,(void*)Multiply,(void*)Plus四个函数进行操作。并且通过信号量的使用,实现对四个函数先后执行的区分。其中,信

6、号量empty判断缓冲区是否为空,operation_signal判断当前缓冲区是否只有一个生产者在操作(避免数据覆盖)。 通过信号量的控制以保证子线程的先后顺序。实验指导书,XX知道实验五 基于消息队列和共享内存的进程间通信 Linux系统的进程通信机构允许在任意进程间大批量地交换数据。本实验要求了解熟悉Linux支持的消息通信机制机器使用方法和Linux系统的共享存储区的原理和使用方法。1. 消息的创建,发送和接收使用msgget(), msgsnd(), msggrev(), msgctrl() 编制长度为1K的消息的发送和接收程序。2. 共享存储区的创建,附接和断接使用shmget()

7、, shmat(), shmctl(), shmctl(), 编制一个与上述功能相同的程序。 按照要求编写程序,放在相应的目录中,编译成功后执行,并按照要求分析执行结果。1.消息的创建,发送和接收 第一个实验主要利用msgget();创建一个队列,并利用msgsnd();和 msgrcv()把msg结构体和队列之间进行传入和传出操作,并进行输出。 第二个实验利用shmget()创建出一块共享内存,通过指针addr的附接,进行对内存中数据的写入和输出。实验指导书,XX百科实验六 一个进程启动另一个程序的执行 在Linux环境下,fork()与exec()的结合使用实现一个进程启动另一个程序的知性

8、的基本方法。 父进程从终端读取要执行的命令,并交给子进程执行。父进程等待子进程结束,并打印子进程的返回值。 此程序通过对execlp()函数的调用,使得通过输入命令被执行。输入的命令用fgets()存入command字符串中,然后用execlp()函数执行command的内容,如果不正确返回值给errorno,否则执行此命令。通过我们之前做的几个实验的实验结果来验证这个实验是否能够正确的运行。个人总结 通过此次Linux实验,我对操作系统的相关知识有了更加深入的了解和体会。 首先我对如何建立进程,以及对进程的调用有着一定的理解,一开始做实验,我遇到了种种困难,可以说进行的不是很顺利,但当我理解

9、了编程思想以及方法的时候,问题都一一解决了,所以在当我做到线程实验的时候也就更加的顺利,对通过线程的调用来实现相关的运算有了更深刻的理解并且进行了实际的操作。在编写信息量相关程序的代码的过程中,我知道了怎么样利用信号量来控制线程的发生,不只是把sem_wait()和sem_post()放到函数前后就可以,而是要根据特定的情况通过对变量的初始化,采用不同的放置,才能使函数能够按照自己的意愿进行。在编写基于消息队列和共享内存的进程间通信的实验时,里面各类函数的功能和应用我研究的时间比较长,这让我对编程有了更为深刻的理解。 除了对代码的熟悉之外,更多的是对linux操作系统有了了解,我认识并且熟悉了这种用代码操作的平台,不仅仅限于听说。与此同时也接触了虚拟机等相关的知识,让自己以此为机会查资料学习,并最终完成实验,实验虽然不难,但是开始的熟悉还是需要一段过程,熟悉之后让我对以后对相关知识的学习也有了更多的信心,希望能越做越好。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1