![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 85
实名吃香菜
想学数学
展开
-
操作系统综合题
(3) 由于文件的索引结点已在内存,为了访问文件中的某个位置的内容,最少需要1次访问磁盘(即通过直接地址直接读文件盘块),最多需要4次访问磁盘(第一次是读三次间址块,第二次读二次间址块,第三次读一次间址块,第四次是读文件盘块)(2分)答:问题1)由已经分配的资源数可知,当前可用资源的数量为(0,2,1),即初始Work=(0,2,1),按照银行家算法可以得出如下的分配过程:(后两列每空0.5分)2)现在进程P2再发出请求(A=0, B=2, C=0),请问是否可以满足该分配请求。原创 2023-06-28 20:44:28 · 526 阅读 · 0 评论 -
操作系统实验-基于管道的进程间数据传输
参数pid:一个进程ID:pid>0时,只等待进程ID等于pid的子进程,不管其它已经有多少子进程运行结束退出了,只要指定的子进程还没有结束,waitpid就会一直等下去。(1)父进程首先使用系统调用pipe()建立一个管道,然后使用系统调用fork() 创建子进程1:子进程1关闭管道读文件;在子进程中返回其返回值为0(不合法的PID,因为PID=0的进程是交换进程);(3)父进程关闭管道写文件,父进程通过文件I/O操作从管道读文件中读出来自于两个子进程的信息,通过printf语句打印输出在屏幕上.原创 2023-06-21 22:04:00 · 483 阅读 · 0 评论 -
操作系统实验-生产者/消费者问题的实现
为使生产者任务与消费者进程能并发执行,在两者之间设置了一个具有n个缓冲区的缓冲池:生产者任务从文件中读取一个数据,并将它存放到一个缓冲区中;生产者和消费者之间必须保持同步原则:不允许消费者任务到一个空缓冲区去取产品,也不允许生产者任务向一个已装满产品且尚未被取走的缓冲区中投放产品。(1)n个缓冲区的缓冲池作为一个临界资源:当生产者任务从数据源—文件中读取数据后将会申请一个缓冲区,并将此数据放入缓冲区中。(2)创建3个进程(或者线程)作为生产者任务,4个进程(或者线程)作为消费者任务。原创 2023-06-21 22:03:54 · 2039 阅读 · 2 评论 -
操作系统实验-系统命令的实现
利用POSIX API(文件操作也可以使用ANSI C标准I/O库)编程实现cp –r命令,支持将源路径(目录)中的所有文件和子目录,以及子目录中的所有内容,全部拷贝到目标路径(目录)中。读取目录流标识的目录文件;(3)掌握POSIX与ANSI C文件I/O操作方法,包括打开文件、关闭文件、创建文件、读写文件、定位文件。cp /usr/local/src/main.c /root/main.c(文件到文件复制)cp –r /usr/local/src /root(递归复制,用于目录到目录的复制)原创 2023-06-21 22:15:05 · 683 阅读 · 0 评论 -
操作系统实验-哲学家就餐问题
(1)问题描述:五个哲学家共用一张圆桌,分别坐在周围的五张椅子上,在圆桌上有五个碗和五只筷子,他们的生活方式是交替地进行思考和进餐。平时,一个哲学家进行思考,饥饿时便试图取其左右最靠近它的筷子,只有他拿到两只筷子时才能进餐。(3)预防死锁的实现方法:破坏“循环等待条件”,对哲学家编号,奇偶号哲学家拿起筷子的顺序不同。规定:奇数编号哲学家先拿左边筷子再拿右边筷子,偶数编号哲学家先拿右边筷子再拿左边筷子。2)POSIX信号量(P操作,V操作),无名信号量适用于线程,命名信号量适用于进程/线程。原创 2023-06-21 16:42:12 · 1936 阅读 · 0 评论