文件处理

嵌入式Linux文件处理

Linux把设备和目录都可以看做文件,文件可分为4种类型:普通文件、目录文件、链接文件、设备文件

一、文件描述符:

  1. Linux用文件描述符来访问文件,它是一个非负整数,一个索引值,并指向内核中每个进程打开文件的记录表。
  2. 每打开一个现存文件或者新建一个文件时,内核会向文件返回一个进程描述符。
  3. 读写文件时,也需要使用文件描述符来指定待读写的文件。
  4. 一个进程启动时,要打开三个文件:标准输入、标准输出和标准错误处理。文件描述符分别为0、1和2

二、系统调用

  系统调用是指操作系统提供给用户程序的一组“特殊”接口,用户程序可以通过这组“特殊”接口来获得操作系统内核提供的特殊服务。

  在linux中用户不能直接访问内核提供的服务。

  为了更好的保护内核空间,将程序的运行空间分为内核空间用户空间,他们运行在不同的级别上,在逻辑上时相互隔离的。

  为什么需要系统调用?

  1. 系统调用可以为用户空间提供访问硬件资源的统一接口。
  2. 系统调用可以对系统进行保护,保证系统的稳定和安全。

三、文件处理

  1. 系统调用(system call):基于Linux的系统调用,由操作系统的系统调用完成对文件的操作。
  2. 库函数调用(Library functions):基于C语言的库函数,标准C库函数提供的文件操作系统如fopen,fread,fwrite,fclose,fflush,fseek等。独立于操作系统。

  Linux通过系统调用进行文件处理,主要指进行打开文件、读文件、写文件及关闭文件等I/O操作。有以下几个函数:open()、close()、read()、write()、sleek():

原文地址:https://www.cnblogs.com/codercql/p/13174713.html