學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>操作系統(tǒng)基礎(chǔ)知識>

Linux操作系統(tǒng)的基本常識詳解

時間: 佳洲1085 分享

  Linu_操作系統(tǒng)或許你很熟悉,但是你對Linu_操作系統(tǒng)的基本常識又認(rèn)識多少呢?下面由學(xué)習(xí)啦小編為大家整理了Linu_操作系統(tǒng)的基本常識詳解的相關(guān)知識,希望對大家有幫助!

  Linu_操作系統(tǒng)的基本常識詳解

  1、系統(tǒng)組成部分

  Linu_系統(tǒng)內(nèi)核,shell(命令編譯器),文件系統(tǒng)和應(yīng)用程序四部分組成。

  2、Linu_ 內(nèi)核由哪些部分組成

  進(jìn)程管理,文件系統(tǒng)管理,網(wǎng)絡(luò)功能,內(nèi)存管理,驅(qū)動程序,安全功能,進(jìn)程間通信等模塊構(gòu)成

  3、進(jìn)程鏈表

  進(jìn)程鏈表是一個雙向鏈表,進(jìn)程鏈表把所有進(jìn)程的描述符鏈接起來。每個task_struct 結(jié)構(gòu)都包含一個list_head類型的tasks字段,這個類型的orev和ne_t字段分別指向前面和后面的task_struct元素。

  4、Linu_ 創(chuàng)建子進(jìn)程及子線程

  (1) fork是重量級調(diào)用,因?yàn)樗⒘烁高M(jìn)程的一個完整副本,然后作為子進(jìn)程。

  (2) vfork1類似于fork,但并不創(chuàng)建父進(jìn)程數(shù)據(jù)的副本,相反,父子進(jìn)程共享數(shù)據(jù),節(jié)省了大量的CPU。vfork設(shè)計用于子進(jìn)程形成后立即執(zhí)行e_ecve系統(tǒng)調(diào)用,在子進(jìn)程退出或開始新程序之前,父進(jìn)程處于堵塞狀態(tài)。

  (3) clone用于產(chǎn)生線程,可以堆父子進(jìn)程之間的共享、復(fù)制進(jìn)行精確控制。

  所有的3個fork機(jī)制最終都調(diào)用了kernel/fork.c中的do_fork函數(shù),在do_fork中,大多數(shù)工作都是由copy_process函數(shù)完成的。

  5、COW

  父進(jìn)程在fork 出子進(jìn)程后,父子進(jìn)程共享內(nèi)存數(shù)據(jù),如果子進(jìn)程要修改內(nèi)存數(shù)據(jù) ,Copy一份副本給子進(jìn)程做修改

  6、進(jìn)程的優(yōu)先級

  linu_的進(jìn)程優(yōu)先級分:

  1. 實(shí)時優(yōu)先級(跟內(nèi)核有關(guān)),范圍0-99,數(shù)字越小優(yōu)先級越低。top看到的RT的都是實(shí)時優(yōu)先級。

  2. 靜態(tài)優(yōu)先級(跟用戶有關(guān)),范圍100-139, 數(shù)字越小優(yōu)先級越高 static_prio = MA__RT_PRIO + nice + 20,其中MA__RT_PRIO = 100,那么取值區(qū)間為[100, 139];

  實(shí)時優(yōu)先級比靜態(tài)優(yōu)先級高。

  nice是一個優(yōu)先值,范圍-20-19 這個值越小,那么對應(yīng)的進(jìn)程優(yōu)先級越高,在top里,PR-NI=20

  默認(rèn)啟動一個進(jìn)程,nice是0,也可以在執(zhí)行這個進(jìn)程時指定nice值:

  nice -n -5 sleep 100

  使用renice可以調(diào)整這個值:

  renice 10 pid

  如下命令可以看到實(shí)時優(yōu)先級和靜態(tài)優(yōu)先級的級:

  ps -e -o rtprio,pri,nice,cmd

  從調(diào)度的角度,Linu_把進(jìn)程分成140個優(yōu)先等級,其中0級到99級是分給實(shí)時進(jìn)程的,100級到139級是分給非實(shí)時進(jìn)程的。每個優(yōu)先等級都有一個運(yùn)行隊(duì)列,這樣就有140個運(yùn)行隊(duì)列。運(yùn)行時間片結(jié)束會 送入休息隊(duì)列 也有140 個休息隊(duì)列

  Linu_ 內(nèi)核,搶占式多任務(wù),高優(yōu)先級槍戰(zhàn)低優(yōu)先級,但必須在固定的時間點(diǎn)上

  守護(hù)進(jìn)程: daemon 內(nèi)核在系統(tǒng)的引導(dǎo)過程中啟動跟終端無關(guān)

  用戶進(jìn)程: 用戶通過終端打開的進(jìn)程

  注意:也可以在前臺啟動的進(jìn)程送到后臺以守護(hù)進(jìn)程運(yùn)行

  7、Linu_ 權(quán)限設(shè)置:

  •Kernel

  –系統(tǒng)啟動時將內(nèi)核裝入內(nèi)存

  –管理系統(tǒng)各種資源

  •Shell

  –用戶界面,提供用戶與內(nèi)核交互處理接口

  –是命令解釋器,提供強(qiáng)大的編程環(huán)境

  –bash,ash,pdksh,tcsh,ksh,sh,csh,zsh….

  •Utility

  –提供各種管理工具,應(yīng)用程序

  8、進(jìn)程間通信方式

  1. 管道(pipe),流管道(s_pipe)和有名管道(FIFO)

  2. 信號(signal)

  3. 消息隊(duì)列

  4. 共享內(nèi)存

  5. 信號量

  6.套接字(socket)

  7.RPC

  8.Socket

  9、進(jìn)程的狀態(tài)

  運(yùn)行態(tài),就緒態(tài),睡眠態(tài)(可中斷,不可終端) 停止態(tài),僵死態(tài)

  可中斷睡眠: 叫醒之后可以立馬工作

  不可終端睡眠:進(jìn)程等待某種資源,即使叫醒也不能工作

  僵死態(tài): 已經(jīng)執(zhí)行完任務(wù)等待回收的子進(jìn)程

  10、Linu_ 文件系統(tǒng)

  Linu_使用標(biāo)準(zhǔn)的目錄結(jié)構(gòu),在安裝的時候,安裝程序就已經(jīng)為用戶創(chuàng)建了文件系統(tǒng)和完整而固定的目錄組成形式,并指定了每個目錄的作用和其中的文件類型。

  /bin 二進(jìn)制可執(zhí)行命令

  /dev 設(shè)備特殊文件

  /etc 系統(tǒng)管理和配置文件

  /etc/rc.d 啟動的配置文件和腳本

  /home 用戶主目錄的基點(diǎn),比如用戶user的主目錄就是/home/user,可以用~user表示

  /lib 標(biāo)準(zhǔn)程序設(shè)計庫,又叫動態(tài)鏈接共享庫,作用類似windows里的.dll文件

  /sbin 系統(tǒng)管理命令,這里存放的是系統(tǒng)管理員使用的管理程序

  /tmp 公用的臨時文件存儲點(diǎn)

  /root 系統(tǒng)管理員的主目錄(呵呵,特權(quán)階級)

  /mnt 系統(tǒng)提供這個目錄是讓用戶臨時掛載其他的文件系統(tǒng)。

  /lost+found 這個目錄平時是空的,系統(tǒng)非正常關(guān)機(jī)而留下“無家可歸”的文件(windows下叫什么.chk)就在這里

  /proc 虛擬的目錄,是系統(tǒng)內(nèi)存的映射。可直接訪問這個目錄來獲取系統(tǒng)信  息。

  /var 某些大文件的溢出區(qū),比方說各種服務(wù)的日志文件

  /usr 最龐大的目錄,要用到的應(yīng)用程序和文件幾乎都在這個目錄。其中包  含:

  /usr/_11R6 存放_ window的目錄

  /usr/bin 眾多的應(yīng)用程序

  /usr/sbin 超級用戶的一些管理程序

  /usr/doc linu_文檔

  /usr/include linu_下開發(fā)和編譯應(yīng)用程序所需要的頭文件

  /usr/lib 常用的動態(tài)鏈接庫和軟件包的配置文件

  /usr/man 幫助文檔

  /usr/src 源代碼,linu_內(nèi)核的源代碼就放在/usr/src/linu_里

  /usr/local/bin 本地增加的命令

  /usr/local/lib 本地增加的庫

  文件系統(tǒng)指文件存在的物理空間,linu_系統(tǒng)中每個分區(qū)都是一個文件系統(tǒng),都有自己的目錄層次結(jié)構(gòu)。linu_會將這些分屬不同分區(qū)的、單獨(dú)的文件系統(tǒng)按一定的方式形成一個系統(tǒng)的總的目錄層次結(jié)構(gòu)。一個操作系統(tǒng)的運(yùn)行離不開對文件的操作,因此必然要擁有并維護(hù)自己的文件系統(tǒng)。

  Llinu_文件系統(tǒng)使用索引節(jié)點(diǎn)來記錄文件信息

  掛載點(diǎn)必須是一個目錄。

  2、一個分區(qū)掛載在一個已存在的目錄上,這個目錄可以不為空,但掛載后這個目錄下以前的內(nèi)容將不可用。

  對于其他操作系統(tǒng)建立的文件系統(tǒng)的掛載也是這樣。但是需要理解的是:光盤、軟盤、其他操作系統(tǒng)使用的文件系統(tǒng)的格式與linu_使用的文件系統(tǒng)格式是不一樣的。光盤是ISO9660;軟盤是fat16或e_t2;

  光驅(qū)和軟驅(qū)是不自動掛載的,參數(shù)設(shè)置為noauto。(如果你非要設(shè)成自動掛載,你要確保每次開機(jī)時你的光驅(qū)和軟驅(qū)里都要有盤

  Linu_ 系統(tǒng)上查看及管理工具

  pstree,ps,pidof,pgrep,top,htop,glances,pmap,vmstat,dstat,kill,pkill,job,nohup,nice,renicekillall

  Linu_操作系統(tǒng)的常見問題及解答

  1.Linu_開機(jī)啟動流程詳細(xì)步驟是什么?系統(tǒng)安裝完,忘記密碼如何破解?

  答:

  開機(jī)步驟由a--h

  a、首先是bios加電自檢、初始化,這個過程會檢測相關(guān)硬件(cpu、內(nèi)存、顯卡、硬盤等),然后讀取一個啟動順序,以硬盤為例,會讀取硬盤中的MBR。

  b、加載內(nèi)核 讀取/boot里邊的配置文件。

  c、啟動初始化進(jìn)程,開始運(yùn)行/sbin/init

  d、讀取/etc/inittab確定運(yùn)行級別

  e、根據(jù)/etc/rc.d/rcN.d加載開機(jī)啟動程序,rcN.d都是鏈接文件,都指向/etc/rc.d/init.d 再運(yùn)行/etc/rc.d/rc.local

  f、用戶登錄(3種方式 ssh、命令行、圖形化)

  g、進(jìn)入login shell,以命令行為例,首先讀取/etc/profile這個全局配置文件,然后再針對當(dāng)前用戶讀取家目錄中的 ~/.bash_profile和~/.bash_login和~/.profile

  h、最后一步就是打開non-login shell,進(jìn)入圖形化后 手動新建一個終端,但這個shell不讀取/etc/profile

  忘記密碼

  a、重啟系統(tǒng),在GRUB界面,選取忘記密碼的系統(tǒng),按e鍵進(jìn)入編輯模式

  b、選項(xiàng)Kernel.....按e鍵進(jìn)行編輯

  c、在編輯界面rhgb quiet后加空格,然后輸入"single"或"1" 回車

  d、按b啟動 進(jìn)入單用戶模式

  f、進(jìn)入系統(tǒng)后passwd回車輸入新密碼(如果有selinu_,先暫時關(guān)閉 setenforce 0)

  2.企業(yè)中l(wèi)inu_服務(wù)器系統(tǒng)分區(qū)標(biāo)準(zhǔn)是什么?(硬盤為300G,內(nèi)存16G)

  答:

  /boot 200M

  /swap 16G

  / 70G

  /data 剩下的全部空間

  3.某一天突然發(fā)現(xiàn)Linu_系統(tǒng)文件只讀,該怎么辦呢?完整操作步驟。

  答:

  首先把系統(tǒng)關(guān)機(jī),然后以光盤啟動進(jìn)入救援模式(linu_ rescue),執(zhí)行"fsck.e_t3 -y /dev/sda2" (假如只讀的分區(qū)類型為e_t3,分區(qū)為/dev/sda2)

  4.安裝一臺系統(tǒng)使用DVD光盤安裝,如何安裝50臺Linu_系統(tǒng)如何安裝呢?思考一下。

  答:

  a、可以多用幾張DVD一臺一臺的安裝。

  b、可以用Kickstart批量安裝(客戶端從網(wǎng)絡(luò)啟動)

  5.用虛擬機(jī)安裝了一臺Linu_系統(tǒng),突然想克隆一臺服務(wù)器,克隆后發(fā)現(xiàn)無法上網(wǎng),如何解決?

  答:

  a、編輯網(wǎng)卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0,將HWADDR和MAC地址這兩行刪除。

  b、修改文件/etc/udev/rules.d/70-persistent-net.rules,刪除之前eth0所在的行,將下一行eth1修改為eth0

  c、reboot

  6.Linu_網(wǎng)卡配置文件路徑是什么?要使服務(wù)器上外網(wǎng),必須滿足的條件有哪些?需要配置什么?

  答:

  網(wǎng)卡配置文件路徑:/etc/sysconfig/network-scripts/ifcfg-eth__表數(shù)字)

  要上外網(wǎng)需要:能夠鏈接internet的網(wǎng)線(或無線)、有網(wǎng)卡

  需要配置:IP、netmask、gateway、dns(自動或手動都o(jì)k,服務(wù)器一般自動)

  7.一般可以使用什么軟件遠(yuǎn)程linu_服務(wù)器?通過什么上傳文件和下載文件?

  答:

  遠(yuǎn)程連接linu_的軟件:_shell、SecureCRT、putty、vnc(圖形化)

  上傳和下載文件:lrzsz、sftp

  8./mnt目錄主要用于什么?/root目錄跟root用戶有什么關(guān)系?/根目錄與/boot目錄有什么聯(lián)系?

  答:

  /mnt一般用于掛載外接設(shè)備

  /root是一個目錄,是root用戶的家目錄

  /boot目錄是/目錄下的一個子目錄

  9.某一天誤操作,執(zhí)行了rm -rf _,會有哪些情況發(fā)生?請舉例。

  答:

  a、如果當(dāng)前目錄為"/tmp" ,那么這個目錄下的東西會全部刪除(默認(rèn)不包含隱藏文件)

  b、如果當(dāng)前目錄為"/",那么系統(tǒng)上的數(shù)據(jù)將會丟失,且無法啟動,系統(tǒng)崩潰(謹(jǐn)慎使用這個命令)

Linux操作系統(tǒng)的基本常識詳解

Linux操作系統(tǒng)或許你很熟悉,但是你對Linux操作系統(tǒng)的基本常識又認(rèn)識多少呢?下面由學(xué)習(xí)啦小編為大家整理了Linux操作系統(tǒng)的基本常識詳
推薦度:
點(diǎn)擊下載文檔文檔為doc格式

精選文章

  • Linux操作系統(tǒng)環(huán)境變量的配置方法
    Linux操作系統(tǒng)環(huán)境變量的配置方法

    Linux操作系統(tǒng)環(huán)境變量的配置是很不容易的。下面由學(xué)習(xí)啦小編為大家整理了Linux操作系統(tǒng)環(huán)境變量的配置方法的相關(guān)知識,希望對大家有幫助! Linux操作系

  • Linux操作系統(tǒng)和windos操作系統(tǒng)的區(qū)別
    Linux操作系統(tǒng)和windos操作系統(tǒng)的區(qū)別

    Linux操作系統(tǒng)與Windows操作系統(tǒng)是當(dāng)今最主流的兩個操作系統(tǒng)。下面由學(xué)習(xí)啦小編為大家整理了Linux操作系統(tǒng)和Windows操作系統(tǒng)的區(qū)別的相關(guān)知識,希望對大家

  • Linux操作系統(tǒng)的關(guān)機(jī)命令詳解
    Linux操作系統(tǒng)的關(guān)機(jī)命令詳解

    Linux操作系統(tǒng)下如果要關(guān)機(jī)的話該使用什么命令呢?下面由學(xué)習(xí)啦小編為大家整理了Linux操作系統(tǒng)的關(guān)機(jī)命令詳解的相關(guān)知識,希望對大家有幫助! Linux操作系

  • Linux操作系統(tǒng)關(guān)閉端口的方法詳解
    Linux操作系統(tǒng)關(guān)閉端口的方法詳解

    Linux操作系統(tǒng)下要怎么才能關(guān)閉不必要的端口呢?下面由學(xué)習(xí)啦小編為大家整理了Linux操作系統(tǒng)關(guān)閉端口的方法詳解相關(guān)知識,希望對大家有幫助! Linux操作系

3637679