<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 一、系統引導流程 第一步:固件fireware(CMOS/BIOS)——POST加點自檢(與操作系統無關) 這一步主要是檢查硬盤等硬件是否能正常工作 CMOS:是固化在主板上,詳細:[http://school.cfan.com.cn/news/cfannews/2007-06-06/1181111816d66664.shtml](http://school.cfan.com.cn/news/cfannews/2007-06-06/1181111816d66664.shtml) BIOS:BIOS是固件的操作界面 CMOS是用來保存硬件參數信息的,而BIOS是用來修改這些參數的程序,簡單地說:BIOS就是用來設置CMOS參數的手段,CMOS里面保存了BIOS設定的參數和結果,即“我們通過BIOS設置程序對CMOS參數進行修改”,比如我們需要修改系統啟動順序,在調整時,我們是通過BIOS設置為“光驅→硬盤→軟驅”依次啟動的,那么這個啟動順序的數據就保存在CMOS中。 hwclock硬件時鐘(固化在固件中的時鐘) ![](https://box.kancloud.cn/2016-06-14_575f8bb949b1f.jpg) 可以看到我的系統時鐘和硬件時鐘不同,下面來修改系統時鐘和硬件時鐘。 如果hwclock是正確的 ![](https://box.kancloud.cn/2016-06-14_575f8bb9613cb.jpg) 可以用hwclock –help 查看參數? 第二步: 自舉程序BootLoader(GRUB)——載入內核 MBR(mast boot record):位于磁盤的第一個柱面的第一個扇區 關于MBR詳細請看:[http://blog.csdn.net/hbrqlpf/article/details/3007863](http://blog.csdn.net/hbrqlpf/article/details/3007863) /etc/grub.conf配置文件中記錄關于系統內核的詳細信息,我們進去看一下 ![](https://box.kancloud.cn/2016-06-14_575f8bb97fdb4.jpg) 系統內核版本是2.6.18 2:表示主版本號 6:表示次版本號(奇數表示測試版) 18:末版本號 后面還記錄了內核文件的路徑root=LABEL=/rhgb quiet initrd /initrd-2.6.18-128.e15.img 第三步:載入內核后(Kernel)——驅動硬件 啟動進程(init) 系統首先會啟動init進程,該進程啟動后讀取inittab文件,執行缺省運行級別,從而繼續引導過程。在Linux系統中,init是第一個可以存在的進程,它的PID恒為1,但它必須向一個更高級的功能負責:PID為0的內核調度器(Kernel scheduler),從而獲得CPU時間。 孤兒進程:父進程死掉后子進程還存在,則子進程被稱為孤兒進程(系統檢測到孤兒進程后會讓init做父進程)。 僵尸進程:子進程死掉后父進程不知道,則子進程被稱為僵尸進程。 第四步:讀取執行配置文件/etc/inittab ![](https://box.kancloud.cn/2016-06-14_575f8bb9926cc.jpg) 0:表示關機 1:表示單用戶模式(只有root賬號,類似于Windows的安全模式,沒有圖形界面) 2:字符界面多用戶模式,沒有NFS服務 3:字符界面多用戶模式,有NFS服務 4:待使用(自定義級別) 5:圖形化的多用戶模式(系統缺省級別) 6:表示重啟 查看當前系統的運行級別(runlevel) ![](https://box.kancloud.cn/2016-06-14_575f8bb9aefc6.jpg) 切換運行級別 ( init 級別) ![](https://box.kancloud.cn/2016-06-14_575f8bb9c11fa.jpg) ## 二、inittab文件剖析 1、在inittab中所有條目采取以下格式 id:run-levels:action:process id:標識符,一般為兩位數字字母 run-level:指定運行級別,可以指定多個 action:指定運行狀態 process:指定要運行的腳本/命令 2、action常用取值 initdefault:指定系統缺省啟動的運行級別(例如在里面可以修改運行級別2后系統啟動后進入字符界面) sysinit:系統啟動執行process中指定的命令。 wait:執行process中的命令,并等其結束后再執行其他命令 once:執行process中的命令,不等待其結束 ctrlaltdel:按下ctrl+alt+del時執行process指定的命令 powerfail:當出現電源錯誤時執行process指定的命令,不等待其結束 powerokwait:當電源恢復時執行process指定命令 respan:一旦process命令終止,便重新運行該命令 3、各個級別服務程序腳本 /etc/rc.d/init.d目錄下包含各個運行級別的服務程序腳本 ![](https://box.kancloud.cn/2016-06-14_575f8bb9dcaea.jpg) /etc/rc.d/rc[0123456].d分別存放對應運行級別的服務程序腳本的符號鏈接,鏈接到init.d目錄中的相應腳本 ![](https://box.kancloud.cn/2016-06-14_575f8bb9f0de6.jpg) K代表殺死該進程 S代表啟動該腳本進程 K和S后面的數字代表執行順序
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看