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

2022-03-08 06:58:55 字數 4207 閱讀 7148

1樓:

當 pc 的電源開啟後,80x86 結構的cpu 將自動進入真實模式,並從地址 0xffff0 開始自動執行程式**,這個地址通常是 rom-bios 中的地址。

pc 機的 bios 將執行某些系統的檢測,並在實體地址 0 處開始初始化中斷向量。此後,它將可啟動裝置

的第一個扇區(磁碟引導扇區,512 位元組)讀入記憶體絕對地址 0x7c00 處,並跳轉到這個地方。啟動裝置

通常是軟碟機或是硬碟。

2樓:匿名使用者

樓上回答的是系統啟動到作業系統的流程,

linux真正啟動是接下來的流程,

系統讀完mbr後開始啟動boot loader, 就是grub, lilo, 或者uboot之類的。 bootloade會初始化基礎硬體,建立記憶體對映等等一系列初始化工作。

然後就是載入和啟動核心,初始化硬體裝置,載入檔案系統等等。

接著系統初始化,並啟動和載入各個runlevel的服務和守護程序。。。

linux作業系統的三個主要部分及其功能

3樓:匿名使用者

這三個主要部分是誰分的?

linux怎麼可能就只分3個部分呢!

linux作業系統的詳細啟動過程,謝謝(硬體啟動的先後順序)

4樓:函罡

2023年,理察·馬修·斯托曼(richard stallman)創立了gnu計劃(gnu project)。這個計劃有一個目標是為了發展一個完全免費自由的 unix-like 作業系統。自2023年代發起這個計劃以來,gnu 開始大量的產生或收集各種系統所必備的元件,像是——函式庫(libraries)、編譯器(compilers)、偵錯工具(debuggers)、文字編輯器(text editors)、網頁伺服器(web server),以及一個unix的使用者介面(unix shell)——除了執行核心(kernel)仍然付闕外。

2023年,gnu計劃開始在馬赫微核(mach microkernel)的架構之上開發系統核心,也就是所謂的gnu hurd,但是這個基於mach的設計異常複雜,發展進度則相對緩慢。

linux的基本思想有兩點:第一,一切都是檔案;第二,每個軟體都有確定的用途,同時它們都儘可能被編寫得更好。其中第一條詳細來講就是系統中的所有都歸結為一個檔案,包括命令、硬體和軟體裝置、作業系統、程序等等對於作業系統核心而言,都被視為擁有各自特性或型別的檔案。

至於說linux是基於unix的,很大程度上也是因為這兩者的基本思想十分相近。

5樓:匿名使用者

在啟動之前,各個系統應該是沒什麼差別的

第一步: 當我們按下電源開關時,電源就開始向主機板和其它裝置供電,此時電壓還不太穩定,主機板上的控制晶片組會向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系統不相同的資料格式,於是windows在它自己的啟動過程中會把escd資料修改成自己的格式,但在下一次啟動機器時,即使硬體配置沒有發生改變,系統bios也會把escd的資料格式改回來,如此迴圈,將會導致在每次啟動機器時,系統bios都要更新一遍escd,這就是為什麼有些機器在每次啟動時都會顯示出相關資訊的原因。

第十步: escd更新完畢後,系統bios的啟動**將進行它的最後一項工作,即根據使用者指定的啟動順序從軟盤、硬碟或光碟機啟動。

linux作業系統有哪五個基本的組成部分

linux的基本系統由哪3個主要部分組成,各部分的功能是?

6樓:匿名使用者

linux系統本身是個軟體的概念(當然,其無法脫離硬體系統而存在)。

其三個基本組成部分:

【啟動載入程式】

即bootloader,常見的如grub。用於引導系統啟動,載入核心到系統記憶體並啟動核心。

【核心】

即作業系統核心。包含硬體驅動模組,為上層應用提供統一易用的硬體操作介面;負責系統任務排程與分配,保證系統資源被合理有效地利用。核心通過shell接收使用者指令並執行。

【檔案系統】

如現在的日誌檔案系統ext2/ext3。linux的應用程式按照一定的分類,以檔案系統的形式組織存放在磁碟或分割槽上。核心啟動後掛載檔案系統(第一個掛載的是根檔案系統)。

7樓:匿名使用者

硬體,核心、shell。硬體就不用說了吧,主機板,cpu,記憶體等等。核心是shell與硬體之間的翻譯,以便使用者和硬體通訊。

shell你應該知道吧,就是一條條的命令:ls,echo,date等。核心裡有許多的函式,它解析shell命令,然後轉換成機器能夠識別的**二進位制**,從而來操作計算機。

linux作業系統的詳細啟動過程有哪些

8樓:哪些花爾

bios -> grub stage1 -> grub stage 2 -> grub load kernel & inited image(如果有)-> run kernel -> run initrd image init script(如果 initrd 裡面有) -> mount / partition -> run init script in / partition -> init system base serve...

linux作業系統的主要組成部分是什麼?

Linux作業系統

1 linux系統下也照樣有病毒,只是比windows少而已,當然linux的使用者本來就少 2 從產品本身來看,linux系統的安全評級與windows一樣,都是c2,安全不安全還要看對系統的設定和保護.3 教程很多,書籍和網上的資料都很多,但是實踐是最重要的 除非是搭建伺服器或者是100 的ha...

linux作業系統怎麼樣,Linux作業系統怎麼樣?

樓上說的全是廢話吧 linux的版本這麼多 常用的是redhat 和 suse 的 狹義的linux只是一個作業系統的核心,這個核心是開源的,任何人都可以免費使用它。但是作業系統只有核心是無法使用的,還需要上層的使用者介面以及其他應用程式等一起配合才可以使用,才是一個完整的作業系統。所謂的各個版本,...

linux作業系統,linux系統好不好? 好不好用?

linux是一套免費使用和自由傳播的類unix作業系統,這個系統是由全世界各地的成千上萬的程式設計師設計和實現的。它以高效性和靈活性著稱。並且能夠在pc計算機上實現全部的unix特性,具有多工 多使用者的能力。linux之所以受到廣大計算機愛好者的喜愛,主要原因有兩個,一是它屬於自由軟體,使用者不用...