![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
学习不易
直到有一天,可以和你并肩站立
展开
-
操作系统实验(15-16)匿名管道与命名管道通信
1、匿名管道、父子间进程通信#include<unistd.h>#include<errno.h>#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ int pipe_fd[2]; if (pipe(pipe_fd) < 0) { printf("pipe create error \n"); return - 1; } printf原创 2020-12-10 20:33:59 · 955 阅读 · 0 评论 -
操作系统实验(13)多线程执行中的互斥与同步、多消费者多生产者问题(更新)
4、多线程编程实现一群生产者和一群消费者的生产和消费过程,使他们之间符合如下逻辑:没有产品不能消费,没有空不能放入#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<sys/types.h>#include<errno.h>#include<fcntl.h>#include<signal.h>#include<linux/sem.h原创 2020-12-03 00:00:29 · 814 阅读 · 0 评论 -
操作系统实验(13)橘子苹果问题
3、苹果-橘子问题,一个盘子可以放3个水果,爸爸放,儿子和女儿吃,假设儿子和女儿有永远吃不饱。#include<unistd.h>#include<stdio.h>#include<stdlib.h>#include<sys/types.h>#include<linux/sem.h>int P(int sem_id){ struct sembuf sem_b; sem_b.sem_num = 0; sem_b.sem_op =原创 2020-12-02 22:38:14 · 5798 阅读 · 0 评论 -
操作系统实验(13)进程之间互斥访问临界资源、哲学家进餐
实现两个进程之间互斥访问临界资源#include<unistd.h>#include<stdio.h>#include<stdlib.h>#include<sys/types.h>#include<linux/sem.h>int mutexid;int main(){ int child, i, j; struct sembuf p, v; // 定义信号量,初值为1 mutexid = semget(IPC_PRIVATE原创 2020-12-02 16:37:36 · 1700 阅读 · 0 评论