因为使用到了金士顿的32G的TF卡,所以我们要知道它的寿命,可是官网上并没有明确的指出擦写次数的最小值。所以我们只能自己测。
我是设想直接打开文件然后写入数据最后关闭反复一秒一次直到写不进。可有 同事提出来,linux文件系统会每次写的地址不一样,可能测不出来。别人都是把TF卡写满来测试的,可是创建32G的数据来回写很费时间啊,我们还有15天结项能测试出来吗?所以我去论证下我这种简单的方法可行吗?
首先我们得确定我们文件的物理地址是否不变呢?但怎么查看我们的物理地址,这个就难倒我了。只能去源码找找看了。
首先我们要知道大体的linux文件系统的设计思路。
linux系统为了能支持多种多样的文件系统,所以弄了一层虚拟文件系统,它规定一套所有文件系统需要遵守的标准接口。用户只需要操作虚拟文件系统即可操作所有的文件系统。如下:
进程怎么和文件连接以及文件系统连接,在include/linux/sched.h有task_struct结构体
struct task_struct {
......
/* filesystem information */
struct fs_struct *fs;
/* open file information */
struct files_struct *files;
......
}
结构体中有fs_struct结构体和files_struct结构体。分别描述的是文件系统和文件
首先先看看fs_struct结构体