资源简介
本次实验要求利用多个共享内存(有限空间)构成的环形缓冲,将源文件复制到目标文件,实现两个进程的誊抄。
代码片段和文件信息
#include “head.h“
#include
int main(int argc char* argv[]) {
//创建信号灯
int semid;
semid = semget(semKey 2 IPC_CREAT|0666);
//创建共享缓冲区
int shmid;
shmid = shmget(shmKey sizeof(shareBuf) IPC_CREAT|0666);
shareBuf *sBuf = (shareBuf *)shmat(shmid NULL 0);
int count = 0;
//读文件
FILE *fp;
if((fp = fopen(argv[0] “rb“)) == NULL) {
perror(“file open error\n“);
exit(1);
}
printf(“Prepare to get\n“);
int readNum = 0;
int size;
while(sBuf->over != 1) {
//执行P操作
P(semid 0);
size = fread(sBuf->data[readNum] sizeof(char) 80 fp); //读取文件内容
sBuf->length[readNum] = size;
if(size < 80) {
printf(“------reading process have get a blocking......+current_read_size:%d\n“count*80+size);
sBuf->over = 1; //当最后读取内容小于80的时候结束
} else {
count ++;
printf(“------reading process have get a blocking......+current_read_size:%d\n“count*80);
readNum = (readNum + 1) % 10;
}
//执行V操作
V(semid 1);
sleep(0.1);
}
fclose(fp);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-12-12 12:08 文件誊抄实验\
文件 7908 2018-12-12 12:06 文件誊抄实验\copy-test1
文件 7756 2018-12-12 11:59 文件誊抄实验\get
文件 1082 2018-12-12 11:58 文件誊抄实验\get.c
文件 1071 2018-12-12 11:57 文件誊抄实验\head.h
文件 7720 2018-12-12 12:00 文件誊抄实验\main
文件 1028 2018-12-12 12:00 文件誊抄实验\main.c
文件 7720 2018-12-12 11:59 文件誊抄实验\put
文件 1333 2018-12-12 11:58 文件誊抄实验\put.c
文件 1063 2018-12-12 12:07 文件誊抄实验\source-copy.txt
文件 1063 2018-12-10 13:38 文件誊抄实验\source.txt
文件 7908 2018-12-10 15:34 文件誊抄实验\test1
- 上一篇:MUI 使用原生底部栏中间凸起图片
- 下一篇:计算机组成原理课程设计—直接插入排序
相关资源
- 操作系统实验全部题目+完整代码:
- Windows操作系统安全加固策略
- 操作系统-SSTF磁盘调度算法模拟
- 操作系统实用教程 第二版 清华大学
- 计算机操作系统实验_动态分区分配方
- 进程状态模拟转换.docx
- 王道操作系统2019百度网盘.txt
- 东北大学软件学院操作系统期末原题
- 操作系统实验报告-动态存储管理
- 操作系统课设.docx
- 操作系统模拟.rar
- 操作系统概念OSC答案.rar
- Winio3.0完整版_支持64位操作系统
- 计算机操作系统2009-2015考研真题
- EOS操作系统文件系统功能完善
- 《操作系统》-简答题.DOC
- 北邮操作系统第二次实验报告
- Linux上实现基于Socket_的多进程实时通
- 操作系统实验报告-先来先服务的调度
- Linux设备驱动
- Linux内存分配与回收
- 请求调页存储管理系统的模拟实现
- 操作系统考研复习重点大全65页
- 操作系统银行家算法两个
- 广工操作系统课程设计文档+代码+可执
- 处理机调度算法实现文档+代码
- 实验2 Linux内核编译及系统调用添加
- 页面置换算法,操作系统实验
- 操作系统英语论文
- 支持VMWare Esxi6.7虚拟机操作系统,VM
评论
共有 条评论