成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

探討Linux內核啟動之BIOS啟動階段

系統 Linux
本文講解linux內核啟動之BIOS啟動階段,640KB的RAM是BIOS設計者自由使用的區域,如何使用取決于 BIOS軟件的設計者,4GB的物理地址空間至少被劃分為兩個部分,一部分是內存的地址空間,另外一部分地址空間用于對BIOS芯片存儲單元進行尋址。

Linux內核啟動有很多值得學習的地方,這里我們主要介紹BIOS啟動階段,包括介紹指令寄存器CS:EIP等方面。

Linux內核啟動代碼復雜、龐大,讓人感覺難以入手,正是因為它的復雜性,任何一本教材都會把相關的內容進行分類講解,例如中斷處理,文件系統,等等。然而在閱讀相關章節時,你是不是常常想弄明白某個相關的數據結構是在什么時候建立的?是在什么時候初始化的?本章講解BIOS啟動階段。

Linux內核啟動之BIOS啟動階段

CPU在上電初始化時,指令寄存器CS:EIP總是被初始化為固定的值,這就是CPU復位后的***條指令的地址。斷電后內存中的內容就丟失了,所以這一條指令必須保存在“非易失”的存儲器中。此類存儲器包括ROM,PROM,EPROM,Nor Flash等。早期的BIOS存放在只讀存儲器中,非常不方便修改。現在EPROM和Nor Flash都能夠通過電的方式來進行擦除和編程寫入,所以通常升級BIOS就是利用BIOS芯片的電可擦除編程特性。

對于32位地址總線的系統來說,4GB的物理地址空間至少被劃分為兩個部分,一部分是內存的地址空間,另外一部分地址空間用于對BIOS芯片存儲單元進行尋址。除此之外,隨著系統外部設備的增加以及設備本身的板載存儲空間的增加,16位8086處理器擁有的64KB的IO地址空間早已不夠(通過in/out匯編指令來訪問的I/O端口。),實際上4GB的物理內存地址空間還有一部分用于外部設備的板載存儲空間的尋址。x86復位后工作在實模式下,該模式下CPU的尋址空間為1MB。 CS:IP的復位值是FFFF:0000,物理為FFFF0。主板的設計者必須保證把這個物理地址映射到BIOS芯片上,而不是RAM上。

早期的IBM PC地址空間映射如圖4.1所示。其中高256KB的只讀存儲空間映射到BIOS芯片中,中間的128KB VVDR映射到視頻卡的存儲空間,屏幕上面的像素點受該區域控制,剩下的640KB映射到RAM上面。可以看出對于硬件系統的設計者來說,物理地址空間也是一種資源,而這里所說的映射就是以硬件方式對物理地址資源的分配。

640KB的RAM是BIOS設計者自由使用的區域,如何使用取決于 BIOS軟件的設計者。CPU執行BIOS代碼對系統進行必要的初始化,并在物理地址0開始的1KB內存中建立實模式下的中斷向量表,隨后的一部分內存被用來保存BIOS在啟動階段檢測到的硬件信息。另外BIOS代碼在執行期還需要使用隨后的一部分內存。***BIOS會根據配置把引導設備的***個扇區加載到物理地址0x07C00的地方,然后跳轉到這里繼續執行。通常這是Boot Loader的代碼,Boot Loader接著把內核加載到內存中。前面說過arch/x86/boot/tools/build工具把setup和vmlinux合成一個 bzImage。setup是實模式的代碼,vmlinux是保護模的代碼。以上給大家講解了Linux內核啟動之BIOS啟動階段。

【編輯推薦】

  1. 深入講述linux Ext3文件系統
  2. linux vi編輯器之葵花寶典
  3. 快樂學習Linux虛擬機VMware
  4. linux問題解答之:linux Nautilus
  5. linux下殺死進程全權講解
責任編輯:薛輩輩 來源: linux
相關推薦

2010-02-02 15:41:00

Linux內核

2018-07-10 09:47:11

Linux內核階段

2009-11-11 10:19:59

uboot內核

2009-10-23 16:35:44

linux Debia

2009-02-17 16:07:29

Linux操作系統內核啟動參數

2022-07-19 15:01:34

Linux

2011-01-20 09:41:49

Linux 2.6.3

2019-02-12 09:52:20

Linux安全Windows

2021-09-28 15:03:06

Linux內核arm

2010-04-21 17:09:28

Oracle啟動模式

2011-02-25 10:25:07

Proftpd

2010-11-15 10:50:43

Oracle啟動模式

2010-01-11 10:35:56

2017-08-31 14:40:54

Linuxinit進程app啟動

2022-04-12 12:35:02

Linux啟動性能systemd

2021-10-20 10:04:47

鴻蒙HarmonyOS應用

2011-03-02 14:07:24

Pureftpd

2021-04-15 05:51:25

Linux

2017-12-25 13:51:32

LinuxUbuntu LinuLXD容器

2023-09-02 21:50:21

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品视频网址 | 欧美亚洲日本 | 中文字幕视频在线免费 | 日日操视频 | 国产亚洲高清视频 | 中文字幕在线一区二区三区 | 少妇诱惑av | 亚洲欧美视频 | 成人性视频免费网站 | 国产高清视频在线观看 | 国产精品视频一区二区三区 | 久久久久久亚洲精品 | 亚洲人精品午夜 | 特级生活片 | 成人午夜免费在线视频 | 欧美中文一区 | 欧美日韩国产免费 | 精品国模一区二区三区欧美 | 日韩精品在线看 | 亚洲一区二区精品视频 | 精品伊人久久 | 色播久久| 性一区 | 最新日韩欧美 | 欧美综合网 | 97精品超碰一区二区三区 | 中文字幕欧美一区二区 | 国产日韩欧美在线播放 | 成人精品一区二区 | 国产精品日韩欧美一区二区三区 | 伦理午夜电影免费观看 | 天天操 天天操 | 色综合99| 日韩精品人成在线播放 | 中文一区 | 精品国产欧美一区二区三区不卡 | 久久一区二区三区四区 | 午夜影院| 久久久成人免费视频 | 欧美国产一区二区 | 性色在线 |