D_D系统构建-MBR(1)

本文详细介绍了MBR(主引导记录)的概念及其在磁盘上的布局方式,包括MBR的结构、分区表的作用以及如何处理超过512字节的MBR等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MBR,英文含义:Main Boot Record),主引导纪录,是位于磁盘最前边的一段引导(Loader)代码,一般写于磁盘第一个扇区处,且最后两个 字节为0xAA55。它是我们的系统上电后第一个运行的磁盘程序(在它前面实际还有很多固件程序,bios等,主要完成硬件自检工作,这阶段发生任何异常,比如内存异常,显卡异常,磁盘异常等均会中止,当然这一块我们不关注,也无法干预),最简单的理解就看成是由我们的pc把它加载到内存地址0:0x7c00处,然后将执行权利交由它来运行。

MBR到内存的映射关系:


这个扇区因为只有512字节,实际可用只有446字节,后面64字节是分区表,最后以0xaa55结束,很明显无法完成复杂的操作,因此它的使命一般是加载第二个程序,将控制权交由第二个程序运行,比如我们这里的Loader.

MBR结构:



因为我们只有一个磁盘,所以64字节的分区表可以进行直接覆盖,毕竟我们只是尝试,在后面熟悉了后,可以进一步了解这个分区表并使用它来定位到每一个分区(所谓分区,就类似我们在window上习惯将一个硬盘划分为c盘,D盘等,而分区表则是纪录每个分区的起始位置,大小等信息)

当然我们为了让它能加载 loader,会要求它按照我们的文件系统来查询Loader,读取Loader文件到指定内存区域,并将控制权交由它。

这里,我可以告诉你,加上这个文件系统读取,总字节肯定会超过512字节,你要是强制从第一扇区开始写,紧跟着的是扇区里面内容还记得吗?那是我们的文件系统区,这样肯定会破坏文件系统内容,严重的导致无法查询到Loader文件。

MBR禁止覆盖区域(标红处):



那就没有办法了吗?

办法肯定有,软件上从来就没有搞不定的办法。其实很简单。我们规定了我们只用4096个扇区(编号从0开始,范围0-4095),换成字节就是4096*512=2M字节,我们的磁盘实际会分配10M,可以把mbr超出512字节的写到4096开始的扇区中,这样在运行mbr时,第一件事就是把4096开始的加载到0x7e00开始处,对应上图中的RSV区域。

很明显,这里面还需要获取mbr的总长度,或者总扇区数目,这些都简单。

这样,我们的磁盘利用会变成这样:


其中,MBR-1与MBR-2共同组成MBR,


总结起来,对MBR我们需要处理的事情为:1.MBR超过512字节时,如何 写入磁盘中。2.在系统读取第一个扇区到内存0x7c00时,如何保证该扇区的mbr标识0xaa55存在,否则系统无出错。2. 加载到内存后,如何知道自己的总长度并能把自己剩余的内存全部加载进内存中。

下一章节,会一一解决这些问题。届时,我们将逐步介绍nasm, dd bochs等工具。大家要使用时,可提前通过apt-get工具来安装nasm bochs ; dd工具为ubuntu自带,不需要安装 。



用matlab编程出代码,求出peboeb,附录中的公式推导了多RIS辅助毫米波定位系统的Fisher信息矩阵(FIM),用于计算位置误差界(PEB)旋转角度误差界(OEB)。以下是关键公式及参数的详细解释: --- **1. 中间估计量η的分解** \[ \eta = [\mathbf{h}_0, \mathbf{h}_1, \ldots, \mathbf{h}_I]^T \] • \(\mathbf{h}_0\):直达路径(LOS)相关参数: \[ \mathbf{h}_0 = [\tau_{\text{MB}}, \theta_{\text{MBt}}, \theta_{\text{MBr}}, \Re\{g_0\}, \Im\{g_0\}] \] • \(\tau_{\text{MB}}\):MS到BS的时延。 • \(\theta_{\text{MBt}}\):MS发射角(AOD)。 • \(\theta_{\text{MBr}}\):BS接收角(AOA)。 • \(g_0\):LOS路径的复增益(实部\(\Re\{g_0\}\)虚部\(\Im\{g_0\}\))。 • \(\mathbf{h}_i\)(i=1,2,...,I):第i个RIS路径相关参数: \[ \mathbf{h}_i = [\tau_{\text{MRB},i}, \theta_{\text{MR},i}, \psi_{\text{MR},i}, \phi_{\text{MR},i}, \Re\{g_i\}, \Im\{g_i\}] \] • \(\tau_{\text{MRB},i}\):MS→RIS_i→BS的时延。 • \(\theta_{\text{MR},i}\):MS到RIS_i的发射角(AOD)。 • \(\psi_{\text{MR},i}, \phi_{\text{MR},i}\):RIS_i到BS的方位角俯仰角(AOA)。 • \(g_i\):第i个RIS路径的复增益。 --- **2. Fisher信息矩阵(FIM)的计算** FIM元素由接收信号对参数的偏导数计算得到: \[ [J_{\eta}]_{m,n} = \frac{2}{\sigma^2} \sum_{n=1}^N \Re\left\{ \frac{\partial \mu[n]^H}{\partial \eta_m} \frac{\partial \mu[n]}{\partial \eta_n} \right\} \] • \(\mu[n]\):接收信号的均值,\(\mu[n] = \sqrt{\frac{N_b N_m}{N}} \mathbf{H}[n] \mathbf{x}[n]\)。 • \(\sigma^2\):噪声功率。 • \(N_b, N_m\):基站用户的天线数。 • \(\mathbf{H}[n]\):总信道矩阵,包含LOSRIS路径。 --- **3. 同步与非同步情况下的时延参数** • 同步情况: • \(\tau_{\text{MB}} = \frac{\|\mathbf{q} - \mathbf{p}\|}{c}\)(真实时延)。 • \(\tau_{\text{MRB},i} = \frac{\|\mathbf{q} - \mathbf{s}_i\| + \|\mathbf{s}_i - \mathbf{p}\|}{c}\)(级联路径时延)。 • 非同步情况: • \(\tau_{\text{LOS}} = \tau_{\text{MB}} + \hat{\tau}_{\text{MB}}\)(含同步误差\(\hat{\tau}_{\text{MB}}\))。 • \(\tau_{\text{VLOS},i} = \tau_{\text{MRB},i} + \hat{\tau}_{\text{MRB},i}\)(含随机相位偏移)。 --- **4. 信道矩阵的偏导数** 直达路径(LOS)的偏导数: \[ \frac{\partial \mu[n]}{\partial \tau_{\text{MB}}} = \sqrt{\frac{N_b N_m}{N}} g_0 e^{-j\frac{2\pi(n-1)B\tau_{\text{MB}}}{N}} \mathbf{a}_B(\theta_{\text{MBr}}) \mathbf{a}_M^H(\theta_{\text{MBt}}) \] • \(\mathbf{a}_B(\theta)\):基站天线导向矢量。 • \(\mathbf{a}_M(\theta)\):用户天线导向矢量。 • \(B\):信号带宽。 RIS路径的偏导数: \[ \frac{\partial \mu[n]}{\partial \tau_{\text{MRB},i}} = \sqrt{\frac{N_b N_m}{N}} g_i e^{-j\frac{2\pi(n-1)B\tau_{\text{MRB},i}}{N}} \mathbf{a}_B(\theta_{\text{RB},i}) \mathbf{a}_R^H(\phi_{\text{RB},i}, \psi_{\text{RB},i}) \Omega_i \mathbf{a}_R(\phi_{\text{MR},i}, \psi_{\text{MR},i}) \mathbf{a}_M^H(\theta_{\text{MR},i}) \] • \(\mathbf{a}_R(\phi, \psi)\):RIS天线导向矢量(水平垂直方向)。 • \(\Omega_i = \text{diag}(e^{j\theta_{i,1}}, \ldots, e^{j\theta_{i,L}})\):第i个RIS的相位矩阵,\(L\)为RIS单元数。 --- **5. 路径损耗模型** • LOS路径损耗: \[ \text{PL}_{\text{MB}} = \text{路径损耗模型}(d_{\text{MB}}) \] • RIS路径损耗: \[ \text{PL}_{\text{MRB},i} = \text{PL}_{\text{MR},i} + \text{PL}_{\text{RB},i} \] • \(d_{\text{MR},i} = \|\mathbf{q} - \mathbf{s}_i\|\)(MS到RIS_i距离)。 • \(d_{\text{RB},i} = \|\mathbf{s}_i - \mathbf{p}\|\)(RIS_i到BS距离)。 --- **6. 雅可比矩阵转换** 通过链式法则将FIM从中间参数η转换到位置/旋转角参数: \[ J_{\eta} = \mathbf{T}^T J_{\tilde{\eta}} \mathbf{T} \] • \(\mathbf{T}\):雅可比矩阵,元素为\(\frac{\partial \mathbf{h}_i}{\partial q_x}, \frac{\partial \mathbf{h}_i}{\partial q_y}, \frac{\partial \mathbf{h}_i}{\partial q_z}, \frac{\partial \mathbf{h}_i}{\partial \alpha}\)--- **关键参数总结** | 参数 | 物理意义 | |-------------------------|-----------------------------------------------------------------------------| | \(\tau_{\text{MB}}\) | MS到BS的时延,与距离\(\|\mathbf{q} - \mathbf{p}\|\)成正比。 | | \(\theta_{\text{MBt}}\) | MS天线的发射角(AOD),由用户位置朝向决定。 | | \(\theta_{\text{MBr}}\) | BS天线的接收角(AOA),由用户位置决定。 | | \(g_0\) | LOS路径的复增益,包含路径损耗小尺度衰落。 | | \(\Omega_i\) | 第i个RIS的相位矩阵,通过优化可调节反射波束方向。 | | \(\phi_{\text{MR},i}\) | MS到RIS_i的俯仰角,由几何关系决定。 | | \(\psi_{\text{RB},i}\) | RIS_i到BS的方位角,影响级联信道的空间特性。 | | \(N_b, N_m\) | 基站用户的天线数,决定阵列增益角度分辨率。 | --- 通过上述分析,附录中的公式完整刻画了多RIS辅助定位系统的参数估计过程,为计算PEBOEB提供了理论基础。
最新发布
05-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值