Android培训班(10)
来源:互联网 发布:seo案例 编辑:程序博客网 时间:2024/04/28 15:24
#022
#023 /* clear the umask */
#024 umask(0);
在上面这段代码里,调用函数umask来设置屏蔽位为0值。这样的意思是什么呢?是告诉系统做了那些工作呢?要了解这个,就得深入查看一下linux函数大全了,因为它的作用就一目了然了,它的解释如下:
linux中的 umask 函数主要用于:在创建新文件或目录时 屏蔽掉新文件或目录不应有的访问允许权限。文件的访问允许权限共有9种,分别是:r w x rw x r w x(它们分别代表:用户读 用户写 用户执行组读 组写 组执行 其它读其它写 其它执行)。
其实这个函数的作用,就是设置允许当前进程创建文件或者目录最大可操作的权限,比如这里设置为0,它的意思就是0取反再创建文件时权限相与,也就是:(~0) & mode 等于八进制的值0777 & mode了,这样就是给后面的代码调用函数mkdir给出最大的权限,避免了创建目录或文件的权限不确定性,指定明确的标志,可谓是开发人员对代码健壮性深刻的反映,高度明确性。
#025
#026 /* Get the basic filesystem setup weneed put
#027 * together in the initramdisk on / andthen we'll
#028 * let the rc file figure out therest.
#029 */
#030 mkdir("/dev", 0755);
#031 mkdir("/proc", 0755);
#032 mkdir("/sys", 0755);
在上面这段代码里,主要就是在当前内存模拟磁盘里建立一个基本的文件系统,以便后面加载rc文件来做其它事情。其中就是创建设备目录dev,进程文件系统目录proc,系统目录sys。
/dev是devfs(设备文件系统)或者udev的挂在点所在。在使用devfs的内核里如果没有/dev,根本见不到Shell启动的信息,因为内核找不到/dev/console;在使用udev的系统里,也事先需要在/dev下建立console和null这两个节点。关于devfs和udev的区别,网上很多文章说。当然如果你的内核已经不支持devfs了(2.6.12以后),可以使用纯纯的静态节点。也就是用mknod人工生成。
/proc是用来挂载存放系统信息虚拟文件系统——“proc文件系统”,“proc文件系统”在内核里面可以选。如果没有“proc文件系统”,很多Shell自己的命令就没有办法运行,比如ifconfig。“proc文件系统”不像devfs可以自动挂载,它需要使用初始化脚本挂载。另外,udev也需要“proc文件系统”的支持。
/sys用于挂载“sysfs文件系统”,“sysfs文件系统”在内核里面可以选。
- Android培训班(10)
- Android培训班
- Android培训班
- Android培训班(97)内核解压过程10
- Android培训班(113)start_kernel函数10
- Android培训班(1)
- Android培训班(2)
- Android培训班(3)
- Android培训班(4)
- Android培训班(5)
- Android培训班(6)
- Android培训班(7)
- Android培训班(8)
- Android培训班(9)
- Android培训班(11)
- Android培训班(12)
- Android培训班(13)
- Android培训班(14)
- vc控件ListCtrl的使用方法
- 2010-07-19 GCC 笔记
- 日节
- 编程能力的四种境界
- 学习CVS版本控制工具
- Android培训班(10)
- 关于敏捷开发的一点体会
- 关于pipeline
- 如何在iPhone/ipad/iPod Touch中使用NEON技术
- Vista扩展,逻辑分区
- C# Asp.Net数字分页控件
- urlMapping----隐藏真正的url
- QTP之描述性编程Descriptive Programming(一)
- 析setsockopt()