⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 booting-power_on_2.htm

📁 编写自己的操作系统
💻 HTM
📖 第 1 页 / 共 4 页
字号:
lang=EN-US>1K</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</SPAN><SPAN 
lang=EN-US>RAM。</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">最终,</SPAN><SPAN 
lang=EN-US>POST</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">执行</SPAN><SPAN 
lang=EN-US>INT 19h</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中断,找到可以启动的磁盘,并将</SPAN><SPAN 
lang=EN-US>boot</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">程序装入内存</SPAN><SPAN 
lang=EN-US>7C00h</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,并将控制权交给OS的</SPAN><SPAN 
lang=EN-US>boot</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">程序。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
lang=EN-US><o:p></o:p></SPAN>&nbsp;</P>
<HR width="100%" noShade SIZE=2>

<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><SPAN 
lang=EN-US><FONT size=5><STRONG>1.2.4&nbsp;OS Boot 
Sequence</STRONG></FONT></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
lang=EN-US>&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
face="Times New Roman TUR" size=2>当BIOS INT 19h被执行以后,系统进入OS 
Booting阶段。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
face="Times New Roman TUR" size=2></FONT></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
face="Times New Roman TUR" size=2>下面定义几个程序段名称:</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center background="" 
border=1>
  <TBODY>
  <TR>
    <TD><STRONG><FONT face="Times New Roman TUR" 
size=2>Name</FONT></STRONG></TD>
    <TD><STRONG><FONT face="Times New Roman TUR" 
      size=2>Description</FONT></STRONG></TD>
    <TD><STRONG><FONT face="Times New Roman TUR" size=2>Size 
      limit</FONT></STRONG></TD></TR>
  <TR>
    <TD><FONT face="Times New Roman TUR" size=2>Master Booter</FONT></TD>
    <TD><FONT face="Times New Roman TUR"><FONT size=2><SPAN 
      style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">放置于</SPAN><SPAN 
      lang=EN-US>Hard disk</SPAN><SPAN 
      style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的第一个扇区(即</SPAN><SPAN 
      lang=EN-US>MBR</SPAN><SPAN 
      style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">),用于装载</SPAN><SPAN 
      lang=EN-US>boot block</SPAN><SPAN 
      style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的程序。</SPAN></FONT></FONT></TD>
    <TD><FONT face="Times New Roman TUR" size=2>466 bytes</FONT></TD></TR>
  <TR>
    <TD><FONT face="Times New Roman TUR" size=2>Boot Sector</FONT></TD>
    <TD><FONT face="Times New Roman TUR"><FONT size=2>放置与<SPAN 
      lang=EN-US>Floppy</SPAN><SPAN 
      style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的第一个扇区,或者</SPAN><SPAN 
      lang=EN-US>Hard disk</SPAN><SPAN 
      style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的某一分区的第一个扇区的用于装载</SPAN><SPAN 
      lang=EN-US>Secondary boot</SPAN><SPAN 
      style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,或其它程序的可运行程序。</SPAN></FONT></FONT></TD>
    <TD><FONT face="Times New Roman TUR" size=2>512 bytes</FONT></TD></TR>
  <TR>
    <TD><FONT face="Times New Roman TUR" size=2>Secondary Boot</FONT></TD>
    <TD><FONT face="Times New Roman TUR"><FONT size=2>放置于非<SPAN 
      lang=EN-US>Floppy/Hard disk</SPAN><SPAN 
      style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的第一个扇区,以及</SPAN><SPAN 
      lang=EN-US>Hard disk</SPAN><SPAN 
      style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的任意分区的第一个扇区之外的任意其它位置,用于装载</SPAN><SPAN 
      lang=EN-US>OS</SPAN><SPAN 
      style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,或其它程序的可运行程序。</SPAN></FONT></FONT></TD>
    <TD><FONT face="Times New Roman TUR" size=2>no 
limit</FONT></TD></TR></TBODY></TABLE></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
face="Times New Roman TUR" size=2></FONT></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT 
face="Times New Roman TUR"><FONT size=2><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当用硬盘启动</SPAN><SPAN 
lang=EN-US>OS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的时候,以上调用顺序为</SPAN><SPAN 
lang=EN-US> MB&nbsp;-&gt; BS -&gt; SB -&gt; OS;</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT 
face="Times New Roman TUR"><FONT size=2>当用软盘启动<SPAN lang=EN-US>OS</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的时候,以上调用顺序为 
BS&nbsp;-&gt; SB&nbsp;-&gt; OS。</SPAN></FONT></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT 
face="Times New Roman TUR"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"></SPAN></FONT></SPAN><SPAN 
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><SPAN 
lang=EN-US style="FONT-SIZE: 14pt; mso-bidi-font-size: 12.0pt">&nbsp;</P>
<H3 
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0; mso-char-indent-size: 0cm"><FONT 
size=3>
<HR width="100%" SIZE=2>
</FONT></H3></SPAN>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman CYR" 
size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"></SPAN></FONT>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=+0><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><STRONG><FONT 
size=3><FONT face="Times New Roman CYR">1.2.4.1</FONT> 
硬盘启动</FONT></STRONG></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman CYR" 
size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"></SPAN></FONT>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT 
face="Times New Roman TUR"><FONT size=2><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">硬盘的第一个扇区(</SPAN><SPAN 
lang=EN-US>sector</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">)被称作</SPAN><B><SPAN 
lang=EN-US>MBR</SPAN></B><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">(</SPAN><SPAN 
lang=EN-US>Master Boot Record</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">)。由于<SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">硬盘可以有多个分区,所以</SPAN>在</SPAN><SPAN 
lang=EN-US>MBR</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上,不仅放置着用于启动的可执行代码</SPAN><SPAN 
lang=EN-US>master boot</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,还放着磁盘分区表(</SPAN><B><SPAN 
lang=EN-US>DPT</SPAN></B><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">),占用</SPAN><SPAN 
lang=EN-US>66</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个字节,所以</SPAN><SPAN 
lang=EN-US>MBR</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的可执行代码必须在</SPAN><SPAN 
lang=EN-US>512 - 66 = 446</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个字节以内。</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
face="Times New Roman TUR" size=2></FONT></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=1>
  <TBODY>
  <TR>
    <TD><STRONG><FONT face="Times New Roman TUR" 
    size=2>Offset</FONT></STRONG></TD>
    <TD><STRONG><FONT face="Times New Roman TUR" 
    size=2>Content</FONT></STRONG></TD>
    <TD><STRONG><FONT face="Times New Roman TUR" 
  size=2>Size</FONT></STRONG></TD></TR>
  <TR>
    <TD><FONT face="Times New Roman TUR" size=2>0h</FONT></TD>
    <TD><FONT face="Times New Roman TUR" size=2>Master booting 
    program</FONT></TD>
    <TD><FONT face="Times New Roman TUR" size=2>max 466 bytes</FONT></TD></TR>
  <TR>
    <TD><FONT face="Times New Roman TUR" size=2>01BEh</FONT></TD>
    <TD><FONT face="Times New Roman TUR" size=2>Disk Partition Table</FONT></TD>
    <TD><FONT face="Times New Roman TUR" size=2>64 bytes</FONT></TD></TR>
  <TR>
    <TD><FONT face="Times New Roman TUR" size=2>01FEh</FONT></TD>
    <TD><FONT face="Times New Roman TUR" size=2>Signature (HEX 55 
AA)</FONT></TD>
    <TD><FONT face="Times New Roman TUR" size=2>2 
bytes</FONT></TD></TR></TBODY></TABLE></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
face="Times New Roman TUR" size=2></FONT></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt" align=center><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><STRONG><FONT 
face="Times New Roman TUR" size=2>Table 1.2.1- MBR 
Layout</FONT></STRONG></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
face="Times New Roman TUR" size=2></FONT></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
face="Times New Roman TUR" size=2></FONT></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=1>
  <TBODY>
  <TR>
    <TD><STRONG><FONT face="Times New Roman TUR" 
    size=2>Offset</FONT></STRONG></TD>
    <TD><STRONG><FONT face="Times New Roman TUR" 
    size=2>Content</FONT></STRONG></TD>
    <TD><STRONG><FONT face="Times New Roman TUR" 
  size=2>Size</FONT></STRONG></TD></TR>
  <TR>
    <TD><FONT face="Times New Roman TUR" size=2>01BEh</FONT></TD>
    <TD><FONT face="Times New Roman TUR" size=2>Partition 1 data 
    table</FONT></TD>
    <TD><FONT face="Times New Roman TUR" size=2>16 bytes</FONT></TD></TR>
  <TR>
    <TD><FONT face="Times New Roman TUR" size=2>01CEh</FONT></TD>
    <TD><FONT face="Times New Roman TUR" size=2>Partition&nbsp;2 data 
      table</FONT></TD>
    <TD><FONT face="Times New Roman TUR" size=2>16 bytes</FONT></TD></TR>
  <TR>
    <TD><FONT face="Times New Roman TUR" size=2>01DEh</FONT></TD>
    <TD><FONT face="Times New Roman TUR" size=2>Partition&nbsp;3 data 
      table</FONT></TD>
    <TD><FONT face="Times New Roman TUR" size=2>16 bytes</FONT></TD></TR>
  <TR>
    <TD><FONT face="Times New Roman TUR" size=2>01FEh</FONT></TD>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -