Linux第5章課后習題答案_第1頁
Linux第5章課后習題答案_第2頁
Linux第5章課后習題答案_第3頁
Linux第5章課后習題答案_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Linux思考題5

1.fork()和done()二者之間的區別是什么?

答:fork創建一個進程時,子進程只是完全復制父進程的資源,復制出來的

子進程有自己的task_struct結構和pid,但卻復制父進程其它所有的資源。通

過fork創建子進程,需要洛上面描述的每種資源都復制一個副本。fork()調用

執行一次返回兩個值,對于父進程,fork函數返回子程序的進程號,而對于

子程序,fork函數則返回零,這就是一個函數返回兩次的本質。在fork之后,

子進程和父進程都會繼續執行fork調用之后的指令。

系統調用fork。和vfork()是無參數的,而clone。則帶有參數。fork。是全

部復制,vfork()是共享內存,而clone。是則可以將父進程資源有選擇地復制

給子進程,而沒有復制的數據結構則通過指針的復制讓子進程共享,具體要

復制哪些資源給子進程,由參數列表中的clone_flags來決定。另外,clone。

返回的是子進程的pick

2.什么是進程?什么是線程?Linux系統中的進程有那些狀態?如何獲取系統

中各進程的狀態?

答:進程是指在系統中正在運行的一個應用程序;線程是系統分配處理器時

間資源的基本單元,或者說進程之內獨立執行的一個單元。對于操作系統而

言,其調度單元是線程。一個進程至少包括一個線程,通常將該線程稱為主

線程。一個進程從主線程的執行開始進而創建一個或多個附加線程,就是所

謂基于多線程的多任務。

Linux系統中的進程狀態有:TASK_RUNNING(運行狀態),

TASK」NTERRUPTIBLE(可中斷睡眠狀態),TASK_UNINTERRUPTIBLE(不可

中斷的睡眠狀態),TASK_STOPPED(暫停狀態),

TASK_NONINTERACTIVE(不可交互睡眠狀態),TASK_DEAD(死亡狀態),

EXIT_ZOMBIE(僵死進程),EXIT_DEAD(僵死撤銷狀態)

ps查看靜態的進程信息

可以使用man來查看ps的使用參數以下是幾個常使用到得,

a顯示當前終端的所有進程信息

u使用以用戶為主的格式輸出進程信息

x顯示當前用戶在所有終端下的進程信息

-e顯示系統內的所有進程

#ps只顯示當前用戶打開的進程

]#psaux顯示系統中所有進程信息

3.Linux系統中進程有哪兩種模式?各有何特點?

答:用戶進程和系統進程,

用戶進程就是用戶自己打開的應用程序,可有可無。

系統進程即是內核進程,是維持操作系統正常工作自動生成的,關閉系統進

程會產生不可預知的結果。

4.Linux系統中進程控制塊的作用是什么?它進程有何關系?

答:進程控制塊(PCB)的作用:進程控制塊是進程組成中最關鍵的部分,它保存

有進程的重要信息。1)每個進程有唯一的PCB-2)操作系統根據PCB.

對進程實施控制和管理。3)進程的動態、并發等特征是利用PCB.表現出

來的。4)PCB是進程存在的唯一標志。

5.Linux系統如何執行進程調度?

答:首先查找所有在就緒隊列中的進程,從中選出優先級最高且在內存的一個

進程,如果隊列中有實時進程,那么實時進程將優先運行。如果最需要運行的不

是當前進程,則掛起當前進程,并保護它的現場,然后為選中的進程恢復運

行現場。

5.8Linux系統一般采用哪種文件系統?其構造形式如何?

答:采用ext2文件系統。(現在幾乎是默認用ext3了)ext2文件系統中的文件信

息都保存在數據塊中。在同一個ext2文件系統中,所有數據塊的大小一樣。

ext2文件系統將邏輯分區劃分成塊組,每個塊組重復保存一些有關整個文件系統

的關鍵信息,以及實際的文件和目錄的數據塊。

系統引導塊總是介質上的第一數據塊,只有根文件系統才放有引導程序。

5.9什么是塊組?什么是超級塊?超級塊的功能是什么?

答:linux用的是虛擬文件系統,塊組是相當于windows系統的硬盤分區,比如c

盤d盤。超級塊位于塊組的最前面,描述文件系統整體信息的數據結構,主要描

述文件系統的目錄和文件的靜態分布情況,以及描述文件系統的各種組成結構的

尺寸、數量等。

5.10什么是索引節點?索引節點主要有哪些內容?它與文件有何關系?

答:索引節點是一個結構,它包含了一個文件的長度、創建及修改時間、權限、

所屬關系、磁盤中的位置等信息。一個文件系統維護了一個索引節點的數組,每

個文件或目錄都與索引節點數組中的唯一一個元素對應。系統給每個索引節點分

配了一個號碼,也就是該節點在數組中的索引號,稱為索引節點號。

2.索引節點與文件的關系

Linux為每個文件分配一個稱為索引節點的號碼inode,可以將inode簡單理解成

一個指針,它永遠指向本文件的具體存儲位置。系統是通過索引節點(而不是文

件名)來定位每一個文件。文件系統處理文件所需要的所有信息都放在稱為索引

節點的數據結構中。文件名可以隨時更改,但是索引節點對文件是唯一的,并且

隨文件的存在而存在。

一個文件系統允許的inode節點數是有限的,如果文件數量太多,即使每個文件

都是0字節的空文件,系統最終也會因為節點空間耗盡而不能再創建文件.

5.11為什么要設立虛擬文件系統?它與實際文件系統的關系是怎樣的?

答:Linux系統支持多種文件系統,必須使用一種統?的接口,而VFS可以實現;VFS

是建立在具體文件系統之上的,它為用戶程序提供一個統一的、抽象的、虛擬的文件系

統界面。

5.13Linux系統采用哪兩種內存管理技術?各自的基本實現思想是什么?

答:Linux系統采用交換和請求分頁存儲管理兩種內存管理技術;1)請求分頁

的基本思想是,當執行一個程序時,才把它換入內存,但并不把全部程序都調入

內存,而是用到哪一頁就調入哪一頁;2)內存交換基本思想,當系統中出現內

存不足時,Linux內存管理子系統就需要釋放一些內存頁,從而增加系統中空閑

內存頁的數量。

5.17Linux信號機制是如何實現進程通信?

答:Linux信號機制基本上是從Unix系統中繼承過來的。早期Unix系統中的信號

機制比較簡單和原始,后來在實踐中暴露出一些問題,因此,把那些建立在早

期機制上的信號叫做“不可靠信號“,信號值小于SIGRTMIN(Redhat7.2中,

SIGRTMIN=32,SIGRTMAX=63)的信號都是不可靠信號。這就是“不可靠信號”的來

源。它的主要問題是:

?進程每次處理信號后,就將對信號的響應設置為默認動作。在某些情況下,將

導致對信號的錯誤處理;因此,用戶如果不希望這樣的操作,那么就要在信號處

理函數結尾再一次調用signal。,重新安裝該信號。

?信號可能丟失,后面將對此詳細闡述。

因此,早期unix下的不可靠信號主要指的是進程可能對信號做出錯誤的反應以

及信號可能丟失。

Linux支持不可靠信號,但是對不可靠信號機制做了改進:在調用完信號處理函

數后,不必重新調用該信號的安裝函數(信號安裝函數是在可靠機制上的實現)。

因此,Linux下的不可靠信號問題主要指的是信號可能丟失。

信號值位于SIGRTMIN和SIGRTMAX之間的信號都是可靠信號,可靠信號克服了

信號可能丟失的問題。Linux在支持新版本的信號安裝函數sigation()以及信

號發送函數sigqueue。的同時,仍然支持早期的signal()信號安裝函數,支持信

號發送函數kill()o注:不要有這樣的誤解:由sigqueue()發送、sigaction安裝

的信號就是可靠的。事實上,可靠信號是指后來添加的新信號(信號值位于

SIGRTMIN及SIGRTMAX之間);不可靠信號是信號值小于SIGRTMIN的信號。信

號的可靠與不可靠只與信號值有關,與信號的發送及安裝函數無關。目前linux

中的signal。是通過sigation()函數實現的,因此,即使通過signal()安裝的信號,

在信號處理函數的結尾也不必再調用一次信號安裝函數。同時,由signal。安裝

的實時信號支持排隊,同樣不會丟失。

5.19Linux系統中設備驅動分層結構是怎樣的?如何實現與設備的無關性?

答:在面向對象的程序設計中,可以為某一類相似的事物定義一個基類,而具體

的事物可以繼承這個基類中的函數。如果對于繼承的這個事物而言,其某函數的

實現與基類一致,那它就可以直接繼承基類的函數;相反,它可以重載之

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論