请在 下方输入 要搜索的题目:

成组链接法 P156例题 6 某个系统采用成组链接法来管理磁盘的空闲空间,目前磁盘的状态如图所示。(1) 该磁盘中目前还有多少个空闲盘块?(2) 请简述磁盘块的分配过程。(3) 在为某个文件分配 3个盘块后,系统要删除另一文件,并回收它所占的 5 个盘块, 它们的盘块号依次为 700、711、 703、788、701,请画出回收后的盘块链接情况。

成组链接法 P156例题 6 某个系统采用成组链接法来管理磁盘的空闲空间,目前磁盘的状态如图所示。(1) 该磁盘中目前还有多少个空闲盘块?(2) 请简述磁盘块的分配过程。(3) 在为某个文件分配 3个盘块后,系统要删除另一文件,并回收它所占的 5 个盘块, 它们的盘块号依次为 700、711、 703、788、701,请画出回收后的盘块链接情况。

发布时间:2025-06-20 09:04:06
推荐参考答案 ( 由 快搜搜题库 官方老师解答 )
联系客服
答案:答:(1) 从图中可以看出,目前系统共有四组空闲盘块,第一组为 2 块,第二,三组分别为100块,第四组虽记为 100快,但除去结束标记后实际只有 99 块,故空闲盘块总数为 301 块。2) 磁盘块的分配过程如下:首先检查超级块空闲盘块号栈是否已上锁,若已上锁则进 程睡眠等待; 否则将 s_nfree 减 1,若 s_nfree 仍大于 0,即第一组中不止一个空闲 盘块,则将 s_free[s_nfree] 中登记的(即空闲盘块号栈顶的)空闲盘块分配出去。 若 s_nfree 为 0,即当前空闲盘块号栈中只剩下最后一个空闲盘块,由于该盘块中 登记有下一组空闲盘块的盘块号和盘块数,因此核心在给超级块的空闲盘块号栈上 锁后, 先将该盘块的内容读入超级块的空闲盘块号栈, 再将该盘块分配出去。 另外, 还需将空闲盘块号栈解锁,并唤醒所有等待其解锁的进程。若 s_nfree 为 0,而且 栈底登记的盘块号为 0,则表示系统已无空闲盘块可分配,此时也让进程睡眠等待 其他进程释放盘块。3) 根据题意,分配给某文件的 3 个盘块依次为 299 号,300 号,301 号这三个盘块。在 此基础上依次回收另一个文件的 5个盘块: 700、711、703、788、701,回收完成后, 空闲盘块的链接情况将如图所示。⏺
专业技术学习
相关试题
专业技术学习
搜搜题库系统