下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Linux思考題51.fork()和clone()二者之間的區(qū)別是什么?答:fork創(chuàng)建一個進程時,子進程只是完全復制父進程的資源,復制出來的子進程有自己的task_struct結構和pid,但卻復制父進程其它所有的資源。通過fork創(chuàng)建子進程,需要將上面描述的每種資源都復制一個副本.fork()調用執(zhí)行一次返回兩個值,對于父進程,fork函數(shù)返回子程序的進程號,而對于子程序,fork函數(shù)則返回零,這就是一個函數(shù)返回兩次的本質.在fork之后,子進程和父進程都會繼續(xù)執(zhí)行fork調用之后的指令。系統(tǒng)調用fork()和vfork()是無參數(shù)的,而clone()則帶有參數(shù).fork()是全部復制,v
2、fork()是共享內存,而clone()是則可以將父進程資源有選擇地復制給子進程,而沒有復制的數(shù)據(jù)結構則通過指針的復制讓子進程共享,具體要復制哪些資源給子進程,由參數(shù)列表中的clone_flags來決定。另外,clone()返回的是子進程的pid。2.什么是進程?什么是線程?Linux系統(tǒng)中的進程有那些狀態(tài)?如何獲取系統(tǒng)中各進程的狀態(tài)?答:進程是指在系統(tǒng)中正在運行的一個應用程序;線程是系統(tǒng)分配處理器時間資源的基本單元,或者說進程之內獨立執(zhí)行的一個單元.對于操作系統(tǒng)而言,其調度單元是線程。一個進程至少包括一個線程,通常將該線程稱為主線程.一個進程從主線程的執(zhí)行開始進而創(chuàng)建一個或多個附加線程,就是
3、所謂基于多線程的多任務.Linux系統(tǒng)中的進程狀態(tài)有:TASK_RUNNING(運行狀態(tài)),TASK_INTERRUPTIBLE(可中斷睡眠狀態(tài)),TASK_UNINTERRUPTIBLE(不可中斷的睡眠狀態(tài)),TASK_STOPPED(暫停狀態(tài)),TASK_NONINTERACTIVE(不可交互睡眠狀態(tài)),TASK_DEAD(死亡狀態(tài)),EXIT_ZOMBIE(僵死進程),EXIT_DEAD(僵死撤銷狀態(tài))ps 查看靜態(tài)的進程信息可以使用man 來查看 ps 的使用參數(shù) 以下是幾個常使用到得,a 顯示當前終端的所有進程信息u 使用以用戶為主的格式輸出進程信息x 顯示當前用戶在所有終端下的進程
4、信息e 顯示 系統(tǒng)內的所有進程# ps 只顯示當前用戶打開的進程# ps aux 顯示系統(tǒng)中所有進程信息3.Linux系統(tǒng)中進程有哪兩種模式?各有何特點?答:用戶進程和系統(tǒng)進程,用戶進程就是用戶自己打開的應用程序,可有可無。系統(tǒng)進程即是內核進程,是維持操作系統(tǒng)正常工作自動生成的,關閉系統(tǒng)進程會產生不可預知的結果。4.Linux系統(tǒng)中進程控制塊的作用是什么?它進程有何關系?答:進程控制塊(PCB)的作用:進程控制塊是進程組成中最關鍵的部分,它保存有進程的重要信息。1) 每個進程有唯一的PCB.。2) 操作系統(tǒng)根據(jù)PCB.對進程實施控制和管理。3) 進程的動態(tài)、并發(fā)等特征是利用PCB.表現(xiàn)出來的。
5、 4) PCB是進程存在的唯一標志。5.Linux系統(tǒng)如何執(zhí)行進程調度?答:首先查找所有在就緒隊列中的進程,從中選出優(yōu)先級最高且在內存的一個進程,如果隊列中有實時進程,那么實時進程將優(yōu)先運行。如果最需要運行的不是當前進程,則掛起當前進程,并保護它的現(xiàn)場,然后為選中的進程恢復運行現(xiàn)場。5.8 Linux系統(tǒng)一般采用哪種文件系統(tǒng)?其構造形式如何?答:采用ext2文件系統(tǒng)。(現(xiàn)在幾乎是默認用ext3了)ext2文件系統(tǒng)中的文件信息都保存在數(shù)據(jù)塊中。在同一個ext2文件系統(tǒng)中,所有數(shù)據(jù)塊的大小一樣。 ext2文件系統(tǒng)將邏輯分區(qū)劃分成塊組,每個塊組重復保存一些有關整個文件系統(tǒng)的關鍵信息,以及實際的文件和
6、目錄的數(shù)據(jù)塊。 系統(tǒng)引導塊總是介質上的第一數(shù)據(jù)塊,只有根文件系統(tǒng)才放有引導程序。5。9什么是塊組?什么是超級塊?超級塊的功能是什么?答:linux用的是虛擬文件系統(tǒng),塊組是相當于windows系統(tǒng)的硬盤分區(qū),比如c盤d盤。超級塊位于塊組的最前面,描述文件系統(tǒng)整體信息的數(shù)據(jù)結構,主要描述文件系統(tǒng)的目錄和文件的靜態(tài)分布情況,以及描述文件系統(tǒng)的各種組成結構的尺寸、數(shù)量等。5.10什么是索引節(jié)點? 索引節(jié)點主要有哪些內容?它與文件有何關系?答:索引節(jié)點是一個結構,它包含了一個文件的長度、創(chuàng)建及修改時間、權限、所屬關系、磁盤中的位置等信息.一個文件系統(tǒng)維護了一個索引節(jié)點的數(shù)組,每個文件或目錄都與索引節(jié)點
7、數(shù)組中的唯一一個元素對應。系統(tǒng)給每個索引節(jié)點分配了一個號碼,也就是該節(jié)點在數(shù)組中的索引號,稱為索引節(jié)點號。2. 索引節(jié)點與文件的關系Linux 為每個文件分配一個稱為索引節(jié)點的號碼inode,可以將inode簡單理解成一個指針,它永遠指向本文件的具體存儲位置。系統(tǒng)是通過索引節(jié)點(而不是文件名)來定位每一個文件。文件系統(tǒng)處理文件所需要的所有信息都放在稱為索引節(jié)點的數(shù)據(jù)結構中.文件名可以隨時更改,但是索引節(jié)點對文件是唯一的,并且隨文件的存在而存在。 一個文件系統(tǒng)允許的inode節(jié)點數(shù)是有限的,如果文件數(shù)量太多,即使每個文件都是0字節(jié)的空文件,系統(tǒng)最終也會因為節(jié)點空間耗盡而不能再創(chuàng)建文件。5.11為
8、什么要設立虛擬文件系統(tǒng)?它與實際文件系統(tǒng)的關系是怎樣的?答: Linux系統(tǒng)支持多種文件系統(tǒng),必須使用一種統(tǒng)一的接口,而VFS可以實現(xiàn);VFS是建立在具體文件系統(tǒng)之上的,它為用戶程序提供一個統(tǒng)一的、抽象的、虛擬的文件系統(tǒng)界面。5。13 Linux系統(tǒng)采用哪兩種內存管理技術?各自的基本實現(xiàn)思想是什么?答:Linux系統(tǒng)采用交換和請求分頁存儲管理兩種內存管理技術; 1)請求分頁的基本思想是,當執(zhí)行一個程序時,才把它換入內存,但并不把全部程序都調入內存,而是用到哪一頁就調入哪一頁;2)內存交換基本思想,當系統(tǒng)中出現(xiàn)內存不足時,Linux內存管理子系統(tǒng)就需要釋放一些內存頁,從而增加系統(tǒng)中空閑內存頁的數(shù)
9、量.5.17 Linux信號機制是如何實現(xiàn)進程通信?答:Linux信號機制基本上是從Unix系統(tǒng)中繼承過來的。早期Unix系統(tǒng)中的信號機制比較簡單和原始,后來在實踐中暴露出一些問題,因此,把那些建立在 早期機制上的信號叫做”不可靠信號",信號值小于SIGRTMIN(Red hat 7。2中,SIGRTMIN=32,SIGRTMAX=63)的信號都是不可靠信號。這就是"不可靠信號"的來源。它的主要問題是: 進程每次處理信號后,就將對信號的響應設置為默認動作。在某些情況下,將導致對信號的錯誤處理;因此,用戶如果不希望這樣的操作,那么就要在信號處理函數(shù)結尾再一次調用si
10、gnal(),重新安裝該信號. 信號可能丟失,后面將對此詳細闡述。 因此,早期unix下的不可靠信號主要指的是進程可能對信號做出錯誤的反應以及信號可能丟失。Linux支持不可靠信號,但是對不可靠信號機制做了改進:在調用完信號處理函數(shù)后,不必重新調用該信號的安裝函數(shù)(信號安裝函數(shù)是在可靠機制上的實現(xiàn))。因此,Linux下的不可靠信號問題主要指的是信號可能丟失。 信號值位于SIGRTMIN和SIGRTMAX之間的信號都是可靠信號,可靠信號克服了信號可能丟失的問題。Linux在支持新版本的信號安裝 函數(shù)sigation()以及信號發(fā)送函數(shù)sigqueue()的同時,仍然支持早期的signal()信號
11、安裝函數(shù),支持信號發(fā)送函數(shù)kill()。 注:不要有這樣的誤解:由sigqueue()發(fā)送、sigaction安裝的信號就是可靠的.事實上,可靠信號是指后來添加的新信號(信號值 位于SIGRTMIN及SIGRTMAX之間);不可靠信號是信號值小于SIGRTMIN的信號。信號的可靠與不可靠只與信號值有關,與信號的發(fā)送及安裝 函數(shù)無關。目前l(fā)inux中的signal()是通過sigation()函數(shù)實現(xiàn)的,因此,即使通過signal()安裝的信號,在信號處理函數(shù)的結尾 也不必再調用一次信號安裝函數(shù)。同時,由signal()安裝的實時信號支持排隊,同樣不會丟失。5。19 Linux系統(tǒng)中設備驅動分層結構是怎樣的?如何實現(xiàn)與設備的無關性?答:在面向對象的程序設計中,可以為某一類相似的事物定義一個基類,而具體的事物可以繼承這個基類中的函數(shù)。如果對于繼承的這個事物而言,其某函數(shù)的實現(xiàn)與基類一致,那它就可以直接繼承基類的函數(shù);相反,它可以重載之。這種面向對象的設計思想極大地提高了代碼的可重用能力,是對現(xiàn)實世界事物間關
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 車輛轉讓協(xié)議合同
- 證券協(xié)議該如何使用
- 專家顧問聘用協(xié)議
- 2025年全球及中國高性能工業(yè)激光器行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年全球及中國涂料調色機行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 互聯(lián)網(wǎng)金融服務技術支持協(xié)議2024年
- 二零二五年度酒店管理承包合同范本4篇
- 專題03 閱讀理解30篇-2023-2024學年八年級英語下學期期中(原卷版)
- 汽車零配件物流代理合同
- 國際化幼兒園水電維修協(xié)議
- 貨物運輸安全培訓課件
- 統(tǒng)編版高中政治選擇性必修2《法律與生活》知識點復習提綱詳細版
- 前端年終述職報告
- 2024小說推文行業(yè)白皮書
- 特殊感染手術管理考試試題及答案
- 旅館治安管理制度及突發(fā)事件應急方案三篇
- 土地增值稅清算底稿中稅協(xié)版
- 市人民醫(yī)院關于開展“改善就醫(yī)感受提升患者體驗主題活動”2023-2025年實施方案及資料匯編
- 政績觀存在的問題及整改措施范文(7篇)
- 2023年上海各區(qū)初三數(shù)學一模卷
- GB 1886.232-2016食品安全國家標準食品添加劑羧甲基纖維素鈉
評論
0/150
提交評論