Linux系统IO编程
文章平均质量分 94
清风吹过心悠哉
作为平凡的人,通过自己的努力可以做出不平凡的事情。
展开
-
二、Linux系统IO编程—系统调用标准IO
一、标准IO概念标准IO在系统调用的上一层多加了一个缓冲区,也因此引入了流的概念,在UNIX/Linux下表示为FILE*(并不限于UNIX/Linux,ANSI C都有FILE的概念),FILE实际上包含了为管理流所需要的所有信息:实际I/O的文件描述符,指向流缓存的指针(标准I/O缓存,由malloc分配,又称为用户态进程空间的缓存,区别于内核所设的缓存),缓存长度,当前在缓存中的字节数,出...原创 2019-06-25 08:27:48 · 441 阅读 · 0 评论 -
一、Linux系统IO编程——系统调用之文件IO与标准IO
一、系统调用1. 系统调用的概念Linux内核中设置了一组用于实现各种系统功能的子程序,称为系统调用。用户可以通过系统调用命令在自己的应用程序中调用它们。从某种角度来看,系统调用和普通的函数调用非常相似。区别仅仅在于,系统调用由操作系统核心提供,运行于核心态;而普通的函数调用由函数库或用户自己提供,运行于用户态。随Linux核心还提供了一些C语言函数库,这些库对系统调用进行了一些包装和扩展,...原创 2019-06-21 15:12:28 · 1703 阅读 · 4 评论 -
三、Linux系统IO编程—系统调用文件IO
一、文件IO的概念文件I/O称之为不带缓存的IO(unbuffered I/O)。不带缓存指的是每个read,write都调用内核中的一个系统调用。也就是一般所说的低级I/O——操作系统提供的基本IO服务,与os绑定,特定于linix或unix平台。文件I/O 又称为低级磁盘I/O,遵循POSIX相关标准。任何兼容POSIX标准的操作系统上都支持文件I/O。标准I/O被称为高级磁盘I/O,遵循...原创 2019-07-04 11:06:21 · 451 阅读 · 0 评论 -
五、Linux系统IO编程—dup与dup2函数
一、cat输入输出的重定向1. cat命令cat 命令用于连接文件并打印到标准输出设备上。语法格式cat [-AbeEnstTuv] [–help] [–version] fileName参数说明:-n 或 --number:由 1 开始对所有输出的行数编号。-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。-s 或 --sq...原创 2019-07-18 19:16:28 · 282 阅读 · 0 评论 -
六、Linux系统IO编程—fcntl 函数 和 ioctl 函数详解
一、fcntl()函数1. 函数的原型#include <unistd.h>#include <fcntl.h>int fcntl(int fd, int cmd);int fcntl(int fd, int cmd, long arg);int fcntl(int fd, int cmd, struct flock * lock);函数说明:fcntl...原创 2019-07-24 09:19:43 · 1216 阅读 · 0 评论 -
四、Linux系统IO编程—文件IO的内核数据结构与文件原子操作
一、缓存buff说明一般设置缓存 buff 的大小是有一定的规律的,就是根据磁盘块的大小来定。Linux下输入命令: df -k 查看磁盘 可以用命令查看下 /dev/sda1 磁盘的磁盘说明sudo tune2fs -l /dev/sda1Block size 就是磁盘块的大小,这个磁盘块的大小为 4M ,那么就可以设置缓存 buff 大小为 4096,一次就可以将数据写入。...原创 2019-07-17 16:33:39 · 223 阅读 · 0 评论