版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
一、判斷題*()bash既是一個命令行解釋器,也為用戶提供了一種編譯型編程語言。*()lfs6.3系統(tǒng)中默認提供了6個虛擬終端,Alt+F1?Alt+F6用于切換到指定的虛擬終端。*()用戶在系統(tǒng)內(nèi)部的表示是一個整數(shù),稱為該用戶的PID。*()用戶的登錄信息存放在/etc/shadow文件中,其密碼存放在/etc/passwd文件中。*()對于特定用戶,/etc/passwd文件中指定的用戶組是該用戶的默認組,該用戶所屬的其他組稱為附加組。*()Linux系統(tǒng)中的文件是一個數(shù)據(jù)記錄表。*()Linux的文件系統(tǒng)被組織成樹型結(jié)構(gòu)。*()當前目錄用.表示,父目錄用..表示。*()用戶登錄后的當前目錄是用戶的主目錄,可用符號?表示,?user表示用戶user的主目錄。*()ls命令長格式列出的文件鏈接數(shù)表示該文件在目錄文件中出現(xiàn)的次數(shù)。*()cat命令不具有分屏顯示的功能。more命令不僅可以分屏顯示,而且能夠上下滾動屏幕。*()cat>>good.txt命令會覆蓋good.txt文件。*()符號鏈接文件的內(nèi)容是指向目標文件的路徑字符串。*()memo?可以與文件名memo12匹配。*()tom用戶執(zhí)行chgrpstudentshello.c命令時,students組必須是tom用戶的默認組。*()chgown命令只能由文件所屬的用戶執(zhí)行。*()程序是一個動態(tài)的概念,進程是一個靜態(tài)的概念。*()默認情況下,后臺作業(yè)可以寫終端設(shè)備。*()一個作業(yè)在前臺運行時將擁有控制終端,而在后臺運行時將失去控制終端。*()默認情況下,進程會忽略SIGCHLD信號。()ESP寄存器可以分別按8位、16位和32位來訪問。()EIP寄存器的低16位是IP寄存器,用于實地址模式下的指令指針。()80386的虛擬地址分為段和段內(nèi)偏移兩部分。()指令movl$val,%eax將標號val的值送給eax寄存器。()為了避免新增的關(guān)鍵字inline與程序中的標識符沖突,可以用_inline__關(guān)鍵字來代替。()為了使inline函數(shù)的代碼嵌入主調(diào)函數(shù),需要在編譯時為gcc指定優(yōu)化選項。()80386的分頁機制總是啟用的,而分段機制是可選的。()80386的線性地址空間和物理地址空間的容量都為4G字節(jié)。()80386的虛擬地址空間是二維的,而線性地址空間和物理地址空間都是一維的。()80386引入了特權(quán)級的概念。特權(quán)級用數(shù)字0?3表示,數(shù)字0表示最低特權(quán)級,數(shù)字3表示最高特權(quán)級。()如果CPL小于或等于待訪問段的特權(quán)級,則該訪問是允許的;否則是非法訪問,()段基地址定義了段在物理地址空間中的起始地址。()段界限就是段的長度。()段基地址要求與頁邊界對齊。()cs寄存器中的RPL就等于CPL。()如果線性地址空間中的某一頁在頁目錄表項中的U/S=1,在頁表項中的U/S=0,那么該頁可以被運行在任何特權(quán)級下的代碼訪問。()一個頁目錄表項映射4M字節(jié)的地址空間,一個頁表項映射4K字節(jié)的地址空間。()用戶主要采用PID來標識一個進程,內(nèi)核則主要采用進程描述符的首地址來標識一個進程。()當一個暫停的進程接收到SIGCONT信號,它將進入TASK_RUNNING狀態(tài)。()Linux的fork()系統(tǒng)調(diào)用會將父進程的內(nèi)存描述符、頁表以及物理頁框復制到子進程中。()由于子進程復制了父進程的文件打開表,所以子進程在啟動時與父進程打開了相同的文件。()主線程(線程組組長進程)通過pthread_create()函數(shù)創(chuàng)建子線程后,主線程是子線程的父進程。()進程終止時,內(nèi)核將直接釋放該進程所有的資源。()如果父進程在子進程之前終止,內(nèi)核將為子進程尋找新的父進程。()遍歷一個進程的子進程鏈表就可以找到該進程所有的子進程。()內(nèi)核線程沒有自己的頁表,而是借用普通進程的頁表。二、填空題*Linux的兩個主要來源是 和。*從總體上來看,Linux系統(tǒng)分為、和三個層次。*Linux將程序執(zhí)行的模式劃分為和。*Linux內(nèi)核通過 為用戶程序提供服務。*Linux默認的shell程序是 。*注銷用戶可以執(zhí)行 命令,重啟系統(tǒng)可以執(zhí)行 命令,關(guān)閉系統(tǒng)可以執(zhí)行 命令。*超級用戶的用戶名是 ,相關(guān)的UID是 。*用戶登錄后默認的當前工作目錄稱為該用戶的 。*用useradd命令創(chuàng)建一個用戶時,-g選項指定用戶的,-G選項指定用戶的,-m選項指定創(chuàng)建用戶的。userdel命令刪除一個用戶時,-r選項指定刪除用戶的 。*文件樹的頂層目錄稱為 ,用 表示。一個目錄的下一級目錄稱為該目錄的 ,其上一級目錄稱為該目錄的 。每個進程在運行時都與一個當前工作目錄相關(guān)聯(lián),簡稱 。*從根目錄開始的路徑稱為 ,從當前目錄開始的路徑稱為 。*Linux定義了七種文件類型,分別是 、、塊設(shè)備、字符設(shè)備、、命名管道、套接字。*每個文件的屬性信息都記錄在 ,其編號稱為 。*目錄文件的其內(nèi)容是一個數(shù)組,每個數(shù)組元素稱為一個 ,它是一個二元組(name,inode)。其中,name是文件名或目錄名,inode是該文件或目錄對應的。*ln命令可以為文件創(chuàng)建兩種鏈接:和。*通常,命令會打開三個默認的文件: 、 、 。*cat>hello.txt命令可以輸入hello.txt文件的內(nèi)容,按鍵可以結(jié)束文本的輸入。*系統(tǒng)在做權(quán)限檢查時,需要引用進程中記錄的 、 和 。*Linux的0進程又稱為進程,1進程又稱為進程。*一個會話可以擁有一個控制終端,會話元又稱為 。根據(jù)是否擁有控制終端,一個會話中的進程組分為 和 兩類。*由管道符鏈接的一些命令構(gòu)成了一個 。根據(jù)是否擁有控制終端,作業(yè)包括 和 兩種。*按 鍵可以將一個前臺進程暫停,再執(zhí)行 命令可以將該進程置于后臺運行。此后,執(zhí)行 命令可以再次將該進程置于前臺運行。*如果命令行以 符號結(jié)尾,該命令將置于后臺運行。*ps命令顯示進程狀態(tài)時,TTY表示,TIME表示,CMD表示,S表示,PRI表示,NI表示。*ps命令顯示進程的狀態(tài)中,R表示,D表示,S表示,T表示,X表示,Z表示。*信號有 、 和 三種來源。*當信號送達一個進程時,該進程可以有如下三種選擇: 、 和 。有些信號導致進程終止時,會產(chǎn)生一個 文件,用于分析進程崩潰的原因。* 和 是兩個不能忽略的信號。*用戶按和鍵可以分別向進程發(fā)送SIGINT和SIGQUIT信號。*用戶按鍵可以向進程發(fā)送SIGSTP信號。80386可以工作在 、 和 三種模式下。EFLAG寄存器包括 和 兩組標志。前者反映了指令執(zhí)行后處理器的狀態(tài),后者控制處理器的行為。對于80386來說,程序員看到的地址空間稱為 ,指令引用數(shù)據(jù)或代碼的地址稱為 。80386虛擬地址的偏移部分稱為 ,其地址表達式為 。Linux的虛擬地址空間被分為兩部分,分別是3G容量的和1G容量的。用戶程序的指令位于 ,全局變量和靜態(tài)局部變量位于 ,動態(tài)分配的存儲單元位于 ,非靜態(tài)局部變量位于 。棧幀就是當函數(shù)被調(diào)用時,編譯器在棧中分配的空間,由 和 定界。gcc提供了和兩個宏,用于幫助程序員向gcc聲明一個分支語句中哪個分支執(zhí)行的可能性更大。80386的存儲管理機制的兩個設(shè)計目標分別是 和 。80386提供分段機制和分頁機制,對應地需要兩個層次的地址轉(zhuǎn)換機制。首先,二維的 通過分段機制轉(zhuǎn)換為中間的一維的 ,再通過分頁機制轉(zhuǎn)換為一維的80386將線性地址空間劃分為220個 ,物理地址空間也被劃分為220個 ,頁和頁框的長度都是 字節(jié)。Intel的術(shù)語將80386的高特權(quán)級稱為,而低特權(quán)級則稱為。當前活動代碼段的特權(quán)級稱為 。為了定義一個段,需要為該段指定 、 和 三個參數(shù)。Linux中所有進程公用四個段,當進程運行在用戶態(tài)時使用和。當進程運行在內(nèi)核態(tài)時使用 和 。進程的地址空間分為和兩個部分,前者占1G字節(jié)空間,后者占3G字節(jié)空間。一個進程的管理信息都存放在 中。用戶程序通過 陷入內(nèi)核,進入內(nèi)核后執(zhí)行的一系列指令稱為 。內(nèi)核棧的棧底由進程描述符的 域和 域指示在一個進程描述符中,group_leader域用于記錄,tgid域用于記錄,signal->pgrp域用于記錄,signal->session域用于記錄。當進程正在執(zhí)行或在運行隊列中等待執(zhí)行時,它處于 狀態(tài);當進程正在睡眠,接收到信號時將被喚醒,它處于 狀態(tài);當進程正在睡眠,但接收到信號時不能被喚醒,它處于狀態(tài);當進程已經(jīng)結(jié)束,其父進程還沒有對其調(diào)用wait4()等系統(tǒng)調(diào)用,它處于狀態(tài);當進程接收到SIGSTOP,SIGTSTP,SIGTTIN,SIGTTOU信號時,它處于 狀態(tài)。 宏將獲得當前運行進程描述符的首地址。進程描述符的parent指針域指示該進程的 ,children域指示了子進程鏈表的,sibling域用于串聯(lián)。執(zhí)行一個程序需要分為兩個步驟,第一步是通過 系統(tǒng)調(diào)用創(chuàng)建子進程,第二步是通過 系統(tǒng)調(diào)用刷新進程的地址空間。線程的兩個突出的特點是 和 。主線程(線程組組長進程)通過pthread_create()函數(shù)創(chuàng)建子線程后,主線程的tgid取為,子線程的tgid取為。三、簡答題*設(shè)當前目錄是/home/tom/work,且work是一個空目錄,按要求回答下列問題。(1)執(zhí)行l(wèi)s-l..命令在屏幕上顯示出work目錄的鏈接數(shù)應該是多少,簡要分析原因。(2)命令cathello.c>hellol.c和命令cathello.cIless會產(chǎn)生怎樣的運行結(jié)果,它們分別采用了bash提供的何種機制來改變輸入輸出的流向,指出這兩種機制的區(qū)別。(3)當work目錄設(shè)置了sticky標志時,哪些用戶在擁有該目錄的寫權(quán)限的情況下能夠刪除或重命名其中的文件?*在新建一個文件時,系統(tǒng)如何決定該文件所屬的用戶,又是如何決定該文件所屬的用戶組?*按要求回答下列問題:(1)如果文件hello的權(quán)限字符串為rw-rw-r--,請解釋該字符串的含義。(2)接上一問題,如果hello文件是一個可執(zhí)行文件,要使所有用戶都能夠執(zhí)行該文件而添加執(zhí)行權(quán)限,需要執(zhí)行的命令是什么?寫出執(zhí)行該命令后的權(quán)限字符串。(3)接上一問題,寫出為hello文件增加set-uid標志的命令,以及該命令執(zhí)行后的權(quán)限字符串。(4)如果當前登錄用戶的umask=022,那么一個新建文件和一個新建目錄的默認權(quán)限分別是什么?請分析原因。(5)要使命令mvwork/hello.c?命令能夠順利完成,執(zhí)行該命令的用戶需要具有哪些權(quán)限。*按要求回答下列問題:寫出系統(tǒng)做權(quán)限檢查的算法。(2)設(shè)hello.c是當前目錄中的一個文件,其權(quán)限字符串為rw-rw-r--。該文件所屬的用戶是tom,所屬的組是tom組。如果tom用戶執(zhí)行命令cat>>hello.c,請結(jié)合上面的算法指出tom所做的操作是否允許,并分析原因。(3)設(shè)hello.c是當前目錄中的一個文件,其權(quán)限字符串為rw-rw-r--。該文件所屬的用戶是tom,所屬的組是tom組。jerry用戶的默認組是jerry組,他沒有附加組。如果jerry用戶執(zhí)行命令cat>>hello.c,請結(jié)合上面的算法指出jerry所做的操作是否允許,并分析原因。*按要求回答下列問題:Linux系統(tǒng)啟動過程中依次啟動了哪些進程?init進程創(chuàng)建的進程依次執(zhí)行了哪些程序,這些程序的作用是什么?當一個用戶在某個虛擬終端登錄后,用戶會話的情況是怎樣的?*按要求回答下列問題:SIGINT、SIGQUIT、SIGTERM和SIGKILL四個信號都會導致進程的終止,試比較它們的不同。如何暫停一個進程?如何取消該進程的暫停狀態(tài)?后臺進程是否可以讀寫終端設(shè)備?如果一個后臺進程試圖從終端讀取數(shù)據(jù)會怎樣?下面是一個用戶的操作過程,tom[~/work]$sttytostoptom[~/work]$ps&⑵2823tom[~/work]$[2]+Stopped ps該用戶運行的后臺進程為何被暫停?請分析原因并給出兩種解決方案。7.*用戶執(zhí)行ps命令獲得的輸出信息如下:PIDPPIDPGRPSESSTPGIDCOMMAND26812680268126812845bash26882681268826812845emacs28392681283926812845sleep28402681283926812845sleep28412681284126812845tst228422841284126812845sleep28432841284126812845sleep28452681284526812845ps按要求回答下列問題:(1)用戶會話的會話元是哪個進程?(2)該會話有幾個進程組?每個進程組包含了哪些進程?指出各個進程組的組長。(3)分析各進程之間的創(chuàng)建關(guān)系,并繪出相應的進程樹。8.試比較Intel匯編語法與AT&T語法的不同。9.函數(shù)max()的源代碼如下:intmax(inta,intb){intm;m=a>b?a:b;returnm;}假設(shè)max()函數(shù)被調(diào)用,請畫出在該函數(shù)返回之前與其相關(guān)的棧以及寄存器的狀態(tài)。(1)設(shè)a=3,b=4,分別給出max1(++a,++b)和max2(++a,++b)的結(jié)果。(2)指出max1()的缺點,并分析max2()是否可以克服這些缺點。針對下列C程序代碼,按要求回答問題:#defineabs1(x)((x)<0?(-x):(x))#defineabs2(x)({\int—x=(x); \(__x<0)?-__x:__x;})(1)設(shè)a=-5,分別寫出abs1(++a)和abs2(++a)的結(jié)果。(2)指出abs1()的缺點,并分析abs2()是否可以克服這些缺點。按要求回答下列問題:簡述80386分段機制的地址轉(zhuǎn)換過程。(2)內(nèi)核代碼段和內(nèi)核數(shù)據(jù)段的描述符分別是:0x00cf9a000000ffff和0x00cf92000000ffff,描述符各個字段的取值如下表所示:段段基地址G段界限STypeDPLD/BP內(nèi)核代碼段0x000000001Qxfffff110011內(nèi)核數(shù)據(jù)段0x000000001Qxfffff12011那么,這兩
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 五年級數(shù)學(小數(shù)四則混合運算)計算題專項練習及答案
- 理貨基礎(chǔ)知識培訓課件
- 哮喘專業(yè)知識培訓課件
- 加快發(fā)展我國現(xiàn)代流通業(yè)的經(jīng)濟分析
- 輕醫(yī)美面診知識培訓課件
- 修車養(yǎng)護知識培訓課件
- 臨床葡萄糖酸鈣藥物適應癥、常規(guī)劑量、特殊人群用藥、不良反應、禁忌癥及注意事項
- 四川省眉山市東坡區(qū)眉山育英實驗學校2024-2025學年高二上學期1月期末地理試題( 含答案)
- 消防知識內(nèi)部培訓課件
- 全國浙教版信息技術(shù)高中選修3新授課 第三節(jié) 網(wǎng)絡(luò)中的信息載體、通信線路和連接設(shè)備 說課稿
- 舉辦活動的申請書范文
- 瑤醫(yī)目診圖-望面診病現(xiàn)用圖解-目診
- 2022年四級反射療法師考試題庫(含答案)
- 新《安全生產(chǎn)法》培訓測試題
- 政務禮儀-PPT課件
- 特種涂料類型——耐核輻射涂料的研究
- 化工裝置常用英語詞匯對照
- 物資采購管理流程圖
- 無牙頜解剖標志
- 標準《大跨徑混凝土橋梁的試驗方法》
- 格拉斯哥昏迷評分(GCS)--表格-改良自用
評論
0/150
提交評論