一、系统调用
操作系统的最小功能单元
系统调用是指操作系统提供给用户程序调用的一组**“特殊”接口**,用户程序可以通过这组“特殊”接 口来获得操作系统内核提供的服务。
- 内核态
- 用户态
用户态访问内核态的资源采取下列三种方式:
shell、系统调用、公用函数库
程序员调用的是用户编程接口(API)。
二、Linux中文件及文件描述符
所有对设备和文件的操作都是使用文件描述符来进行的。
文件描述符是一个非负的整数,它是一个索引值,并指向在内核中每个进程打开文件的记录表。当打开一个现存文件或创建一个新文件时,内核就向进程返回一个文件描述符;当需要读写文件时,也需要把文件描述符作为参数传递给相应的函数。
一个进程启动时,都会打开3个文件:标准输入、标准输出和标准出错处理. 这 3 个文件分别对应 文件描述符为 0、1 和 2(也就是宏替换STDIN_FILENO、STDOUT_FILENO 和 STDERR_FILENO)
三、文件I/O操作
基本操作函数:
- open()
- read()
- write()
- lseek()
- close()