文件系统
Linux内核文件系统构成。
tanglinux
专注于Linux内核以及C/C++应用程序的开发。
展开
-
详解sys_read和sys_write
内核源码:linux-2.6.38.8.tar.bz2目标平台:ARM体系结构 在Linux内核中,系统调用read和write的定义如下所示: /* arch/arm/include/asm/posix_types.h */#ifdef __GNUC__typedef long long __kernel_loff_t;#endif/* include/linux/t原创 2017-12-01 11:14:29 · 7371 阅读 · 0 评论 -
Linux操作系统根文件系统的注册与挂载
内核源码:linux-2.6.38.8.tar.bz2 目标平台:ARM体系结构 在Linux内核中,根文件系统的注册和挂载是在系统启动过程中所调用的mnt_init函数中实现的。源代码如下所示:/* arch/arm/include/asm/cache.h */#define __read_mostly __attribute__((__section__(".d原创 2017-12-11 09:54:43 · 941 阅读 · 0 评论 -
详解sys_close
内核源码:linux-2.6.38.8.tar.bz2 目标平台:ARM体系结构 在Linux内核中,系统调用close的定义如下所示:/* fs/open.c */SYSCALL_DEFINE1(close, unsigned int, fd){ struct file * filp; struct files_struct *files = current原创 2017-12-04 11:20:47 · 3408 阅读 · 0 评论 -
详解sys_open
内核源码:linux-2.6.38.8.tar.bz2目标平台:ARM体系结构 在Linux系统中,打开或创建文件大概有以下三种形式: 系统调用sys_creat仅仅是对sys_open函数的简单封装。只有当参数filename为相对路径时,参数dfd才有意义,表示文件filename存在于文件描述符dfd所表示的目录之下。当dfd的值为AT_FDCWD时,则表示该文件位于原创 2017-11-19 10:59:03 · 10554 阅读 · 1 评论 -
概述sysfs文件系统
内核源码:linux-2.6.38.8.tar.bz2 目标平台:ARM体系结构 sysfs是基于内存的文件系统,用于向用户空间导出内核对象并且能对其进行读写。 1、sysfs文件系统不支持特殊文件,只支持目录、普通文件(文本或二进制文件)和符号链接文件等三种类型,在内核中都使用struct sysfs_dirent结构体来表示,相当于其他文件系统在硬...原创 2017-12-29 17:17:19 · 1727 阅读 · 0 评论 -
概述VFS文件对象
内核源码:linux-2.6.38.8.tar.bz2 目标平台:ARM体系结构 文件对象表示进程中已打开的文件,在内存中由open、creat和openat等系统调用创建,由close系统调用销毁。由于多个进程可以同时打开和操作同一文件,所以同一文件可能存在多个文件对象。文件对象在Linux内核中由struct file结构体来表示,源代码如下所示:/* in原创 2018-01-17 11:56:22 · 1240 阅读 · 0 评论