精华内容
下载资源
问答
  • 成组链接法
    万次阅读 多人点赞
    2016-06-18 12:25:58

    首先说一下,成组链接法出现的背景和意义,它的出现带来了什么好处。

    成组链接法作为文件存储空间管理方法之一(主要是空闲盘区的管理),还有其他三种管理方法分别是:空闲表法、空闲链表法和位示图法,它克服了空闲链表法表太长的缺点,但是保持了其优点,即分配和回收一个盘块比较简单。

    这么好的文件存储空间管理方法,我们当然要认真学咯。。

    首先来看文字解释:成组链接法是Unix系统中常见的管理空闲盘区的方法,它把空闲块分为若干组,每100个空闲块为一组,每组的第一个空闲块记录了空闲块总数和下一组物理空闲块的物理盘块号。理解这一点很重要。特别是对于看下面这张神图。


    这张图我得好好解释一下,首先来看左边绿色的空闲盘块号栈,这是第一组(唯一进入内存的一组,只有它会占据存储空间)。看到S.free = 100了没,这表示该组有100个空闲块数目,再往下看,第0号对应的是300,表示下一组物理空闲块的物理盘块号为300,你看它指向的是不是300号对应的磁盘块。再看黄色的块,这些块里保存的才是真正的可用的空闲块,也就是说每组中只有99个块可用。尽管如此,每组还是有100个块的。特别要注意的是,最后一组的下一组盘块号不是没有么,我们这里采用的是结束标记“0”,也就是最右边一个蓝色块的第二项为0。


    下面说一下,磁盘块分配和回收的过程。

    首先检查超级空闲盘块号(第一组)栈是否已上锁,(提示:这是临界资源),若已上锁则进程睡眠等待;否则,给空闲磁盘块号栈上锁后,将S.free减1,若S.free仍大于0,即第一组不止一个空闲盘块,则将s_free[s_nfree]中登记的空闲盘块分配出去;若S.free为0,即当前空闲盘块号栈中只剩下最后一个空闲盘块,必须先将该盘块的内容读入超级块的空闲盘块号栈中,然后再将该盘块分配出去。若s_nfree为0,而且栈底登记的盘块号为0,则表示系统中无空闲盘块可分配。


    磁盘回收过程:

    系统回收空闲盘块时,若第一组不满100块,则只需将回收块的块号填入超级块的空闲盘块号栈栈顶,并将其中的空闲盘块数加1;若第一组已有100块,则必须先将超级块中的空闲盘块数和空闲盘块号写入回收块中,然后将盘块数1和回收块号记入超级块中。


    记住一点的是,分配过程是从前往后分配,先分配第一组,然后分配第二组……

    回收过程是正好相反,从后往前分配,先将释放的空闲块放入第一组,第一组满了,再开辟一组,之前的第一组变为第二组……


    更多相关内容
  • 成组链接法Java版

    2018-12-19 10:29:55
    成组链接法 java 版本,对应文章:https://mp.csdn.net/postedit/80822999
  • 模拟unix系统成组链接法,实现磁盘存储空间的管理,假定共有8块可供使用,每3块为一组。
  • 一、成组链接法是UNIX/Linux等大型文件系统采用的文件空间管理方法。在UNIX/Linux系统中,将空闲块分成若干组,每100个空闲块为一组,每组的第一个空闲块登记了下一组空闲块的物理盘块号和空闲块总数。如果一组的第...
  • 采用成组链接法模拟UNIX系统的运行,报告说明详细,设计与实现文件的回收空间、分配空间、组链接算法的实现、主函数以及相关显示文件、目录等信息的函数
  • 文件系统存储空间管理: 成组链接法

    千次阅读 2021-12-10 18:44:10
    本实验模拟UNIX操作系统空闲块成组链接法,UNIX操作系统将磁盘空闲块进行分组,每组的第一个块记录前一组空闲块的信息,最后一组信息记录在内存超级块中。当申请内存块时,若内存超级块中记录的空闲块数大于1,则...

    文件系统存储空间管理算法设计与实现

    (1)目的要求

    如何充分有效地利用磁盘空间、并减少管理磁盘空间而带来的时间、 空间开销,是操作系统资源管理的任务之一。本实验模拟UNIX操作系统空闲块成组链接法,使学生对磁盘空闲空间的跟踪、分配和回收方法有更深入的理解。

    (2)方法原理

    UNIX操作系统将磁盘空闲块进行分组,每组的第一个块记录前一组空闲块的信息,最后一组信息记录在内存超级块中。当申请内存块时,若内存超级块中记录的空闲块数大于1,则进行出栈操作,分配栈顶的块。若内存超级块中记录的空闲块数等于1,则将该空闲块中暂存的下一组空闲块信息拷贝到超级块中,再分配该空闲块。当释放内存块时,若超级块中空闲块数未满,则块号入栈,释放该块。若已满,则将超级块中信息拷贝入该空闲块,清空超级块,该空闲块号入栈。UNIX操作系统利用磁盘空闲块来暂存磁盘空闲块的信息,可以节省大量内存,同时,块号的入栈、出栈操作可以快速实现非连续空间的分配和回收。

    (3)主要实验仪器及材料

    PC机, windows2000以上操作系统,C\C++\Java语言编程。

    (4)掌握要点

    设计空白块链数据结构,设定空闲块以N个盘块为一组,已划分成M组;可以用二维数组A[M][N]或结构体链表实现块链。A[0]表示超级块,管理最后一组的空闲块。A[0][0]表示超级块中管理的空闲块数,A[0][i]表示超级块中管理的第i个空闲块(i>0)。设计文件磁盘块申请命令和文件磁盘块释放命令,并进行命令解析;设计文件信息块数据结构,用于保存文件的磁盘块构成;创建、新增、删除文件块时访问文件信息块和空白块链数据结构。

    (5)实验内容

    通过用户随机给定的文件创建、新增块、文件删除等命令,算法仿真实现空白块成组链接法完成磁盘空闲空间的分配和释放,并完成实验报告。

    (6)实现代码

    #include <iostream>
    #include <string>
    using namespace std;
    
    int main() {
    
    	//二维数组实现空闲块链
    	const int Max = 20;//20组
    	const int M = 5;
    	const int N = 11;//每组最大10个空闲块,第0块存放本组空闲块数量,第1块指向前一组
    	int A[Max][N] = {0};
    	for (int i = 0; i < M;i++) {
    		int count_free = 0;
    		for (int j = 1; j < N; j++) {
    			A[i][j] = 100*(i+1) + j;
    			count_free++;//空闲块数
    		}
    		if (i != 0) {//不是第0组
    			A[i][1] = i - 1;//A[i][1]保存前一组的下标
    		}
    		else {//是第0组
    			A[i][1] = -1;
    		}
    		A[i][0] = count_free;//A[i][0]保存本组空闲块数
    	}
    	int last_i = 0;//指向最后一组,即指向超级块
    	int last_j = 0;
    	cout << "初始空闲块链:" << endl
    		<< "组别 " << "空闲块数 " << "上一组"
    		<<"  空闲块  空闲块\t...\t...\t...\t...\t...\t...\t..."
    		<< endl;
    	for (int i = 0; i < M; i++) {
    		cout << i << ": \t";
    		int flag = 1;
    		for (int j = 0; j < N; j++) {
    			cout << A[i][j] << "\t";
    			last_j=j;
    		}
    		last_i = i;
    		cout << endl;
    	}
    	string op="";
    	string fileName="";
    	int fileSize = 0;
    	while (true) {
    		cout<< "--\t--\t--\t---\t---\t---\t---\t---\t---\t---\t---\t---\n"
    			<<"输入操作(touch/rm filename filesize):\n";
    		cin >> op>>fileName>>fileSize;
    		if (op == "touch") {//touch创建文件,申请空闲块
    			int obtainedSize = 0;
    			for (int i = 0; fileSize>obtainedSize;i++) {
    				//判断有无空闲块
    				if (A[last_i][0]<1&&A[last_i][1]<=0) {//全部空闲块耗尽,不再分配
    					cout << "已无可用空闲空间!" << endl;
    					break;
    				}
    				if (A[last_i][0] > 1) {//本组空闲块数大于1,分配本组的空闲块
    					A[last_i][last_j] = 0;
    					A[last_i][0] -= 1;
    					last_j--;
    				}
    				//本组空闲块数不足,分配上一组的空闲块
    				else {
    					int tmp = A[last_i][1];
    					A[last_i][last_j] = 0;
    					last_i = tmp;//更新超级块,前一组成为新的超级块
    					last_j = N - 1;
    				}
    				obtainedSize += 1;
    			}
    		}
    		else if (op == "rm") {//rm删除文件,归还块
    			int returnSize = 0;//已归还块数
    			for (int i = 0;fileSize > returnSize; i++) {
    				
    				//判断当前组是否已满
    				if ((N-1)>A[last_i][0]) {//未满,加入本组
    					A[last_i][++last_j] = 100 * (last_i + 1) + last_j;
    					A[last_i][0] += 1;
    				}
    				else {//已满,引入超级块
    					int tem=last_i;
    					last_i += 1;
    					A[last_i][0] = 1;//将超级块空闲块数置1
    					A[last_i][1] = tem;
    					last_j = 1;//指向A[last_i][1]
    				}
    				returnSize++;
    			}
    		}
    		else if (op == "exit") {
    			break;
    		}
    		else {
    			cout << "错误输入!" << endl;
    			continue;
    		}
    		cout << "当前空闲块链:" << endl
    			<< "组别 " << "空闲块数 " << "上一组"
    			<< "  空闲块  空闲块\t...\t...\t...\t...\t...\t...\t..."
    			<< endl;
    		for (int i = 0; i <=last_i;i++) {//循环到超级块所在组
    			cout << i << ": \t";
    			if (i < last_i )
    			for (int j = 0; j < N;j++) {//循环N(11)次
    				cout << A[i][j] << "\t";
    			}
    			else if(i==last_i)
    				for (int j = 0; j <=last_j;j++) {//循环到最后一个空闲块
    					cout << A[i][j] << "\t";
    				}
    			cout << endl;
    		}
    
    		while (getchar() != '\n');//清空缓冲区
    	}
    	return 0;
    }
    
    
    

    (7)运行结果

    初始空闲块链:
    组别 空闲块数 上一组  空闲块  空闲块    ...     ...     ...     ...     ...     ...     ...
    0:      10      -1      102     103     104     105     106     107     108     109     110
    1:      10      0       202     203     204     205     206     207     208     209     210
    2:      10      1       302     303     304     305     306     307     308     309     310
    3:      10      2       402     403     404     405     406     407     408     409     410
    4:      10      3       502     503     504     505     506     507     508     509     510
    --      --      --      ---     ---     ---     ---     ---     ---     ---     ---     ---
    输入操作(touch/rm filename filesize):
    touch file1 6	//申请6个空闲块
    当前空闲块链:
    组别 空闲块数 上一组  空闲块  空闲块    ...     ...     ...     ...     ...     ...     ...
    0:      10      -1      102     103     104     105     106     107     108     109     110
    1:      10      0       202     203     204     205     206     207     208     209     210
    2:      10      1       302     303     304     305     306     307     308     309     310
    3:      10      2       402     403     404     405     406     407     408     409     410
    4:      4       3       502     503     504
    --      --      --      ---     ---     ---     ---     ---     ---     ---     ---     ---
    输入操作(touch/rm filename filesize):
    touch file 5	//申请5个空闲块
    当前空闲块链:
    组别 空闲块数 上一组  空闲块  空闲块    ...     ...     ...     ...     ...     ...     ...
    0:      10      -1      102     103     104     105     106     107     108     109     110
    1:      10      0       202     203     204     205     206     207     208     209     210
    2:      10      1       302     303     304     305     306     307     308     309     310
    3:      9       2       402     403     404     405     406     407     408     409
    --      --      --      ---     ---     ---     ---     ---     ---     ---     ---     ---
    输入操作(touch/rm filename filesize):
    rm file3 13		//归还13个空闲块
    当前空闲块链:
    组别 空闲块数 上一组  空闲块  空闲块    ...     ...     ...     ...     ...     ...     ...
    0:      10      -1      102     103     104     105     106     107     108     109     110
    1:      10      0       202     203     204     205     206     207     208     209     210
    2:      10      1       302     303     304     305     306     307     308     309     310
    3:      10      2       402     403     404     405     406     407     408     409     410
    4:      10      3       502     503     504     505     506     507     508     509     510
    5:      2       4       602
    --      --      --      ---     ---     ---     ---     ---     ---     ---     ---     ---
    输入操作(touch/rm filename filesize):
    

    在这里插入图片描述

    展开全文
  • 实例讲解成组链接法

    万次阅读 多人点赞 2017-06-22 11:20:43
    成组链接法是一种用来记录磁盘空闲盘块的方法,它使得磁盘盘块的分配和回收都变得十分简单,而且没有空闲表法和空闲链表法它们的表太长的缺点,因此被引用到UNIX系统当中。 成组链接法介绍计算机上的文件是记录在...

    成组链接法是一种用来记录磁盘空闲盘块的方法,它使得磁盘盘块的分配和回收都变得十分简单,而且没有空闲表法和空闲链表法它们的表太长的缺点,因此被引用到UNIX系统当中。

    成组链接法介绍

    计算机上的文件是记录在磁盘上的,而磁盘空间的分配是以盘块为单位的,那么如何管理磁盘中已经被使用的块和未被使用的块是操作系统必须要考虑的问题。下面将介绍比较实用又有点复杂的成组链接法,看它是如何把磁盘中所有的空闲盘块都记录起来,又不耗费太多的内存空间。
    请看下图:
    这里写图片描述

    下面的文字来自汤氏的操作系统教材:

    1、空闲盘块的组织

    (1)空闲盘块号栈:用来存放当前可用的一组空闲盘块的盘块号(最多含100 个号),以及栈中尚有的空闲盘块号数N。顺便指出,N 还兼作栈顶指针用。例如,当N=100 时,它指向S.free(99)。由于栈是临界资源,每次只允许一个进程去访问,故系统为栈设置了一把锁。(只有这个是放在内存中的,其它是在磁盘上。)
    (2) 文件区中的所有空闲盘块被分成若干个组,比如,将每100 个盘块作为一组。假定盘上共有10 000 个盘块,每块大小为1 KB,其中第201~7999 号盘块用于存放文件,即作为文件区,这样,该区的最末一组盘块号应为7901~7999;次末组为7801~7900……;第二组的盘块号为301~400;第一组为201~300,如上图右部所示。
    (3) 将每一组含有的盘块总数N 和该组所有的盘块号记入其前一组的第一个盘块的
    S.free(0)~S.free(99)中。这样,由各组的第一个盘块可链成一条链。
    (4) 将第一组的盘块总数和所有的盘块号记入空闲盘块号栈中,作为当前可供分配的空闲盘块号。
    (5) 最末一组只有99 个盘块,其盘块号分别记入其前一组的S.free(1) ~S.free(99)中,而在S.free(0)中则存放“0”,作为空闲盘块链的结束标志。(注:最后一组的盘块数应为99,不应是100,因为这是指可供使用的空闲盘块,其编号应为(1~99),0号中放空闲盘块链的结尾标志。)

    2、空闲盘块的分配与回收

    当系统要为用户分配文件所需的盘块时,须调用盘块分配过程来完成。该过程首先检查空闲盘块号栈是否上锁,如未上锁,便从栈顶取出一空闲盘块号,将与之对应的盘块分配给用户,然后将栈顶指针下移一格。若该盘块号已是栈底,即S.free(0),这是当前栈中最后一个可分配的盘块号。由于在该盘块号所对应的盘块中记有下一组可用的盘块号,因此,须调用磁盘读过程,将栈底盘块号所对应盘块的内容读入栈中,作为新的盘块号栈的内容,并把原栈底对应的盘块分配出去(其中的有用数据已读入栈中)。然后,再分配一相应的缓冲区(作为该盘块的缓冲区)。最后,把栈中的空闲盘块数减1 并返回。
    在系统回收空闲盘块时,须调用盘块回收过程进行回收。它是将回收盘块的盘块号记入空闲盘块号栈的顶部,并执行空闲盘块数加1 操作。当栈中空闲盘块号数目已达100 时,表示栈已满,便将现有栈中的100个盘块号记入新回收的盘块中,再将其盘块号作为新栈底。

    实例讲解成组链接法

    如果对上面的讲解感到迷惑的话,请看下面的例子,这是一个很经典的练习题:
    例题.某个系统采用成组链接法来管理磁盘的空闲空间,目前磁盘的状态如图1所示。

    (1) 该磁盘中目前还有多少个空闲盘块?

    (2) 请简述磁盘块的分配过程。

    (3) 在为某个文件分配3个盘块后,系统要删除另一文件,并回收它所占的5个盘块,它们的盘块号依次为700、711、703、788、701,请画出回收后的盘块链接情况。
    图一

                                    图1:当前磁盘状态
    

    解答:
    (1):301;首先看空闲盘块号栈,此时N=2,表示有两个空闲盘块299、300,而盘块300号上面又写着有100个空闲盘块:301-400,它还有下一个链接的盘块400;在盘块400中,记录有100个空闲盘块401-500;然后又链接到500号盘块,在500号盘块中,虽然N=100,但是第一个是0,它表示空闲盘块链的结尾。因此,总共的空闲盘块有:299、300、301-400、401-500、501-599;即301个空闲盘块。
    (2):参考介绍部分。
    (3):这个是最重要的部分,也是理解整个成组链接法的关键部分,我看很多博客都没有详细写明分配和回收的过程,因此这也正是我写这篇博客的原因。
    步骤1、分配三个空闲盘块:
    分配的过程是这样的,首先看空闲盘块号栈,发现N=2,那么到达栈顶即S.free[2-1]=299,即把299号盘块分配出去了,这时磁盘状态如下:
    这里写图片描述

    然后分配第二个盘块,这时N=1,如果再分配就会变成空栈了,因为S.free[N-1]=S.free[0]!=0,所以需要将300号盘块的内容拷贝到空闲盘块号栈,并分配300号盘块(如果S.free[0]=0,则表示没有空闲盘块,将会阻塞进程):
    这里写图片描述
    接下来分配301号盘块你也会做啦:
    这里写图片描述

    回收700、711、703、788、701号盘块:
    回收的过程也是从栈顶开始的,首先看N=99,然后回收700,会将700放在S.free[N]的位置,然后将N加1变成100:
    这里写图片描述
    然后回收711号盘块,因为此时空闲栈的N=100,已经满了,如果再回收,需要将空闲盘块栈的内容移动到711号盘块上,然后将空闲盘块栈的S.free[0]设置为711,N设置为1:
    这里写图片描述
    最后回收703/788/701也是同理:
    这里写图片描述

    相信经过这样的举例说明以后,大家都对成组链接法比较了解了吧~

    展开全文
  • 操作系统——成组链接法

    千次阅读 2021-12-09 19:17:18
    成组链接法 空闲盘块的分配和回收 分配 回收

    UNIX空间空间管理——成组链接法

    成组链接法是将将空闲表和空闲链表结合起来,兼备两种方法的优点。

    空闲盘块的组织

    (1)空闲盘块号栈

    用来存放当前可用的一组空闲盘块的盘块号(最多100),以及栈中尚有的空闲盘块号数N,N可以兼做栈顶指针用。

    (2)分组

    文件区所有空闲盘块被分成若干个组,如将每100个盘块作为一个组。

    (3)成链

    将每一组含有的盘块总数N和该组所有的盘块号记入其前一组的第一个盘块的s.free(0)---s.free(99)。由各组的第一个盘块链成一条链。

    如图:

     

    空闲盘块的分配和回收

    分配

    (1)空闲盘块是否上锁,未上锁 ,栈顶取一空闲盘块号

    (2)将栈顶指针下移一格,空闲盘块号数-1

    (3)若该盘块号已是栈底,调用磁盘读过程,将内容读入栈中,作为新的盘块号内容。并把栈底对应的盘块分配出去。(数据已读入栈中)

    (4)再分相应缓冲区,作为该盘块的缓冲区。最后把栈中的空闲盘块数-1返回。

    回收

    将回收的盘块号放入空闲盘块号栈顶,空闲盘块数+1。若栈中空闲盘块号数已达100时,表示栈已满,将现有的100个盘块号记入新回收的盘块中,再将其盘块号作为新的栈底。

    例题

    成组链接法管理空闲盘块,每组4块,当前情况如图:

     (1)画出回收801,802块后的情况:

     (2)回收后,有一进程又需要分配4块空闲盘块,画出分配之后的情况。

    展开全文
  • 成组链接法详解+Java代码

    千次阅读 多人点赞 2018-06-27 01:37:21
    成组链接法介绍 在UNIX系统中,将空闲块分成若干组,每100个空闲块为一组,每组的第一空闲块登记了下一组空闲块的物理盘块号和空闲块总数。 在UNIX系统中,将空闲块分成若干组,每100个空闲块为一组,每组的第一...
  • 操作系统:文件系统——空闲块成组链接法的模拟

    千次阅读 多人点赞 2020-01-04 21:18:28
    文件系统——空闲块成组链接法的模拟 (1)设计合适的数据结构模拟磁盘空闲块的情况。 (2)模拟分配空闲块的过程。 (3)模拟回收空闲块的过程。 (4)模拟对所有空闲块进行分析、凑连续块 的维护过程。 思路 构造...
  • 操作系统–––成组链接法

    千次阅读 多人点赞 2020-11-26 11:26:12
    成组链接法介绍 计算机上的文件是记录在磁盘上的,而磁盘空间的分配是以盘块为单位的,那么如何管理磁盘中已经被使用的块和未被使用的块是操作系统必须要考虑的问题。下面将介绍比较实用又有点复杂的成组链接法,看...
  • 标准的成组链接法。30个盘块,五个一组,
  • 利用成组链接法来完成磁盘的回收和释放 这是源代码文件 用c写的 大家看看
  • 【操作系统】成组链接法详解

    千次阅读 多人点赞 2019-12-22 17:48:40
    成组链接法介绍 计算机上的文件是记录在磁盘上的,而磁盘空间的分配是以盘块为单位的,那么如何管理磁盘中已经被使用的块和未被使用的块是操作系统必须要考虑的问题。下面将介绍比较实用又有点复杂的成组链接法,看...
  • 操作系统 成组链接法

    2011-12-09 15:47:03
    操作系统 成组链接法 c++ 希望对大家有帮助
  • 东北大学操作系统课设成组链接法文件系统报告.doc
  • 文件系统——空闲块成组链接法的模拟 文章目录文件系统——空闲块成组链接法的模拟内容思路代码 内容 设计合适的数据结构模拟磁盘空闲块的情况。 (操作系统第二版 孟庆昌 5.4下的第4点) 模拟分配空闲...
  • 模拟UNIX系统成组链接法实现磁盘存储空间的管理.doc
  • 模拟unix系统成组链接法实现磁盘存储空间的管理.doc
  • 20. 空闲磁盘存储空间的管理:UNIX成组链接法。(1人) 4分  建立相应的数据结构;  磁盘上建立一个文件,文件长度设为10MB,用该文件来模拟一个磁盘,磁盘的物理块大小为512字节。  建立进程的数据结构;  ...
  • 成组链接法习题

    千次阅读 2018-05-22 17:26:19
    操作系统】成组链接法刚刚学习完文件管理这一章的内容,这道题用来练习和理解成组链接法还是很合适的。例题.某个系统采用成组链接法来管理磁盘的空闲空间,目前磁盘的状态如图1所示。 (1) 该磁盘中目前还有多少...
  • 操作系统 ---成组链接法(盘块的分配和回收)

    万次阅读 多人点赞 2019-01-07 12:56:11
    成组链接法介绍 计算机上的文件是记录在磁盘上的,而磁盘空间的分配是以盘块为单位的,那么如何管理磁盘中已经被使用的块和未被使用的块是操作系统必须要考虑的问题。下面将介绍比较实用又有点复杂的成组链接法,看...
  • 文件存储空间的管理:成组链接法

    千次阅读 2017-04-29 15:20:49
    成组链接法是Unix系统中常见的管理空闲盘区的方法。   在UNIX系统中,将空闲块分成若干组,每100个空闲块为一组,每组的第一空闲块登记了下一组空闲块的物理盘块号和空闲块总数。如果一个组的第二个空闲块号等于0...
  • 4、文件存储空间管理思维导图文件的初始化和划分文件存储空间管理方法1、存储空间管理——空闲表法2、存储空间管理——空闲链表法3、存储空间管理——位示图法4、存储空间管理——成组链接法 思维导图 文件的初始化...
  • 成组链接法 0.思维导图 1.存储空间的划分与初始化 2.空闲表法 如何分配? 如何回收? 3.空闲链表法 空闲盘块链 空闲盘区链 4.位示图法 如何分配与回收? 5.成组链接法 超级块的作用 如何分配? 需要...
  • 操作系统原理之成组链接法

    万次阅读 2016-04-03 18:24:31
    成组链接法是UNIX/Linux等大型文件系统采用的文件空间管理方法。在UNIX/Linux系统中,将空闲块分成若干组,每100个空闲块为一组,每组的第一个空闲块登记了下一组空闲块的物理盘块号和空闲块总数。如果一组的第一个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 167,732
精华内容 67,092
关键字:

成组链接法