- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机操作系统实验报告(共享内存管理)精选
数学与计算机科学系实验报告
课程:计算机操作系统 地点:软件实验室二 时间: 2013年 5月 17 日
学生姓名 班级 学号 仪器编号 组别 同组姓名 实验项目 共享内存管理 指导教师 实验目的 理解 Linux 关于共享内存的概念,掌握 Linux 支持进程间内存共享的系统调用。
巩固掌握进程同步概念。
实验要求 使用共享内存来完成进程间通信。
要求建立一个利用共享内存机制的,关于经典同步问题 readers/writers 的解决方案。 writer 从用户处获得输入,然后将其写入共享内存,reader 从共享内存获取信息,然后再在屏幕上
打印出来。
实验环境 Linux环境 实验内容及实验结果
请写出具体的实验步骤,并给出相应的实验结果,附上编写的程序及其运行结果截图!! 实验步骤:1。
2.
3. #include stdio.h?#include sys/types.h?#include sys/ipc.h?#include sys/sem.h?#include sys/shm.h?#include stdlib.h?#include errno.h?#include string.h?#include signal.h???/* The union for semctl may or may not be defined for us.This code,defined?? in linuxs semctl() manpage,is the proper way to attain it if necessary */?#if defined (__GNU_LIBRARY__) !defined (_SEM_SEMUN_UNDEFINED)?/* union semun is defined by including sys/sem.h */?#else?/* according to X/OPEN we have to define it ourselves */?union semun{??int val;?/* value for SETVAL */??struct semid_ds *buf;??/* buffer for IPC_STAT,IPC_SET */??unsigned short int *array;?/* array for GETALL,SETALL */??struct seminfo *__buf;??/* buffer for IPC_INFO */?};?#endif??#define SHMDATASIZE??1000?#define BUFFERSIZE? (SHMDATASIZE - sizeof(int))??#define SN_READ? 0?#define SN_WRITE 1?#define SN_LOCK? 2??int Semid = 0;??void reader(int shmid);?void writer(int shmid);?int masterinit(void);?char *standardinit(int shmid,int *semid);?void delete(void);?void sigdelete(int signum);?void locksem(int semid,int semnum);?void unlocksem(int semid,int semnum);?void waitzero(int semid,int semnum);?void write(int shmid,int semid,char *buffer);??int mysemget(key_t key,int nsems,int semflg);?int mysemctl(int shmid,int semnum,int cmd,union semun arg);?int mysemop(int semid,struct sembuf *sops,unsigned nsops);?int myshmget(key_t key,int size,int shmflg);?void *myshmat(int shmid,const void *shmaddr,int shmflg);?int myshmctl(int shmid,int cmd,struct shmid_ds *buf);??int main(int argc,char *argv[]){??char selection[3];?
您可能关注的文档
- 西安XX物业管理有限责任公司安全服务工作手册-商场安保消防管理规定精选.doc
- 西南现金中心全过程造价咨询谈判文件精选.doc
- 西宁圆通速递公司仓库岗位职责及管理制度研究精选.doc
- 西安商贸旅游技师学院多媒体教室、机房、语音室设备采购项目竞争性谈判文件精选.doc
- 西安体育学院授课教案基层人员管理培训动机精选.doc
- 西安国家服务外包示范基地(二区)工程创建文明工地计划书精选.doc
- 西安市建筑装饰装修工程施工合同精选.doc
- 西安杨凌示范区棚户区改造项目可行性研究报告-标准版及用于国开行贷款精选.doc
- 西安某高层住宅楼大体积混凝土施工方案精选.doc
- 西安某供电所工程为土建工程建筑施工组织设计方案(可编辑)精选.doc
最近下载
- 八年级物理上册《透镜》练习题(含答案解析) .pdf
- 插花与花艺设计(花道——插花技艺养成)智慧树知到期末考试答案章节答案2024年云南林业职业技术学院.docx
- 四书精读教学-《四书》精读课堂笔记.docx VIP
- 2022年青岛版五四制三年级上册数学典型应用题105道.pdf
- 国旗下讲话:远离垃圾食品,享受健康生活.doc
- 幼儿园课件:第八章--学前儿童的情绪和情感.pptx
- 部编版语文九年级下册课内外古诗词(共17首)阅读理解题背诵-中考考点汇总(全册-含答案).doc VIP
- 第一章立体构成概述 .ppt
- 2024年河北省继续医学教育公共选修课参考答案.pdf VIP
- 《立体构成》课件 第一章 立体构成概述.ppt
文档评论(0)