WEB开发网
开发学院手机开发Android 开发 Android 开发基础知识 阅读

Android 开发基础知识

 2010-05-28 15:50:00 来源:WEB开发网   
核心提示:./system/core/init/init.c:557: fd = open("/proc/cmdline", O_RDONLY);./system/core/init/init.c:580: chmod("/proc/cmdline", 0440);./system/cor

./system/core/init/init.c:557: fd = open("/proc/cmdline", O_RDONLY);

./system/core/init/init.c:580: chmod("/proc/cmdline", 0440);

./system/core/init/bootchart.c:139: proc_read("/proc/cmdline", cmdline, sizeof(cmdline));

./system/core/init/bootchart.c:319: proc_read( "/proc/cmdline", cmdline, sizeof(cmdline) );

./system/core/init/bootchart.c:320: s = strstr(cmdline, KERNEL_OPTION);

./system/core/rootdir/init.rc:162: chown root radio /proc/cmdline

2.5.3 sysfs文件系统

与proc文件系统类似,sysfs文件系统也是一个不占有任何磁盘空间的虚拟文件系

统。它通常被挂接在/sys目录下。sysfs文件系统是Linux2.6内核引入的,它把连接在系

统上的设备和总线组织成为一个分级的文件,使得它们可以在用户空间存取。其实

sysfs是从proc和devfs中划分出来的。

一、devfs

linux下有专门的文件系统用来对设备进行管理,devfs和sysfs就是其中两种。

在2.6内核以前一直使用的是devfs,devfs挂载于/dev目录下,提供了一种类似于文件的方法来管理位于/dev目录下的所有设备,我们知道

/dev目录下的每一个文件都对应的是一个设备,至于当前该设备存在与否先且不论,而且这些特殊文件是位于根文件系统上的,在制作文件

系统的时候我们就已经建立了这些设备文件,因此通过操作这些特殊文件,可以实现与内核进行交互。但是devfs文件系统有一些缺点,例如:

不确定的设备映射,有时一个设备映射的设备文件可能不同,例如我的U盘可能对应sda有可能对应sdb;没有足够的主/辅设备号,当设备过多

的时候,显然这会成为一个问题;/dev目录下文件太多而且不能表示当前系统上的实际设备;命名不够灵活,不能任意指定等等。

二、sysfs

正因为上述这些问题的存在,在linux2.6内核以后,引入了一个新的文件系统sysfs,它挂载于/sys目录下,跟devfs一样它也是一个

虚拟文件系统,也是用来对系统的设备进行管理的,它把实际连接到系统上的设备和总线组织成一个分级的文件,用户空间的程序同样可以利用

这些信息以实现和内核的交互,该文件系统是当前系统上实际设备树的一个直观反应,它是通过kobject子系统来建立这个信息的,当一个

上一页  22 23 24 25 26 27 28 29  下一页

Tags:Android 开发 基础知识

编辑录入:coldstar [复制链接] [打 印]
赞助商链接