面試-作業系統常見面試題

來源:互聯網
上載者:User

作業系統常見面試題(答案僅供參考)
1.    什麼是中斷?中斷時CPU做什麼工作?
          中斷是指在電腦執行期間,系統內發生任何非尋常的或非預期的急需處理事件,使得CPU暫時中斷當前正在執行的程式而轉去執行相應的事件處理常式。待處理完畢後又返回原來被中斷處繼續執行或調度新的進程執行的過程。
 
2.    CPU在上電後,進入作業系統的main()之前必須做什嗎?
      加電後,會觸發CPU的reset訊號,導致CPU複位,然後CPU會跳到(arm下0x00000000,x86下0xfffffff0)執行指令.主要是做CPU初始化,確定CPU的工作模式,mmu初始化。建立頁表段表,初始化中孤單控制器和中斷向量表,初始化輸入和輸出,初始化nandflash,把OS的TEXT區載入到sdram,然後跳轉到sdram的main()
 
3.    簡術ISO OSI的物理層Layer1,鏈路層Layer2,網路層Layer3的任務。
      網路層:資料傳送的目的地定址,再選擇出傳送資料的最佳路線;
鏈路層:負責網路上資料封包如何傳送的方式;
物理層:在裝置與傳輸媒介之間建立及終止串連。參與通訊過程使得資源可以在共用的多使用者中有效分配,對訊號進行調製或轉換使得使用者裝置中的數字訊號定義能與通道上實際傳送的數字訊號相匹配
 
4.    makefile檔案的作用是什嗎?
            一個工程中的源檔案不計數,其按類型、功能、模組分別放在若干個目錄中,makefile定義了一系列的規則來指定,哪些檔案需要先編譯,哪些檔案需要後編譯,哪些檔案需要重新編譯,甚至於進行更複雜的功能操作,因為 makefile就像一個Shell指令碼一樣,其中也可以執行作業系統的命令。makefile帶來的好處就是——“自動化編譯”,一旦寫好,只需要一個make命令,整個工程完全自動編譯,極大的提高了軟體開發的效率。make是一個命令工具,是一個解釋makefile中指令的命令工具,一般來說,大多數的IDE都有這個命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。可見,makefile都成為了一種在工程方面的編譯方法。
 
5.    UNIX顯示檔案夾中檔案名稱的命令是什嗎?能使檔案內容顯示在螢幕的命令是什嗎?
       ls cat
type tail
6.    Linux檔案屬性有哪些?(共十位)
       -rw-r--r—1
           第一個屬性代表這個檔案是【目錄、檔案或連結檔案】,當為[ d ]則是目錄,為[ - ]則是檔案,若是[ l ]則表示為連結檔(link file);
若是[ b ]則表示為裝置檔案裡面的可供儲存的介面裝置;
若是[ c ]則表示為裝置檔案裡面的序列埠裝置,例如鍵盤、滑鼠。
       接下來的屬性中,三個為一組,且均為【rwx】三個參數的組合,其中[r]代可讀、
[w]代表可寫、[x]代表可執行:
第一組為【擁有人的許可權】,
 第二組為【同群組的許可權】;
 第三組為【其它非本群組的許可權】。
7.    Linux中常用到的命令
      顯示檔案目錄命令ls
      改變目前的目錄命令cd  如cd / /home
      建立子目錄mkdir  mkdir xiong
      刪除子目錄命令rmdir  如 rmdir /mnt/cdrom
      刪除檔案命令RM  如 rm /ucdos.bat
      檔案複製命令cp   如 cp /ucdos/* /fox
      擷取協助資訊命令man 如 man ls
      顯示檔案的內容less 如 less mwm.lx
      重新導向與管道type 如type  readme>>direct,將檔案readme的內容追加到文direct中
8.    進程通訊有哪些方式?
    管道通訊、訊息通訊、記憶體共用
9.    說說分段和分頁。
         頁是資訊的物理單位,分頁是為實現離散分配方式,以消減記憶體的外零頭,提高記憶體的利用率;或者說,分頁僅僅是由於系統管理的需要,而不是使用者的需要。
    段是資訊的邏輯單位,它含有一組其意義相對完整的資訊。分段的目的是為了能更好的滿足使用者的需要。頁的大小固定且由系統確定,把邏輯地址劃分為頁號和頁內地址兩部分,是由機器硬體實現的,因而一個系統只能有一種大小的頁面。 段的長度卻不固定,決定於使用者所編寫的程式,通常由編輯程式在對來源程式進行編輯時,根據資訊的性質來劃分。
    分頁的作業地址空間是維一的,即單一的線性空間,程式員只須利用一個記憶符,即可表示一地址。分段的作業地址空間是二維的,程式員在標識一個地址時,既需給出段名,又需給出段內地址
10.什麼是進程和線程?有何區別?
線程是進程的一個實體,是CPU調度和指派的基本單位,它是比進程更小的能獨立啟動並執行基本單位.
線程自己基本上不擁有系統資源,只擁有一點在運行中必不可少的資源(如程式計數器,一組寄存器和棧),但是它可與同屬一個進程的其他的線程共用進程所擁有的全部資源.一個線程可以建立和撤銷另一個線程;同一個進程中的多個線程之間可以並發執行.
11.Windows下的記憶體是如何管理的?
Window操縱記憶體可以分兩個層面:實體記憶體和虛擬記憶體。  
      其中實體記憶體由系統管理,不允許應用程式直接存取,應用程式可見的只有一    個2G地址空間,而記憶體配置是通過堆進行的,對於每個進程都有自己的預設堆,當一個堆建立後,就通過虛擬記憶體操作保留了相應大小的地址塊(不佔有實際的記憶體,系統消耗很小),當在堆上分配一塊記憶體時,系統在堆的地址表裡找到一個空閑塊(如果找不到,且堆建立屬性是可擴充的,則擴充堆大小)為這個空閑塊所包含的所有記憶體頁提交物理對象(實體記憶體上或硬碟上的分頁檔上)。這時可以就訪問這部分地址了。提交時,系統將對所有進程的記憶體統一調配,如果實體記憶體不夠,系統試圖把一部分進程暫時不訪問的頁放入分頁檔,以騰出部分實體記憶體。釋放記憶體時,只在堆中將所在的頁解除提交(相應的物理對象被解除),繼續保留地址空間。  
如果要知道某個地址是否被佔用/可不可以訪問,只要查詢此地址的虛擬記憶體狀VirtualQuery),如果是提交,則可以訪問。如果僅僅保留,或沒保留,則產生一 個  軟體異常。此外有些記憶體頁可以設定各種屬性。如果是唯讀,向內寫也會產生軟體異常
12.作業系統的內容分為幾塊?什麼叫做虛擬記憶體?優點管理屬於作業系統的內容嗎?
13.進程是一個比較重要的概念,那麼進程有哪幾種狀態?
     基本狀態有3種,即ready(就緒),running(運行),wait(等待).
14.說出你所知道的保持進程同步的方法?
    進程間同步的主要方法有記憶體屏障,互斥鎖,訊號量和鎖,管程,訊息,管道
15.OS中如何?物理地址到邏輯志址的轉換?
16.解釋一下分頁式管理。
          使用者程式的地址空間被劃分成若干固定大小的地區,稱為“頁”,相應地,記憶體空間分成若干個物理塊,頁和塊的大小相等。可將使用者程式的任一頁放在記憶體的任一塊中,實現了離散分配.
17.什麼是死結,其條件是什嗎?怎麼避免死結?
         死結是指,在兩個或多個並發進程中,如果每個進程持有某種資源而又都等待別的進程釋放它們現在保持著的資源,否則就不能向前推進.此時,每個進程都佔用了一定的資源但是又不能向前推進,稱這一組進程產生了死結. 通俗的講,就是兩個或多個進程無止境的等候著永遠不會成立的條件的一種系統狀態. 其條件是為
1.互斥:存在這樣一種資源,它在某個時刻只能被分配給一個執行緒使用;
2.持有:當請求的資源已被佔用從而導致執行緒阻塞時,資源佔用者不但無需釋放該資源,而且還可以繼續請求更多資源;
3.不可剝奪:執行緒獲得到的互斥資源不可被強行剝奪,換句話說,只有資源佔用者自己才能釋放資源;
4.環形等待:若干執行緒以不同的次序擷取互斥資源,從而在由多個執行緒組成的環形鏈中,每個執行緒都在等待下一個執行緒釋放它持有的資源。
避免死結:按順序訪問,事務最小化
 
18.什麼是緩衝區溢位?有什麼危害?其原因是什嗎?
         緩衝區溢位是指當電腦向緩衝區內填充資料位元數時超過了緩衝區本身的容量溢出的資料覆蓋在合法資料上,
危害:在當前網路與分布式系統安全中,被廣泛利用的50%以上都是緩衝區溢位,其中最著名的例子是1988年利用fingerd漏洞的蠕蟲。而緩衝區溢位中,最為危險的是堆疊溢位,因為入侵者可以利用堆疊溢位,在函數返回時改變返回程式的地址,讓其跳轉到任意地址,帶來的危害一種是程式崩潰導致拒絕服務,另外一種就是跳轉並且執行一段惡意代碼,比如得到shell,然後為所欲為。
通過往程式的緩衝區寫超出其長度的內容,造成緩衝區的溢出,從而破壞程式的堆棧,使程式轉而執行其它指令,以達到攻擊的目的。造成緩衝區溢位的原因是程式中沒有仔細檢查使用者輸入的參數
19.什麼是臨界區?如何解決衝突?
          每個進程中訪問臨界資源的那段程式稱為臨界區,每次只准許一個進程進入臨界區,進入後不允許其他進程進入。
① 如果有若干進程要求進入閒置臨界區,一次僅允許一個進程進入。
② 任何時候,處於臨界區內的進程不可多於一個。如已有進程進入自己的臨界區,則其它所有試圖進入臨界區的進程必須等待。
③   進入臨界區的進程要在有限時間內退出,以便其它進程能及時進入自己的臨界區。
④   如果進程不能進入自己的臨界區,則應讓出CPU,避免進程出現“忙等”現象。
20.解釋一下P操作與V操作。
      P就是請求資源,V就是釋放資源
21.中斷和輪詢的特點。
 
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.