某UNIX操作系统采用i结点管理文件的存储空间,假设i结点包括13个地址项,其中10个地址用来存直接地址,一个地址项存一重间接地址,一个地址项存二重间接地址,一个地址项存三重间接地址。每个磁盘块地址占64位(8 个字节),磁盘块大小为2048字节,如果要存取某文件的字节偏移量是1260000,请问,需要读取几次硬盘?请写出中间过程。
1260000 / 2048 = 615.234因此地址在第615个盘块中。
去掉10个直接地址615-10= 605;
一个一重间接地址,每个盘块大小为2048字节,每个地址项占8个字节,所以每个簇中可以存放256个盘块号,605-256= 349;
一个二重间接地址,能存放256个一重间接地址,第一个一重间接地址,放256个盘块号,所以是放在第二个重间接地址中。
所以,需要先读取该文件的i结点的盘块,访问一次重间接地址的盘块,访问一次二重间接地址的盘块,再访问1260000 地址的盘块,所以,共需要访问磁盘4次。