Linux0.11文件系统的初始和使用

初始

 安装根文件系统
// 该函数属于系统初始化操作的一部分。函数首先初始化文件表数组file_table[]和超级块表(数组)
// 然后读取根文件系统超级块,并取得文件系统根i节点。最后统计并显示出根文件系统上的可用资源
// (空闲块数和空闲i节点数)。该函数会在系统开机进行初始化设置时被调用。
void mount_root(void)
{
	int i,free;
	struct super_block * p;
	struct m_inode * mi;

    // 若磁盘i节点结构不是32字节,则出错停机。该判断用于防止修改代码时出现不一致情况。
	if (32 != sizeof (struct d_inode))
		panic("bad i-node size");
    // 首先初始化文件表数组(共64项,即系统同时只能打开64个文件)和超级块表。这里将所有文件
    // 结构中的引用计数设置为0(表示空闲),并发超级块表中各项结构的设备字段初始化为0(也
    // 表示空闲)。如果根文件系统所在设备是软盘的话,就提示“插入根文件系统盘,并按回车键”,
    // 并等待按键。
	for(i=0;i<NR_FILE;i++)
		file_table[i].f_count=0;                        // 初始化文件表
	if (MAJOR(ROOT_DEV) == 2) {
		printk("Insert root floppy and press ENTER");   // 提示插入根文件系统盘
		wait_for_keypress();
	}
	for(p = &super_block[0] ; p < &super_block[NR_SUPER] ; p++) {
		p->s_dev = 0;
		p->s_lock = 0;
		p->s_wait = NULL;
	}
void wait_for_keypress(void)
{
	sleep_if_empty(&tty_table[0].secondary);
}


参考
https://blog.csdn.net/ac_dao_di/article/details/54606790

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值