Linux文件寻址算法:逻辑地址到物理地址的转换

本文介绍了如何实现Linux系统中文件寻址的算法,特别是逻辑地址到物理地址的转换过程。通过编写函数`ltop(unsigned long logblkNum)`,计算给定逻辑块号logblkNum所对应的物理块号,该函数在模拟数据和结构的环境下进行测试。
摘要由CSDN通过智能技术生成

题目描述:

 

编写一个函数实现Linux文件寻址的算法,即读取文件当前位置到物理存储位置的转换函数,需要给出运行的测试数据,可以假设和模拟需要的数据和结构。即编写一个函数unsigned long ltop(unsigned long logblkNum). 计算逻辑块号logblkNum所对应的物理块的块号。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

#define index (12) //直接索引块数目
#define first_index (1 << 7) // 一级索引块数目
#define second_index (1 << 14)
#define third_index (1 << 21)
#define blksize 512 //物理块大小
#define blknumsize 4 //索引块大小
#define index_blk_sum (15 + first_index + second_index + third_index) //索引块总数

struct inode
{
    unsigned long i_block[15];
}inode;



FILE *fp;
int bitmap[index_blk_sum] = {0};


int find_bitmap(int curpos)
{
	int j, k;
	for(j = k = curpos; bitmap[j] == 1 && bitmap[k] == 1 && k >= 0 && j < index_blk_sum; ++j, --k);
	if(j < index_blk_sum && bitmap[j] =
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值