- 位示图相关计算
题目(1):
答案:A(129)。
解析:字长为32位,每个字可记录32个物理块的状态。物理块编号范围是0~4127,共4128个物理块。所需字数 = ⌈4128 ÷ 32⌉ = 129。
题目(2):
答案:D(6400)。
解析:磁盘总容量为200GB,物理块大小为1MB,则物理块总数 = 200 × 1024 = 204800 个;每个字可表示32个物理块状态,因此位示图所需字数 = ⌈204800 ÷ 32⌉ = 6400 字。
- 文件的使用
核心逻辑:操作系统通过文件系统将用户逻辑文件映射为物理存储结构,依据文件名查找其在存储设备上的位置,完成读写操作。
多用户环境下,系统维护每个文件的“所有者、访问权限”等属性,并通过以下两种方式向用户提供接口服务:
- 命令级(操作级):如shell命令,供用户直接操作。
- 系统调用(编程级):供程序调用,如open()、read()、write()等。
常见操作级命令分类:
- 目录管理类:mkdir、rmdir、cd 等
- 文件操作类:cp、rm、mv 等(复制、删除、移动)
- 文件管理类:chmod、chown 等(设置权限或归属)
- 文件的共享与保护
文件共享:
含义:允许多个用户或进程共同访问同一份文件内容,减少冗余存储,提高数据一致性与访问效率。
实现机制:采用“文件名与文件说明分离”的目录结构(即索引节点inode机制),使得多个目录项可指向同一个文件控制块。
硬链接(Hard Link):
定义:多个文件名关联到同一个索引节点(inode),这些文件名互为硬链接,共享同一份数据块。
特点:
- 删除一个硬链接不会影响其他链接,只有当所有链接都被删除且无进程打开该文件时,文件空间才被真正释放。
- 硬链接不能跨文件系统,也不能对目录建立(防止形成环路)。
示例:在UNIX/Linux中使用ln命令创建硬链接:
lnfile1.txt hardlink_to_file1计算位示图所需的字数,需根据物理块总数和每个字(word)可表示的位数(即字长)进行计算。每一位对应一个物理块的状态(0表示空闲,1表示已分配),因此:
计算公式:
所需字数=⌈物理块总数字长(位)⌉ \text{所需字数} = \left\lceil \frac{\text{物理块总数}}{\text{字长(位)}} \right\rceil所需字数=⌈字长(位)物理块总数⌉
其中:
- 物理块总数:磁盘总容量 ÷ 每个物理块大小
- 字长:每个字包含的位数,通常为 32 或 64 位
- ⌈x⌉ 表示向上取整
示例说明:
例1:物理块总数为 4128,字长为 32 位
所需字数=⌈412832⌉=129 \text{所需字数} = \left\lceil \frac{4128}{32} \right\rceil = 129所需字数=⌈324128⌉=129
例2:磁盘容量 200GB,块大小 1MB → 块数 = 200 × 1024 = 204800
字长 32 位 → 所需字数 = ⌈204800 ÷ 32⌉ = 6400
注意事项:
- 必须使用向上取整,因为即使最后一个字未填满,也需要一个完整的字来表示剩余块。
- 字长由系统决定,如 32 位系统常用 32 位字长,64 位系统可能使用 64 位字长。
✅总结步骤:
- 计算物理块总数 = 总磁盘容量 ÷ 块大小
- 确定字长(单位:位)
- 用“块总数 ÷ 字长”,结果向上取整