热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

磁盘管理_磁盘管理2

第八章 磁盘管理7.2 外存的分配文件的物理结构(存储结构)一、连续分配(顺序文件)为每一个文件分配一组相邻接的盘块。   优点:顺序访问容易,顺序访问

第八章 磁盘管理

7.2 外存的分配

文件的物理结构(存储结构)

一、连续分配(顺序文件)

为每一个文件分配一组相邻接的盘块。

 技术图片

 

 

优点:顺序访问容易,顺序访问速度快。

缺点:要求为一个文件分配连续的存储空间;必须事先知道文件的长度;不便于增删改。

二、链接分配(链接文件)

优点:消除了磁盘的外部碎片,提高了外存的利用率;增删改方便;无需事先知道文件大小。

缺点:不便于查

链接方式分为隐式链接和显式链接。


  1. 隐式链接

破坏了块的完整性。


  1. 显式链接

把用于链接文件各物理块的指针显式的存放在内存的一张链接表中。

 技术图片

 

 

三、索引分配(索引文件)


  1. 单级索引

N*(A/b)*A


  1. 多级索引

N*(A/b)^n*A

 技术图片

 

 


  1. 多级混合索引(UNIX)

UNIX System V的索引结点设有13个地址项。

 技术图片

 

 

10+(A/b)+(A/b)^2+(A/b)^3)*A

 

7.3 空闲空间管理

一、空闲区表法





























序号

第一空闲盘块号

空闲盘块数

1

2

4

2

9

3

3

15

5

4

——

——

 

二、空闲链表法

 

 技术图片

 

 

 

三、位示图法

 技术图片

 

 


  1. 盘块的分配

根据位示图进行盘块分配时,可分三步进行:

(1)顺序扫描位示图,从中找出一个或一组其值为“0”的二进制位(“0”表示空闲时)。

(2)将所找到的一个或一组二进制位转换成与之相应的盘块号。假定找到的其值为“0” 的二进制位位于位示图的第i行、第j列,则其相应的盘块号应按下式计算: b = n(i - l)+j

式中,n代表每行的位数。

(3)修改位示图,令map [i,j]=1


  1. 盘块的回收

盘块的回收分两步:

(1)将回收盘块的盘块号转换成位示图中的行号和列号。

转换公式为: i = (b - 1)DIV n+ 1 ;j = (b- l)MOD n + 1

(2)修改位示图。令map[i,j] = 0。

四、成组链接法

 技术图片

 

 

空闲盘块号栈存放当前可用的一组空闲盘块的盘块号和块数


推荐阅读
  • 解决Ant编译时出现的非法字符错误
    在进行Java项目的Ant构建过程中,有时会遇到由平台差异引发的编译错误。本文将详细探讨一种常见的错误——'error: illegal character'及其解决方案。 ... [详细]
  • 本文介绍了如何在Ubuntu 16.04系统上配置Nginx服务器,以便能够通过网络访问存储在服务器上的图片资源。这解决了在网页开发中需要使用自定义在线图标的需求。 ... [详细]
  • 本文介绍了ADB(Android Debug Bridge)的基本概念、安装方法、环境配置、连接真机步骤以及常用命令和高级技巧。ADB是一个强大的工具,适用于Android设备的开发和调试。 ... [详细]
  • Zookeeper面试常见问题解析
    本文详细介绍了Zookeeper中的ZAB协议、节点类型、ACL权限控制机制、角色分工、工作状态、Watch机制、常用客户端、分布式锁实现、默认通信框架以及消息广播和领导选举的流程。 ... [详细]
  • 深入探讨PHP中的输出缓冲技术(Output Buffering)
    本文深入解析了PHP中输出缓冲(Output Buffering)的原理及其在Web开发中的应用,特别是如何通过输出缓冲技术有效管理HTTP头部信息,提高代码的灵活性与健壮性。 ... [详细]
  • 本文详细介绍了 Nginx 中用于端口监听的核心配置指令,包括其基本用法和高级选项。 ... [详细]
  • socket函数SOCKET()我们使用系统调用socket()来获得文件描述符:#include#includei ... [详细]
  • 详解Linux中的mount命令及其应用
    本文旨在深入解析Linux系统中的mount命令,涵盖其基本用法及高级特性,如挂载各种存储设备和网络文件系统。适合初学者及有一定经验的技术人员学习。 ... [详细]
  • 本文详细介绍了SSH(Secure Shell)的基础知识、应用场景以及如何在不同平台上使用SSH进行安全的远程操作。文章还探讨了SSH的高级用法,如免密登录和其他安全增强措施。 ... [详细]
  • 反向代理是一种重要的网络技术,用于提升Web服务器的性能和安全性,同时保护内部网络不受外部攻击。本文将探讨反向代理的基本概念、与其他代理类型的区别,并详细介绍如何使用Squid配置反向代理。 ... [详细]
  • ODBC介绍:开放式数据库连接详解
    本文详细介绍了ODBC(开放式数据库连接),这是一种允许应用程序访问多种数据库系统的标准API。自1992年由微软与Simba合作推出以来,ODBC已成为跨平台数据访问的重要标准。 ... [详细]
  • 本文详细解析了 MySQL 中的 ibdata1 文件,探讨其存储内容、快速增长的原因及解决策略。 ... [详细]
  • 从 Windows 转向 Mac 的开发者指南:必备技巧与工具
    本文旨在帮助从 Windows 转向 Mac 的开发者们,提供一系列实用的技巧和工具,确保过渡过程顺畅。 ... [详细]
  • 本文探讨了Unix和Linux操作系统的起源和发展历程。从20世纪60年代计算机技术的初期阶段,到Unix的诞生及后续Linux的崛起,文章详细介绍了这些操作系统如何逐步成为现代计算不可或缺的一部分。 ... [详细]
  • 本文由fulinux撰写,探讨了BeagleBone平台下Yocto配置文件中的MACHINE_EXTRA_RRECOMMENDS变量的具体作用及其对系统构建的影响。欢迎关注和支持。 ... [详细]
author-avatar
阳光-假日
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有