
操作系统
文章平均质量分 50
Godfiry
这个作者很懒,什么都没留下…
展开
-
linux下进程间通信之有名管道
有名管道解决了无名管道只能在亲缘进程间通信的弊端 相较于无名管道只能用于亲缘关系进程之间的通信,有名管道可以再任意两个进程间实现通信,该管道可以通过路径名使用,并且在文件系统中是可见的(无名管道不可见)。 两个进程可以把FIFO当做普通文件一样进行读写操作。 也是先进先出,从开始处返回数据,再末尾进行添加数据。 不能使用lseek进行文件重定位。 使用步骤 mkfifo创建管道 open函数打开文件 read/write进行读写通信。 int mkfifo(const char *filenam原创 2021-05-29 20:56:18 · 247 阅读 · 0 评论 -
linux下进程间通信之无名管道
通信方式 主要有以下几种 1.管道:具体分为有名管道和无名管道 2.信号 3.消息队列 4.共享内存 5.信号量 6.套接字 无名管道 管道是单向的,先进先出,无结构,固定大小的字节流。一个进程写,一个进程读,读进程读出数据后,其他进程都无法再读。读进程如果读空管道,将会一直阻塞,在有数据写管道之前。同样,管道已经写满,再试图写,也会阻塞。 特点 只能用于具有亲缘关系的进程间,因为无名管道没有文件名,在使用read write等函数进行读写时只能通过无名管道的两个文件描述符fd[0]和fd[1]。原创 2021-05-29 19:50:40 · 349 阅读 · 0 评论 -
《现代操作系统(中文第四版)》笔记 第一章 引论
第一章 引论 1.什么是操作系统 1.1作为扩展的机器的操作系统(硬盘为例来解释) 在机器语言一级上,计算机体系结构(指令集,存储系统,io和总线结构)很原始,编程起来很困难。之前使用驱动程序软件来和硬件进行交互,但是对于大多数应用来说还是太底层,于是提供了使用硬盘的有一层细节:文件,使用该抽象,程序能创建,读写文件。 好的将一个几乎不可能管理的任务划分为两个可管理的部分,一是抽象的定义和实现,二是用这些抽象解决问题。操作系统的任务是创建好的抽象并实现和管理它所创建的抽象对象。 1.2作为系统资源的管理者原创 2020-11-14 22:25:04 · 723 阅读 · 0 评论