os作業系統是怎樣啟動的,uc os作業系統是怎樣啟動的

2022-07-19 06:27:13 字數 4550 閱讀 3108

1樓:曉曉休閒

作業系統啟動過程簡單分為四部分,從bios自檢、系統引導、啟動核心、初始化系統。其中每個部分又分為多個自部分,作業系統的建立是一個相對比較複雜的事情。以下以linux2.

6.32版本為基礎,介紹作業系統啟動過程如下。

1、bios自檢

在計算機開機時,boot被自動執行,指引cpu把作業系統從大容量儲存器中傳送到主儲存器的易失區。bios的功能由兩部分組成,分別是post碼和runtime服務。post階段完成後它將從儲存器中被清除,而runtime服務會被一直保留,用於目標作業系統的啟動。

2、系統引導

載入程式的核心工作是將linux核心從外存讀入記憶體,並將其放在合適的位置中。linux的核心被分為三部分,主體部分是在保護模式或64位中執行的核心映象,以被壓縮,在核心映象之前有一段解壓縮程式,用於解壓縮核心檔案頭部是一段真實模式的初始化程式,用於在保護模式執行。

3、啟動核心

當處理器離開載入程式的時候,它處於真實模式下面,需要執行真實模式下面的載入程式後,跳轉到保護模式解壓核心映象。在真實模式中,載入程式進行三項工作:收集系統引數、設定基本環境、切換處理器操作模式。

4、解壓核心

如前面講到的,linux在記憶體中的為記憶體映象,需要進行解壓,解壓後需要把核心放在適當的位置。這個位置在老的版本為0x100000(1mb)處,新版本要求在實體記憶體的0x1000000(16mb)處,這樣可以節省16mb以下的記憶體空間給dma使用。

作業系統啟動執行的步驟是什麼?

2樓:

首先讓我們來了解一些基本概念。第一個是大家非常熟悉的bios(基本輸入輸出系統),bios是直接與硬體打交道的底層**,它為作業系統提供了控制硬體裝置的基本功能。bios包括有系統bios(即常說的主機板bios)、顯示卡bios和其它裝置(例如ide控制器、scsi卡或網絡卡等)的bios,其中系統bios是本文要討論的主角,因為計算機的啟動過程正是在它的控制下進行的。

bios一般被存放在rom(只讀儲存晶片)之中,即使在關機或掉電以後,這些**也不會消失。

第二個基本概念是記憶體的地址,我們的機器中一般安裝有32mb、64mb或128mb記憶體,這些記憶體的每一個位元組都被賦予了一個地址,以便cpu訪問記憶體。32mb的地址範圍用十六進位制數表示就是0~1ffffffh,其中0~fffffh的低端1mb記憶體非常特殊,因為最初的8086處理器能夠訪問的記憶體最大隻有1mb,這1mb的低端640kb被稱為基本記憶體,而a0000h~bffffh要保留給顯示卡的視訊記憶體使用,c0000h~fffffh則被保留給bios使用,其中系統bios一般佔用了最後的64kb或更多一點的空間,顯示卡bios一般在c0000h~c7fffh處,ide控制器的bios在c8000h~cbfffh處。

好了,下面我們就來仔細看看計算機的啟動過程吧。

第一步: 當我們按下電源開關時,電源就開始向主機板和其它裝置供電,此時電壓還不太穩定,主機板上的控制晶片組會向cpu發出並保持一個reset(重置)訊號,讓cpu內部自動恢復到初始狀態,但cpu在此刻不會馬上執行指令。當晶片組檢測到電源已經開始穩定供電了(當然從不穩定到穩定的過程只是一瞬間的事情),它便撤去reset訊號(如果是手工按下計算機面板上的reset按鈕來重啟機器,那麼鬆開該按鈕時晶片組就會撤去reset訊號),cpu馬上就從地址ffff0h處開始執行指令,從前面的介紹可知,這個地址實際上在系統bios的地址範圍內,無論是award bios還是ami bios,放在這裡的只是一條跳轉指令,跳到系統bios中真正的啟動**處。

第二步: 系統bios的啟動**首先要做的事情就是進行post(power-on self test,加電後自檢),post的主要任務是檢測系統中一些關鍵裝置是否存在和能否正常工作,例如記憶體和顯示卡等裝置。由於post是最早進行的檢測過程,此時顯示卡還沒有初始化,如果系統bios在進行post的過程中發現了一些致命錯誤,例如沒有找到記憶體或者記憶體有問題(此時只會檢查640k常規記憶體),那麼系統bios就會直接控制喇叭發聲來報告錯誤,聲音的長短和次數代表了錯誤的型別。

在正常情況下,post過程進行得非常快,我們幾乎無法感覺到它的存在,post結束之後就會呼叫其它**來進行更完整的硬體檢測。

第三步: 接下來系統bios將查詢顯示卡的bios,前面說過,存放顯示卡bios的rom晶片的起始地址通常設在c0000h處,系統bios在這個地方找到顯示卡bios之後就呼叫它的初始化**,由顯示卡bios來初始化顯示卡,此時多數顯示卡都會在螢幕上顯示出一些初始化資訊,介紹生產廠商、圖形晶片型別等內容,不過這個畫面幾乎是一閃而過。系統bios接著會查詢其它裝置的bios程式,找到之後同樣要呼叫這些bios內部的初始化**來初始化相關的裝置。

第四步: 查詢完所有其它裝置的bios之後,系統bios將顯示出它自己的啟動畫面,其中包括有系統bios的型別、序列號和版本號等內容。

第五步: 接著系統bios將檢測和顯示cpu的型別和工作頻率,然後開始測試所有的ram,並同時在螢幕上顯示記憶體測試的進度,我們可以在cmos設定中自行決定使用簡單耗時少或者詳細耗時多的測試方式。

第六步: 記憶體測試通過之後,系統bios將開始檢測系統中安裝的一些標準硬體裝置,包括硬碟、cd-rom、串列埠、並口、軟碟機等裝置,另外絕大多數較新版本的系統bios在這一過程中還要自動檢測和設定記憶體的定時引數、硬碟引數和訪問模式等。

第七步: 標準裝置檢測完畢後,系統bios內部的支援即插即用的**將開始檢測和配置系統中安裝的即插即用裝置,每找到一個裝置之後,系統bios都會在螢幕上顯示出裝置的名稱和型號等資訊,同時為該裝置分配中斷、dma通道和i/o埠等資源。

第八步: 到這一步為止,所有硬體都已經檢測配置完畢了,多數系統bios會重新清屏並在螢幕上方顯示出一個**,其中概略地列出了系統中安裝的各種標準硬體裝置,以及它們使用的資源和一些相關工作引數。

第九步: 接下來系統bios將更新escd(extended system configuration data,擴充套件系統配置資料)。escd是系統bios用來與作業系統交換硬體配置資訊的一種手段,這些資料被存放在cmos(一小塊特殊的ram,由主機板上的電池來供電)之中。

通常escd資料只在系統硬體配置發生改變後才會更新,所以不是每次啟動機器時我們都能夠看到「update escd… success」這樣的資訊,不過,某些主機板的系統bios在儲存escd資料時使用了與windows 9x不相同的資料格式,於是windows 9x在它自己的啟動過程中會把escd資料修改成自己的格式,但在下一次啟動機器時,即使硬體配置沒有發生改變,系統bios也會把escd的資料格式改回來,如此迴圈,將會導致在每次啟動機器時,系統bios都要更新一遍escd,這就是為什麼有些機器在每次啟動時都會顯示出相關資訊的原因。

第十步: escd更新完畢後,系統bios的啟動**將進行它的最後一項工作,即根據使用者指定的啟動順序從軟盤、硬碟或光碟機啟動。以從c盤啟動為例,系統bios將讀取並執行硬碟上的主開機記錄,主開機記錄接著從分割槽表中找到第一個活動分割槽,然後讀取並執行這個活動分割槽的分割槽引導記錄,而分割槽引導記錄將負責讀取並執行io.

sys,這是dos和windows 9x最基本的系統檔案。windows 9x的io.sys首先要初始化一些重要的系統資料,然後就顯示出我們熟悉的藍天白雲,在這幅畫面之下,windows將繼續進行dos部分和gui(圖形使用者介面)部分的引導和初始化工作。

如果系統之中安裝有引導多種作業系統的工具軟體,通常主開機記錄將被替換成該軟體的引導**,這些**將允許使用者選擇一種作業系統,然後讀取並執行該作業系統的基本引導**(dos和windows的基本引導**就是分割槽引導記錄)。

上面介紹的便是計算機在開啟電源開關(或按reset鍵)進行冷啟動時所要完成的各種初始化工作,如果我們在dos下按ctrl+alt+del組合鍵(或從windows中選擇重新啟動計算機)來進行熱啟動,那麼post過程將被跳過去,直接從第三步開始,另外第五步的檢測cpu和記憶體測試也不會再進行。我們可以看到,無論是冷啟動還是熱啟動,系統bios都一次又一次地重複進行著這些我們平時並不太注意的事情,然而正是這些單調的硬體檢測步驟為我們能夠正常使用電腦提供了基

3樓:匿名使用者

1 尋找並引導啟動分割槽
2 裝載系統核心
3 啟動服務元件
3 登入時裝載並啟動使用者配置檔案及程式

4樓:匿名使用者

我的教科書上有寫

我寫給你吧

如下:一:預引導(pre-boot)階段

二:引導階段

三:載入核心階段

四:初始化核心階段

五:登陸

5樓:匿名使用者

我這裡提供2個主流作業系統的啟動步驟。

1 相對於windows作業系統的

2 相對於linux作業系統的

什麼是作業系統,什麼是作業系統?作業系統能夠做什麼?

暈專業描述是 隨著計算機的發展,計算機系統的軟 硬體資源愈來愈豐富,為提高這些資源的利用率和增強系統的處理能力,最初出現的是監督程式,它實際上是使用者與計算機之間的介面,即使用者通過監督程式來使用計算機。到60年代中期,隨著監督程式的發展,最終形成了作業系統。我們可以將作業系統看作一個 管家 這個 ...

作業系統啟動密碼破解

我們在安裝windows xp作業系統時,安裝過程會要求你設定一個登陸的帳戶,通常情況下丟失的都是這個密碼,而在安裝完成會系統會自動生成一個administrator的管理員帳組,隸屬於管理員組,這個帳戶在預設情況下密碼為空,所以我們可以通過使用這個administrator進行登陸,不過前提是要你...

Linux作業系統部分的主要啟動流程

當 pc 的電源開啟後,80x86 結構的cpu 將自動進入真實模式,並從地址 0xffff0 開始自動執行程式 這個地址通常是 rom bios 中的地址。pc 機的 bios 將執行某些系統的檢測,並在實體地址 0 處開始初始化中斷向量。此後,它將可啟動裝置 的第一個扇區 磁碟引導扇區,512 ...