系统IO:Linux系统提供给应用程序操作文件的接口

Everything is a file  ,in  Unix

在Unix/Linux下,万物皆文件

打开文件函数原型:

#include<sys/types.h>

#include<sys/stat.h>

#include<fcntl.h>

int open(const char *path, int flag);

int open(const char *path, int flag, mode_t mode);

读函数原型:

#include<unistd.h>

size_t read(int fd, void* buf, size_t count);

写函数原型:

size_t write(int fd, void *buf, size_t count);

定位文件函数:

off_t lseek(int fd, off_t offset, int whence);

关闭函数:

int close(int fd);

文件映射函数:

#include<sys/mman.h>

void* mmap(void* addr, size_t length, int prot, int flag, int fd, off_t offset );

关闭文件映射函数:

int munmap(void* add, size_t length);

系统IO的更多相关文章

  1. Java nio 笔记:系统IO、缓冲区、流IO、socket通道

    一.Java IO 和 系统 IO 不匹配 在大多数情况下,Java 应用程序并非真的受着 I/O 的束缚.操作系统并非不能快速传送数据,让 Java 有事可做:相反,是 JVM 自身在 I/O 方面 ...

  2. Linux系统IO分析工具之iotstat常用参数介绍

    Linux系统IO分析工具之iotstat常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1>.安装iostat [root@flume115 ~]# yum - ...

  3. Linux系统IO分析工具之iotop常用参数介绍

      Linux系统IO分析工具之iotop常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在一般运维工作中经常会遇到这么一个场景,服务器的IO负载很高(iostat中的 ...

  4. yuchuan_Linux_C 编程之七系统IO函数

    一.整体大纲 二. 系统IO函数 1. 一些概念    文件描述符     PCB     C库函的IO缓冲区 1) 文件描述符            int 类型            一个进程最多 ...

  5. 研究系统IO和glib IO的关系

    PS:这里的缓冲与非缓冲的区别是相对于用户进程,下文的“非缓冲文件系统”指用户的程序没有缓冲区,不要误解为系统没有缓冲区. 1.缓冲文件系统缓 冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的 ...

  6. Linux vmstat具体解释(系统IO)

    1. vmstat 能够展现给定时间间隔的server的状态值,包含server的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况 vmstat 2 10 2: 每隔2s 10 : 统计10次 ...

  7. 第一篇:APUE-操作系统IO模型

    操作系统IO模型   操作系统IO模型 声明:如下内容是根据APUE和mycat两本著作中关于I/O模式的一些内容加上自己的一些理解整理而成,仅供学习使用. 本节内容 UNIX下可用的五种I/O模型 ...

  8. linux系统IO操作

    本文重点说明下面内容: 什么是标准IO,什么是文件IO? 什么是Direct IO? O_SYNC标识有什么意义? 各个层面的缓存如何同步? 还在page cache中的脏页可以读写吗? IO路径上的 ...

  9. Linux命令行:监视系统IO、内存、CPU、GPU

    [监视IO] Linux18.04自带工具sysstat,其中的iostat可以用于观察IO情况.Linux16.04系统没有默认安装,需要手动安装,安装sysstat时需要下载新的内核(我的原本是1 ...

随机推荐

  1. Jenkins结合.net平台之ftp客户端

    上一节我们讲解了如何配置ftp服务端,本节我们讲解如何使用winscp搭建ftp客户端,为什么使用winscp而不是filezilla客户端版,前面我们简单说过,这里不再赘述. 下载winscp以后我 ...

  2. 提升学习算法简述:AdaBoost, GBDT和XGBoost

    1. 历史及演进 提升学习算法,又常常被称为Boosting,其主要思想是集成多个弱分类器,然后线性组合成为强分类器.为什么弱分类算法可以通过线性组合形成强分类算法?其实这是有一定的理论基础的.198 ...

  3. vue px转换为rem

    前端开发中还原设计图的重要性毋庸置疑,目前来说应用最多的应该也还是使用rem.然而很多人依然还是处于刀耕火种的时代,要么自己去计算rem值,要么依靠编辑器安装插件转换. 而本文的目标就是通过一系列的配 ...

  4. 2019年度SAP项目实践计划

    2019年度SAP项目实践计划 一晃2018年过去了,而新的一年说来就来了. 对于新的一年,笔者也难免有所畅想.早在上个月下旬就开始制定新年的诸多计划,比如写作计划,比如人工智能学习计划,比如新年度旅 ...

  5. 散列表(has table、哈希表)

    一. 散列表是什么 是包含映射关系的一种数据结构,可以提高查找效率. 二. 散列函数 1)必须是一致的.假设输入一个单词“banana”,映射的数字是1,那么以后每次输入banana都要映射到数字1, ...

  6. Apex 中操作用户和组

    用户和组概述 Salesforce中对于用户的定义主要体现于两个对象:用户(User)和组(Group).组的成员可以是用户也可以是另一个组. Salesforce中的组可以有多种表示方法,比如队列( ...

  7. AOP中使用Aspectj对接口访问权限进行访问控制

    切面编程的应用案例比较多,在统一的日志处理,鉴权过程中都会用的AOP原理,本文主要针对对进口的访问权限进行控制为例,说明 切面编程的使用: 1.使用Aspectj的方式进行切面编程: 2.编码环境,s ...

  8. power-virus

    http://0cx.cc/category/yunwei/ 介绍安全姿势 https://www.freebuf.com/articles/system/193557.html

  9. C#生成JOSN字符串

    C#如何生成JSON字符串?(序列化对象)   第一章:C#如何拿到从http上返回JSON数据? 第二章:C#如何解析JSON数据?(反序列化对象) 第三章:C#如何生成JSON字符串?(序列化对象 ...

  10. 修改文件属性(attrib)

    atrrib 命令: // 描述: (Attribute) 显示,设置或删除分配给文件或目录的属性. 如果在没有参数的情况下使用,attrib将显示当前目录中所有文件的属性. // 语法: attri ...