中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Linux系統(tǒng)啟動流程


POST(加電自檢)-->bootsequence(引導(dǎo)次序,BIOS-->Boot LoaderMBR-->Kernel+ramdisk(臨時根,initrdinitramfs-->mount rootfs(根切換)-->/sbin/init(配置文件,CentOS 5:/etc/inittab, CentOS6 /etc/init/*.conf


設(shè)置默認運行級別-->指定系統(tǒng)初始化腳本-->初始化額外的硬件設(shè)備并加載驅(qū)動程序-->啟動(關(guān)閉)服務(wù)(/etc/rc.d/rc#.d,/etc/rc.d/init.d/-->/etc/rc.d/rc.local-->設(shè)置CtrlAltDel組合的功能-->啟動終端(mingetty),并在終端附加登錄程序(login-->如果級別為5,則要啟動X server


一、POST加電自檢:

  當我們打開計算機電源,計算機首先會讀取BIOS信息,BIOS中記錄了CPU、內(nèi)存、設(shè)備啟動序列、硬盤等信息;然后對系統(tǒng)啟動關(guān)鍵硬件設(shè)備進行檢測,如果出現(xiàn)嚴重故障則停機;如果是一般故障,會發(fā)出報警提示,等待故障清楚;如果沒有故障,加電自檢完成。

  BIOSBasic Input Output System是保存于主板CMOS芯片中的程序代碼;

  CMOSComplementaryMetal Oxide Semiconductor):是主板上的ROM芯片;


二、獲取引導(dǎo)次序,讀取MBR

  加電自檢完成之后:CPU會讀取BIOS信息中的設(shè)備啟動序列,按照次序引導(dǎo),按次序找引導(dǎo)設(shè)備,第一個有引導(dǎo)程序(MBR)的設(shè)備即為啟動PC server所用到的設(shè)備;

 

  可作為啟動設(shè)備:光驅(qū),便攜式移動設(shè)備,硬盤,網(wǎng)卡(系統(tǒng)引導(dǎo),PXE

    PXE實現(xiàn)系統(tǒng)引導(dǎo)DHCP,tftp(kernel+ramdisk)


  MBR(主引導(dǎo)記錄,Master BootRecord):

  MBR位于磁盤的0磁道0扇區(qū),占用512個字節(jié):

1
2
3
446bytes:Boot Loader,主程序;
64bytes:PartitionTable,硬盤分區(qū)表,每16bytes標記一個分區(qū),一共4分區(qū);3個主分區(qū),1個擴展分區(qū),擴展分區(qū)還可以劃分為若干個邏輯分區(qū);
2bytes:MBR有效性標記;



三、Boot Loader

  操作系統(tǒng)內(nèi)核運行之前的一段小程序,選擇要啟動的內(nèi)核(在當前磁盤的某或某些分區(qū)上);


1Boot Loader比較常見的有GRUBLILO

1
2
3
4
5
LILO:LInux Loader
  0-1023范圍內(nèi)的柱面構(gòu)成的分區(qū)的內(nèi)核文件,通常應(yīng)用與嵌入式計算機;
GRUB:GRand Unified Bootloader
  CentOS 5&6:Grub 0.97
  CentOS7:Grub2 1.96


2、GRUBGRand Unified Bootloader

  1)、grub程序由兩段組成:

    

1
2
3
stage1:位于MBR中(0柱面 0磁道 1扇區(qū));
stage1_5:位于MBR隨后的扇區(qū);
stagr2:讀取grub.conf配置文件,并實現(xiàn)引導(dǎo)功能的擴展;


   grub目錄和配置文件位置:


  2)、grub的功能:

1
2
3
4
5
6
7
8
9
10
1、提供菜單,并提供交互式接口;
  e:進入編輯模式;
  a:直接修改內(nèi)核參數(shù);
  c:進入grub命令行模式;
2、允許用戶選擇要啟動的內(nèi)核或系統(tǒng);
  允許傳遞引導(dǎo)參數(shù)給內(nèi)核;
  選擇界面可隱藏;
3、為編輯功能提供保護機制;
  啟用內(nèi)核文件:選擇運行制定的內(nèi)核需要先輸入密碼;
  傳遞參數(shù):使用e命令需要先輸入密碼;


 

    在菜單選擇倒計時界面按任意鍵進入grub菜單:


    按e鍵進入編輯菜單可以看到kernelinitrd


  3)、grub命令行接口:

1
2
3
4
5
6
7
8
9
10
11
>root(DEVICE):指定哪個分區(qū)為接下來要啟動的系統(tǒng)或內(nèi)核文件所在的分區(qū);
  所有硬盤都識別為hd;
 不同的硬盤基于數(shù)字標識:如hd0,hd1等;
 同一個硬盤上的不同分區(qū),也使用數(shù)字標識,如hd0,0 hd1,5;
  
>find(DEVICE)/path/to/file:查找文件
  
>kernel:指定要運行的內(nèi)核文件;
>initrd:為要運行的內(nèi)核指定其可用的ramdisk文件;
  
>boot:啟動此前配置好的內(nèi)核或系統(tǒng);


 

  按c鍵進入grub命令行接口:


  4)、配置文件grub.conf

    文件位置:/boot/grub/grub.conf


  參數(shù):

1
2
3
4
5
6
7
8
default=:選擇第幾個title配置的內(nèi)核或系統(tǒng),各title從0開始編號;
timeout=#:菜單顯示的超時時長;
splashimage=/path/to/some_image_file:指定菜單的背景圖片;此圖片只能為14bits色,xpm格式,gzip壓縮;
hiddenmenu:隱藏菜單
titleTILTE STRING:顯示于菜單中的標題;
root:指定引導(dǎo)分區(qū);
kernel:指定kernel位置;
initrd:指定initramfs位置;


  在grub菜單按a鍵可在內(nèi)核加載前編輯內(nèi)核參數(shù):


  常用參數(shù):

1
single:單用戶模式啟動;


  5)、grub保護機制:

1
2
3
4
5
6
1、生成密碼:
  #grub-md5-crypt
2、保護編輯功能,則需要title之外的添加:
  #password--md5 密碼串
3、保護使用某內(nèi)核,則需要內(nèi)核對應(yīng)的title之下添加:
  #password--md5 密碼串


  6)、安裝grub的方式:

1
2
3
4
5
6
7
8
使用grub-install命令:
  #grub-install [--root-directory=/path/to/somewhere] DEVICE
    --root-directory=/path/to/somewhere
  /path/to/somewhere:內(nèi)核及initrd文件所在的分區(qū)的掛載點的父目錄,且此掛載點必須叫boot;
例如:/dev/sdb1:/mnt/boot
  #grub-install --root-directory=/mnt /dev/sdb

 

四、kernel+ramdisk

  根據(jù)grub設(shè)定的內(nèi)核映像所在路徑,系統(tǒng)讀取內(nèi)核文件,并進行解壓縮操作;系統(tǒng)將解壓縮后的內(nèi)核放在內(nèi)存中,完成內(nèi)核自身初始化;探測所能識別的硬件設(shè)備,并加載驅(qū)動程序,完成核心環(huán)境建立;


  要讀取內(nèi)核文件必須訪問根文件系統(tǒng)要加載根文件系統(tǒng)所在的設(shè)備,而此時根文件系統(tǒng)沒有掛載,要掛載根文件系統(tǒng)需要根文件系統(tǒng)所在設(shè)備的驅(qū)動程序。為解決這個問題,grub在加載內(nèi)核同時,也把ramdisk加載到內(nèi)存中并運行;


  展開ramdisk鏡像文件:


  ramdisk在內(nèi)存中表現(xiàn)為一個虛擬根文件系統(tǒng)initfs,里面有如同Linux根目錄下的binsbin、dev、etc、lib、proc、usrvar、tmp等目錄;initfs將內(nèi)核與真實根建立聯(lián)系,內(nèi)核通過initfs加載驅(qū)動程序,然后進行根切換,掛載真實根目錄;至此內(nèi)核加載完成;


1、kernel:

  內(nèi)核的功能:進程管理、文件系統(tǒng)、硬件驅(qū)動(在內(nèi)核模式下運行)、內(nèi)存管理、安全功能(SELinux)、網(wǎng)絡(luò)子系統(tǒng);


  1)、內(nèi)核設(shè)計流派:

1
2
3
4
5
6
7
8
9
10
單內(nèi)核體系結(jié)構(gòu):
  linux:支持模塊化,模塊可以動態(tài)裝卸載
  linux內(nèi)核:核心+外圍模塊
    核心:/boot/vmlinux-VERSION-release
    模塊:/lib/modules/VERSION-release
      .ko:kernel object
    ramdisk:/boot/initramfs-VERSION-release.img
      在內(nèi)核啟動過程中裝載根文件系統(tǒng)時有用;模塊間有可能存在依賴關(guān)系;
微內(nèi)核體系結(jié)構(gòu):
  windows、solaris


  2)、內(nèi)核的某些功能:

1
2
3
編譯進內(nèi)核本體 [*]
編譯成內(nèi)核模塊 [M]
不選擇使用     [ ]

 

  3)、內(nèi)核模塊管理:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#lsmod:顯示內(nèi)核已裝載模塊
  
動態(tài)裝卸載模塊:
  #modprobe -rMOD_NAME:卸載;
  #modprobe MOD_NAME:裝載;
  #insmod/path/to/module_file:裝載;
  #rmmod MOD_NAME:卸載;
查看某模塊的詳細信息:
  #modinfo MOD_NAME
                                     
檢查并生成模塊間依賴關(guān)系的命令:
  #depmod


2、ramdisk

1
2
3
4
5
6
CentOS 5:SysV,init;/etc/inittab--/etc/rc.d/rc.sysinit;
CentOS 6:upstart,init;/etc/init/*.conf(/etc/inittab) --> /etc/rc.d/rc.sysinit
  #chkconfig
CentOS 7:systemd, init;/usr/lib/systemd/system/;借鑒MAC OS X;
  #systemctl

 

五、/sbin/init

  內(nèi)核加載完成之后,第一個運行的程序就是/sbin/init,該文件會先讀取/etc/init/rcS.conf文件:


設(shè)定系統(tǒng)運行級別:

1
2
3
4
5
6
7
8
9
10
0-6:7個運行級別:
  0:關(guān)機;
  1:single usermode,single,s,S,不啟動網(wǎng)絡(luò)功能,不啟動用戶認證,單用戶模式(維護模式);
  2:multi usermode,不支持NFS功能;
  3:完全多用戶模式,文本接口,不啟動圖形界面;
  4:未使用;預(yù)留級別;
  5:完全多用戶模式,圖形接口;
  6:重啟;
#init:切換運行級別;

 


 

六、/etc/rc.d/rc.sysinit:系統(tǒng)初始化腳本

查看/etc/rc.d/rc.sysinit文件部分內(nèi)容:


初始化設(shè)置流程:

1
2
3
4
5
6
7
8
9
10
11
設(shè)定主機名:讀取/etc/sysconfig/network文件中的HOSTNAME參數(shù),并以之設(shè)定主機名;
打印文本歡迎信息:
激活SELinux和udev;
掛載/etc/fstab文件中定義的其他文件系統(tǒng);
激活swap;
檢測根文件系統(tǒng),并以讀寫方式重新掛載;
設(shè)置系統(tǒng)時鐘;
根據(jù)/etc/sysctl.conf設(shè)置內(nèi)核參數(shù);
激活LVM和RAID設(shè)備;
加載額外設(shè)備的驅(qū)動程序;
清理操作;


七、啟動內(nèi)核模塊:

  依據(jù)/etc/modprobe.d/*.conf文件裝載內(nèi)核模塊:


八、執(zhí)行指定運行級別的腳本程序:

  /etc/rc.d/rc#.d/:啟動指定的默認級別的默認為啟動的服務(wù),停止指定的級別下默認為關(guān)閉的服務(wù);


  查看/etc/rc.d/rc3.d/目錄:


1、目錄中為鏈接文件指向服務(wù)腳本:

1
2
3
4
S##:默認啟動的服務(wù);
K##:默認停止的服務(wù);
##:01-99,數(shù)字越小,越優(yōu)先啟動或關(guān)閉;
  先啟動的后關(guān)閉(自動解決依賴關(guān)系);


2、chkconfig:創(chuàng)建或改變連接文件;

1
2
3
4
5
6
7
8
9
10
11
#chkconfig --add SRV_SCRIPT:創(chuàng)建;
#chkconfig --del SRV_SCRIPT:刪除;
#chkconfig SRV_SCRIPT {on|off}:開機自動{啟動|關(guān)閉};
  默認為2345級別;
  --level######
腳本如果期望能夠被chkconfig命令使用,要在腳本中添加如下行:
  #chkconfig:- 85 15
    -:當此腳本由chkconfig控制時,默認哪些級別就是開啟的;
    85:啟動優(yōu)先級;
    15:關(guān)閉優(yōu)先級;


 

九、/etc/rc.d/rc.local

  是一個腳本,通常為系統(tǒng)啟動完成的最后運行一個腳本;

    定義一些組合鍵的功能:通常是Ctrl+Alt+Delete;

    初始化字符終端;

    如果有需要,啟動圖形終端;


十、/bin/logon

  登陸程序:顯示登陸提示符,等待用戶輸入usernamepasswd;


本文出自 “小馬的學(xué)習(xí)記錄” 博客,請務(wù)必保留此出處http://masachencer.blog.51cto.com/8683770/1672797

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
centos5,6 系統(tǒng)啟動流程
Liunx 下 rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d 介紹
linux開機啟動腳本的順序 - linux內(nèi)核以及高級編程 - Lover 七亦
一種創(chuàng)建小型化Linux系統(tǒng)的方法
Linux服務(wù)器啟動過程詳解(引載)_江海川行
Linux啟動過程詳解-《別怕Linux編程》之八
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服