計(jì)算機(jī)復(fù)試面試題總結(jié)_第1頁
計(jì)算機(jī)復(fù)試面試題總結(jié)_第2頁
計(jì)算機(jī)復(fù)試面試題總結(jié)_第3頁
計(jì)算機(jī)復(fù)試面試題總結(jié)_第4頁
計(jì)算機(jī)復(fù)試面試題總結(jié)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、計(jì)算機(jī)復(fù)試面試題總結(jié)1、什么是進(jìn)程(proess)和線程(tred)?有何區(qū)別?進(jìn)程是具有一定獨(dú)立功能的程序關(guān)于某個數(shù)據(jù)集合上的一次運(yùn)行活動,進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個獨(dú)立單位。線程是進(jìn)程的一個實(shí)體,是cpu調(diào)度和分派的基本單位,它是比進(jìn)程更小的能獨(dú)立運(yùn)行的基本單位。線程自己基本上不擁有系統(tǒng)資源,只擁有一點(diǎn)在運(yùn)行中必不可少的資源(如程序計(jì)數(shù)器,一組寄存器和棧),但是它可與同屬一個進(jìn)程的其他的線程共享進(jìn)程所擁有的全部資源。一個線程可以創(chuàng)建和撤銷另一個線程,同一個進(jìn)程中的多個線程之間可以并發(fā)執(zhí)行。進(jìn)程與應(yīng)用程序的區(qū)別在于應(yīng)用程序作為一個靜態(tài)件存儲在計(jì)算機(jī)系統(tǒng)的硬盤等存儲空間中,而進(jìn)程則是處

2、于動態(tài)條件下由操作系統(tǒng)維護(hù)的系統(tǒng)資源管理實(shí)體。2、windos下的內(nèi)存是如何管理的?windos提供了3種方法來進(jìn)行內(nèi)存管理:虛擬內(nèi)存,最適合用來管理大型對象或者結(jié)構(gòu)數(shù)組;內(nèi)存映射件,最適合用來管理大型數(shù)據(jù)流(通常來自件)以及在單個計(jì)算機(jī)上運(yùn)行多個進(jìn)程之間共享數(shù)據(jù);內(nèi)存堆棧,最適合用來管理大量的小對象。windos操縱內(nèi)存可以分兩個層面:物理內(nèi)存和虛擬內(nèi)存。其中物理內(nèi)存由系統(tǒng)管理,不允許應(yīng)用程序直接,應(yīng)用程序可見的只有一個2g地址空間,而內(nèi)存分配是通過堆進(jìn)行的。對于每個進(jìn)程都有自己的默認(rèn)堆,當(dāng)一個堆創(chuàng)建后,就通過虛擬內(nèi)存操作保留了相應(yīng)大小的地址塊(不占有實(shí)際的內(nèi)存,系統(tǒng)消耗很?。?。當(dāng)在堆上分配

3、一塊內(nèi)存時(shí),系統(tǒng)在堆的地址表里找到一個空閑塊(如果找不到,且堆創(chuàng)建屬性是可擴(kuò)充的,則擴(kuò)充堆大小),為這個空閑塊所包含的所有內(nèi)存頁提交物理對象(在物理內(nèi)存上或硬盤的交換件上),這時(shí)就可以這部分地址。提交時(shí),系統(tǒng)將對所有進(jìn)程的內(nèi)存統(tǒng)一調(diào)配,如果物理內(nèi)存不夠,系統(tǒng)試圖把一部分進(jìn)程暫時(shí)不的頁放入交換件,以騰出部分物理內(nèi)存。釋放內(nèi)存時(shí),只在堆中將所在的頁解除提交(相應(yīng)的物理對象被解除),繼續(xù)保留地址空間。如果要知道某個地址是否被占用可不可以,只要查詢此地址的虛擬內(nèi)存狀態(tài)即可。如果是提交,則可以。如果僅僅保留,或沒保留,則產(chǎn)生一個軟件異常。此外,有些內(nèi)存頁可以設(shè)置各種屬性。如果是只讀,向內(nèi)存寫也會產(chǎn)生軟件

4、異常。3、windos消息調(diào)度機(jī)制是?a)指令隊(duì)列;b)指令堆棧;c)消息隊(duì)列;d)消息堆棧答案:c處理消息隊(duì)列的順序。首先windos絕對不是按隊(duì)列先進(jìn)先出的次序來處理的,而是有一定優(yōu)先級的。優(yōu)先級通過消息隊(duì)列的狀態(tài)標(biāo)志來實(shí)現(xiàn)的。首先,最高優(yōu)先級的是別的線程發(fā)過來的消息(通過sendmessge);其次,處理登記消息隊(duì)列消息;再次處理qs_qut標(biāo)志,處理虛擬輸入隊(duì)列,處理m_in;最后是m_imer。4、描述實(shí)時(shí)系統(tǒng)的基本特性在特定時(shí)間內(nèi)完成特定的任務(wù),實(shí)時(shí)性與可靠性。所謂“實(shí)時(shí)操作系統(tǒng)”,實(shí)際上是指操作系統(tǒng)工作時(shí),其各種資源可以根據(jù)需要隨時(shí)進(jìn)行動態(tài)分配。由于各種資源可以進(jìn)行動態(tài)分配,因此

5、,其處理事務(wù)的能力較強(qiáng)、速度較快。5、中斷和輪詢的特點(diǎn)對設(shè)備的程序輪詢的方式,是早期的計(jì)算機(jī)系統(tǒng)對設(shè)備的一種管理方式。它定時(shí)對各種設(shè)備輪流詢一遍有無處理要求。輪流詢之后,有要求的,則加以處理。在處理設(shè)備的要求之后,處理機(jī)返回繼續(xù)工作。盡管輪詢需要時(shí)間,但輪詢要比設(shè)備的速度要快得多,所以一般不會發(fā)生不能及時(shí)處理的題。當(dāng)然,再快的處理機(jī),能處理的輸入輸出設(shè)備的數(shù)量也是有一定限度的。而且,程序輪詢畢竟占據(jù)了cpu相當(dāng)一部分處理時(shí)間,因此,程序輪詢是一種效率較低的方式,在現(xiàn)代計(jì)算機(jī)系統(tǒng)中已很少應(yīng)用。程序中斷通常簡稱中斷,是指cpu在正常運(yùn)行程序的過程中,由于預(yù)先安排或發(fā)生了各種隨機(jī)的內(nèi)部或外部事件,使

6、cpu中斷正在運(yùn)行的程序,而轉(zhuǎn)到為響應(yīng)的服務(wù)程序去處理。輪詢效率低,等待時(shí)間很長,cpu利用率不高。中斷容易遺漏一些題,cpu利用率高。6、什么是臨界區(qū)?如何解決沖突?每個進(jìn)程中臨界資源的那段程序稱為臨界區(qū),每次只準(zhǔn)許一個進(jìn)程進(jìn)入臨界區(qū),進(jìn)入后不允許其他進(jìn)程進(jìn)入。(1)如果有若干進(jìn)程要求進(jìn)入空閑的臨界區(qū),一次僅允許一個進(jìn)程進(jìn)入;(2)任何時(shí)候,處于臨界區(qū)內(nèi)的進(jìn)程不可多于一個。如已有進(jìn)程進(jìn)入自己的臨界區(qū),則其它所有試圖進(jìn)入臨界區(qū)的進(jìn)程必須等待;(3)進(jìn)入臨界區(qū)的進(jìn)程要在有限時(shí)間內(nèi)退出,以便其它進(jìn)程能及時(shí)進(jìn)入自己的臨界區(qū);(4)如果進(jìn)程不能進(jìn)入自己的臨界區(qū),則應(yīng)讓出cpu,避免進(jìn)程出現(xiàn)“忙等”現(xiàn)象

7、。7、說說分段和分頁頁是信息的物理單位,分頁是為實(shí)現(xiàn)離散分配方式,以消減內(nèi)存的外零頭,提高內(nèi)存的利用率;或者說,分頁僅僅是由于系統(tǒng)管理的需要,而不是用戶的需要。段是信息的邏輯單位,它含有一組其意義相對完整的信息。分段的目的是為了能更好的滿足用戶的需要。頁的大小固定且由系統(tǒng)確定,把邏輯地址劃分為頁號和頁內(nèi)地址兩部分,是由機(jī)器硬件實(shí)現(xiàn)的,因而一個系統(tǒng)只能有一種大小的頁面。段的長度卻不固定,決定于用戶所編寫的程序,通常由編輯程序在對源程序進(jìn)行編輯時(shí),根據(jù)信息的性質(zhì)來劃分。分頁的作業(yè)地址空間是一維的,即單一的線性空間,程序員只須利用一個記憶符,即可表示一地址。分段的作業(yè)地址空間是二維的,程序員在標(biāo)識一

8、個地址時(shí),既需給出段名,又需給出段內(nèi)地址。8、說出你所知道的保持進(jìn)程同步的方法?進(jìn)程間同步的主要方法有原子操作、信號量機(jī)制、自旋鎖、管程、會合、分布式系統(tǒng)等。9、linux中常用到的命令顯示件目錄命令ls如ls改變當(dāng)前目錄命令d如dome建立子目錄mkdir如mkdirxiong刪除子目錄命令rmdir如rmdirmndrom刪除件命令rm如rmudosb件復(fù)制命令如udosox獲取幫助信息命令mn如mnls顯示件的內(nèi)容less如lessmmlx重定向與管道ye如yeredme>>dire,將件redme的內(nèi)容追加到dire中10、linux件屬性有哪些?(共十位)-r-r-r-那

9、個是權(quán)限符號,總共是-這幾個位。第一個短橫處是件類型識別符:-表示普通件;表示字符設(shè)備(rer);b表示塊設(shè)備(blok);d表示目錄(direory);l表示鏈接件(link);后面第一個三個連續(xù)的短橫是用戶權(quán)限位(user),第二個三個連續(xù)短橫是組權(quán)限位(grou),第三個三個連續(xù)短橫是其他權(quán)限位(er)。每個權(quán)限位有三個權(quán)限,r(讀權(quán)限),(寫權(quán)限),x(執(zhí)行權(quán)限)。如果每個權(quán)限位都有權(quán)限存在,那么滿權(quán)限的情況就是:-rxrxrx;權(quán)限為空的情況就是-。權(quán)限的設(shè)定可以用mod命令,其格式位:modugo+-=rxilenmedireory。例如:一個件具有完全空的權(quán)限-。modu+r(給

10、用戶權(quán)限位設(shè)置讀寫權(quán)限,其權(quán)限表示為:-r-)modg+r(給組設(shè)置權(quán)限為可讀,其權(quán)限表示為:-r-)modugo+r(給用戶,組,其它用戶或組設(shè)置權(quán)限為讀寫,權(quán)限表示為:-r-r-r-)如果具有滿權(quán)限-rxrxrx。modu-x(去掉用戶可執(zhí)行權(quán)限,權(quán)限表示為:-r-rxrx)如果要給賦予制定權(quán)限-rxr-xr-x,命令為:modu=rx,go=rx11、mkeile件的作用是什么?一個工程中的源件不計(jì)其數(shù),其按類型、功能、模塊分別放在若干個目錄中。mkeile定義了一系列的規(guī)則來指定哪些件需要先編譯,哪些件需要后編譯,哪些件需要重新編譯,甚至于進(jìn)行更復(fù)雜的功能操作。因?yàn)閙keile就像一個

11、sell腳本一樣,其中也可以執(zhí)行操作系統(tǒng)的命令。mkeile帶來的好處就是“自動化編譯”。一旦寫好,只需要一個mke命令,整個工程完全自動編譯,極大地提高了軟件開發(fā)的效率。mke是一個命令工具,是一個解釋mkeile中指令的命令工具。一般來說,大多數(shù)的de都有這個命令,比如:deli的mke,visulc+的nmke,linux下gnu的mke??梢姡琺keile都成為了一種在工程方面的編譯方法。12、簡術(shù)s的物理層lyer1,鏈路層lyer2,網(wǎng)絡(luò)層lyer3的任務(wù)。網(wǎng)絡(luò)層:通過路由選擇算法,為報(bào)或分組通過通信子網(wǎng)選擇最適當(dāng)?shù)穆窂健f溌穼樱和ㄟ^各種控制協(xié)議,將有差錯的物理信道變?yōu)闊o差錯的、能

12、可靠傳輸數(shù)據(jù)幀的數(shù)據(jù)鏈路。物理層:利用傳輸介質(zhì)為數(shù)據(jù)鏈路層提供物理連接,實(shí)現(xiàn)比特流的透明傳輸。13、什么是中斷?中斷時(shí)cpu做什么工作?中斷是指在計(jì)算機(jī)執(zhí)行期間,系統(tǒng)內(nèi)發(fā)生任何非尋常的或非預(yù)期的急需處理事件,使得cpu暫時(shí)中斷當(dāng)前正在執(zhí)行的程序而轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序。待處理完畢后又返回原來被中斷處繼續(xù)執(zhí)行或調(diào)度新的進(jìn)程執(zhí)行的過程。14、你知道操作系統(tǒng)的內(nèi)容分為幾塊嗎?什么叫做虛擬內(nèi)存?他和主存的關(guān)系如何?內(nèi)存管理屬于操作系統(tǒng)的內(nèi)容嗎?操作系統(tǒng)的主要組成部分:進(jìn)程和線程的管理,存儲管理,設(shè)備管理,件管理。虛擬內(nèi)存是一些系統(tǒng)頁件,存放在磁盤上,每個系統(tǒng)頁件大小為4k,物理內(nèi)存也被分頁,每個頁

13、大小也為4k,這樣虛擬頁件和物理內(nèi)存頁就可以對應(yīng),實(shí)際上虛擬內(nèi)存就是用于物理內(nèi)存的臨時(shí)存放的磁盤空間。頁件就是內(nèi)存頁,物理內(nèi)存中每頁叫物理頁,磁盤上的頁件叫虛擬頁,物理頁+虛擬頁就是系統(tǒng)所有使用的頁件的總和。15、線程是否具有相同的堆棧?dll是否有獨(dú)立的堆棧?每個線程有自己的堆棧。dll是否有獨(dú)立的堆棧?這個題不好回答,或者說這個題本身是否有題。因?yàn)閐ll中的代碼是被某些線程所執(zhí)行,只有線程擁有堆棧。如果dll中的代碼是exe中的線程所調(diào)用,那么這個時(shí)候是不是說這個dll沒有獨(dú)立的堆棧?如果dll中的代碼是由dll自己創(chuàng)建的線程所執(zhí)行,那么是不是說dll有獨(dú)立的堆棧?以上講的是堆棧,如果對于

14、堆來說,每個dll有自己的堆,所以如果是從dll中動態(tài)分配的內(nèi)存,最好是從dll中刪除;如果你從dll中分配內(nèi)存,然后在exe中,或者另外一個dll中刪除,很有可能導(dǎo)致程序崩潰。16、什么是緩沖區(qū)溢出?有什么危害?其原因是什么?緩沖區(qū)溢出是指當(dāng)計(jì)算機(jī)向緩沖區(qū)內(nèi)填充數(shù)據(jù)時(shí)超過了緩沖區(qū)本身的容量,溢出的數(shù)據(jù)覆蓋在合法數(shù)據(jù)上。危害:在當(dāng)前網(wǎng)絡(luò)與分布式系統(tǒng)安全中,被廣泛利用的50%以上都是緩沖區(qū)溢出,其中最著名的例子是1988年利用ingerd漏洞的蠕蟲。而緩沖區(qū)溢出中,最為危險(xiǎn)的是堆棧溢出,因?yàn)槿肭终呖梢岳枚褩R绯?,在函?shù)返回時(shí)改變返回程序的地址,讓其跳轉(zhuǎn)到任意地址,帶來的危害一種是程序崩潰導(dǎo)致拒

15、絕服務(wù),另外一種就是跳轉(zhuǎn)并且執(zhí)行一段惡意代碼,比如得到sell,然后為所欲為。通過往程序的緩沖區(qū)寫超出其長度的內(nèi)容,造成緩沖區(qū)的溢出,從而破壞程序的堆棧,使程序轉(zhuǎn)而執(zhí)行其它指令,以達(dá)到攻擊的目的。造成緩沖區(qū)溢出的主原因是程序中沒有仔細(xì)檢查用戶輸入的參數(shù)。17、什么是死鎖?其條件是什么?怎樣避免死鎖?死鎖的概念:在兩個或多個并發(fā)進(jìn)程中,如果每個進(jìn)程持有某種資源而又都等待別的進(jìn)程釋放它或它們現(xiàn)在保持著的資源,在未改變這種狀態(tài)之前都不能向前推進(jìn),稱這一組進(jìn)程產(chǎn)生了死鎖。通俗地講,就是兩個或多個進(jìn)程被無限期地阻塞、相互等待的一種狀態(tài)。死鎖產(chǎn)生的原因主要是:?系統(tǒng)資源不足;?進(jìn)程推進(jìn)順序非法。產(chǎn)生死鎖的必要條件:(1)互斥(muulexlusion),一個資源每次只能被一個進(jìn)程使用;(2)不可搶占(noreemion),進(jìn)程已獲得的資源,在未使用完之前,不能強(qiáng)行剝奪;(3)占有并等待(oldndi),一個進(jìn)程因請求資源而阻塞時(shí),對已獲得的資源保持不放;(4)環(huán)形等待(irulri),若干進(jìn)程之間形成一種首尾相接的循環(huán)

溫馨提示

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

評論

0/150

提交評論