共享内存实验

上传人:cl****1 文档编号:562169063 上传时间:2024-01-18 格式:DOCX 页数:2 大小:8.38KB
返回 下载 相关 举报
共享内存实验_第1页
第1页 / 共2页
共享内存实验_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《共享内存实验》由会员分享,可在线阅读,更多相关《共享内存实验(2页珍藏版)》请在金锄头文库上搜索。

1、共享内存实验1实验目的 通过编写共享内存实验,读者就可以进一步了解共享内存的具体步骤,同时也进一步加 深了对共享内存的理解。由于共享内存涉及同步机制,关于这方面的知识本书现在还没有 涉及,因此,现在只在一个进程中对共享内存进行操作。2实验内容该实现要求利用共享内存实现文件的打开、读写操作。3实验步骤(1)画出流程图 该实验流程图如图8.10 所示。图8.10 实验8.6.2流程图嵌入式Linux应用程序开发详解一一第8章、进程间通信(2)编写代码/*exec2.c*/#include #include #include #include #include #include #define BU

2、FSZ 2048int main()int shmid,i,fd,nwrite,nread;char *shmadd;char buf5;/*创建共享内存*/if(shmid=shmget(IPC_PRIVATE,BUFSZ,0666)0)perror(shmget);exit(1);elseprintf(created shared-memory: %dn,shmid);/*映射共享内存*/if(shmadd=shmat(shmid,0,0)(char *)0) perror(shmat);exit(1);elseprintf(attached shared-memoryn);shmadd=

3、Hello;if(fd = open(share,O_CREAT | O_RDWR,0666)0)perror(open);exit(1);else printf(open success!n); if(nwrite=write(fd,shmadd,5)0) perror(write);exit(1);else printf(write success!n);lseek( fd, 0, SEEK_SET ); if(nread=read(fd,buf,5)0) perror(read);exit(1);elseprintf(read %d form file:%sn,nread,buf); /*删除共享内存*/if(shmdt(shmadd)0) perror(shmdt);exit(1);elseprintf(deleted shared-memoryn); exit(0);4实验结果root(none) tmp# ./shm created shared-memory: 1245222 attached shared-memory open fd=3!write success! read 5 form file:Hello deleted shared-memory

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号