操作系统实验报告模板(4)
发布时间:2021-06-05
发布时间:2021-06-05
这是操作系统课程中的四次实验最终报告,内包括进程通信实验,进程同步互斥实验,文件系统模拟实验和Linux shell操作。里面的程序都是我运行过的。
#include<signal.h> #include<unistd.h> #include<sys/types.h> #include<sys/ipc.h> #include<sys/sem.h>
#include<fcntl.h> //这些是完成以下操作所需要的头文件 int runid=0,stopid=0;
int P(int semid) //P操作实现函数 {
struct sembuf buf={0,-1,0}; //Linux
系统自带的结构体,返回值表示操作申请成功与否 if(semop(semid,&buf,1)==-1) { perror("P operation failed!\n"); return -1;
} return 0;
}
int V(int semid) { struct sembuf buf={0,1,0}; if(semop(semid,&buf,1)==-1) { perror("V operation failed!\n"); return -1;
}
return 0;
} int main() { if(fork()==0) { while(1) { P(runid); printf("\n"); printf("汽车启动\n");
printf("汽车到站\n");
V(stopid); }
}
else { while(1) { printf("乘务员开车门\n"); printf("乘务员关车门\n"); V(runid); printf("售票\n"); P(stopid);
printf("乘务员关车门\n"); }
} return 0;
}
下一篇:2014一年级数学上册减法