随笔分类 -  操作系统

文件系统
摘要:Unix文件系统如何存储文件内容、文件属性和目录?Unix将磁盘块分成三部分(文件系统被分为三个区域):数据区:存放文件内容;i-节点表:存放文件属性;记录文件的大小、所有者和最近修改时间等。(标识为2的i-节点位于文件系统i-节点表的第三个位置)为何是第三个位置,难道第一个位置超级块?但超级块并未在i-节点表中。超级块:存放文件系统本身。如记录每个区域大小,存放未被使用的磁盘块信息。若创建一个新文件,其具体如何实现?文件有内容和属性,内核将文件内容存放在数据区,文件属性存放在i-节点,文件名存放在目录。1.存储属性:内核先找到一个空的i-节点,图中内核找到i-节点47,内核将文件的信息记录在 阅读全文

posted @ 2012-05-27 22:59 初级业余程序员 阅读(2004) 评论(0) 推荐(0)

《Unix/linux编程实践教程》------重定向程序的I/O
摘要:《Unix/linux编程实践教程》书中举例命令more的用法:$more filename$command | more$more < filename用法1直接显示filenam的内容,用法2more将command命令输出分页显示。用法3more从标准输入获取要分页的内容,这时more的标准输入被重定向到文件filename。用法2:more现在main中检查命令行参数的个数,如果没有参数,那就从标准输入读取数据,这样一来more就可以通过管道重定向得到数据:举例:$who | more。管道命令"|"将who的输出重定向到more的输入中,类似也可以:$ls 阅读全文

posted @ 2012-04-06 09:33 初级业余程序员 阅读(614) 评论(0) 推荐(1)

《C程序设计语言》------文件访问
摘要:C语言函数库中访问文件需声明一个文件指针:FILE *fp;fp = fopen(name, mode);这里fopen函数:FILE *fopen(char *name, char *mode);第一个参数是一个字符串,包含文件名。第二个参数为访问模式,有读"r"、写"w"、追加"a"。如果要读取或写入单个字符或行,要调用getc、putc、fgets、fputs函数。fgets并不是完全意义上的读取行,而是最多将n-1个字符读入数组中,当遇到换行符时将换行符读入到数组,读取过程终止。在UNIX\LINUX下可以用fread和fwr 阅读全文

posted @ 2012-04-04 22:04 初级业余程序员 阅读(658) 评论(0) 推荐(0)

导航