<ruby id="xh9j9"></ruby>

<th id="xh9j9"></th>

    1. <rp id="xh9j9"><object id="xh9j9"></object></rp>
      <rp id="xh9j9"></rp>

        首頁 > 編程學習 > Linux 0.11學習

        Linux 0.11學習

        發布時間:8/15/2022 8:34:03 PM

        學習鏈接:sunym1993/flash-linux0.11-talk: 你管這破玩意叫操作系統源碼 — 像小說一樣品讀 Linux 0.11 核心代碼 (github.com)

        1. 從開機到運行main.c的過程

        在主板上寫死的固件程序BIOS會將硬盤中啟動的512字節的數據,復制到0x7c00的位置,并跳轉到該位置執行;

        然后將第一扇區中系統的代碼全都復制到內存中去,由(head.s + others)編譯得到 system 、由setup.s 編譯得到 setup、bootsect.s 編譯得到 bootsect,都從硬盤中復制到內存中去;

        進入保護模式,設置分段、分頁、中斷的機制 (idtr 寄存器指向了 idt,這個就是中斷的設置)(gdtr 寄存器指向了 gdt,這個就是全局描述符表的設置)(cr3 寄存器指向了頁目錄表的位置,這個就是分頁機制的設置);

        其中(中斷的設置,就引出了 CPU 與操作系統處理中斷的流程)、(分段和分頁的設置,引出了邏輯地址到物理地址的轉換);

        最后引入 main 函數。

         

        Copyright ? 2010-2022 wtld.cn 版權所有 |關于我們| 聯系方式
        日本精品人妻

        <ruby id="xh9j9"></ruby>

        <th id="xh9j9"></th>

        1. <rp id="xh9j9"><object id="xh9j9"></object></rp>
          <rp id="xh9j9"></rp>