啟動流程和系統管理

2021-09-20 20:37:39 字數 2656 閱讀 7846

了解linux的工作原理,可以通過linux的啟動的過程一步步理解linux的工作原理,這就需要深入了解作業系統啟動的每一步,不用了解每一步啟動的細節,只要了解系統啟動的時每一步的特性就差不多。這裡主要介紹centos6,它的大致流程是,post(計算機開機自檢)->grub(引導作業系統的程式)->kernel(核心)->init(程序管理程式)->bash(使用者互動程式)

首先計算機加電,cpu就會讀取bios(cpu內建某種特殊的指令,會預設的讀取bios),bios讀進記憶體後檢查計算機上所有硬體,並按照配置內容啟動的下一步。bios包括兩部分,一部分是rom,內部儲存一些不可改變機器指令,另一部分是ram,儲存人們設定的開機特性(這個模組需要持續供電,一旦斷電設定的資料就會丟失)。控制bios一般都是計算機加電後,按f#(不同的計算機不同)進入藍白相間到的配置介面,這裡可以配置第一啟動硬體、開啟cpu的虛擬化特性、音效卡等等功能。

bios程式執行後,會載入第一啟動項,假如第一啟動項是硬碟。這時cpu會讀取硬碟第一磁軌第一扇區的資料,讀取的是前446位元組的資料,這部分資料叫做mbr,grub比較大不能完全放在mbr裡,還有一部分放在了前27個扇區裡,然而前27扇區也放不開,還有一部分資料存放在/boot目錄下的grub下stage2裡。總結一下,一部分資料存放在mbr裡稱這部分資料叫stage1,還有一般資料放在硬碟前27個扇區裡叫stage1.5,最後一部分資料存放在/boot/grub目錄下叫stage2.

在grub中可以選擇啟動哪個系統,這裡啟動的不是我們的要啟動系統,真正啟動的是/boot目錄下的vmlinuz和initramfs檔案,vmlinuz是需要的核心,而initramfs不是需要的,initramfs檔案裡有乙個簡易的系統,內嵌了部分驅動,是啟動真正檔案系統的中間步驟,設計它的主要目的是防止核心過大,核心檔案vmlinuz只有4m而initramfs卻20m多。核心通過initramfs內部的驅動去載入真正的檔案系統,載入各種磁碟、網絡卡、usb等等驅動,實現系統的高階功能。

它不是系統必須有的程式,只是核心把一部分監控和管理許可權放給了init,讓init**核心實現程序管理。核心之所以讓渡這些許可權是因為程序排程是最浪費系統時間。程序排程的乙個過程:首先cpu收到中斷訊號,cpu就會把當前正在執行的程序的資料全部挪到記憶體裡,並且給這個程序貼上標籤,它執行到哪一步了;然後cpu把核心讀進來,還原核心的狀態,載入上次執行核心資料,cpu判斷下乙個需要執行的程式分配好時間片後自己離場;最後載入下乙個程序。這裡有乙個概念,cpu 的處理資料的速度遠遠大於磁碟讀取的速度。當核心特別大的時候,一次排程i/o量將會特別大。這裡就解釋通了核心一定要小,越精巧cpu的利用率越高。

使用者互動工具可以看之前的部落格。

按f#進入bios更改,忘記bios密碼,可以取下主機板上的鈕扣電池,bios中配置的資料都會丟失。

光碟引導選擇第三個,一路確認開啟乙個shell

grub-install /dev/sd*      這裡的/dev/sd*是原grub所在的硬碟

光碟引導選擇第三個,一路確認開啟乙個shell

grub-install --root-direcoty=/path /dev/sd*        /path是boot的父目錄,/dev/sd*是原grub所在的硬碟

1

2

3

4

5

6

default=0

timeout=5                 grub介面的等待時間

tille centos6               引導的名字

root(hd0,0)         核心檔案位於的磁碟分割槽

kernel/vmlinuzroot=/dev/sda2使用哪乙個核心,檔案系統的目錄

initrd/initramfsinitramfs的位置

kernel,init,bash丟失,進入救援模式安裝對應的rpm包就可了。

init的配置檔案位於/etc/inittab

bash的配置檔案位於/etc/bashrc和使用者家目錄的.bashrc

伺服器啟動的時候,一般都服務和系統一起啟動,開機啟動的服務的管理指令碼位於/etc/init.d/目錄下,是通過init這一步呼叫的。格式就是bash指令碼,只是多了啟動和關閉順序。可以把一些想開機後執行的指令碼定義在local裡。

servicesername start|stop|restart|reload|status     服務的管理

chkonfigadd name                    把服務的新增到開機管理裡

chkonfig-l level name on|off                   設定服務開機開啟在哪個等級裡

有些程式需要監聽埠,但是只是偶爾使用,讓這個服務永駐記憶體會浪費記憶體和cpu的時間片,但是還不能停止,這時有人寫了個xinted幫一批程式監聽埠,只有被呼叫的時候才會執行服務程式。

這一節主要介紹了計算機啟動的各個階段和各個階段的補救措施,並且簡單介紹了服務程式的管理命令。

SAP BASIS系統管理

系統監控 1 sm51 2 sm50 3 sm66 系統日誌 1 sm21 sap ccms 1 rz20 2 st06 作業系統監視器 operating system monitor 用於分析整個sap技術棧的效能 4 ssaa 用於執行常規的日 周和月的系統管理功能。5 smlg 用於監控sa...

Oracle 系統管理

oracle 系統管理 1.oracle的啟動和關閉 說明 這裡所說的啟動和關閉是對於 oracle 例項而言,而不是對於 oracle 服務而言。如果 oracleserviceorcl 服務未開啟,則會報 ora 12560 tns 協議介面卡錯誤 而且啟動和關閉需要有 dba許可權才能操作,否...

UNIX系統管理

一 進場管理 1 查詢程序執行狀況 ps 命令 解釋ps e 列出正在執行的程序 ps f 列出程序的詳細資訊 ps uomc 列出 omc使用者的程序 ps l 顯示程序最詳細的資訊 ps l 顯示結果 f s uid pid ppid c pri ni addr sz wchan tty tim...