计算机操作系统重难点分析(二).docVIP

  • 21
  • 0
  • 约3.09千字
  • 约 5页
  • 2017-01-20 发布于天津
  • 举报
计算机操作系统重难点分析(二)

计算机操作系统重难点分析(二) (第三、四章部分) 问题1:在UNIX操作系统中,是如何对空闲盘块进行分配和回收的? 考点: UNIX对空闲块的管理 回答:UNIX采用成组链接法进行空闲磁盘块的管理。例如,每个50个空闲块为一组,组中的头一块为“组长块”第一组的50个空闲块块号放在第二组的组长块中,而第二组的其余49块是完全空闲 的。第二组的50块号又放在第三组的组长块中。依次类推,组与组之间形成链接关系。最后一 组的块号(可能不足50块)通常放在内存的一个专用栈(即专用块的空闲块号栈)结构中。这样,平常对盘块的分配和释放是在栈中进行(或构成新的一组)。 如下图所示: 空闲块分配:当建立文件、需要分配空闲盘块时,总是先把专用块中表示栈深(即栈中有效元素的个数)的数值减1,这里就是40-1等于39。以39作为检索专用块中空闲块号栈的索引。由图中所示,得到盘块号111,它就是当前分出去的第一个空闲块。  如果需要分配20个盘块,则上述操作就重复执行20次。  如果当前栈深的值是1,需要分配2个空闲盘块,那么栈深值(1)减1,结果为0,此时系统做特殊处理:先根据0为索引得到盘块号150,它是第七十八组的组长;然后把150号盘块中的内容—下一组(即第七十七组)所有空闲盘块的数量(50)和各个盘块的块号分别放入专用块的栈深和空闲块号栈中,从而专用块的栈中就记载着有第

文档评论(0)

1亿VIP精品文档

相关文档