IO進程測試題_第1頁
IO進程測試題_第2頁
IO進程測試題_第3頁
IO進程測試題_第4頁
免費預覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、一、選擇題 (每題 2分,共 40分)1. 下列哪種打開文件的方式不能修改文件已有的內(nèi)容 ( B)A r+ B r C w+ D a+2. 以下哪種不是進程的狀態(tài) ( B )A運行態(tài)B鎖定態(tài)C3. 以讀寫方式打開一個已存在的標準I/OA rB r+C w+ Da+4. fork()的返回值不可能是 ( C )A -1B 0C 1D5. 常用來進行多任務同步的機制是( B )A 管道B宀口 曰信號量C睡眠態(tài) D 停止態(tài)流時應指定哪個 mode參數(shù)(B )大于 10000 的正整數(shù)信號 (異步通信方式,中斷機制的模擬)D 共享內(nèi)存 (本身不提供同步機制,可自行添加信號量 實現(xiàn)同步 ) 信號量:解決

2、進程 線程之間的同步與互斥問題的一種通信機制: 信號量變量 和這個變量的等待隊列 、 兩個原子操作( PV)6. 下列哪個函數(shù)無法傳遞進程結(jié)束時的狀態(tài) ( A )Aclose B exit C _exit D return void exit( int status)7. 以下哪種用法可以等待接收進程號為 pid 的子進程的退出狀態(tài) ( A ) P59A waitpid(pid, &status, 0)B waitpid(pid, &status, WNOHANG)C waitpid(-1, &status, 0)D waitpid(-1, &status, WNOHANG)WNOHAN子進程

3、沒結(jié)束,不阻塞立即返回,返回值為0。0:阻塞父進程,直到子進程退出。8. What kind of IPC has the highest efficiency? (B)A semaphoreB sharedmemoryC fifoD message queueE signal9. 下列對無名管道描述錯誤的是 ( C )A 半雙工的通信模式B 有固定的讀端和寫端C 可以使用 lseek 函數(shù)D 只存在于內(nèi)存中10. 下列對于有名管道描述錯誤的是 ( D )A 可以用于互不相關(guān)的進程間B 通過路徑名來打開有名管道C 在文件系統(tǒng)中可見D 管道內(nèi)容保存在磁盤上11.下列不屬于用戶進程對信號的響應方式

4、的是(B )A忽略信號B保存信號C捕捉信號D按缺省方式處理(1 終止 SIGINT Ctrl+c ,SIGINTQUIT。2 暫停 SIGSTOP 3 停止 SIGTSTPCtrl+z.。4 忽略 SIGCHILD)12.不能被用戶進程屏蔽的信號是(B )A SIGINTB SIGSTOP/SIGKILLC SIGQUITD SIGILL非法指令時發(fā)出13.下列哪個是不帶緩存的(C )A stdinB stdoutC stderrD都不是14. 下列不屬于IPC對象的是(A )A 管道 B共享內(nèi)存C消息隊列D信號燈IPC對象通過它的標識符來引用和訪問,這個標識符是一個非負整數(shù),它唯一的標識了一

5、個IPC對象,這個IPC對象可以是消息隊列或信號量或共享存儲器中的任意一種類型15. 如果鍵盤輸入為abcdef,程序如下所示,打印結(jié)果應該是(A )char buffer6;fgets(buffer, 6, stdin); printf(“S , buffer);A abcde B abcdef C abcdef后出現(xiàn)亂碼D 段錯誤刪除原有數(shù)據(jù) )16.用open()創(chuàng)建新文件時,若該文件存在則可以返回錯誤信息的參數(shù)是A O_CREAT (創(chuàng)建新文件 )B O_EXCL C O_TRUNC(D O_NOCTTYint ope n( const char *path name, int fla

6、gs, int perms)17. 下列不是用戶進程的組成部分的是(D )A正文段 B 用戶數(shù)據(jù)段 C系統(tǒng)數(shù)據(jù)段D elf段進程是由 進程控制塊、程序段、數(shù)據(jù)段三部分組成18. 以下哪種方法無法查看進程的信息(C )A ps B查看 /proc 目錄 C kill D topLinux系統(tǒng)中每一個進程都會有/proc文件系統(tǒng)下的與之對應的一個目錄(init進程信息存放在/proc/1 目錄下)。19.默認情況下,不會終止進程的信號是(D )A SIGINT B SIGKILL C SIGALRM D SIGCHLD20. fread()返回值的含義是(B )A讀取的字節(jié)數(shù)B讀取的對象數(shù)C 緩沖

7、區(qū)的首地址 D 0size_t fread (void *ptr, size_t size, size_t nmemb, FILE *stream);、簡答題(30分)1. 請描述進程和程序的區(qū)別? (5分)進程和程序的區(qū)別程序是靜態(tài)的,它是一些保存在 磁盤上的指令的有序集合,沒有任何執(zhí)行的概念進程是一個動態(tài)的概念,它是程序執(zhí)行的過程,包括創(chuàng)建、調(diào)度和消亡 進程是一個獨立的可調(diào)度的任務進程是一個抽象實體。當系統(tǒng)在執(zhí)行某個程序時,分配和釋放的各種資源進程是一個程序的 一次執(zhí)行的過程進程是程序執(zhí)行和資源管理的最小單位2. 指出靜態(tài)庫和共享庫的區(qū)別(使用方法,對程序的影響)(5分)靜態(tài)庫在程序編譯時

8、會被連接到目標代碼中,程序運行時將不再需要該 靜態(tài)庫,此體積較大。因此動態(tài)庫在程序編譯時并 不會被連接 到目標代碼中,而是在程序運行是才被載入, 在程序運行時還需要動態(tài)庫存在,因此代碼體積較小。3. 寫出設置信號處理函數(shù)和用戶定義的信號處理函數(shù)的原型(5分)void (*sig nal( int sig num, void (*ha ndler)(i nt)(i nt);typedef void (*sigha ndler_t)(i nt);sigha ndler_t sig nal( int sig num, sigha ndler_t han dler);void driver_ha nd

9、ler(i nt sig no);void?(*handler)( int );?handler,一個指向函數(shù)的指針,該函數(shù)有一個int參數(shù),返回void。T?*signal( int ?signo,?P) , ?P?=?void?(*handler)( int ) ; ?signal,一個函數(shù),該函數(shù)有2個參數(shù)(signo,?P),返回類型T的指針void?(T)?( int ),T?=?signal( int ?signo,?P)?T, 一個函數(shù),該函數(shù)有一個int參數(shù),返回void。4. 程序代碼如下,請按執(zhí)行順序?qū)懗鲚敵鼋Y(jié)果(10分)int mai n() pid_t pid1,pid

10、2;if(pid1=fork() = = 0)用文件 10 分別實現(xiàn)標準 10 中的(r, r+, w, w+, a, a+),文件名由argv1傳入程序.(O_RDONLY, O_WRONLY, O_RDWR, O_CREAT, O_TRUNC, O_APPEND)分0 int ope n (const char *path name, int flags, int perms);r : open ( argv1,O_RDONLY);r+: ope n (argv1,O_RDWR);w: ope n(argv1,O_WRONLY | O_CREAT | O_TRUNC,0666);w+: o

11、pe n(argv1,O_RDWR | O_CREAT | O_TRUNC,0666);a: ope n(argv1,O_WRONLY | O_CREAT | O_APPEND,0666); a+: ope n(argv1,O_RDWR | O_CREAT | O_APPEND,0666);4.編寫程序?qū)崿F(xiàn)如下功能(10分):從argv1所指定的文件中讀取內(nèi)容,依次寫到管道/home/linu x/myfifo中從管道/home/linux/myfifo中讀取內(nèi)容,寫到 argv1所指定的文件中并保存代碼中可省略頭文件,/home/li nu x/myfifo無需創(chuàng)建int main (i n

12、t argc, const char *argv)int fd,fd_src;char buf32;int bytes;if(argc 2)prin tf(Usage %s src_filen,argv0);return -1;if(fd =open(/home/linux/myfifo,O_WRONLY) 0)perror(fail to ope n);return -1;if( fd_src = open(argv1,O_RDONLY ) 0)write(fd,buf,bytes);close(fd);close(fd_src); return 0; int main (i nt argc, const char *argv)int fd,fd_dest;char buf32;int bytes;if(argc 2)prin tf(Usage %s dest_filen,argv0);return -1;if(fd =

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論