作者:一枝红杏出墙来2001 | 来源:互联网 | 2023-10-11 23:06
setup((void *) &drive_info);
(void) open("/dev/tty0",O_RDWR,0);
(void) dup(0);
(void) dup(0);
printf("%d buffers = %d bytes buffer space\n\r",NR_BUFFERS,
NR_BUFFERS*BLOCK_SIZE);
printf("Free mem: %d bytes\n\r",memory_end-main_memory_start);
下面是出现Free mem: 之后的情况:
0x1925c表示inode_table地址,有3个内存i节点,每个是14×4个字节。
第一个内存i节点的节点号是0001,块号是027e
第二个内存i节点的节点号是0003,块号是0280
第三个内存i节点的节点号是0026,mode是0x21b6,是字符设备文件
#define S_IFCHR 0020000
下面的是hash_table的内容
上面是目录文件/dev的内容,其中i节点号为0026的表示tty0文件
(附2013/2/19写的小工具:)
linux-0.11调试教程,findipn根据i节点号返回路径和文件名
上面第一部分表示缓冲头结构既buffer_head,块号为0x000e,既第二个i节点块。
每个i节点块有32个i节点既0x20个。第二个i节点块表示的i节点是0x21-0x40。
上面第二部分表示d_inode,最后2行是i_zone[0]为0x0400