赞
踩
.
隔开。.COM
表示可执行的二进制代码文件.EXE
表示可执行的浮动二进制代码文件.LIB
表示库程序文件.BAT
表示批命令文件.OBJ
表示编译或汇编生成的目标文件读 | 写 | 执行 | |
---|---|---|---|
文件主 | 1 | 1 | 0 |
伙伴 | 1 | 0 | 0 |
其他用户 | 1 | 0 | 0 |
.
和父目录..
struct inode {
unsigned long i_ino; /* inode 号 */
atomic_t i_counl; /* inode 引用数 */
kdev_t i_dev; /* inode所在设备*/
loff_t i_size; /* inode所在设备*/
nlink_t i_nlink; /* inode所在设备*/
unsigned long i_blksize; /* inode所在设备*/
unsigned long i_block; /* inode所在设备*/
struct inode_operations * i_op; /* inode所在设备*/
...
union {
struct minix_inode_info minix_i;
struct ext2_inode_infb ext2_i;
...
}
}
t o t a l i n o d e = i n o d e 区 容 量 i n o d e 尺 寸 ( 尽 量 小 ) total_{inode} = \frac{inode区容量}{inode尺寸(尽量小)} totalinode=inode尺寸(尽量小)inode区容量
/
(反斜线\
)隔开.
:目录自身的inode的入口..
:父目录的inode的入口目录块和数据块(目录文件和数据文件的区别):
int fd; // 创建成功后系统返回的文件描述符
int mode; // mode是文件所具有的权限
char *filenamep; // 指向要创建的文件路径名的字符串指针
fd = create(filenamep, mode);
create("path", 0775)
unlink(filenamep)
。int fd, mode;
char * filenamep;
fd = open(filenamep, mode);
文件使用前需要打开,以建立进程与文件之间的联系,而文件描述符唯一标识了这种连接,其任务是把文件的磁盘inode复制到内存活动inode中去,同时建立一个独立的读写文件数据结构,即系统打开文件表的一个表项。
打开过程:
输入是含路径的文件名 → \rightarrow → 依据层次式目录结构解释与检索 → \rightarrow → 匹配文件名并读取目录项 → \rightarrow → 提取inode号 → \rightarrow → 按号定位,在inode区读取inode数据结构(主存活动inode)
系统实现上必须有inode号,但是对文件名而言是透明的。
int fd;
close(fd);
int nr; // 系统调用后实际读入的字节数
int fd; // 文件描述符
int count; // 要求传送的字符
char buf[]; // 应该输入的用户数据区的首地址
nr = read(fd, buf, count);
int nw; // 系统调用后实际写入的字节数
int fd; // 文件描述符
int count; // 要求传送的字符
char buf[]; // 数据传送的源地址
nw = write(fd, buf, count);
long offset; // 当前的offset
int whence; //
int fd; // 指向一个以读或写方式打开的文档
lseek(fd, offset, whence);
char* oldnamep;// 指向已存在文件名的字符串的指针
char* newnamep;// 指向文件别名的字符串的指针
link(oldnamep, newnamep);
unlink(namep)
,解除链接与文件删除执行的是同一系统调用代码。
将文件名和自身inode链接起来,只能用于单文件系统,可以文件共享,但是不能目录共享。
[
a
11
a
12
.
.
.
a
1
n
a
21
a
22
.
.
.
a
2
n
.
.
.
.
.
.
a
n
1
a
n
2
.
.
.
a
n
n
]
详见P330
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。