Unix环境高级编程_文件和目录
1、umask函数为进程设置文件模式创建屏蔽字,并返回之前的值。
注:直接屏蔽进程的文件模式
2、文件系统:可以把一个磁盘分成一个或多个分区。每个分区可以包含一个文件系统。
在图4-14中可以看出来,每个文件对应一个i节点;i节点与目录块和文件块形成了环,i节点数组作为头,指向数据块,展示更加具体的内容;每个i节点中都有一个链接计数,其值是指向该i节点的目录项数,即i节点硬连接的个数。
目录项中的i节点编号指向同一个文件系统中的相应i节点,一个目录项不能指向另一个文件系统的i的节点
3、(有一个很有意思的语句)
(S_ISCHR(buf.st_mode)) ? "character" : "block"
4、直呼牛皮系列
原子操作过程:对于ARMv6以下的架构,也就是只有一个CPU,进行原子操作时,直接关中断,当完成操作后,再打开中断;
对于ARMv6及以上架构,支持SMP,多CPU,惊艳的来了!
ldrex在向寄存器读出数据的时候,会设置一个独占标志。然后再进行操作。操作完成后,strex命令写入前,会先检查独占标志是否还存在,若独占标志位还存在,写入新值,上一步操作有效,清除独占标志位,ret = 0;而如果被别的CPU抢占,就会放弃写入,ret = 1,回到1位置,重新执行操作,肯定某一次会修改成功;
------------恢复内容结束------------