![Linux第5章課后習(xí)題答案_第1頁](http://file4.renrendoc.com/view12/M08/37/1B/wKhkGWcnHMyAakxSAAKZLKOW4PM368.jpg)
![Linux第5章課后習(xí)題答案_第2頁](http://file4.renrendoc.com/view12/M08/37/1B/wKhkGWcnHMyAakxSAAKZLKOW4PM3682.jpg)
![Linux第5章課后習(xí)題答案_第3頁](http://file4.renrendoc.com/view12/M08/37/1B/wKhkGWcnHMyAakxSAAKZLKOW4PM3683.jpg)
![Linux第5章課后習(xí)題答案_第4頁](http://file4.renrendoc.com/view12/M08/37/1B/wKhkGWcnHMyAakxSAAKZLKOW4PM3684.jpg)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Linux思考題5
1.fork()和done()二者之間的區(qū)別是什么?
答:fork創(chuàng)建一個進(jìn)程時,子進(jìn)程只是完全復(fù)制父進(jìn)程的資源,復(fù)制出來的
子進(jìn)程有自己的task_struct結(jié)構(gòu)和pid,但卻復(fù)制父進(jìn)程其它所有的資源。通
過fork創(chuàng)建子進(jìn)程,需要洛上面描述的每種資源都復(fù)制一個副本。fork()調(diào)用
執(zhí)行一次返回兩個值,對于父進(jìn)程,fork函數(shù)返回子程序的進(jìn)程號,而對于
子程序,fork函數(shù)則返回零,這就是一個函數(shù)返回兩次的本質(zhì)。在fork之后,
子進(jìn)程和父進(jìn)程都會繼續(xù)執(zhí)行fork調(diào)用之后的指令。
系統(tǒng)調(diào)用fork。和vfork()是無參數(shù)的,而clone。則帶有參數(shù)。fork。是全
部復(fù)制,vfork()是共享內(nèi)存,而clone。是則可以將父進(jìn)程資源有選擇地復(fù)制
給子進(jìn)程,而沒有復(fù)制的數(shù)據(jù)結(jié)構(gòu)則通過指針的復(fù)制讓子進(jìn)程共享,具體要
復(fù)制哪些資源給子進(jìn)程,由參數(shù)列表中的clone_flags來決定。另外,clone。
返回的是子進(jìn)程的pick
2.什么是進(jìn)程?什么是線程?Linux系統(tǒng)中的進(jìn)程有那些狀態(tài)?如何獲取系統(tǒng)
中各進(jìn)程的狀態(tài)?
答:進(jìn)程是指在系統(tǒng)中正在運(yùn)行的一個應(yīng)用程序;線程是系統(tǒng)分配處理器時
間資源的基本單元,或者說進(jìn)程之內(nèi)獨(dú)立執(zhí)行的一個單元。對于操作系統(tǒng)而
言,其調(diào)度單元是線程。一個進(jìn)程至少包括一個線程,通常將該線程稱為主
線程。一個進(jìn)程從主線程的執(zhí)行開始進(jìn)而創(chuàng)建一個或多個附加線程,就是所
謂基于多線程的多任務(wù)。
Linux系統(tǒng)中的進(jìn)程狀態(tài)有:TASK_RUNNING(運(yùn)行狀態(tài)),
TASK」NTERRUPTIBLE(可中斷睡眠狀態(tài)),TASK_UNINTERRUPTIBLE(不可
中斷的睡眠狀態(tài)),TASK_STOPPED(暫停狀態(tài)),
TASK_NONINTERACTIVE(不可交互睡眠狀態(tài)),TASK_DEAD(死亡狀態(tài)),
EXIT_ZOMBIE(僵死進(jìn)程),EXIT_DEAD(僵死撤銷狀態(tài))
ps查看靜態(tài)的進(jìn)程信息
可以使用man來查看ps的使用參數(shù)以下是幾個常使用到得,
a顯示當(dāng)前終端的所有進(jìn)程信息
u使用以用戶為主的格式輸出進(jìn)程信息
x顯示當(dāng)前用戶在所有終端下的進(jìn)程信息
-e顯示系統(tǒng)內(nèi)的所有進(jìn)程
#ps只顯示當(dāng)前用戶打開的進(jìn)程
]#psaux顯示系統(tǒng)中所有進(jìn)程信息
3.Linux系統(tǒng)中進(jìn)程有哪兩種模式?各有何特點(diǎn)?
答:用戶進(jìn)程和系統(tǒng)進(jìn)程,
用戶進(jìn)程就是用戶自己打開的應(yīng)用程序,可有可無。
系統(tǒng)進(jìn)程即是內(nèi)核進(jìn)程,是維持操作系統(tǒng)正常工作自動生成的,關(guān)閉系統(tǒng)進(jìn)
程會產(chǎn)生不可預(yù)知的結(jié)果。
4.Linux系統(tǒng)中進(jìn)程控制塊的作用是什么?它進(jìn)程有何關(guān)系?
答:進(jìn)程控制塊(PCB)的作用:進(jìn)程控制塊是進(jìn)程組成中最關(guān)鍵的部分,它保存
有進(jìn)程的重要信息。1)每個進(jìn)程有唯一的PCB-2)操作系統(tǒng)根據(jù)PCB.
對進(jìn)程實施控制和管理。3)進(jìn)程的動態(tài)、并發(fā)等特征是利用PCB.表現(xiàn)出
來的。4)PCB是進(jìn)程存在的唯一標(biāo)志。
5.Linux系統(tǒng)如何執(zhí)行進(jìn)程調(diào)度?
答:首先查找所有在就緒隊列中的進(jìn)程,從中選出優(yōu)先級最高且在內(nèi)存的一個
進(jìn)程,如果隊列中有實時進(jìn)程,那么實時進(jìn)程將優(yōu)先運(yùn)行。如果最需要運(yùn)行的不
是當(dāng)前進(jìn)程,則掛起當(dāng)前進(jìn)程,并保護(hù)它的現(xiàn)場,然后為選中的進(jìn)程恢復(fù)運(yùn)
行現(xiàn)場。
5.8Linux系統(tǒng)一般采用哪種文件系統(tǒng)?其構(gòu)造形式如何?
答:采用ext2文件系統(tǒng)。(現(xiàn)在幾乎是默認(rèn)用ext3了)ext2文件系統(tǒng)中的文件信
息都保存在數(shù)據(jù)塊中。在同一個ext2文件系統(tǒng)中,所有數(shù)據(jù)塊的大小一樣。
ext2文件系統(tǒng)將邏輯分區(qū)劃分成塊組,每個塊組重復(fù)保存一些有關(guān)整個文件系統(tǒng)
的關(guān)鍵信息,以及實際的文件和目錄的數(shù)據(jù)塊。
系統(tǒng)引導(dǎo)塊總是介質(zhì)上的第一數(shù)據(jù)塊,只有根文件系統(tǒng)才放有引導(dǎo)程序。
5.9什么是塊組?什么是超級塊?超級塊的功能是什么?
答:linux用的是虛擬文件系統(tǒng),塊組是相當(dāng)于windows系統(tǒng)的硬盤分區(qū),比如c
盤d盤。超級塊位于塊組的最前面,描述文件系統(tǒng)整體信息的數(shù)據(jù)結(jié)構(gòu),主要描
述文件系統(tǒng)的目錄和文件的靜態(tài)分布情況,以及描述文件系統(tǒng)的各種組成結(jié)構(gòu)的
尺寸、數(shù)量等。
5.10什么是索引節(jié)點(diǎn)?索引節(jié)點(diǎn)主要有哪些內(nèi)容?它與文件有何關(guān)系?
答:索引節(jié)點(diǎn)是一個結(jié)構(gòu),它包含了一個文件的長度、創(chuàng)建及修改時間、權(quán)限、
所屬關(guān)系、磁盤中的位置等信息。一個文件系統(tǒng)維護(hù)了一個索引節(jié)點(diǎn)的數(shù)組,每
個文件或目錄都與索引節(jié)點(diǎn)數(shù)組中的唯一一個元素對應(yīng)。系統(tǒng)給每個索引節(jié)點(diǎn)分
配了一個號碼,也就是該節(jié)點(diǎn)在數(shù)組中的索引號,稱為索引節(jié)點(diǎn)號。
2.索引節(jié)點(diǎn)與文件的關(guān)系
Linux為每個文件分配一個稱為索引節(jié)點(diǎn)的號碼inode,可以將inode簡單理解成
一個指針,它永遠(yuǎn)指向本文件的具體存儲位置。系統(tǒng)是通過索引節(jié)點(diǎn)(而不是文
件名)來定位每一個文件。文件系統(tǒng)處理文件所需要的所有信息都放在稱為索引
節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)中。文件名可以隨時更改,但是索引節(jié)點(diǎn)對文件是唯一的,并且
隨文件的存在而存在。
一個文件系統(tǒng)允許的inode節(jié)點(diǎn)數(shù)是有限的,如果文件數(shù)量太多,即使每個文件
都是0字節(jié)的空文件,系統(tǒng)最終也會因為節(jié)點(diǎn)空間耗盡而不能再創(chuàng)建文件.
5.11為什么要設(shè)立虛擬文件系統(tǒng)?它與實際文件系統(tǒng)的關(guān)系是怎樣的?
答:Linux系統(tǒng)支持多種文件系統(tǒng),必須使用一種統(tǒng)?的接口,而VFS可以實現(xiàn);VFS
是建立在具體文件系統(tǒng)之上的,它為用戶程序提供一個統(tǒng)一的、抽象的、虛擬的文件系
統(tǒng)界面。
5.13Linux系統(tǒng)采用哪兩種內(nèi)存管理技術(shù)?各自的基本實現(xiàn)思想是什么?
答:Linux系統(tǒng)采用交換和請求分頁存儲管理兩種內(nèi)存管理技術(shù);1)請求分頁
的基本思想是,當(dāng)執(zhí)行一個程序時,才把它換入內(nèi)存,但并不把全部程序都調(diào)入
內(nèi)存,而是用到哪一頁就調(diào)入哪一頁;2)內(nèi)存交換基本思想,當(dāng)系統(tǒng)中出現(xiàn)內(nèi)
存不足時,Linux內(nèi)存管理子系統(tǒng)就需要釋放一些內(nèi)存頁,從而增加系統(tǒng)中空閑
內(nèi)存頁的數(shù)量。
5.17Linux信號機(jī)制是如何實現(xiàn)進(jìn)程通信?
答:Linux信號機(jī)制基本上是從Unix系統(tǒng)中繼承過來的。早期Unix系統(tǒng)中的信號
機(jī)制比較簡單和原始,后來在實踐中暴露出一些問題,因此,把那些建立在早
期機(jī)制上的信號叫做“不可靠信號“,信號值小于SIGRTMIN(Redhat7.2中,
SIGRTMIN=32,SIGRTMAX=63)的信號都是不可靠信號。這就是“不可靠信號”的來
源。它的主要問題是:
?進(jìn)程每次處理信號后,就將對信號的響應(yīng)設(shè)置為默認(rèn)動作。在某些情況下,將
導(dǎo)致對信號的錯誤處理;因此,用戶如果不希望這樣的操作,那么就要在信號處
理函數(shù)結(jié)尾再一次調(diào)用signal。,重新安裝該信號。
?信號可能丟失,后面將對此詳細(xì)闡述。
因此,早期unix下的不可靠信號主要指的是進(jìn)程可能對信號做出錯誤的反應(yīng)以
及信號可能丟失。
Linux支持不可靠信號,但是對不可靠信號機(jī)制做了改進(jìn):在調(diào)用完信號處理函
數(shù)后,不必重新調(diào)用該信號的安裝函數(shù)(信號安裝函數(shù)是在可靠機(jī)制上的實現(xiàn))。
因此,Linux下的不可靠信號問題主要指的是信號可能丟失。
信號值位于SIGRTMIN和SIGRTMAX之間的信號都是可靠信號,可靠信號克服了
信號可能丟失的問題。Linux在支持新版本的信號安裝函數(shù)sigation()以及信
號發(fā)送函數(shù)sigqueue。的同時,仍然支持早期的signal()信號安裝函數(shù),支持信
號發(fā)送函數(shù)kill()o注:不要有這樣的誤解:由sigqueue()發(fā)送、sigaction安裝
的信號就是可靠的。事實上,可靠信號是指后來添加的新信號(信號值位于
SIGRTMIN及SIGRTMAX之間);不可靠信號是信號值小于SIGRTMIN的信號。信
號的可靠與不可靠只與信號值有關(guān),與信號的發(fā)送及安裝函數(shù)無關(guān)。目前l(fā)inux
中的signal。是通過sigation()函數(shù)實現(xiàn)的,因此,即使通過signal()安裝的信號,
在信號處理函數(shù)的結(jié)尾也不必再調(diào)用一次信號安裝函數(shù)。同時,由signal。安裝
的實時信號支持排隊,同樣不會丟失。
5.19Linux系統(tǒng)中設(shè)備驅(qū)動分層結(jié)構(gòu)是怎樣的?如何實現(xiàn)與設(shè)備的無關(guān)性?
答:在面向?qū)ο蟮某绦蛟O(shè)計中,可以為某一類相似的事物定義一個基類,而具體
的事物可以繼承這個基類中的函數(shù)。如果對于繼承的這個事物而言,其某函數(shù)的
實現(xiàn)與基類一致,那它就可以直接繼承基類的函數(shù);相反,它可以重載之
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年商業(yè)流通倉儲服務(wù)項目申請報告模稿
- 2025年公益贈與合同范本協(xié)議書
- 2025年上海住宅銷售合同樣本
- 2025年企業(yè)資本注入?yún)f(xié)議書樣本
- 2025年供需平衡合同藍(lán)寶石
- 2025年公立幼兒園轉(zhuǎn)讓合同樣本
- 2025年式樣店面租賃合同協(xié)議
- 2025年企業(yè)市場拓展合作戰(zhàn)略協(xié)議文本
- 2025年二手房買賣雙方贈送學(xué)位房補(bǔ)充協(xié)議
- 2025年企業(yè)促銷品量身定制合同
- 2023年上海市秋考語文真題試卷含答案(整理版)
- 2023年心理咨詢師之心理咨詢師基礎(chǔ)知識考試題庫附完整答案【有一套】
- 路緣石安裝一級安全交底
- 一級建造師繼續(xù)教育最全題庫及答案(新)
- LS/T 1226-2022糧庫智能通風(fēng)控制系統(tǒng)
- 直線加速器專項施工方案
- 聯(lián)苯二氯芐生產(chǎn)工藝及產(chǎn)排污分析
- 儲能設(shè)備項目采購供應(yīng)質(zhì)量管理方案
- 美國房地產(chǎn)市場特征、框架與周期演變
- 光伏發(fā)電工程施工組織設(shè)計施工工程光伏發(fā)電工程光伏發(fā)電施工組織設(shè)計
- 民政局離婚協(xié)議書模板(4篇)
評論
0/150
提交評論