1.Linux文件操作“一切皆文件”是Linux系统的基本思想。Linux 提供的虚拟文件系统为多种文件系统和外设驱动提供了统一的接口
转载
2022-06-14 10:06:54
423阅读
1. 为什么需要向量IO 性能: 比较于线性IO,向量IO除了可以减少系统调用次数,还可以经内部优化提供性能改善 原子性: 进程可以单次向量IO,不会有与另一个进程操作交叉在一起的风险。 2. 使用说明 ssize_t readv(int fd, const struct iovec *iov, i ...
转载
2021-08-23 09:36:00
253阅读
2评论
目录介绍文件描述符的概念open\closeread\write\lseek标准IO与系统调用IO的区别其他内容dup\dup2文件同步fcntl\iocntl 介绍 文件描述符的概念 备用图 文件是一块磁盘空间,有一个编号 inode ,每次 open 一个文件时,会创建一个结构体,链接 inod ...
1.打开文件的函数open,第一个参数表示文件路径名,第二个为打开标记,第三个为文件权限 代码: 效果测试:打印打开文件返回的描述符为3,同时创建了文件testopen1 2.创建文件函数creat和关闭函数close 使用代码 测试结果: 3.写文件函数write,第一个参数表示要写入的文件的描述
原创
2021-09-04 16:41:51
279阅读
文件描述符在 Linux 的世界里,一切设备皆文件。我们可以系统调用中 I/O 的函数(I:input,输入;O:output,输出),对文件进行相应的操作( open()、close()、write() 、read() 等)。打开现存文件或新建文件时,系统(内核)会返回一个文件描述符,文件描述符用来指定已打开的文件。这个文件描述符相当
原创
2022-03-10 17:30:19
782阅读
文件描述符在 Linux 的世界里,一切设备皆文件。我们可以系统调用中 I/O 的函数(I:input,输入;O:output,输出),对文件进行相应的操作( open()、close()、write() 、read() 等)。打开现存文件或新建文件时,系统(内核)会返回一个文件描述符,文件描述符用来指定已打开的文件。这个文件描述符相当于这个已打开文件的标号,文件描述符
原创
2021-09-05 11:51:09
569阅读
1. 为什么需要IO调度 由于cpu和磁盘的操作周期差 500万倍以上,所以若按照发出IO请求的顺序将IO请求传送给磁盘,效率将非常低, 所以内核会实现IO调度,调整IO请求顺序及时间,以减少磁盘查询次数和大小。 以尽可能降低磁盘访问对系统性能所造成的影响。 2. 磁盘寻址 磁盘虽然使用多级寻址,但 ...
转载
2021-08-24 00:49:00
213阅读
2评论
文章目录1 同步IO与异步IO2 POSIX异步IO(aiocb)3 异步操作状态3.1 aio_error3.2 aio_return4 等待异步I
原创
2022-04-11 10:04:18
378阅读
1. 什么是文件映射 将文件加载到页缓存,并将页缓存映射到用户虚拟空间,让应用程序直接访问页缓存。 2. api void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); int munmap( ...
转载
2021-08-23 23:29:00
566阅读
2评论
目录介绍1. 非阻塞IO数据中继:有限状态机实现数据中继引擎:封装成库2. IO多路转接selectpollepoll3. 其他读写函数4. 存储映射IO:mmap5. 文件锁6. 管道实例:手写管道 介绍 1. 非阻塞IO 数据中继: 有限状态机编程: 简单流程:自然流程是结构化的 复杂流程:自然 ...
文章目录一、汇编程序的Hello world1.基础知识2.I/O操作是怎样通过系统调用传给内核?二、C标准I/O库函数与Unbuffered I/O函数1.C标准I/O库函数实现系统调用的过程2.C库函数与系统调用的层次关系3.C标准I/O库函数与直接调用底层的unbuffered I/O函数的区别?4.Unix标准(1)POSIX标准的前世今生(2)进程描述符,进程控制块PCB,文
原创
2023-03-12 14:37:18
226阅读
Linux IO系统是红帽操作系统中的一个重要组成部分,负责管理输入输出设备和数据的传输。IO系统在操作系统中扮演着极其重要的角色,它为用户和应用程序提供了与外部设备进行通信的能力,如硬盘、键盘、显示屏等。本文将介绍Linux IO系统的基本原理和优势。
首先,Linux IO系统采用了异步IO模型。在传统的同步IO模型中,当一个IO请求被发送给内核后,应用程序必须一直等待IO操作完成,然后才能
原创
2024-02-02 10:08:10
84阅读
00. 目录文章目录00. 目录01. 缓冲区概述02. 全缓冲03. 行缓冲04. 不带缓冲区05. 附录01. 缓冲区概述标准I/O提供了三种类型的缓冲:1、全缓冲:在填满标准I/O缓冲区后才进行实际I/O操作。常规文件(如普通文本文件)通常是全缓冲的。2、行缓冲:当在输入和输出中遇到换行符时,标准I/O库执行I/O操作。这允许我们一次输出一个字符,但只有在写了一行之后才进行实际...
原创
2021-09-02 17:04:53
246阅读
00. 目录文章目录00. 目录01. 缓冲区概述02. 全缓冲03. 行缓冲04. 不带缓冲区05. 附录01. 缓冲区概述标准I/O提供了三种类型的缓冲:1、全缓冲:在填满标准I/O缓冲区后才进行实际I/O操作。常规文件(如普通文本文件)通常是全缓冲的。2、行缓冲:当在输入和输出中遇到换行符时,标准I/O库执行I/O操作。这允许我们一次输出一个字符,但只有在写了一行之后才进行实际...
原创
2022-03-16 11:40:03
267阅读
上一节中已经学习了文件描述符的复制,复制方法有三种,其中最后一种fcntl还并未使用到,关于这个函数,不光只有复制文件描述符的功能,还有其它一些用法,本节就对其进行一一剖析:fcntl常用操作:这里,我们将上节当中用dup或dup2实现复制文件描述符改用fcntl,程序如下:先将test2.txt的内容清空,以便进行测试,编译运行:通过man来查看下它的说明:【说明:关于这一的操作命令,等之后学
原创
2014-01-01 08:29:00
237阅读