linux系統
linux是一套免費使用和自由傳播的類unix作業系統,是乙個基於posix和unix的多使用者、多工、支援多執行緒和多cpu的作業系統。它能執行主要的unix工具軟體、應用程式和網路協議。linux繼承了unix以網路為核心的設計思想,是乙個效能穩定的多使用者網路作業系統。
嚴格來講,linux這個詞本身只表示linux核心,但實際上人們已經習慣了用linux來形容整個基於linux核心,並且使用gnu 工程各種工具和資料庫的作業系統。
如何啟動
我們平時在工作或學習中經常使用linux作業系統,但是他是如何從關機狀態啟動的呢?
bios(basic input/output system)基本輸入輸出系統。計算機在開機啟動時,首先會讀取這個系統,然後bios上會有乙個加電自檢(post)的過程。加電自檢過程其實就是檢查計算機硬體的過程,包括檢查cpu和記憶體,檢查計算機最基本的組成單位(控制器,運算器,儲存器),還會檢查其他硬體。如果沒有異常,就載入bios程式到記憶體中。bios載入到記憶體中,他的乙個主要功能是儲存了磁碟的啟動順序,bios會根據啟動順序去查詢磁碟頭的mbr資訊,並載入和執行mbr中的bootloader程式。一旦bootloader程式被檢測並載入到記憶體中,bios就將控制權交給bootloader程式。
mbrmbr(master boot record)主引導記錄。磁碟上第0磁軌第乙個扇區被稱為mbr。他的大小是512位元組,裡面存放了預啟動資訊、分割槽表資訊。mbr大體可分為兩個部分:第一部分為引導區,佔了446個位元組。第二部分為分割槽表,佔了64個位元組,記錄硬碟的分割槽資訊。最後兩位元組用於mbr的有效性檢驗。 預引導區的作用之一是找到標記為活動(active)的分割槽,並將活動分割槽的引導區讀入記憶體。
grub
grub(grand unified bootloader)多系統啟動程式,其執行過程可分為三個步驟:stage1:它的主要工作就是查詢並載入第二段bootloader程式(stage2),但系統在沒啟動時,mbr根本找不到檔案系統,也就找不到stage2所存放的位置,因此,就有了stage1_5
stage1_5:該步驟就是為了識別檔案系統
stage2:grub程式會根據/boot/grub/grub.conf檔案查詢kernel的資訊,然後開始載入kernel程式,當kernel程式被檢測並在載入到記憶體中,grub就將控制權交接給了kernel程式。
kernel
kernel,核心。kernel是linux系統最主要的程式,kernel的檔案很小,只保留了最基本的模組,並以壓縮檔案的形式儲存在硬碟中,當grub將kernel讀進記憶體,記憶體開始解壓縮核心檔案。解壓後,系統會呼叫start_kernel()函式來啟動一系列的初始化函式並初始化各種裝置,完成linux核心環境的建立。至此,linux核心已經建立起來了,基於linux的程式應該可以正常執行了。
在 start_kenrel()的結尾,核心通過kenrel_thread()建立出第乙個程序(使用者空間的程序),執行/sbin/init,之後就將控制權交接給了init程式。
init
init,初始化。進行os初始化操作, 實際上是根據/etc/inittab(定義了系統預設執行級別)設定的動作進行指令碼的執行,第乙個被執行的指令碼為/etc/rc.d/rc.sysinit,這個是真正的os初始化指令碼,它做的工作非常多,包括設定path、 設定網路配置(/etc/sysconfig/network)、啟動swap分割槽、設定/proc等等。
執行完後,根據配置的啟動級別,執行對應目錄底下的指令碼,最後執行/etc/rc.d/rc.local這個指令碼,至此,系統啟動完成。
runlevel
runlevel,執行級別,不同的級別會啟動的服務不一樣,init會根據定義的級別去執行相應目錄下的指令碼,linux的啟動級別分為以下幾種
0:關機模式
1:單一使用者模式(直接以管理員身份進入)
2:多使用者模式(無網路)
3:多使用者模式(命令列)
4:保留
5:多使用者模式(圖形介面)
6:重啟
在不同的執行級別下,/etc/rc.d/rc這個指令碼會分別執行不同目錄下的指令碼
Linux檢測磁碟空間
在linux中,檔案系統將所有的磁碟都併入乙個虛擬目錄下,在使用新的儲存 之前,需要把它放到虛擬目錄下,這項工作稱為掛載。1 mount命令 mount會輸出當前系統上掛載的裝置列表,要在虛擬目錄中掛載裝置,需要以root使用者身份登入。或者是以root身份執行sudo命令。手動掛載命令 mount...
Linux磁碟I O讀寫速度檢測
1 讀寫測試 讀取速度可以使用命令 hdparm t 裝置名 dev sda1 讀取速度可以使用命令也可以使用 time dd if dev sda of dev null bs 1m count 3 iflag direct 寫入速度使用命令 time dd if dev zero of dev ...
linux磁碟管理說明(12)磁碟檢測工具(上)
磁碟?是乙個損耗裝置,當使用一段時間後很大概率會產生壞道等物理故障,如果不及時處理就有可能會頻繁宕機或者丟失資料等等。更換磁碟?當然是最好的辦法,但是當囊中羞澀?的時候,採用一定的辦法遮蔽壞道,也可以作為臨時措施。badblocks命令就可以作為這樣的工具使用。badblocks v dev sdb...