
操作系统
拉里拉
这个作者很懒,什么都没留下…
展开
-
子进程与父进程之间利用管道(pipe)进行通信
问题两个子进程分别将内容输入到管道中,父进程从中读出内容然后输出代码#include <unistd.h>#include <string.h>#include <stdlib.h>#include <stdio.h>#include <sys/wait.h>#include <strings.h>int main(void){ pid_t p1,p2; char buf[1024]; int fd[2],a1原创 2020-06-12 17:03:25 · 4671 阅读 · 1 评论 -
进程通信之生产者消费者问题
题目有四个生产者(producer)和三个消费者(customer),生产者从文件中读取内容,然后存放到缓存区中,消费者从缓存区中获取内容代码#include <stdio.h>#include <pthread.h>#include <stdlib.h>//作为缓冲区char buffer[10];void producer(int name);void customer(int name);//线程锁//full:customer使用,使同时只原创 2020-06-11 23:44:39 · 557 阅读 · 0 评论 -
Linux系统中用C语言实现哲学家问题:涉及多线程、线程
问题叙述:五个哲学家坐在一个圆桌上,座子上有五根筷子。每两个哲学家之间有一根筷子。哲学家思考一段时间后就餐,每次准备就餐时,如果左右两边筷子都在则就餐,否则继续思考一段时间。代码实现#include <stdio.h>#include <pthread.h>#include <stdlib.h>//思考函数void think(int num);//开始就餐函数int start(int num);//结束就餐函数void end(int num)原创 2020-06-05 17:08:25 · 863 阅读 · 0 评论 -
操作系统 学习笔记(六)设备管理
6.1I/O系统的功能、模型和接口CPU通过控制硬件相应的控制器来控制设备。I/O系统管理的主要对象:I/O设备和相应的设备管理器主要任务是:完成用户提出的I/O请求,提高I/O速率,以及提高设备的利用率,并能为更高层的进程方便的使用这些设备提供手段基本功能:隐藏物理设备的细节,只提供相应功能的接口与设备的无关性,只需要知道设备的逻辑名称提高处理机和I/O设备的利用率对I/O设备进行控制(方式轮询:不断询问中段:停止进程,I/O好后给CUP反馈,CPU再运行该进程DMA:直原创 2020-05-11 16:05:37 · 243 阅读 · 0 评论 -
操作系统 学习笔记(四) 存储器管理
4.1存储器的层次结构采用多层结构存储器的原因:存储器要求有速度快、容量大、便宜三个特点,由于至今无法同时满足,所以采用多级结构。4.1.1多层结构的存储器系统1.存储器的多层结构存储层次CPU寄存器寄存器主存/主存储器/可执行存储器高速缓存主存储器磁盘缓存赋存固定磁盘可移动存储介质越往上,速度越快,价格越高,容量越小2.可执行存储器可执行存储器CPU寄存器主存可执行存储器因为...原创 2020-05-07 11:45:00 · 412 阅读 · 0 评论