首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
默认block size=4k情况下,Ext3文件系统支持
[单选题]
默认block size=4k情况下,Ext3文件系统支持的最大文件大小是 ______。
1TB
2TB
4TB
16TB
查看答案及解析
添加笔记
求解答(28)
邀请回答
收藏(577)
分享
9个回答
添加回答
22
牛客444334号
C
ext3还是使用15个inode来查找数据块,前12个为直接数据块,直接指向存储数据的数据块,接下来分别为一级间接块,二级间接块,三级间接块.
最大文件:
前面直接指向12个数据块,一级间接块最大为block size / 4,block size就是数据块的大小,因为一个索引是4个字节,所以除以4,这样计算下来,最大的文件可以使用的总块数为:12 + (block size/4) + (block size/4)^2 + (block size/4)^3,如果block size大小为4K,则为(12 + 2^10 + 2^20 + 2^30) * 2^12 约等于4T。
参考:http://zhumeng8337797.blog.163.com/blog/static/100768914201112805015563/
编辑于 2015-08-25 00:36:53
回复(5)
13
ZhangFinder
维基百科上的说明:
发表于 2015-09-23 11:57:27
回复(0)
11
牛客233333号
说下我对2TB的理解,不知道对不对。 我觉得这道题实际上不太严谨,因为这个2TB应该是针对linux EXT3来说的。 当block size是4K的时候,经过计算,EXT3本身支持的最大文件大小的确是4TB。 然而在早期的linux中,ext3_inode结构中有一个u32 i_blocks,代表文件的总block数,但是这个i_blocks并不是以ext3实际设置的block size为单位,而是固定以512B为单位,所以最大的文件大小被限制为2∧32×2∧9=2T. 然而这个限制现在早已经不存在了,即使在32位机器上,现在的i_blocks也被定义为blkcnt_t,可以是64位,所以也可以突破2T的限制。 这是我唯一能找到的合理解释。
发表于 2016-04-11 11:33:57
回复(0)
3
卡布船长
2TB
inode中,有个字段记录了扇区数目。大小为4个字节,所以为2T
发表于 2017-08-21 18:07:48
回复(0)
0
舒意意123
发表于 2017-04-20 15:27:57
回复(0)
0
夜鸦
做完了,答案选b
发表于 2017-03-24 08:41:47
回复(0)
0
临时主演
计算结果是4TB,但是
内核中还有个参数来限制单个文件的大小,那就是upper_limit.而upper_limit=0x1FF7FFFD000 近似等于2TB。
发表于 2016-07-27 11:26:09
回复(0)
0
chinasanshi
每个inode大小固定为128bytes,每个文件仅会占用一个inode。inode除了记录文件的属性外,还有12个直接,一个间接,一个双间接,一个三间接来记录block。
12个直接指向:12*4K=48K
间接:间接记录block的区段可以指向一个block,该block用于记录存储数据的block。每条block号码的记录要用去4bytes,因此一个4K的block可以记录4K/4byte=1024个block号码。所以可记录大小为1024*4K=4M
双间接:同理,这个双间接区段可以指向一个block,该block用于记录存储指向数据block的block。4K的block可以记录1024个block号码,而这1024个block中每一个都可以记录1024个指向数据的block。所以可记录的总大小为1024*1024*4K=4G
三间接:同理可得三间接区段可记录文件大小为1024*1024*1024*4K=4T
鸟哥的书上表8.1写的是2TB,答案也是2TB,不知道为什么 ?
发表于 2015-09-01 09:46:53
回复(0)
0
wyfive
B
https://zh.wikipedia.org/wiki/Ext3
发表于 2015-08-14 11:07:28
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
阿里巴巴
操作系统
来自:
网易内推笔试练习卷
上传者:
小小
难度:
9条回答
577收藏
14154浏览
热门推荐
相关试题
有两个N*N的矩阵A和B,想要在P...
阿里巴巴
操作系统
评论
(38)
来自
阿里巴巴2015实习生笔试题
请编写实现malloc()内存分配...
微软
C++
操作系统
评论
(3)
进程阻塞的原因不包括()
阿里巴巴
操作系统
测试
后端开发
客户端开发
前端开发
数据
运维/技术支持
评论
(21)
来自
阿里巴巴2013研发工程...
从根开始按层次(第0层->第1层-...
树
搜狗
评论
(8)
来自
搜狗2016 C++工程...
市场与销售的区别在哪里?
市场营销
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题