磁盘的成组与分解技术

开始理解错了成组与分解的意思,现在重新总结如下。

记录的成组与分解

1、记录的成组与分解的原因:由于磁盘块的大小是预先划分好的,大小固定,而逻辑记录的大小是用户文件性质决定的,不一定和块大小一致。

2、记录的成组:把若干个逻辑记录存入一个块的工作称为“记录的成组”。每块中逻辑记录的个数称“块因子”。

3、记录的分解:这是记录成组的一个逆过程。进程是先从磁盘中找到记录所在的块,并将本块读入主存缓冲区,再从缓冲区取出所需要的记录送到用户工作区。如果用户所需的记录已经在缓冲区中,则不需要启动外设读块信息,这也可以提高系统工作效率。

有一个问题是:逻辑记录能否跨越两个块

不能。通常设计的逻辑记录的长度与物理块的长度是有整数倍数的。如果没有我们需要看一个名词:块因子。即:一个物理块能存的逻辑记录的数目。成组分解是为了加快读取的效率的。试想,如果恰好一个逻辑记录占用了两个物理块的尾部和首部,那么这种不对齐的方式读取效率是大打折扣的。也即,要读入两个物理块才能读取这个逻辑记录。所以这是不可能的。

之所以会这么提是因为在这样一种情境下:逻辑记录100B,物理块大小512B,那么请问第22个逻辑记录在哪一个物理块。两种想法:5个逻辑记录在一个物理块,那么20个逻辑记录占用4块,因此第22个逻辑记录在第5个物理块。
另一种思路是:前5个占用500B,剩下的12B给第六个逻辑记录这样。这样计算就是22×100÷512=4.3022\times 100 \div 512 = 4.30,上取整得到5.答案也是一样的,但是思考的方式却是错的。

设文件ABCD为定长记录的连续文件,共有18个逻辑记录。如果记录长为512B,物理块长为1024B,采用成组方式存放,起始块号为12,叙述第15块逻辑记录读入内存缓冲区的过程。

答:采用成组方式存放,块因子为2。由于共有18个逻辑记录,故占用了9个物理块,而第15号逻辑记录占用的是第15/2=8(向上取整)物理块。因为,是连续文件物理块也是连续的,所以,该逻辑记录占用的是12+8-1=19块。所以,第15号逻辑记录读入内存缓冲区的过程如下:根据块因子,计算占用的相对物理块号8;根据起始块号为12,计算出绝对物理块号19;把物理块号19读入内存缓冲区;把所要的逻辑记录分解出来。

磁盘的成组与分解技术相关推荐

  1. 《 ERP高级计划》书的解读-APS算法分析之七分解技术(DT)(蔡颖)(转)

    < ERP高级计划>书的解读-APS算法分析之七分解技术(DT)(蔡颖) http://www.amteam.org/k/Board/2004-12/486153.html 分解技术(De ...

  2. 推荐系统中的矩阵分解技术

    推荐系统中的矩阵分解技术 本文翻译自Koren Y, Bell R, Volinsky C. Matrix Factorization Techniques for Recommender Syste ...

  3. 一文帮你梳理清楚:奇异值分解和矩阵分解 | 技术头条

    作者 | K. Delphino 译者 | Linstancy 编辑 | Rachel 出品 | AI科技大本营(id:rgznai100) [导读]在推荐系统的相关研究中,我们常常用到两个相关概念: ...

  4. Linux磁盘扇区和内存页,技术|检查linux中硬盘损坏的扇区和区块

    badblocks是linux及其类似的操作系统中,扫描检查硬盘和外部设备损坏扇区的命令工具.损坏的扇区或者损坏的区块是硬盘中因为永久损坏或者是操作系统不能读取的空间. Badblocks命令可以探测 ...

  5. Matlab高光谱遥感数据处理与混合像元分解实践技术

    光谱和图像是人们观察世界的两种方式,高光谱遥感通过"图谱合一"的技术创新将两者结合起来,大大提高了人们对客观世界的认知能力,本来在宽波段遥感中不可探测的物质,在高光谱遥感中能被探测 ...

  6. Matlab高光谱遥感、数据处理与混合像元分解实践技术应用

    光谱和图像是人们观察世界的两种方式,高光谱遥感通过"图谱合一"的技术创新将两者结合起来,大大提高了人们对客观世界的认知能力,本来在宽波段遥感中不可探测的物质,在高光谱遥感中能被探测 ...

  7. 存储可靠性技术【RAID】、RAID2.0技术、主机多路径和磁盘可靠性技术【7】

    文章目录 传统RAID技术 RAID 2.0+技术 RAID技术发展 RAID2.0+ 软件逻辑对象 RAID2.0+基本原理 硬盘域 Strorage Pool & Tier Disk Gr ...

  8. 磁盘阵列 and RAID技术简介

    磁盘阵列简述: 磁盘阵列是一种把若干硬磁盘驱动器按照一定要求组成一个整体,整个磁盘阵列由阵列控制器管理的系统.冗余磁盘阵列RAID(Redundant Array of Independent Dis ...

  9. 技术债务研究综述X4

    目录 Paper1: Managing Technical Debt 与金融债务的比较 管理你的债务 不同角度的债务成本 总结 Paper2: Technical Debt: From Metapho ...

最新文章

  1. wp7 给TextBox设置圆角边框
  2. 庖丁解牛TLD(一)——开篇
  3. Java的四种引用——强软弱虚
  4. Ubuntu Fcitx 乱码教训
  5. httplistener java_Java监听器listener的介绍
  6. Xcode的gdb调试
  7. 了解和熟悉数据库相关知识
  8. CCS安装多版本编译器 Compiler version__更新手动下载、安装方法
  9. 了解new一个对象具体过程
  10. Pycharm内部打不开生成的词云图,且显示Image not loaded,Try to open it externally to fix format problem,外部文件夹中图片可显示
  11. 重磅!2022国家杰青,硕博校友统计出炉
  12. 王者荣耀服务器维护七月,《王者荣耀》7.28不停服维护更新攻略教程 7月28日更新公告...
  13. 通过双目深度相机获取三维坐标
  14. python中functools的partiaethod_设置functools.partial作为Python中的一个实例方法
  15. Azure Log Analytics产品API文档读后感
  16. 前端html和css的基本知识
  17. Feedback Control of Dynamic Systems 7th
  18. tensorflow streaming_recall@kprecision@k与sklearn的区别
  19. 不借助第三方程序 无需ie拨号 自动实现adsl拨号上网【ALLyeSNO】
  20. dogepool.pw index.php,php – 在Dogecoin转换欧元

热门文章

  1. python 百度识图_python如何调用百度识图api
  2. z tree 如何把选中的节点保存为标准的json格式_为什么MongoDB使用B-Tree?
  3. mysql ssl 1067_mysql服务无法启动1067错误,谁知道正确的解决方法?
  4. wpf menuitem 点击控件元素_一招教你如何在WPF界面开发时自定义外观,快来Get
  5. sql有循环吗_我把 SQL 执行效率提高了 10,000,000 倍!
  6. xp 无法运行 php.exe,【xpexe文件不能执行】xp exe文件打不开_xp系统exe文件打不开-系统城...
  7. OpenCV-Python实战(3)——OpenCV中绘制图形与文本
  8. 如何在Linux,Ubuntu,CentOS上安装Java 14
  9. 如何检查Java中是否存在文件
  10. jquery悬停_jQuery悬停()