Solaris文件系统:64位文件支持与特性解析
1. 64位文件在Solaris中的发展
早期,Sun系统的最大文件系统和文件大小被限制在2GB,这是由于内核中偏移数据类型的位数限制所致。这种限制主要体现在三个方面:磁盘地址类型 daddr_t 、文件系统接口 off_t 数据类型,以及用于设备驱动和某些文件系统接口的 uio 结构。在Solaris 2.0之前,这些类型都是32位的,代码示例如下:
typedef long daddr_t;
typedef long off_t;
struct uio {
struct iovec *uio_iov;
int uio_iovcnt;
off_t uio_offset;
short uio_segflg;
short uio_fmode;
int uio_resid;
};
1.1 Solaris 2.0的部分64位设备支持
Solaris 2.0借助64位数据类型 longlong_t 实现了部分64位设备支持。它引入了额外的磁盘地址类型 lldaddr_t 、偏移类型 lloff_t ,以及支持64位的 uio 结构。这些扩展使得设备支持能够突破2GB的限制,文件系统理论上最大可达到$2^
超级会员免费看
订阅专栏 解锁全文
4

被折叠的 条评论
为什么被折叠?



