首页 > 编程语言 >系统编程之文件IO(二)——文件系统及文件描述符

系统编程之文件IO(二)——文件系统及文件描述符

时间:2022-12-12 16:09:04浏览次数:36  
标签:文件 num 描述符 API IO fopen


文章目录

  • ​​一、文件编程​​
  • ​​二、文件IO​​
  • ​​2.1 文件IO重要性​​
  • ​​2.2 根目录​​
  • ​​2.3 文件描述符​​

一、文件编程

文件io:一切皆文件!(VFS)虚拟文件系统
节省成本,把所有数据抽象成文件、有效管理:文件系统
-普通文件:C库函数、API(系统调用)、d目录文件、c/b设备文件(fread、fwrite)、l链接文件(p管道文件、s套接字、f堆栈文件)

#include <stdio.h>
int main()
{
FILE *fp = fopen("/dev/input/mouse0");

int num;
fread(&num, 1, sizeof(num),fp);

printf("num = %d\n",num);
return 0;
}

用户空间:fopen
C库:实现fopen

(
API;
)

内核空间,访问文件

二、文件IO

初级IO:系统调用API
标准IO:库函数
高级IO:高级API

2.1 文件IO重要性

网络、进程、通信都需要文件IO

2.2 根目录

  • bin、sbin
  • dev
  • etc
  • lib
  • usr/lib、usr/include、usr/sbin、usr/bin
  • home
  • root
  • boot
  • proc
  • sys

2.3 文件描述符

相当于,每生成一个文件,就有一个id、操作这个id就是操作这个文件
类似:学号
文件ID:

  • 动态分配:只要当操作这个文件时,系统才会给你分配文件描述符
  • 非负整数:从3编号开始、0,1,2三个文件描述符有其他作用(stdin、stdout、stderr)

100多个API,不看demo背下来


标签:文件,num,描述符,API,IO,fopen
From: https://blog.51cto.com/u_15909950/5930325

相关文章