国产精品亚洲综合久久系列,一本大道香蕉青青久久,播放高清的播放器,国产在线观看无码不卡

蜜蜂職場文庫 > 面試技巧 >

操作系統(tǒng)面試題

時間: 小龍 面試技巧

  操作系統(tǒng)面試中,面試題目都有那些呢?你是否能回答了呢?以下是小編幫你們整理的操作系統(tǒng)面試題,一起來學習啦。

  操作系統(tǒng)面試題篇一

  1.什么是臨界區(qū)?如何解決沖突?

  每個進程中訪問臨界資源的那段程序稱為臨界區(qū),每次只準許一個進程進入臨界區(qū),進入后不允許其他進程進入。

  (1) 如果有若干進程要求進入空閑的臨界區(qū),一次僅允許一個進程進入;

  (2) 任何時候,處于臨界區(qū)內(nèi)的進程不可多于一個。如已有進程進入自己的臨界區(qū),則其它所有試圖進入臨界區(qū)的進程必須等待;

  (3) 進入臨界區(qū)的進程要在有限時間內(nèi)退出,以便其它進程能及時進入自己的臨界區(qū);

  (4) 如果進程不能進入自己的臨界區(qū),則應讓出CPU,避免進程出現(xiàn)“忙等”現(xiàn)象。

  2.說說分段和分頁

  頁是信息的物理單位,分頁是為實現(xiàn)離散分配方式,以消減內(nèi)存的外零頭,提高內(nèi)存的利用率;或者說,分頁僅僅是由于系統(tǒng)管理的需要,而不是用戶的需要。

  段是信息的邏輯單位,它含有一組其意義相對完整的信息。分段的目的是為了能更好的滿足用戶的需要。

  頁的大小固定且由系統(tǒng)確定,把邏輯地址劃分為頁號和頁內(nèi)地址兩部分,是由機器硬件實現(xiàn)的,因而一個系統(tǒng)只能有一種大小的頁面。段的長度卻不固定,決定于用戶所編寫的程序,通常由編輯程序在對源程序進行編輯時,根據(jù)信息的性質(zhì)來劃分。

  分頁的作業(yè)地址空間是一維的,即單一的線性空間,程序員只須利用一個記憶符,即可表示一地址。分段的作業(yè)地址空間是二維的,程序員在標識一個地址時,既需給出段名,又需給出段內(nèi)地址。

  3.什么是中斷?中斷時CPU做什么工作?

  中斷是指在計算機執(zhí)行期間,系統(tǒng)內(nèi)發(fā)生任何非尋常的或非預期的急需處理事件,使得CPU暫時中斷當前正在執(zhí)行的程序而轉(zhuǎn)去執(zhí)行相應的事件處理程序。待處理完畢后又返回原來被中斷處繼續(xù)執(zhí)行或調(diào)度新的進程執(zhí)行的過程。

  4.你知道操作系統(tǒng)的內(nèi)容分為幾塊嗎?什么叫做虛擬內(nèi)存?他和主存的關系如何?內(nèi)存管理屬于操作系統(tǒng)的內(nèi)容嗎?

  操作系統(tǒng)的主要組成部分:進程和線程的管理,存儲管理,設備管理,文件管理。虛擬內(nèi)存是一些系統(tǒng)頁文件,存放在磁盤上,每個系統(tǒng)頁文件大小為4K,物理內(nèi)存也被分頁,每個頁大小也為4K,這樣虛擬頁文件和物理內(nèi)存頁就可以對應,實際上虛擬內(nèi)存就是用于物理內(nèi)存的臨時存放的磁盤空間。頁文件就是內(nèi)存頁,物理內(nèi)存中每頁叫物理頁,磁盤上的頁文件叫虛擬頁,物理頁+虛擬頁就是系統(tǒng)所有使用的頁文件的總和。

  5、試寫出程序與進程的區(qū)別

  (1)進程是一個動態(tài)概念,而程序是一個靜態(tài)概念。

  (2)進程具有并行特征,而程序不反映執(zhí)行所以沒有并行特征

  (3)進程是競爭計算機系統(tǒng)資源的基本單位,而程序不反映執(zhí)行也就不會競爭計算機系統(tǒng)資源

  (4)不同的進程可以包含同一程序,只要該程序所對應的數(shù)據(jù)集不同。

  6、頁式管理的基本原理是什么?

  (1)進程的虛擬空間被劃分成長度相等的頁。

  (2)內(nèi)存空間也按頁的大小劃分成長度相等的頁面。

  (3)采用請求調(diào)頁或預調(diào)技術(shù)實現(xiàn)內(nèi)外存儲器的統(tǒng)一管理。

  7、進程調(diào)度有哪些功能?

  (1)記錄系統(tǒng)中所有進程的執(zhí)行情況。

  (2)選擇占有處理機的進程

  (3)進行進程上下文切換

  8、批處理操作系統(tǒng)、分時操作系統(tǒng)和實時操作系統(tǒng)的特點各是什么?

  (1) 批處理操作系統(tǒng)的特點:成批處理,系統(tǒng)吞吐量高,資源利用率高,用戶不能直接干預作業(yè)的執(zhí)行。

  (2)分時操作系統(tǒng)的特點:多路性、獨立性、及時性、交互性。

  (3)實時操作系統(tǒng)特點:及時響應、快速處理;高可靠性和安全性;不要求系統(tǒng)資源利用率。

  操作系統(tǒng)面試題篇二

  1.線程是否具有相同的堆棧?dll是否有獨立的堆棧?

  每個線程有自己的堆棧。

  dll是否有獨立的堆棧?這個問題不好回答,或者說這個問題本身是否有問題。因為dll中的代碼是被某些線程所執(zhí)行,只有線程擁有堆棧。如果dll中的代碼是exe中的線程所調(diào)用,那么這個時候是不是說這個dll沒有獨立的堆棧?如果dll中的代碼是由dll自己創(chuàng)建的線程所執(zhí)行,那么是不是說dll有獨立的堆棧?

  以上講的是堆棧,如果對于堆來說,每個dll有自己的堆,所以如果是從dll中動態(tài)分配的內(nèi)存,最好是從dll中刪除;如果你從dll中分配內(nèi)存,然后在exe中,或者另外一個dll中刪除,很有可能導致程序崩潰。

  2.什么是緩沖區(qū)溢出?有什么危害?其原因是什么?

  緩沖區(qū)溢出是指當計算機向緩沖區(qū)內(nèi)填充數(shù)據(jù)時超過了緩沖區(qū)本身的容量,溢出的數(shù)據(jù)覆蓋在合法數(shù)據(jù)上。

  危害:在當前網(wǎng)絡與分布式系統(tǒng)安全中,被廣泛利用的50%以上都是緩沖區(qū)溢出,其中最著名的例子是1988年利用fingerd漏洞的蠕蟲。而緩沖區(qū)溢出中,最為危險的是堆棧溢出,因為入侵者可以利用堆棧溢出,在函數(shù)返回時改變返回程序的地址,讓其跳轉(zhuǎn)到任意地址,帶來的危害一種是程序崩潰導致拒絕服務,另外一種就是跳轉(zhuǎn)并且執(zhí)行一段惡意代碼,比如得到shell,然后為所欲為。通過往程序的緩沖區(qū)寫超出其長度的內(nèi)容,造成緩沖區(qū)的溢出,從而破壞程序的堆棧,使程序轉(zhuǎn)而執(zhí)行其它指令,以達到攻擊的目的。

  造成緩沖區(qū)溢出的主原因是程序中沒有仔細檢查用戶輸入的參數(shù)。

  3.什么是死鎖?其條件是什么?怎樣避免死鎖?

  死鎖的概念:在兩個或多個并發(fā)進程中,如果每個進程持有某種資源而又都等待別的進程釋

  放它或它們現(xiàn)在保持著的資源,在未改變這種狀態(tài)之前都不能向前推進,稱這一組進程產(chǎn)生了死鎖。通俗地講,就是兩個或多個進程被無限期地阻塞、相互等待的一種狀態(tài)。 死鎖產(chǎn)生的原因主要是:•系統(tǒng)資源不足;‚進程推進順序非法。

  產(chǎn)生死鎖的必要條件:

  (1)互斥(mutualexclusion),一個資源每次只能被一個進程使用;

  (2)不可搶占(nopreemption),進程已獲得的資源,在未使用完之前,不能強行剝奪;

  (3)占有并等待(hold andwait),一個進程因請求資源而阻塞時,對已獲得的資源保持不放;

  (4)環(huán)形等待(circularwait),若干進程之間形成一種首尾相接的循環(huán)等待資源關系。

  這四個條件是死鎖的必要條件,只要系統(tǒng)發(fā)生死鎖,這些條件必然成立,而只要上述條件之一不滿足,就不會發(fā)生死鎖。

  死鎖的解除與預防:理解了死鎖的原因,尤其是產(chǎn)生死鎖的四個必要條件,就可以最大可能地避免、預防和解除死鎖。所以,在系統(tǒng)設計、進程調(diào)度等方面注意如何不讓這四個必要條件成立,如何確定資源的合理分配算法,避免進程永久占據(jù)系統(tǒng)資源。此外,也要防止進程在處于等待狀態(tài)的情況下占用資源。因此,對資源的分配要給予合理的規(guī)劃。

  死鎖的處理策略:鴕鳥策略、預防策略、避免策略、檢測與恢復策略。

  操作系統(tǒng)面試題篇三

  1進程和現(xiàn)成的區(qū)別

  1) 簡而言之,一個程序至少有一個進程,一個進程至少有一個線程.

  2) 線程的劃分尺度小于進程,使得多線程程序的并發(fā)性高。

  3) 另外,進程在執(zhí)行過程中擁有獨立的內(nèi)存單元,而多個線程共享內(nèi)存,從而極大地提高了程序的運行效率。

  4) 線程在執(zhí)行過程中與進程還是有區(qū)別的。每個獨立的線程有一個程序運行的入口、順序執(zhí)行序列和程序的出口。但是線程不能夠獨立執(zhí)行,必須依存在應用程序中,由應用程序提供多個線程執(zhí)行控制。

  5) 從邏輯角度來看,多線程的意義在于一個應用程序中,有多個執(zhí)行部分可以同時執(zhí)行。但操作系統(tǒng)并沒有將多個線程看做多個獨立的應用,來實現(xiàn)進程的調(diào)度和管理以及資源分配。這就是進程和線程的重要區(qū)別。

  2.Windows下的內(nèi)存是如何管理的?

  Windows提供了3種方法來進行內(nèi)存管理:虛擬內(nèi)存,最適合用來管理大型對象或者結(jié)構(gòu)數(shù)組;內(nèi)存映射文件,最適合用來管理大型數(shù)據(jù)流(通常來自文件)以及在單個計算機上運行多個進程之間共享數(shù)據(jù);內(nèi)存堆棧,最適合用來管理大量的小對象。

  3.Windows消息調(diào)度機制是?

  A.指令隊列;B.指令堆棧;C.消息隊列;D.消息堆棧

  答案:C

  處理消息隊列的順序。首先Windows絕對不是按隊列先進先出的次序來處理的,而是有一定優(yōu)先級的。優(yōu)先級通過消息隊列的狀態(tài)標志來實現(xiàn)的。首先,最高優(yōu)先級的是別的線程發(fā)過來的消息(通過sendmessage);其次,處理登記消息隊列消息;再次處理QS_QUIT標志,處理虛擬輸入隊列,處理wm_paint;最后是wm_timer。

  4.描述實時系統(tǒng)的基本特性

  在特定時間內(nèi)完成特定的任務,實時性與可靠性。

  所謂“實時操作系統(tǒng)”,實際上是指操作系統(tǒng)工作時,其各種資源可以根據(jù)需要隨時進行動態(tài)分配。由于各種資源可以進行動態(tài)分配,因此,其處理事務的能力較強、速度較快。

  5.中斷和輪詢的特點

  對I/O設備的程序輪詢的方式,是早期的計算機系統(tǒng)對I/O設備的一種管理方式。它定時對各種設備輪流詢問一遍有無處理要求。輪流詢問之后,有要求的,則加以處理。在處理I/O設備的要求之后,處理機返回繼續(xù)工作。盡管輪詢需要時間,但輪詢要比I/O設備的速度要快得多,所以一般不會發(fā)生不能及時處理的問題。當然,再快的處理機,能處理的輸入輸出設備的數(shù)量也是有一定限度的。而且,程序輪詢畢竟占據(jù)了CPU相當一部分處理時間,因此,程序輪詢是一種效率較低的方式,在現(xiàn)代計算機系統(tǒng)中已很少應用。

  程序中斷通常簡稱中斷,是指CPU在正常運行程序的過程中,由于預先安排或發(fā)生了各種隨機的內(nèi)部或外部事件,使CPU中斷正在運行的程序,而轉(zhuǎn)到為響應的服務程序去處理。 輪詢——效率低,等待時間很長,CPU利用率不高。

  中斷——容易遺漏一些問題,CPU利用率高。

  6、什么是操作系統(tǒng)的基本功能?

  1).處理機管理。在多道程序或多用戶的情況下,要組織多個作業(yè)同時運行,就要解決對處理機分配調(diào)度策略、分配實施和資源回收等問題。

  2).存儲管理。存儲管理的主要工作是對內(nèi)部存儲器進行分配、保護和擴充和管理。

  3).設備管理。涉及到通道、控制器、輸入輸出設備的分配和管理以及設備獨立性。

  4).信息管理(文件系統(tǒng)管理) 是對系統(tǒng)的軟件資源的管理。

  5).用戶接口。操作系統(tǒng)還為用戶提供一個友好的用戶接口。一般來說,操作系統(tǒng)提供兩種方式的接口來為用戶服務。

  7、分級調(diào)度分為4級:

  (1) 作業(yè)調(diào)度(2) 交換調(diào)度(3) 進程調(diào)度(4) 線程調(diào)度。

  
看了“操作系統(tǒng)面試題”的人還看過:

1.

2.

3.

4.

5.

50134