答案13級高級編程復習范圍_第1頁
答案13級高級編程復習范圍_第2頁
答案13級高級編程復習范圍_第3頁
答案13級高級編程復習范圍_第4頁
答案13級高級編程復習范圍_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

答案13級高級編程復習范圍1.進程是一個具有一定獨立功能的程序的一次運行活動。內(nèi)核空間與用戶空間是程序執(zhí)行的兩種不同狀態(tài),通過系統(tǒng)調(diào)用和硬件中斷能夠完成從用戶空間到內(nèi)核空間的轉移。嵌入式Li中,主要的存儲設備為Fl和Mli四種常見的文件類型,分別是。用al可以在進程中設置一送SIGAMcon數(shù)是客戶端用來同服務端連接的成功時返回。TC的網(wǎng)絡模型包括層、層、層。式Linux由Lix和文件統(tǒng)兩部成缺可。作入的存,有 NR N技術。.進行括碼段,數(shù)據(jù)段,堆,環(huán)量數(shù)。在嵌入式系統(tǒng)中,通常沒有像BI樣的固件程序,因此整個系統(tǒng)的加載啟動任務就完全由ub成。利用ls的返回值為文件的長度的函數(shù)調(diào)用是lseek(fd,0,SEEK_END)進訪資那代為臨界區(qū)。中絡過Soc接口實現(xiàn),它是一種文件描述符。人工創(chuàng)建字符設備節(jié)點文件/dev號為2次設備號為0的命令為mknod/dev/test c 250 0.ARM為四步,分別是啟動引導程序,加載內(nèi)核,加載根文件系統(tǒng),啟動用戶應用程序。下列基于A發(fā)板的內(nèi)核制作步驟錯誤的是( B).makedistcl.makemanuc.makemenuconfig ARCH.makeuImage ARCH=armCROSS_COMPILE=arm-lin.下列主要使用NAfl件系統(tǒng)的是( ).JFFS2.YaffB.Crams.NFSD)果把bootl程分為stagst么下邊哪一項不是stae1成的工作(、基本硬件初始化。。加載內(nèi)核映像和根文件系統(tǒng)映像。C跳轉到sta語言入口點D設置堆棧指針SP為執(zhí)行語言代碼做準備。關于Li鏈接文件,下列說法不正確的是(C)、li中鏈接文件分為硬鏈接和軟鏈接兩種。、軟鏈接又稱為符號鏈接,類似于Win快捷方式。、硬鏈接文件相當于建立一個新文件。、軟鏈接文件相當于建立一個新文件。.關于無名管道,下列說法錯誤的是( D).它只能用于具有親緣關系進程之間的通信.它是一個半雙工的通信模式,具有固定的讀端和寫端。.通常先使用pi數(shù)創(chuàng)建一個管道,再通過fo數(shù)創(chuàng)建一個子進程,該子進程繼承父進程所創(chuàng)建的管道,父子進程關閉相應不用的端口就可以建立通信的管道。.管道可以看作為普通的文件,是文件系統(tǒng)中的一種。.li中加載模塊的命令是哪個?( C).lsmodmoBinfinsmrmod.關于信號下列說法錯誤的是(B).發(fā)送信號的函數(shù)主要有kiia(paue().ra以向自身發(fā)送信號,也可以向其他進程發(fā)送信號。.a(chǎn)larm為鬧鐘函數(shù),一個進程只能有一個鬧鐘時間。.當系統(tǒng)捕捉到某個信號時,可以忽略該信號或是使用指定的處理函數(shù)來處理。.關于說法錯誤的是( ).UDP供不可靠的非連接型傳輸層服務,它允許在源和目的地之間傳送數(shù)據(jù)。.T重要的傳輸層協(xié)議,目的是允許數(shù)據(jù)同網(wǎng)絡上的其他節(jié)點進行可靠的交換。.U議具有嚴格的內(nèi)裝差錯檢驗算法確保數(shù)據(jù)的完整性。.U無連接的,不可靠的傳輸服務,它執(zhí)行速度比T。.下列關于字符設備和塊設備說法錯誤的是( B)字符設備是一種按字節(jié)來訪問的設備塊設備只能以塊為單位接受輸入和返回輸出字符設備對于I求要求有對應的緩沖區(qū)。.字符設備只能被順序讀寫,而塊設備可以隨機訪問。關于驅動程序,下列說法錯誤的是(C、通過驅動程序可以對設備進行初始化和釋放。、通過驅動程序可以把數(shù)據(jù)從內(nèi)核傳送給對應的硬件設備。、驅動程序運行在用戶空間。、通過驅動程序可以從對應的硬件設備讀取數(shù)據(jù)。.下列說法錯誤的是( C).ex動一個新進程,替換原有的進程,因此進程的P變。ex數(shù)組的參數(shù)傳遞有逐個列舉和將整個參數(shù)構成指針數(shù)組傳遞兩種方式。Cex函c數(shù)組第六位為,表示指定當前進程所使用的環(huán)境變量。.ex函數(shù)組中ar和en數(shù)組忘記以NU結尾了,此時errno置為EFAULT.下列( )函數(shù)是動態(tài)分配一個主設備號。.intregister_chrdev_region(dev_tfirst,unsig.intlloc_chrdev_region(devedtminor,unsignedhar*namdunregister_chrdev_region(dev_tfirs.void*kmalloc(size_tsize,intflags);.設備驅動程序中動態(tài)開辟內(nèi)存時,調(diào)用函數(shù)().malloc()aBlalieof().下列說法錯誤的是(D).循環(huán)服務器在同一個時刻只可以響應一個客戶端的請求.并發(fā)服務器在同一個時刻可以響應多個客戶端的請求.U環(huán)服務器對于每一個客戶機的請求總是能夠滿足。.T環(huán)服務器一次能處理多個客戶端的請求。下面對于塊設備和字符設備的說法中不正確的是(C)、塊設備以塊為單位接收輸入和返回輸出,而字符設備以字節(jié)為單位。、塊設備對于I求有對應的緩沖區(qū),因此它們可以選擇以什么順序進行響應,字符設備無需緩沖且可被直接讀寫。、字符設備沒有次設備號。、字符設備只能順序讀寫,而塊設備可以隨機訪問。.關于設備驅動說法錯誤的是( ).Li程序通過設備文件來使用驅動程序操作字符設備和塊設備。.主設備號用來標示與設備文件相連的驅動程序;.使用MINOR(De分解出主設備號。.字符設備和塊設備都有主、次設備號。下列哪一項不是匿名管道的特點()、匿名管道中的數(shù)據(jù)是單向流動的。、匿名管道沒有名字。、匿名管道存在于文件系統(tǒng)中。、只能通過寫端口向匿名管道中寫入數(shù)據(jù)。.Kill原型為int_t pid,;個igno<-1()發(fā)送信號給進程I為p進程;發(fā)送信號給進程組I和該進程相同的進程;發(fā)送信號給進程組內(nèi)進程I為p絕對值的進程;發(fā)送信號給系統(tǒng)的所有進程;pid可能選擇有以下四種:.零時,p信號欲送往的進程的標識。.零時,信號將送往所有與調(diào)用kil的()進程屬同一個使用組的進程。.-時,信號將送往所有調(diào)用進程有權給其發(fā)送信號的進程,除了進程1(iit).-時,信號將送往以-p組標識的進程。.下面關于vfo()r的說法錯誤的是( B.vfo子進程一定比父進程先運行。.fork()子進程一定比父進程先運行。.vfo子進程完全共享父進程的地址空間。.fork()子進程完全共享父進程的地址空間。下列關于互斥鎖的說法中不正確的是( )、互斥鎖是用一種簡單的加鎖方法來控制對共享資源的原子操作。、互斥鎖只有兩種狀態(tài),也就是上鎖和解鎖,可以把互斥鎖看作某種意義上的全局變量。、互斥鎖可以分為快速互斥鎖、遞歸互斥鎖和檢錯互斥鎖。、在同一時刻可以有多個線程掌握某個互斥鎖,擁有上鎖狀態(tài)的線程能夠對共享資源進行操作。下面哪種通信方式適用于不同機器之間的進程通信( D).消息隊列B共享內(nèi)存.信號量套接字.函數(shù)getp什么()得到父進程ID得B當前進程ID效用戶ID組DD下列哪種進程間通信機制是在軟件層次上對中斷機制的模擬(C、匿名管道。消息隊列。信號。當父進程調(diào)用wawai能發(fā)生()、該父進程下所有正在運行的子進程立即終止運行。、如果一個子進程已經(jīng)終止,正等待父進程獲取其終止狀態(tài),則取得該子進程的終止狀態(tài)立即返回。、如果沒有任何子進程,則立即出錯返回。D如果所有子進程都在運行,則父進程阻塞。當一個線程的detac(該線程結束時立即釋放它所占有的系統(tǒng)資源。、PTHREAD_CREATE、PTHREAD_CREATE_DETACHED、PTHREAD_SCOPE_、PTHREAD_SCOPE_PROCESS下面哪種通信方式只能用于具有血緣關系的進程間通信()、共享內(nèi)存B匿名管道C信號量套接字、共享內(nèi)存。創(chuàng)建或打開消息隊列的函數(shù)為()、msggesgnsgcsgtl().配置a臺內(nèi)核的命令(A ).makemenugmenuconfigARCH=arm.makebzImakeuImageARCH=arm CROSS_COMPIL加載驅動程序模塊的命令為().insmrmlmod D. modinfo.將交叉編譯工具arm-linux-gcc解壓到.2.tar.gz).tarxvzarm-linux-gcc-–C3/2.tar.Bz.tarxjvfarm-linux-gcc–C./.2.tar.gz.tarxvfarm-linux-gcc-4.3.2.tar.gztarxjvfarm-linux-gcc-4.3.2.tar.gzpar.下列關于條件變量的說法中不正確的是()、通常條件變量和互斥鎖同時使用。、條件變量是利用線程間共享的全局變量進行同步的一種機制。條件變量不用進行初始化操作就可以直接使用條件變量必須進行初始化操作才能使用。在li系統(tǒng)中,下列哪個目錄中的內(nèi)容只保存在內(nèi)存中,而不占用外存空間(C./bi./t./roc D. /boot.下列說法錯誤的是(D).Fl器的擦寫次數(shù)是有限的,NA存還有特殊的硬件接口和讀寫時序。.Jf用于NRfl讀寫、支持數(shù)據(jù)壓縮的日志型文件系統(tǒng)。.yaffs/是專為型flash計的一種日志型文件系統(tǒng)。.Cra種可讀寫的壓縮文件系統(tǒng),運行時解壓縮,并要求被拷到R去。文件系統(tǒng)是專門針對閃存設計的只讀壓縮的文件系統(tǒng).li中加載模塊的命令是哪個?( C).lsmodmoBinfinsmrmod.Ki數(shù)原型為int_tpid,int一sigpid&時,表示(B).發(fā)送信號給進程組I和該進程相同的進程;.發(fā)送信號給進程I為p進程;.發(fā)送信號給進程組內(nèi)進程I為p絕對值的進程;.發(fā)送信號給系統(tǒng)的所有進程.關于進程間通信下列說法錯誤的是(B)。。的rri等。。.關于信號下列說法錯誤的是(B)有kiia(paue().ra以向自身發(fā)送信號,也可以向其他進程發(fā)送信號。.a(chǎn)larm為鬧鐘函數(shù),一個進程只能有一個鬧鐘時間。.當系統(tǒng)捕捉到某個信號時,可以忽略該信號或是使用指定的處理函數(shù)來處理。.關于消息隊列下列說法錯誤的是(D).消息隊列就是一個消息的列表,可以從中添加消息、讀取消息等。.消息隊列中創(chuàng)建或打開消息隊列使用的函數(shù)是msget.添加消息使用的函數(shù)是.從消息隊列讀取消息與

msg函數(shù),它把消息添加到已打開的消息隊列末尾。F的是,也遵循先進先出原則。.關于驅動程序,下列說法錯誤的是(D ).驅動程序提供對設備初始化和釋放的功能。.通過驅動程序可以把數(shù)據(jù)從內(nèi)核傳送給對應的硬件設備。.通過驅動程序可以檢測和處理硬件設備出現(xiàn)的錯誤。.當用戶進程調(diào)用驅動程序時,系統(tǒng)仍然運行在用戶態(tài)。.下列(A )選項可以分解出主設備號。.MAev_)dev .MIv_)dev.MKDEVr) .MINOR(iode->i_rdev).關于說法錯誤的是(D).UDP供不可靠的非連接型傳輸層服務。.T提供端口編號的譯碼,以識別主機的應用程序,而且完成數(shù)據(jù)的可靠傳輸。.T議具有嚴格的內(nèi)裝差錯檢驗算法確保數(shù)據(jù)的完整性。.T行速度比U。.下列哪個命令可以查看已安裝的設備的主設備號(A)cat/proc/devices Bls/dev/test Ccat/e.下列說法錯誤的是( ).循環(huán)服務器在同一個時刻只可以響應一個客戶端的請求。.并發(fā)服務器在同一個時刻可以響應多個客戶端的請求。.T環(huán)服務器一次能處理多個客戶端的請求。.U環(huán)服務器對于每一個客戶機的請求總是能夠滿足。下面對于塊設備和字符設備的說法中不正確的是(C).塊設備以塊為單位接收輸入和返回輸出,而字符設備以字節(jié)為單位。.塊設備對于I求可以選擇以什么順序進行響應。.字符設備是以字節(jié)為單位進行輸入輸出的,可以隨機訪問。.字符設備和塊設備都有主、次設備號。.intelecmaxd_*readfds*writfe_exceptfds,structtimeval列*timeout).ma至少比待檢測的最大文件描述符大。.參數(shù)exce例外條件監(jiān)控的文件描述符集。.正常情況下,返回值為滿足要求的文件描述符個數(shù)。.經(jīng)過了tim仍無文件滿足要求,返回值為-1.將交叉編譯工具arm-linux-gcc解壓到.2.tar.gzA).tarxvzarm-linux-gcc-–C3/2.tar.Bz.tarxjvfarm-linux-gcc–C./.2.tar.gz.tarvfrm-linux-gcc–C/3jgz-linux-gcc-4.3..編譯a臺內(nèi)核的命令( ).makemenugmeBuconfigARCH=arm.makebzImakeuIDageARCH=armCROSS_COMPIL.下列主要使用NAfl件系統(tǒng)的是( ).JFFS2.Yaffs.Crams.NF)D.類( ).makec基于文本模式的交互式配置。.makeme的菜單型配置。.makeol:使用已有的配置文件(.co問新增的配置選項。.make置需安裝圖形化系統(tǒng)。.關于內(nèi)核模塊下類說法錯誤的是( D).內(nèi)核模塊本身并被編譯進內(nèi)核文件(zIgbzIm。ge).模塊加載函數(shù)通過modult.模塊卸載函數(shù)通過modult.加載模塊的命令是rm載模塊的命令是ins,顯示模塊的命令是lsod.關于無名管道,下列說法錯誤的是( B).它只能用于具有親緣關系進程之間的通信。.它是一個全雙工的通信模式,兩端都可以讀寫。.使用pi數(shù)創(chuàng)建管道,再通過fo數(shù)創(chuàng)建子進程,該子進程繼承父進程所創(chuàng)建的管道,父子進程關閉相應不用的端口就可以建立通信的管道。.數(shù)據(jù)被一個進程讀出后,將被從管道中刪除,其它讀進程將不能再讀到這些數(shù)據(jù)。.關于信號下列說法錯誤的是( C).發(fā)送信號的函數(shù)主要有kiia(pause()..Ki可以向自身發(fā)送信號,也可以向其他進程發(fā)送信號。.a(chǎn)larm為鬧鐘函數(shù),一個進程可以有多個鬧鐘時間。.當系統(tǒng)捕捉到某個信號時,可以忽略該信號或是使用指定的處理函數(shù)來處理該信號。.關于消息隊列下列說法錯誤的是( C).消息隊列就是一個消息的列表,用戶可以從消息隊列種添加消息、讀取消息等。.消息隊列中創(chuàng)建或打開消息隊列使用的函數(shù)是msget.讀取消息使用的函數(shù)是.添加消息使用的函數(shù)是

msg與cF的是,也遵循先進先出原則。msg函數(shù),它把消息添加到已打開的消息隊列末尾。.關于多線程下列說法錯誤的是( ).編寫Linux多線程程序需要使用頭文件pthre連接時需要使用庫libpthread..hel多線程的程序,編譯命令為gcchello.c-ohello.線程自己調(diào)用pthrea出。.線程的正常退出方式包括線程從啟動例程中返回。.關于說法錯誤的是( C).UDP供不可靠的非連接型傳輸層服務,它允許在源和目的地之間傳送數(shù)據(jù)。.T重要的傳輸層協(xié)議,目的是允許數(shù)據(jù)同網(wǎng)絡上的其他節(jié)點進行可靠的交換。.U議具有嚴格的內(nèi)裝差錯檢驗算法確保數(shù)據(jù)的完整性。.U無連接的,不可靠的傳輸服務,它執(zhí)行速度比T。.下列說法錯誤的是( ).循環(huán)服務器在同一個時刻只可以響應一個客戶端的請求.并發(fā)服務器在同一個時刻可以響應多個客戶端的請求.U環(huán)服務器對于每一個客戶機的請求總是能夠滿足。.T環(huán)服務器一次能處理多個客戶端的請求。.關于設備驅動說法錯誤的是( C).Li程序通過設備文件來使用驅動程序操作字符設備和塊設備。.主設備號用來標示與設備文件相連的驅動程序;.使用MINOR(De分解出主設備號。.字符設備和塊設備都有主、次設備號。.下列( A)函數(shù)是靜態(tài)申請一個主設備號。.intregister_chrdev_region(dev_tfirst,unsig.intlloc_chrdev_region(devedtminor,unsignedhar*name);.voidunregister_chrdev_region(dev_tfirst,un.void*kmalloc(size_tsize,intflags);.下列關于字符設備和塊設備說法錯誤的是( ).字符設備是一種按字節(jié)來訪問的設備。.塊設備只能以塊為單位接受輸入和返回輸出。.字符設備對于I求要求有對應的緩沖區(qū)。.字符設備只能被順序讀寫,而塊設備可以隨機訪問。下面關于vfok()r的說法錯誤的是( B).vfo子進程一定比父進程先運行。.fo子進程一定比父進程先運行。.vfo子進程完全共享父進程的地址空間。.for產(chǎn)生的子進程復制父進程的代碼段和堆棧段。名詞解釋及簡答:.BootLoaderLoa在操作系統(tǒng)內(nèi)核運行之前運行的一段小程序通過這段小程序我們可以初始化硬件設備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準備好正確的環(huán)境。.什么是共享內(nèi)存?共享內(nèi)存實現(xiàn)的兩個步驟是什么?共享內(nèi)存是被多個進程共享的一部分物理內(nèi)存。共享內(nèi)存是進程間共享數(shù)據(jù)的一種最快的方法,一個進程向共享內(nèi)存區(qū)域寫入了數(shù)據(jù),共享這個內(nèi)存區(qū)域的所有進程就可以立刻看到其中的內(nèi)容。共享內(nèi)存實現(xiàn)分為兩個步驟:()創(chuàng)建共享內(nèi)存,使用shm;()映射共享內(nèi)存,將這段共享內(nèi)存映射到具體的進程空間去,使用sh。.簡述t務器和客戶端的編程步驟。基于TCP-端()創(chuàng)建一個socket數(shù)socket()()綁定I地址、端口等信息到soc用函數(shù)bin()()設置允許的最大連接數(shù),用函數(shù)listn()()接收客戶端上來的連接,用函數(shù)acce;t()()收發(fā)數(shù)據(jù)用函數(shù)sen和recv或者red()ite()()關閉網(wǎng)絡連接。基于TCP-端()創(chuàng)建一個soc,sock;t()()設置要連接的對方的I地址和端口等屬性;()連接服務器,用函數(shù)conne;t()()收發(fā)數(shù)據(jù),用函數(shù)sen和ecv(者red()it;()()關閉網(wǎng)絡連接。. VFS(VirtualFilesystem)是一個內(nèi)核軟件層用來處理與UN準文件系統(tǒng)相關的所有系統(tǒng)調(diào)用其強壯性表現(xiàn)在能為各種文件系統(tǒng)提供一個通用的接口。通過這組接口,用戶就可以將系統(tǒng)中的文件視為統(tǒng)一的V件,而不必關心其具體的文件系統(tǒng)是什么樣的。.有了進程為什么還要引入多線程?()和進程相比,它是一種非?!肮?jié)儉”的多任務操作方式。在Li下,啟動一個新的進程必須分配給它獨立的地址空間,建立眾多的數(shù)據(jù)表來維護它的代碼段、堆棧段和數(shù)據(jù)段,這是一種“昂貴”的多任務工作方式。()程間方便的通信機制。對不同進程來說,它們具有獨立的數(shù)據(jù)空間,要進行數(shù)據(jù)的傳遞只能通過進程間通信的方式進行,這種方式不僅費時,而且很不方便。線程則不然,由于同一進程下的線程之間共享數(shù)據(jù)空間,所以一個線程的數(shù)據(jù)可以直接為其它線程所用,這不僅。 任:()使多C統(tǒng)更加有效。操作系統(tǒng)會保證當線程數(shù)不大于C目時不同的線程運的C上。()改善程序結構。一個既長又復雜的進程可以考慮分為多個線程,成為幾個獨立或半獨立。:#include#include

<stdio.h><unistd.h>main()("using_exit....");("canyouseethis?");_ex若改為exit(): using_exit....三)#include#include#include

<stdio.h><unistd.h><stdlib.h>main(intargc,char*argv[])num=2;intpid;pid=fork();if(pid<0)("forkerror!");0;rif(pid==0)("num:%d",num);(0);(2);("num:%d",num);答案:num:3:2四)#include#include#include

<pthread.h><stdio.h><stdlib.h>cleanup(void*arg)*thr_fn(void*arg)main()_ttid;voidtret;pthread_create(&t*)1);LL,pthread_cleanup_push(cleanfirstuotpush")pthread_cleanup_push(cleanup,"terend push");pthread_cleanup_pop(1); pthread_cleanup_pop(1); prin%s",(char*)arg);return0;pthread_join(tid,&tret);;return0答案::threadsecondpush:threadfirstpush(五)#include#include#include

<stdio.h><stdlib.h><unistd.h>main()*env[]="PATH=/usr"

溫馨提示

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

評論

0/150

提交評論