操作系统
sdu_wzj
这个作者很懒,什么都没留下…
展开
-
操作系统实验六——死锁问题实验
实验内容:在两个城市南北⽅向之间存在⼀条铁路,多列⽕⻋可以分别从两个城市的⻋站 排队等待进⼊⻋道向对⽅城市⾏驶,该铁路在同⼀时间,只能允许在同⼀⽅向上⾏⻋,如果同时有相向的⽕⻋⾏驶将会撞⻋。请模拟实现两个⽅向⾏⻋,⽽不会出现撞⻋或⻓时间等待的情况。您能构造⼀个管程来解决这个问题吗?dp.h#include <iostream>#include <stdio.h>#include <stdlib.h>#include <unistd.h>#in原创 2020-12-07 16:37:13 · 1425 阅读 · 0 评论 -
操作系统实验五——进程互斥实验
实验内容:理发店问题:假设理发店的理发室中有 3 个理发椅⼦和 3 个理发师,有⼀个可容纳4 个顾客坐等理发的沙发。此外还有⼀间等候室,可容纳13 位顾客等候进⼊理发室。顾客如果发现理发店中顾客已满(超过20 ⼈),就不进⼊理发店。在理发店内,理发师⼀旦有空就为坐在沙发上等待时间最⻓的顾客理发,同时空出的沙发让在等候室中等待时间最⻓的的顾客就坐。顾客理完发后,可向任何⼀位理发师付款。但理发店只有⼀本现⾦登记册,在任⼀时刻只能记录⼀个顾客的付款。理发师在没有顾客的时候就坐在理发椅⼦上睡眠。理发师的原创 2020-12-07 16:25:09 · 3251 阅读 · 0 评论 -
操作系统实验四——进程同步实验
实验内容:抽烟者问题。假设⼀个系统中有三个抽烟者进程,每个抽烟者不断地卷烟并抽 烟。抽烟者卷起并抽掉⼀颗烟需要有三种材料:烟草、纸和胶⽔。⼀个抽烟者有烟草,⼀个有纸,另⼀个有胶⽔。系统中还有两个供应者进程,它们⽆限地供应所有三种材料,但每次仅轮流提供三种材料中的两种。得到缺失的两种材料的抽烟者在卷起并抽掉⼀颗烟后会发信号通知供应者,让它继续提供另外的两种材料。这⼀过程重复进⾏。 请⽤IPC 同步机制编程,实现该问题要求的功能。ipc.h#include <stdio.h> #in原创 2020-12-07 16:15:19 · 1467 阅读 · 0 评论 -
操作系统实验三——Shell实验(MSH)
实验内容:你的任务是实现⼀个在 Linux 系统下运⾏的简单 Shell,它能够实现如下功能:运⾏带参数的命令重定向输⼊输出(仅实现 < 与 > 即可)建⽴多级连接的双向管道,实现 | 左侧的标准输出传递给右侧作为其标准输⼊能够响应 Linux 中的信号,即当执⾏命令的进程收到 SIGINT 时会被杀死,⽽ Shell 本身不会被杀死其余的 Shell 特性不需要实现。以下是示例(这⾥的 # 是命令提示符,类似于 bash 中的 $ )。# echo hello thereh原创 2020-12-07 15:34:50 · 3028 阅读 · 0 评论 -
操作系统实验二——线程和管道通信实验
实验内容:设有⼆元函数 f(x, y) = f(x) + f(y)其中:f(x) = f(x-1) * x (x >1)f(x) = 1 (x=1)f(y) = f(y-1) + f(y-2) (y > 2)f(y) = 1 (y=1, 2)请编程建⽴ 3 个并发协作进程或线程,它们分别完成 f(x, y)、f(x)、f(y)线程间协作#include <stdio.h> #include <unistd.h> #include <stdlib原创 2020-12-07 14:57:53 · 1400 阅读 · 0 评论 -
操作系统实验1——进程控制实验
实验内容:编写⼀个多进程并发执⾏程序。⽗进程建⽴两个⼦进程,⾸先创建的让其执⾏ ls 命令,之后创建执⾏让其执⾏ ps 命令,并控制 ps 命令总在 ls 命令之前执⾏。要求⽗进程等待两个⼦进程结束。#include <sys/types.h>#include <wait.h>#include <unistd.h>#include <signal.h>#include <stdio.h>#include <stdlib.h>原创 2020-12-07 14:14:17 · 768 阅读 · 0 评论