1.简述文件存储中空闲块成组链接法对磁盘的管理方式
空闲表法和空闲链表法都不适用于大型系统,因为这会使空闲表或空闲链表很长,在UNIX采用的成组链接法,结合上述两种方法。
① 空闲盘块的组织,空闲盘块栈用来存放当前可用的一组空闲盘块的盘块号(最多含100个号),以及栈中尚有的空闲盘块号数N,顺便指出,N兼做栈顶指针使用,栈是临界资源,系统设置一把锁供进程互斥访问。其中,S.free(0)是栈底,栈满时栈顶为S.free(99)。
② 文件区中的所有空闲盘块被分成若干个组,如每100个盘块作为一组。
③ 将每一组含有的盘块总数N和该组所有的盘块号记入其前一组的第一个盘块S.free(0)~S.free(99)中,这样,由各组的第一个盘块可链接成一条链。
④ 将第一组的盘块总数和所有的盘块号记入空闲盘块号栈中,作为当前可供分配的空闲盘块号。
⑤ 最末一组只有99个盘块,其盘块号分别记入其前一组的S.free(1)~S.free(99)中,而在S.free(0)中则存放0,作为空闲盘块链的结束。
当系统要为用户分配文件所需的盘块时,须调用盘块分配过程来完成。该过程首先检查空闲盘块号栈是否上锁,如未上锁,便从栈顶取出一空闲盘块号,将与之对应的盘块分配给用户,然后将栈顶指针下移一格。若该盘块号已是栈底,即S.free(0),这是当前栈中最后一个可分配的盘块号。由于在该盘块号所对应的盘块中记有下一组可用的盘块号,因此,须调用磁盘读过程,将栈底盘块号所对应盘块的内容读入栈中,作为新的盘块号栈的内容,并把原栈底对应的盘块分配出去(其中的有用数据已读入栈中)。然后,再分配一相应的缓冲区(作为该盘块的缓冲区)。最后,把栈中的空闲盘块数减1并返回。
在系统回收空闲盘块时,须调用盘块回收过程进行回收。它是将回收盘块的盘块号记入空闲盘块号栈的顶部,并执行空闲盘块数加1操作。当栈中空闲盘块号数目已达100时,表示栈已满,便将现有栈中的100个盘块号,记入新回收的盘块中,再将其盘块号作为新栈底。
2.文件共享的方式以及其区别参考:https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html
linux文件共享方式包括硬链接和软链接。
硬链接即基于索引结点的共享方法,通过多个文件名链接到索引节点inode(唯一标识文件),可以建立同一个文件的多个彼此相等的别名,别名的数目记录在索引节点的链接计数中,
软链接基于符号链接,是一种特殊类型的文件,其内容是到另一个目录或者文件的链接。
区别:硬链接能实现异名共享,节省存储空间,但是只能实现同一个文件系统的共享,不同用户共享同一个文件的时候具有相同的权限。软链接可以连接世界上任意地方的计算机文件,但是这个软链接文件需要一个索引结点和存储空间。
3.对磁盘空间空闲区的管理常采用哪几种方式?
4.文件的物理结构有哪几种,使用这些物理结构存放文件时,在文件控制块FCB中有关文件的物理位置信息分别需包括什么?
5.空闲磁盘空间管理方法中,哪种方式占用的额外磁盘空间最小,哪种方式适合连续结构的文件,为什么?
成组链接法占用的额外空间最少,而且超级块(文件系统中的第一个块,小,存放文件系统的信息)可以放在内存中。空闲区表法属于连续分配方式,适合连续结构的文件,而且分配和回收都是连续的物理块。
6.文件目录和目录文件各起什么作用?
7.文件的物理结构和逻辑结构
8.Linux文件系统
原文:https://www.cnblogs.com/helloworldToDu/p/12868153.html