亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

啟動流程和系統管理

發布時間:2020-06-15 06:46:13 來源:網絡 閱讀:302 作者:Ailu0li 欄目:移動開發

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

一個計算機啟動流程

1 post過程

首先計算機加電,cpu就會讀取bioscpu內置某種特殊的指令,會默認的讀取bios),bios讀進內存后檢查計算機上所有硬件,并按照配置內容啟動的下一步。bios包括兩部分,一部分是rom,內部存儲一些不可改變機器指令,另一部分是ram,存儲人們設定的開機特性(這個模塊需要持續供電,一旦斷電設定的數據就會丟失)。控制bios一般都是計算機加電后,按F#(不同的計算機不同)進入藍白相間到的配置界面,這里可以配置第一啟動硬件、開啟cpu的虛擬化特性、聲卡等等功能。

     2 grub

  bios程序運行后,會加載第一啟動項,假如第一啟動項是硬盤。這時cpu會讀取硬盤第一磁道第一扇區的數據,讀取的是前446字節的數據,這部分數據叫做mbrgrub比較大不能完全放在mbr里,還有一部分放在了前27個扇區里,然而前27扇區也放不開,還有一部分數據存放在/boot目錄下的grubstage2里。總結一下,一部分數據存放在mbr里稱這部分數據叫stage1,還有一般數據放在硬盤前27個扇區里叫stage1.5,最后一部分數據存放在/boot/grub目錄下叫stage2.

     3 kernel

 在grub中可以選擇啟動哪個系統,這里啟動的不是我們的要啟動系統,真正啟動的是/boot目錄下的vmlinuzinitramfs文件,vmlinuz是需要的內核,而initramfs不是需要的,initramfs文件里有一個簡易的系統,內嵌了部分驅動,是啟動真正文件系統的中間步驟,設計它的主要目的是防止內核過大,內核文件vmlinuz只有4Minitramfs20M多。內核通過initramfs內部的驅動去加載真正的文件系統,加載各種磁盤、網卡、usb等等驅動,實現系統的高級功能。

     4 init

  它不是系統必須有的程序,只是內核把一部分監控和管理權限放給了init,讓init代理內核實現進程管理。內核之所以讓渡這些權限是因為進程調度是最浪費系統時間。進程調度的一個過程:首先cpu收到中斷信號,cpu就會把當前正在運行的進程的數據全部挪到內存里,并且給這個進程貼上標簽,它運行到哪一步了;然后cpu把內核讀進來,還原內核的狀態,加載上次運行內核數據,cpu判斷下一個需要運行的程序分配好時間片后自己離場;最后加載下一個進程。這里有一個概念,cpu 的處理數據的速度遠遠大于磁盤讀取的速度。當內核特別大的時候,一次調度i/o量將會特別大。這里就解釋通了內核一定要小,越精巧cpu的利用率越高。

     5 bash

  用戶交互工具可以看之前的博客。

系統補救

     1 post階段

  F#進入bios更改,忘記bios密碼,可以取下主板上的紐扣電池,bios中配置的數據都會丟失。

     2 grub階段

  • 開機后計算機處于黑屏狀態,這時硬盤的數據時有效的,這時破壞的一般是grubstage1階段。可以通過光盤的救援模式進行救援,操作流程大致如下:

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

grub-install /dev/sd*      這里的/dev/sd*是原grub所在的硬盤

  • 開機后計算機黑屏但是有報錯erorr ##,這時stage1.5stage2被破壞了,和修復stage修復流程類似:

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

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

  • 開機后系統顯示grub >這時是grub的配置文件被破壞了,grub配置文件的位置/boot/grub/grub.confgrub配置文件的格式

default=0                 
timeout=5                 grub界面的等待時間
tille centos6               引導的名字
       root(hd0,0)         內核文件位于的磁盤分區
       kernel /vmlinuzroot=/dev/sda2         使用哪一個內核,文件系統的目錄
       initrd /initramfs        initramfs的位置


3 kernelinitbash補救

kernelinitbash丟失,進入救援模式安裝對應的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幫一批程序監聽端口,只有被調用的時候才會運行服務程序。

總結

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


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德昌县| 乐山市| 无锡市| 东阳市| 平江县| 古田县| 鹤壁市| 石屏县| 上杭县| 津南区| 渝北区| 潮安县| 冀州市| 黄龙县| 宜都市| 宁河县| 汉阴县| 崇明县| 潼关县| 桦川县| 遵义市| 华宁县| 宁蒗| 绥江县| 福海县| 阳新县| 江油市| 太谷县| 安国市| 合江县| 双峰县| 宁津县| 胶南市| 金乡县| 鹤岗市| 伽师县| 东明县| 紫云| 通河县| 自治县| 合肥市|