当前位置: 技术问答>linux和unix
求大家帮忙了。。。急用 谢谢了
来源: 互联网 发布时间:2016-09-03
本文导语: 详细描述内核为指定磁盘块分配磁盘高速缓冲区的getblk算法 | 1 输入:文件系统号,块号,输出:上了锁的缓冲区 { while (没找到缓冲区) { if (块在散列队列中) ...
详细描述内核为指定磁盘块分配磁盘高速缓冲区的getblk算法
|
1 输入:文件系统号,块号,输出:上了锁的缓冲区
{
while (没找到缓冲区)
{
if (块在散列队列中)
{
if (块忙)
{
sleep (等待"缓冲区变为空闲"事件);
continue; /*回到while循环*/
}
为缓冲区标记上"忙";
从空闲表上摘下缓冲区;
return (缓冲区);
}
else /*块不在散列队列中*/
{
if (空闲表上无缓冲区)
{
sleep (等待"任何缓冲区变为空闲"事件);
continue; /*回到while循环*/
} 从空闲表上摘下缓冲区;
if (缓冲区标记着延迟写)
{
把缓冲区异步写到磁盘上;
continue; /*回到while循环*/
}
从旧散列队列中摘下缓冲区;
把缓冲区投入新散列队列;
return (缓冲区);
}
}
}
|
更详细的可以查阅ulk3的文件系统部分
|
厉害,
支持