如何求磁盘的物理地址

概念:

磁盘上的物理地址一般用:柱面号,盘面号,扇区号(或者块号)表示

1、柱面:我理解为其实就是一个盘片的一面,每个盘面有自己的编号。

2、扇区:将盘片分为若干个扇形区域,每一个区域有自己的编号。

3、磁道:在盘片的一个圆环就是一个磁道,从内到外或者从外到内编号。

通过柱面,扇区,磁道这样划分,一个磁盘的盘片可以分为若干个物理块,然后这样的盘片(柱面)又不止一个,

这就是我们外存存放数据的方式。

如何将一个内存中的簇号来转化为磁盘上的物理地址:

将簇号转化为磁盘物理地址的过程由磁盘驱动程序完成。

假设内存的簇号为b,则:

柱面号: 簇号/每个柱面的簇数——结果向下取整

分析:给出的簇号可以当做物理块的总数,所求柱面号就是判断簇号第几个盘片上,则需除以每个盘片的总物理块数,结果是向上取整,因为多出来的小数代表需要多用一块盘片来装。

磁头号: (簇号%每个柱面的簇数)/每个磁道的簇数——结果向下取整

分析:一个磁道代表一个圆环,也就是一圈,然后一圈上的物理块的个数是根据分的扇区个数来决定的。给出的簇号同样当成物理块的总数,所求的磁头号可以认为簇号在一个柱面的哪一个磁道上,则需除以一个柱面的所有物理块取余(得到他剩下的物理块),然后再除以一个磁道的物理块数,来判断簇号在哪一个圆环上,结果依旧向下取整。

扇区号: 扇区地址(簇号)%每个磁道的扇区数

分析:所求扇区号可以认为簇号在一个柱面的一个磁道的哪一个扇形的区域上。由于我们之前得到了柱面号和磁头号。我们就确定了所求簇号在哪一个盘片的哪一个磁道上(也就是哪一个圆环上),现在需要求出扇区号来得到他最后的位置,则可以用簇号(所求物理块总数)对一个磁道上的所有物理块总数取余。

位置,则可以用簇号(所求物理块总数)对一个磁道上的所有物理块总数取余。

这样我们就确定了一个簇号在磁盘上的具体位置了。


如果你觉得这篇文章对您有帮助的话,麻烦帮我点个点个赞关注一下吧,创作不易,有你的支持才是我前进的动力~

操作系统——如何求磁盘的物理地址相关推荐

  1. 操作系统实验4—磁盘调度

    操作系统实验4-磁盘调度 文章目录 操作系统实验4-磁盘调度 实验描述 设计思路 上机代码 测试结果 心得体会 实验描述 实验内容: 编写一个磁盘调度程序,模拟操作系统对磁盘的调度. 实验目的: 本实 ...

  2. 各种操作系统支持的磁盘格式对比

    各种操作系统支持的磁盘格式对比 操作系统 支持的磁盘格式 Windows FAT32.exFAT.NTFS macOS HFS+.APFS Linux EXT2.EXT3.EXT4.XFS.Btrfs ...

  3. 解决“磁盘已成功扩展。您必须从客户机操作系统内部对磁盘重新进行分区和扩展文件系统”。

    解决"磁盘已成功扩展.您必须从客户机操作系统内部对磁盘重新进行分区和扩展文件系统". 背景环境:centos7 图形化界面,以及解决拷贝磁盘镜像文件时,报images卷容量不足的问 ...

  4. 操作系统基础(十)物理地址和虚拟地址

    物理地址   指的是真实物理内存中地址,更具体一点就是内存地址寄存器中的地址.物理地址是内存单元真正的地址.   我们32位的系统的地址空间就是我们的232字节(4GB),而64位的地址空间大小就是2 ...

  5. 操作系统:虚拟地址翻译为物理地址的过程

    现代的操作系统将可执行文件加载后,创建了进程,进程中每一条指令和数据都被分配了一个虚拟地址,CPU获取到这个虚拟地址后,需要翻译成内存的物理地址后,才能访问指令和数据,本片文章阐述的重点就是虚拟地址翻 ...

  6. 操作系统原理之磁盘调度

    首先介绍主要的的四种磁头调度算法 (一)先来先服务算法(FCFS) 1.算法思想:按访问请求到达的先后次序服务. 2.优点:简单,公平. 3.缺点:效率不高,相邻两次请求可能会造成最内到最外的柱面寻道 ...

  7. linux中如何新建一个磁盘,如何在Linux操作系统中新建磁盘分区

    判断虚拟机初始化磁盘的容量大小. 小于2TB时请执行步骤 2. 大于等于2TB时请执行步骤 21. 登录虚拟机,在操作系统桌面上单击右键,选择"打开终端",进入命令行界面. htt ...

  8. aix mysql日志,一次AIX 操作系统ASM添加磁盘的操作日志

    本次做了两种操作,一是把新PV加入到ASM中,二是删除不再使用的VG,把释放的磁盘加入到ASM中 数据库版本: Oracle 11.2.0.2 操作系统版本:AIX 6.1 本次做了两种操作,一是把新 ...

  9. linux新磁盘初始化,如何在Linux操作系统中初始化磁盘

    执行以下命令,进入fdisk模式. 本步骤中以"/dev/xvde"为例. fdisk /dev/xvde 屏幕回显如下: ... Warning: invalid flag 0x ...

最新文章

  1. gin自定义HTTP配置
  2. 信息系统开发平台OpenExpressApp - 数据权限
  3. C++学习(十七)(C语言部分)之 指针
  4. 使用动画播放文件夹中的图片
  5. getsockname与getpeername用法与区别
  6. 数据库系统实训——实验六——游标
  7. Spring Security 基于数据库的认证
  8. nexus配置第三方库文件
  9. c++编写手机小游戏代码_24个c++游戏源码
  10. 【转载】SAP Smartform A5 针式打印机 打印格式横向问题
  11. Hi3559A Hi3519A Hi3556A算力对比
  12. 大数据下机械智能诊断的机遇与挑战,阅读文献系列(一)
  13. 软件开发之计划阶段: ”声控打鼓”游戏的”用户/场景”分析
  14. 一个入行很长的老鸟给新手的一些建议——转
  15. 6个 Python 办公黑科技,工作效率提升100倍!(附代码)
  16. html5自动填充账号密码,谷歌浏览器怎么自动填充账号密码?自动填充账号密码的方法分享...
  17. 1.4总线:并行总线、串行总线、单工、半双工、全双工、总线宽度、总线带宽、总线的分类、数据总线、地址总线、控制总线
  18. 杰里之 定时器捕获(timer_cap.c) 使用注意事项【篇】
  19. js验证16进制和十进制
  20. Android中的Serializable和Parcelable序列化

热门文章

  1. Android The destination folder does not exist or is not writeable
  2. 计算机底层知识之CPU
  3. 多开分身苹果版_苹果手机如何同时登陆两个微信 iPhone微信多开教程
  4. UE5笔记【六】流明引擎Lumen简介;Lumen处理发光物体。
  5. EF Power Tool 参数错误 HRESULT:0x80070057 (E_INVALIDARG)) 解决办法
  6. 【不忘初心】Win10_20H2_2009_19042.572_X64_六合一_[纯净精简版](2020.10.29)
  7. 2 一个完整的计算机系统包括,一个完整的计算机系统应包括.doc
  8. Centos7安装Nginx监控组件Nginx-rrd【二】
  9. gvdp哪个工厂用_BTP、BTD与FSS三种线束设计业务模式的区别
  10. WinRAR分卷压缩与解压缩