IO(linux输入输出)
1. IO概念: I:输入 O:输出
Linux 一切皆是文件
屏幕 -> /dev/tty
磁盘 -> /dev/sda
网卡
键盘 -> /dev/event
鼠标-> /dev/mice
都是一个文件
2. IO操作的对象: 文件
3. 文件类型:
b block 块设备文件 按块扫描设备信息 文件IO
c character 字符设备文件 按字符扫描设备信息 文件IO
d directory 目录文件 存放文件信息 目录IO、文件IO
- 普通文件 存放用户信息 标准IO、文件IO
l link 链接文件 与某个指定文件链接 链接IO、文件IO
s socket socket文件 进程间通信 文件IO
p pipe 管道文件 进程间通信 文件IO
4. 不同类型文件的操作方式: 标准IO 文件IO 目录IO 链接IO
区别:
1. 标准IO是一种有缓存的IO 效率高 实时性差
2. 文件IO是一种没有缓存的IO 效率低 实时性好
3. 文件操作可以使用标准IO
4. 设备操作、即时通信使用文件IO
5. 目录相关操作使用目录IO
6. 链接文件操作使用链接IO
7. 文件IO是系统调用
5. 系统调用和库函数
1. Linux操作组成
2. 库函数:
1. 库函数是对系统调用的封装,用户调用库函数并不能完成对应的功能,而是要由库函数 调用系统调用实现对应功能
2. 方便移植
3. 系统调用:
1. Linux内核中的函数接口,称为系统调用
2. 库函数每次调用内核中的代码称为一次系统调用
3. 用户可以通过Linux系统提供的系统调用直接调用内核中的接口