




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第1章 操作系統概論1. 什么是操作系統?請說明操作系統在計算機系統中的作用和地位。操作系統是計算機系統中的一個系統軟件,它是這樣一些程序模塊的集合:它們能夠有效地組織和管理計算機中的硬件和軟件資源,合理地控制計算機工作流程,控制程序的執行,并向用戶提供各種服務功能,使用戶能夠靈活、方便、有效地使用計算機,并使整個計算機系統能高效地運行。2. 操作系統管理計算機系統的哪些資源?硬件和軟件資源。3. 請從資源管理角度說明操作系統的主要功能。進程管理(處理器管理)、存儲管理、文件管理、作業管理、設備管理4. 操作系統有哪些基本特征?并發性:計算機系統中同時存在若干個正在運行著的程序;共享性:操作系
2、統程序和多個用戶程序共享系統中的各種資源隨機性:操作系統的運行是在一種隨機的環境下進行的5. 比較Windows、UNIX、Linux操作系統的體系結構,有什么異同?Windows體系結構是分成的模塊系統,主要層次有硬件抽象層HAL、內核、執行體和大量的子系統集合;UNIX操作系統的系統架構圖,其最里層是硬件,作為整個系統的基礎;其次是操作系統內核,包括進程管理、存儲器管理、設備管理和文件管理四個資源管理功能;往外一層是系統調用接口,及操作系統與用戶的接口shell以及編譯程序等;最外層是應用程序Linux系統有四個主要部分,及內核、shell、文件系統和用戶程序。6. Android操作系統
3、有什么特點?Android操作系統分為四層,從高層到低層分別是應用程序層、應用框架層、系統運行庫層和Linux內核層。以Linux為核心的手機操作平臺,是一款開放式操作系統7. 手機操作系統通常提供哪些功能?8. 請敘述各種類型操作系統的工作方式及特點。一般把操作系統分為三種基本類型,即批處理操作系統、分時系統和實時系統(1) 批處理操作系統批處理操作系統分為簡單批處理系統和多道批處理系統兩種類型。用戶將作業交給系統操作員,系統操作員在收到作業后并不立即將作業輸入計算機,而是在收到一定數量的作業后,組成一批作業,再把這批作業輸入到計算機中。這批作業可在系統中形成一個連續的、自動轉接的作業流。系
4、統操作員然后啟動操作系統,系統自動、依次執行每個作業。最后由操作員將執行完畢的作業結果交給用戶。批處理操作系統的特點是成批處理。(2) 分時系統分時操作系統是為了彌補批處理系統不能提供交互式快速服務的缺點而發展起來的。一臺計算機主機連接了若干個終端,每個終端可由一個用戶使用。用戶通過終端交互式的向系統提出命令請求,系統接受用戶的命令后,采用時間片輪轉方式處理服務請求,并通過交互方式在終端上向用戶顯示結果。用戶根據系統送回的處理結果發出下一道交互指令。分時操作系統具有多路性、交互性、獨占性和及時性的特點(3) 實時系統使計算機能在規定的時間內,及時響應外部事件的請求,同事完成對該事件的處理,并能
5、控制所有實時設備和實時任務協調一致地工作的操作系統。目標是,在嚴格的時間范圍內,對外部請求做出反應,系統具有高度可靠性。實時系統主要有兩類:硬實時系統、軟實時系統(4) 嵌入式操作系統嵌入式操作系統就是運行在嵌入式芯片環境中,對整個芯片以及它所操作、控制的各種部件裝置等資源進行統一協調、調度、指揮和控制的系統軟件。嵌入式操作系統具有高可靠性、實時性、占有資源少、智能化能源管理、易于連接、低成本等優點。(5) 個人計算機操作系統個人計算機操作系統是一種單用戶多任務的操作系統。其主要特點是:為單個用戶服務;采用圖形界面人機交互的工作方式,界面友好;使用方便,用戶無須具備專門知識,也能熟練地操作系統
6、。(6) 網絡操作系統為計算機網絡配置的操作系統成為網絡操作系統。網絡操作系統是基于計算機網絡的、在各種計算機操作系統之上按照網絡體系結構協議標準設計開發的軟件,包括網絡管理、通信、安全、資源共享和各種網絡應用。計算機網絡有:集中式模式、分布式模式(7) 分布式操作系統分布式操作系統是網絡操作系統的更高級形式,除了有網絡操作系統的功能之外,期特征是,系統中所有主機使用同一個操作系統、資源深度共享、透明性和自治性。9. 請比較批處理系統、分時系統以及實時系統之間的相同點和不同點。相同點:這三類操作系統均為現代計算機系統中普遍使用的操作系統,操作系統本身以及它所管理的對象都是并發的系統,是一個極其
7、復雜和龐大的軟件系統。 不同點:批處理操作系統的特點是成批處理,用戶不能干預自己作業的遠行;分時系統的特點是多路性、交互性、獨占性和及時性;實時操作系統的特點是能在嚴格的時間范圍內對外部請求做出反應,以及具有高度可靠性。10. 請描述分時系統下響應時間的含義。、分時系統中,通常把用戶從終端發出命令到系統給予回答所經歷的時間定義為 響應時間。11. 在什么情況下應該采用批處理方式?在什么情況下應該考慮分時系統策略?批處理系統適用于追求系統資源利用率高、作業吞吐率高的計算機系統。分時系統適用于需要提供交互式快速服務的計算機系統。12. 現代的通用操作系統把批處理方式和分時方式二者結合起來,為什么要
8、這樣做?這 樣的結合有什么特點?這樣的操作系統結合了批處理和分時兩種系統的特點,該系統把處理終端用戶的、交互式的、比較小的但需要及時處理的作業作為“前臺作業”予以優先處理;把需要較長運行時間、要調用其他外部設備、比較大型但無須終端用戶干預的且不需要立即處 理的作業作為“后臺作業”進行批處理。這樣,使整個計算機系統忙閑結合,能更有效地利用計算機系統的資源。13. 實時操作系統有什么主要特征?在嚴格的時間范圍內,對外部請求做出反應,系統具有高度可靠性。14. 在如下的應用場合中,應該選用什么類型的操作系統呢?并請說明為什么。導彈控制; 實時操作系統 國家統計局軟件;通用的分時/批處理操作系統 汽車
9、發動機點火控制;實時操作系統 火車訂票系統;網絡操作系統 互聯網電子游戲。網絡操作系統15. 請說明什么是SPOOLing 技術?在現代操作系統中有沒有使用SPOOLing 技術?SPOOLing 技術的全稱是“同時的外部設備聯機操作”。該技術是用磁盤設備作為主機的直接輸入輸出設備,主機直接從磁盤上選取作業遠行,作業的執行結果業存在磁盤上,通道負責將用戶作業從外設動態寫入磁盤,并使這一操作與主機并行。從而 大大提高了處理器和各種外部設備的利用效率。由于SPOOLing 技術需要通道技術, 所以一般用于大型計算機系統和那些對 I/O處理能力要求比較嚴格的系統中,一般低檔 微型計算機中,不使用此技
10、術。16. 網絡操作系統和分布式操作系統都是配置在計算機網絡上的操作系統,它們之間有 什么本質上的不同?網絡操作系統是基于計算機網絡的,是在各種計算機操作系統之上按網絡體系結 構協議標準設計開發的軟件,它包括網絡管理、通信、安全、資源共享和各種網絡應用。 分布式操作系統是網絡操作系統的更高級形式,除了有網絡操作系統的功能之外,其特 征是系統中所有主機使用同一個操作系統、資源的深度共享、透明性和自治性。17. 操作系統設計的過程包括哪些方面,在每個方面都要考慮什么問題? 操作系統的設計過程包括功能設計、算法設計和結構設計。在每個方面均應考慮使操作系統具有可靠性、高效性、易維護性、易移植性、安全性
11、及簡明性等問題18. 操作系統的設計目標是什么?目標有三條:系統模塊化、模塊標準化、通信規范化;19. 影響操作系統正確性的因素有哪些?影響操作系統正確性的因素包括操作系統的功能成分多、各種外部設備 的接口復雜、參與開發的人員較多20. 在進行操作系統結構設計時應考慮哪些問題?應考慮組成操作系統的各部分的劃分原則以及它們之間的關系(即通信),簡言之,即操作系統的構成法和組合方法。21. 請說明整體式結構、層次式結構和微內核結構的基本思想及優缺點?整體式結構(模塊組合法)的基本思想是首先確定操作系統的總體功能,然后將總功能 分解為若干子功能,實現每個子功能的程序稱為模塊,再通過接口將所有模塊連接
12、起來形成一個操作系統的整體。優點:結構緊密、接口簡單直接、系統效率較高。缺點:模塊間轉接隨便,各模塊相互牽連,獨立性差,系統結構不清晰;數據基本上作為全程量處理,模塊的修改和維護較困難;由于模塊組合常以大型表格為中心,限制了系統的并發性。 層次式結構的基本思想是為克服模塊結構的缺點、減少各模塊之間無規則的互相調用、 相互依賴關系,力求將模塊間的調用的無序性變為有序性,將操作系統的所有功能模塊按功能流圖的調用次序,將模塊分成若干層,各層之間的模塊只能是單向依賴或單向調用關系。優點:既具有模塊法把整體問題分解成局部化的優點,使各模塊自己的組織結構和依賴關系清晰明了,增加了系統的可讀性和可適應性,增
13、加了系統的可靠性,易于調式、易于修改、易于擴充、易于維護等。 微內核(客戶/服務器)結構適宜于應用在網絡環境下分布式處理的計算環境中。優點:將系統的分成若干個小的并且自包含的服務進程分支,每個分支運行在獨立的用戶進程中,相互之 間通過規范一致的方式接收發送消息而聯系起來。優點:可靠靈活、適宜于分布式處 理的計算環境。缺點:效率較低。第2章 操作系統運行環境1. 請簡述處理器的組成和工作原理。你認為哪些部分和操作系統密切相關,為什么?處理器一般由運算器、控制器、一系列的寄存器以及高速緩存構成。其中,運算器實現指令中的算術和邏輯運算,是計算機的核心。控制器負責控制程序運行的流程,寄存器是一種暫時存
14、儲器件,用于 CPU執行指令的過程中暫存數據、地址以及指令信。CPU本身提供了一定的存儲能力,但容量很小。處理器中的運算器、控制器、寄存器都與操作系統密切相關。操作系統就是通過對處理器中的這些部件來實現程序的運算和程序流程的控制的。2. 為了支持操作系統,現代處理器一般都提供哪兩種工作狀態,以隔離操作系統和普通程序?兩種狀態各有什么特點?現代處理器一般都提供管態和目態等兩種工作狀態。用戶程序在目態下運行, 只能使用非特權指令,具有較低的特權級別;操作系統在管態下運行,可以使用特權指令和非特權指令,具有較高的特權級別。3. 計算機系統中既有操作系統程序,又有用戶程序,在什么情況下操作系統才能占用
15、中 央處理器?當用戶程序占用CPU 時,CPU在目態下運行,只能使用非特權指令;當需要使用特權指令時,將引起一次處理器狀態的切換,此時處理器通過中斷機制,將目態轉換為管態,然后將處理權移交給操作系統中的一段代碼,操作系統才能占用 CPU。從目態變為管態其轉換的惟一途徑是通過中斷。 4. 為什么要把啟動I/O等指令定義為特權指令?因為如果允許用戶隨便使用這些指令,就有可能是系統陷入混亂。5. 怎樣限制用戶程序中使用特權指令?當用戶程序占用 CPU時,CPU在目態下運行,只能使用非特權指令;若此刻 CPU取到了一條特權指令,形成“非法操作”事件,CPU就拒絕執行該指令。中斷機制識別到該事件,運行狀
16、態就從目態變為管態,將控制權轉給操作系統,通過操作系統通知用戶修改。6. 什么是分級的存儲體系結構?它主要解決了什么問題?計算機存儲系統的設計主要考慮容量、速度和成本三個問題。容量是存儲系統的基礎,都希望配置盡可能大的存儲系統;同時要求存儲系統的讀寫速度能與處理器的速度相匹配;此外成本也應該在一個合適的范圍之內。但這三個目標不可能同時達到最優。一般情況下,存儲設備讀寫速度越快,平均單位容量的價格越高,存儲容量越小;反之,存儲設備讀寫速度越慢,平均單位容量的價格越低,存儲容量越大。為了在這三者之間 取得平衡,就采用分級的存儲體系結構,由寄存器、高速緩存、主內存、硬盤存儲器、 磁帶機和光盤存儲器等
17、構成。操作系統經常訪問較小、較貴而快速的存儲設備,以較大、 較便宜而讀寫速度較慢的存儲設備作后盾。在整體上通過對訪問頻率的控制來提高存儲 系統的效能。7. 請簡述程序局部性原理。是指程序在執行時呈現出局部性規律,即在一段時間內,整個程序的執行僅限于程序中的某一部分。相應地,執行所訪問的存儲空間也局限于某個內存區域。8. 什么是存儲保護,有哪些方法實現存儲保護?存儲在內存中的用戶程序和操作系統以及他們的數據,有可能受到正在CPU上運行的某系用戶程序的有意或無意的破壞,這會造成十分嚴重的后果。一定有程序向操作系統寫入了數據,將有可能造成系統奔潰。對內存中的信息加以嚴格的保護,使操作系統及其他程序不
18、被破壞,是其正確運行的基本條件之一。界址寄存器是被廣泛使用的一種存儲保護技術。其方法是在處理器中設置一對界限寄存器來存儲該用戶作業在內存中的上限和下限地址,分別稱為上限寄存器和下限寄存器。也可將一個寄存器作為基址寄存器,另一寄存器作為限長寄存器的方法來指出程序在內存中的存儲區域。每當處理器要訪問內存時,硬件自動將被訪問的內存地址與界限寄存器的內容比較,以判斷是否越界。如果未越界,就按此地址訪問內存,否則將產生中斷越界中斷或稱為存儲保護中斷。9. 操作系統與硬件如何配合來實現存儲保護的?操作系統通過與硬件中的界地址寄存器實現存儲保護。其方法是在 CPU 中設置一對界限寄存器來存放某個作業在內存中
19、的下限和上限地址,或者一個寄存器作為基址寄存器,另一個作為限長寄存器。每當CPU 訪問內存時,硬件自動將被訪問的內存地址與界限寄存器的內容進行比較,以判斷是否越界。如果未越界,則按此地址訪問內存,否則將產生越界中斷。10. 常見的I/O控制技術有哪些,各有什么特點?(1) 通道通道是獨立于中央處理器的,專門負責數據I/O傳輸工作的處理單元。代替處理器對外部設備實行統一的管理,從而使處理器與外部設備并行工作,提高了躲到程序處理的效率。(2) DMA技術DMA技術由DMA控制器自動控制成塊數據在內存I/O單元之間的傳送,提高了處理I/O的效能。11. 緩沖技術在計算機系統中起著什么樣的作用,它是如
20、何工作的?緩沖技術是用在外部設備與其他硬件部分之間的一種數據暫存技術。用以緩解處理器處理數據速度與設備傳輸數據速度之間不匹配矛盾的一種數據暫存技術。12. 時鐘對操作系統有什么重要作用?計算機系統中的時鐘可分為硬件時鐘和軟件時鐘,以及絕對時鐘與相對時鐘。時鐘可以防止系統陷入死循環,實現作業按時間片輪轉進行,給出正確的時間信號,定時喚醒事先按確定時間執行的時間,記錄事項等。13. 硬件時鐘怎樣實現,其作用是什么?硬件時鐘的工作原理是,在電路中的晶體振蕩器,每個一定間隔產生固定的脈沖頻率,時鐘電路中的時鐘寄存器依據時鐘電路所產生的脈沖數,對時鐘寄存器進行加1的工作。14. 軟件時鐘怎樣實現,其作用
21、是什么?軟件時鐘常用作相對時鐘,它的工作原理主要是利用內存單元模擬時鐘寄存器,并采用一段程序來計算相應的脈沖數,對內存時鐘寄存器進行加1或減1的工作,從而模擬了時鐘的功能。15. 什么是中斷,為什么說中斷對現代計算機很重要?中斷是指處理器對系統中或系統外所發生的異步事件的響應。異步事件是指無一定時序關系的隨機發生的事件。中斷是所有要打斷CPU的正常工作次序, 并要求其去處理某一事件的一種常用手段。中斷技術解決了主機和外設并行工作的問題,消除了因外設的慢速而使得主機等待的現象,為多機操作和實時處理提供了硬件基礎。16. 中斷的作用是什么?能充分發揮處理器的使用效率。因為輸入輸出設備可以使用中斷的
22、方式同處理器通信,報告其完成處理器所要求的數據傳輸的情況和問題,這樣可以免除處理器不斷地查詢和等待,從而大大提高處理器的效率提高系統實時能力。因為據歐較高實時處理要求的設備,可以通過中斷的方式請求及時處理,從而使處理器立即運行該設備的處理程序。17. 中斷的向量是什么,其作用是什么?引起中斷的事件稱為中斷事件或中斷源,計算機系統提供的中斷源的有序 集合稱為中斷字。處理某一種中斷事件的程序稱為中斷處理程序。為了使中斷裝置便于找到所需的中斷處理程序,專門設計了中斷處理程序入口地址映射表,稱為中斷向量表, 表中的每一項稱為中斷向量,主要由程序狀態字 PSW和程序計數器PC 的值組成。中斷向量的作用是
23、通過它可以找到中斷處理程序在內存中的存儲位置。18. 中斷響應主要做哪些工作?處理器接收中斷信號;保護現場,將中斷斷點的PSW和程序計數器PC 的值存入系統堆棧;分析中斷向量,取得中斷處理程序的入口地址;將處理器的PC 值置為中斷處理程序的入口地址;調用中斷處理程序。 19. 中斷處理的主要步驟是什么?中斷處理指中斷信號已經被中斷系統的硬件中斷裝置接收和響應之后,相應的中斷處理程序進行中斷處理的步驟。包括檢查 I/O相關的狀態信息,操縱 I/O設備或者在設備和內存之間傳送數據。在中斷處理程序結束工作之后,處理器會檢測到一條中斷返回指令,處理器執行此指令,把恢復中斷時所保護的中斷斷點現場,處理器
24、也恢復 成被中斷時的狀態,整個中斷處理結束。 20. 為什么要對中斷進行屏蔽?如果沒有中斷屏蔽,當中斷裝置響應了某個中斷后中斷處理程序在進行處理時,中斷裝置也可能去響應另一個中斷事件,就會出現優先級低的中斷事件的處理打斷優先級高的中斷事件的處理,使得中斷事件的處理順序與響應順序不一致,而且會形成多重嵌套處理,使多現場保護、程序返回等工作變得復雜。因此設置中斷屏蔽。 21. 多個中斷同時發生時,系統是怎樣處理的?同時有多個中斷請求時,系統接收中斷優先級最高的中斷而忽略其中中斷優先級較低的中斷。如果同一中端級中的多個設備接口都有中斷請求,則按照固定的優先數或作者輪轉法確定響應的順序。 對多個中斷的
25、處理策略一般有兩種:(1) 正當處理一個中斷時,此時系統將對任何新發生的中斷置之不理。在這期間發生的中斷將保持掛起狀態。當處理器再次允許中斷時,這個新的中斷信號會被處理器檢測到,并作出處理(2) 中斷嵌套。即按照優先度分級,允許優先級較高的中斷打斷優先級較低的中斷處理過程,于是引起中斷處理的嵌套。22. 闡述硬件中的中斷裝置的作用。硬件的中斷裝置負責捕獲中斷源發出的中斷請求,并以一定的方式響應中斷源(將中斷現場的程序狀態字PSW,指令計數器PC的值和其他重要現場信息壓入系統堆棧),然后將處理器的控制權交給與中斷源相應的中斷處理程序。硬件中斷裝置接收中斷信后,并把中斷信后寄存在中斷寄存器中。23
26、. 哪些中斷時間一定會引起進程狀態的變化,哪些中斷事件可能引起進程狀態的變化,有不引起進程狀態變化的中斷事件嗎?一定會引起進程狀態變化的中斷事件:硬件故障中斷、輸入輸出中斷、自愿中斷;可能會引起變化的中斷事件:外部性中斷事件、程序性中斷事件。進程在執行中狀態會不斷地改變,每個進程在任何時刻總是處于三種基本狀態之一:等待態、就緒態、運行態。中斷事件是否引起進程狀態的變化,還要看該中斷事件的中斷優先級和進程PSW的中斷屏蔽位。曉津認為:硬件故障中斷和自愿中斷是一定會引起進程狀態變化的,而其他中斷則可能引起進程狀態變化。 24. 操作系統為什么要提供系統調用?系統調用是操作系統為用戶程序提供的一種服
27、務界面,也可以說是操作系統保證程序設計語言能正常工作的一種支持。在源程序一級,用戶用程序設計語言描述算題任務的邏輯要求,例如讀文件、寫文件、請求主存資源等。這些要求的實現只有通過操作系統的系統調用才能完成,其中有些要求還必須執行硬件的特權指令才能達到目的。 為了從操作系統中獲得服務,用戶程序必須使用系統調用,系統調用陷入內核并調用操作系統。系統調用是操作系統提供給編程人員的衛唯一接口。25. 在操作系統中實現系統調用機制應該解決哪些問題?進程控制、文件操作、進程通信、設備管理、信息維護等等26. 當應用程序執行到系統調用時,系統是如何處理的?當用戶使用操作系統調用是,產生一條相應的指令(異常指
28、令),處理器在執行到該指令時發生相應的中斷,并發出有關信號給該處理機構(異常處理機構);該處理機構在收到了處理器發來的信號后,啟動相關的處理程序去完成該系統調用所要求的功能。當用戶使用操作系統調用時,通過使用訪管指令產生中斷,把目態切換成管態,并啟用操作系統。訪管指令包含對應系統調用的功能號。第3章 進程與線程1. 什么是多道程序設計?允許多個程序同時進入內存并運行。2. 多道程序設計怎樣提高系統效率?多道程序設計一定能提高系統效率嗎?采用多道程序設計能改善資源的使用情況,從而提高系效率。但是也存在一些問題:(1) 可能延長程序的執行時間(2) 系統效率的提高有一定限度3. 操作系統中為什么要
29、引入進程?進程與程序有什么區別?為了更好的描述程序的執行,實現操作系統的并發性和共享性,引入進程的概念。進程與程序既有聯系也有區別(1) 進程與程序的聯系程序是構成進程的組成部分之一,一個進程運行的目的是執行它所對應的程序,如果沒有程序,進程就失去了存在的意義。從靜態的角度來看,進程是有程序、數據和進程控制塊(PCB)三部分組成的。(2) 進程與程序的區別程序是靜態的,進程是動態的。進程是程序的一個執行過程。程序是永久存在的,而進程是為了程序的一次執行而暫時存在的,進程有生命周期,有誕生,亦有消亡。一個進程可以包括若干程序,一個程序也可以有多個進程。4. 程序的并發執行有什么特點?并發和并行有
30、什么區別?程序的并發執行的特點有:(1) 在執行期間,并發程序相互制約(2) 程序與計算不再一一對應(3) 并發程序的執行結果不可在現程序的并行執行與并發執行存在差別。前者指不論在宏觀的時間周期上看,還是從微觀上看,若干程序確實在同時運行;而程序的并發執行,如果在單處理器系統中,他們在宏觀上市同時進行的,但在微觀上,這些程序仍然是順序執行的。5. 可再入程序有什么特性?能夠被多個用戶同時調用的程序稱作是可再入程序。可再入程序必須是純代碼的程序,程序在執行過程中不會修改自身代碼。可再入程序的操作對象,即數據,是與程序相分離的。6. 進程有哪些基本狀態?他們的變化關系是怎樣的?進程有三種基本狀態:
31、等待狀態,就緒狀態,運行狀態;等待狀態:也稱阻塞狀態或封鎖狀態。指進程因等到某種時間發生而暫時不能運行的狀態就緒狀態:指一個進程已經具備運行條件,但是由于沒有獲得處理器而不能運行的狀態運行狀態:指進程已獲得除利息,并且在處理器上運行的狀態。7. 系統中有n個進程,在任意時刻,處于運行、就緒和等待狀態的進程最多,最少各有幾個?在單處理器系統中,任一時刻,處于運行狀態的進程最多只有一個,最少為0個;處于就緒狀態的進程最多有n1個,最少為0個;處于等待狀態的進程最多有n個,最少有0個。8. 進程控制塊的作用是什么?其主要內容有哪些進程控制塊是用來描述進程的基本情況以及進程的運行變化過程。進程控制塊是
32、進程的唯一標志。進程控制塊的內容可以分為調度信息和現場信息兩大部分。調度信息供進程調度時使用,描述了進程當前所處的狀況,包括進程名、進程號、地址空間信息、優先級、當前狀態、資源清單、家族關系、消息隊列指針、進程隊列指針和當前打開文件等;現場信息刻畫了進程的運行情況,只記錄了可能會被其他進程改變的寄存器,如程序狀態字、時鐘、界地址寄存器等。9. 進程能否修改訪問自己的進程控制塊內容?進程控制塊是系統為程序建立的用于標志進程,記錄各進程執行情況的。進程本身不能訪問或者修改自己的進程控制塊的內容,但父進程可以訪問或修改其子孫進程的進程控制塊內容,以便對它的子孫進程進行必要的管理和控制。10. 當進程
33、調度選中一個進程后嗎,怎樣才能讓它占用處理器?當進程調度選中一個進程后,把選中進程的進程控制塊中有關的現場信息,如通用寄存器、控制寄存器和程序狀態字寄存器的內容送入處理器相應的寄存器中,處理器就按該進程的要求工作,達到了進程占用處理器的目的。11. 為什么引入線程?線程和進程之間的區別和聯系是什么?為了減少程序并發執行時所付出的時間和空間開銷,使操作系統具有更好的并發性。線程是進程中的一個實體,是處理器調度和分派的基本單位。進程是擁有資源的獨立單位。線程具有許多傳統進程的特征,故稱為輕量級進程或進程元。12. 為什么說線程間的狀態切換比進程間的狀態切換開銷低?同一個進程中的兩個線程切換的開銷是
34、否也比不同進程中兩個線程切換的開銷少?線程不擁有自己的系統資源,切換狀態時只需要保存少量的寄存器內容,不涉及存儲器管理方面的操作;而進程擁有自己的系統資源,創建和撤銷時都需要進行資源分配或回收,切換狀態時需要對整個當前進程的處理器環境進行保存,并對新的被調度的進程的處理器環境進行設置,這些操作都需要占用消耗系統資源。 同一進程間的線程具有相同的地址空間,共享相同的系統資源,切換方便,而不同進程之前線程切換時則需要進行進程切換,所以同一進程間的線程切換時開銷也要小于不同進程中兩個線程切換的開銷。13. 進程調度的作用是什么?引起進程調度的因素有哪些?進程調度的作用是:記錄系統中所有進程的執行情況
35、;根據一定的算法,從就緒隊列中選出一個進程準備把處理器分配給它;把處理器分配給進程。引起進程調度的因素有:(1) 正在執行的進程運行完畢(2) 正在執行的進程由于某種錯誤而終止(3) 時間片永外,即有一個進程由運行態變為就緒態(4) 正在執行的進程調用阻塞原語將自己阻塞起來,即一個進程由運行態變成阻塞態(5) 創建了新的進程,即一個進程進入就緒隊列(6) 正在執行的進程調用了喚醒原語操作激活了等在資源的進程,即一個等待狀態的進程變成就緒態14. 搶占式調度和非搶占式調度有何區別?可搶占是調度方式,就緒隊列中一旦有優先級高于當前運行進程優先級的進程存在時,變立進行調度,轉讓處理器;不可搶占式調度
36、,一旦把處理器分配給一個進程,它就一直占用處理器,直到該進程自己調用原語操作或等待I/O而進入阻塞狀態,或時間片用完才出讓處理器。15. 對于進程調度,較小的優先級值是表示較低的優先級還是表示較高的優先級?不同的操作系統中設定不同。 在UNIX和許多其他系統中,大的優先級值表示低優先級進程。許多系統,比如WINDOWS,剛好相反,大數值表示高優先級。16. 在一個單處理器的躲到程序設計系統中,現有兩道進程同時執行,其中一道以計算為主,另外一道以輸入輸出為主,將怎樣賦予進程進程占有處理器的優先數?解釋為什么?17. 假定就緒隊列的進程按優先數自大到小順序排列,當有進程要加入就緒隊列時,應按它的優
37、先數排入相應位置,試就單向鏈接的方式寫出實現程序入隊的程序。20. 在分級調度算法中,為什么對不同就緒隊列中的進程規定使用不同長度的時間片?21. 在分級調度算法中,為什么對不同就緒隊列中的進程規定使用不同長度的時間片?因為各個就緒隊列的優先級不一樣,優先級越高的隊列時間片長度越小,優先級越低的隊列時間片越長.這樣做的目的是讓那些短而高優先級的作業迅速完成,而又讓大的作業又能夠處理完成。22. 為什么說多級反饋隊列調度算法能較好地滿足各類用戶的需要?多級反饋隊列法綜合了先進先出調度算法、時間片輪轉算法、和可搶占式最高優先級算法的一種進程調度算法。23. 系統內核應包含哪些功能?內核的特點是什么
38、?系統內核提供下列功能:中斷處理程序、進程同步與互斥、進程調度、控制與通信、存儲管理的進本操作以及時鐘管理等。內核只占整個操作系統代碼中的一小部分,是最接近裸機的部分,內核是進程賴以活動的基礎,內核的功能通過原語操作來實現。第4章 進程的同步與互斥1. 何謂與時間有關的錯誤?舉例說明之。并發進程執行時一定會產生于時間有關的錯誤嗎?為什么?并發進程中共享了公共變量,使得程序的計算結果與并發程序執行的速度有關。這種錯誤的結果又往往是與時間有關的,所以,把它稱之為與時間有關的錯誤。2. 什么是臨界區?什么是相關臨界區?對相關臨界區的使用規則?若在系統中的某些資源一次只允許一個進程使用,則稱這類資源為
39、臨界資源或共享變量,而在進程中訪問臨界資源的程序稱為臨界區。如果有若干進程共享某一臨界區,則稱該臨界區為相關臨界區。要求進入相關臨界區的進程之間構成互斥關系。為了保證系統中的各并發進程順利運行,對兩個以上欲進入相關臨界區的進行,必須實行互斥。14. 進程間有哪幾種通信方式?各有什么特點?各種方式分別適用于那些情況?解決進程間的大量信息通信的問題有三類方案:共享內存、消息機制、以及通過共享文件進行通信,及管道通信。共享內存:在互相通訊的進程之間設有一個公共內存區,一組進程向該公共內存中寫,另一組進程從公共內存中讀,通過這種方式實現兩組進程間的信息交換。消息機制:是用于進程間通信的高級通信原語之一
40、。(1) 消息緩沖通信:利用內存中公共消息緩沖區實現進程之間的信息交換。消息緩沖區是由:消息長度、消息正文、發送者、消息隊列指針組成的數據結構。(2) 信箱通信:為了實現進程間的通信,可以設立一個通信機構信箱,以發送信件以及接受回答信件為進程間通信的進本方式。一個信箱的接口可以由信箱說明和信箱體兩部分組成。信箱說明有如下的數據結構:可存信件數,已有信件數。管道通信:所謂管道,就是連接兩個進程之間的一個打開的共享文件,專用于進程之間進行數據通信。管道通信的基礎是文件系統。第5章 死鎖1. 說明產生死鎖的四個必要條件;給出一種可以避免死鎖發生的簡單方法。產生死鎖的四個必要條件:(1) 互斥條件:資
41、源是獨占的且排他使用。進程互斥使用資源,即一個時刻只能給一個進程使用。(2) 不可剝奪條件不可搶占或不可強占。進程所獲得的資源在未使用完畢前,不能被其他進程剝奪。(3) 請求和保持條件部分分配或占有申請。進程先申請它所需要的一部分資源,得到后在申請新的資源,在申請新的資源同時,繼續占用分配到的資源(4) 循環等待條件環路等待。環路中的每個進程已占有的資源同時被另一進程所申請。2. 死鎖和饑餓有什么相同點和不同點?若對資源的管理、分配和使用不當,則會產生死鎖或是饑餓。死鎖是指在多道程序系統中,一組進程中的每一個進程均無限期地等待被該組進程中的另一個進程所占有且永遠不會釋放的資源,這種現象稱系統處
42、于死鎖狀態,簡稱死鎖。饑餓是指系統不能保證某個進程的等待時間上界,從而使該進程長時間等待,當等待時間給進程推進和響應帶來明顯影響時,稱發生了進程饑餓。當饑餓到一定程度的進程所賦予的任務即使完成也不再具有實際意義時稱該進程被餓死。3. 試敘述死鎖產生的原因、必要條件和解決死鎖的辦法。產生死鎖的原因只要有兩個:一是競爭資源,系統提供的資源數量有限,不能滿足每個進程的需求。二是多道程序運行時,進程推進順序不合理。必要條件:互斥條件、不可剝奪條件、請求和保持條件、循環等待條件若檢測后發現系統有死鎖,可通過剝奪資源或撤銷進程的方法解除死鎖。4. 是舉出日常生活中死鎖的例子,并說明之。8. 死鎖預防、死鎖
43、避免和死鎖檢測之間的區別是什么?死鎖預防:預先確定一些資源分配策略,進程按規定申請資源,系統按預定的策略進行分配,這些分配策略均能使產生死鎖的四個必要條件之一不成立,從而使系統不會發生死鎖。死鎖避免:當進程提出資源申請時,系統動態測試資源分配情況,僅當能確保系統安全是才把資源分配給進程。死鎖檢測:允許系統中發生死鎖,即對資源的申請和分配不加任何限制,只要有剩余的資源就把資源分配給申請進程。因此就可以出現死鎖,但是系統將不斷跟蹤所有進程的進展,定時運行一個死鎖檢測程序。若檢測后沒有發現死鎖,則系統可以繼續工作,若檢測后發現系統有死鎖,則可通過剝奪資源或撤銷進程的方法解除死鎖。9. 如何防止循環等
44、待條件的發生。采用資源的有序分配法。基本思想是,將系統中的所有資源順序編號。一般原則是,較為緊缺、稀少的資源的編號較大。進程申請資源時,必須嚴格按照資源編號的順序進行,否則系統不予分配。即一個進程只有得到編號小的資源,才能申請編號較大的資源;釋放資源時,應按編號遞減的次序進行。10. Dijkstra等人提出的銀行家算法,其主要思想是什么?它能夠解決實際中的死鎖問題嗎?為什么?進程首先提出對資源的最大需求量,當進程執行中每次申請資源時,系統測試該進程已占用的資源與本次申請的資源數之和是否超過資源的最大需求量。若超過就拒絕分配資源,若沒有超過,則系統再次測試系統現存的資源能否滿足該進程尚需的最大
45、需求量,若能滿足則按當前的申請量分配資源,否則也有推遲分配。這樣做能保證在任何時候至少有一個進程可以得到所需要的全部資源而執行結束。第6章 存儲管理1. 存儲管理的主要功能有哪些?存儲管理的主要任務有:存儲分配,為用戶分配存儲空間,在不需要的時及時回收,內存分配有靜態分配和動態分配方式;內存共享,使多個進程共用內存中相同區域,包括代碼共享和數據共享;存儲保護,使系統正常運行,避免內存中各個程序相互干擾;擴充內存容量,使用戶得到的比實際內存容量大的多。2. 解釋下列術語:邏輯地址、絕對地址、地址重定位。絕對地址:一般而言,存儲器以字節為編制單位,每個字節都有一個地址與其對應。假定存儲器的容量為n
46、個字節,其地址編號順序為0,1,.,n-1,這些地址稱為內存的絕對地址。邏輯地址:在多道程序設計的系統中,內存中同時存儲了多個用戶程序。操作系統根據內存的使用情況為用戶分配內存空間。因此,每個用戶不能預先知道他的程序將被存儲到內存的什么位置。這樣,用戶程序中就不能使用內存的絕對地址。為了方便用戶,每個用戶都可認為自己的程序和數據存儲在一組0地址開始的連續空間中。用戶程序中使用的地址稱為邏輯地址。地址重定位:把邏輯地址轉換成絕對地址的工作稱為地址重定位或地址轉換,又稱地址映射。重定位的方式有靜態重定位和動態重定位。3. 在可變分區管理方式下,什么是碎片?如何解決碎片問題?可變分區指,系統不預先劃
47、分固定分區,而是在裝入程序的時劃分內存分區,使為程序分配的分區的大小正好等于該程序的需求量,且分區的個數是可變的。碎片是指,內存經過一段時間的分配回收后,會存在很多很小的空閑塊。他們每一塊都很小,不足以滿足程序分配內存的要求,但是其總和卻可以滿足 程序的分配要求,這些空閑塊被稱為碎片。解決碎片問題的辦法是,在適當的時刻進行碎片整理,通過移動內存中的程序,把所有的空閑碎片合并成一個連續的大的空閑區且放在內存的一端,而把所有程序占用區放在內存的另一端。4. 采用緊縮技術有什么優點?移動一道程序時操作系統要做哪些工作?緊縮技術可以集中分散的空閑區,提高內存的利用率,便于進程的動態擴充內存。7. 解釋
48、頁式存儲管理中為什么要設置頁表和TLB。頁表指出改程序虛擬地址中的頁號與所占用的物理頁面號之間的對用關系;頁面又是硬件進行地址轉換的依據。TLB:轉換檢測緩沖區。頁式存儲管理中的頁表是存儲在內存中的。當要按給定的虛擬地址進行讀寫時,必須訪問兩次內存。第一次按頁號讀出頁表中對用的塊號,第二次按照計算出來的絕對地址進行讀寫。兩次訪問內存顯然延長了指令的執行周期,降低了執行速度。為了提高存取速度,可以在地址映射機制中增加一個小容量的聯想寄存器,它由告訴緩沖存儲器組成。利用高速緩存存儲當前最頻繁活動的少數活動頁面的頁號,這個高速緩存稱為轉換檢測換成區,或快表。8. 設計一個頁表應考慮哪些因素。9. 請
49、敘述頁式存儲管理中地址轉換過程。為了實現頁式存儲,系統要提供一對硬件的頁表控制寄存器,即頁表始址寄存器和頁表長度寄存器,另外還需要高速緩沖存儲器。物理地址=物理頁號*塊長+頁內地址13. 114. 頁式存儲管理系統中程序的地址空間是一維的還是二維的?請說明理由。15. FIFO算法與時鐘頁面置換算法有何聯系?16. 簡述什么是覆蓋技術,什么是交換技術,他們之間的區別是什么?覆蓋技術是指,一個程序的若干程序段,或幾個程序的某些部分共享某一個存儲空間。去改即使的實現是吧程序劃分成若干功能上相對獨立的程序段,按照子很的邏輯結構使那些不會同時執行的程序段共享同一塊內存區域。交換技術,又稱對換技術。是進
50、程在內存與外存之間的動態調度,是由操作系統控制的。同覆蓋技術一樣,交換技術也是利用外存來邏輯地擴充內存,它的主要特點是,打破了一個程序一個進入內存邊一直運行到結束的限制。與覆蓋技術相比,交換技術不要求用戶給出程序段之間的邏輯結構,對用戶而言是透明的。而且交換可以發生在不同的進程和程序之間,而覆蓋發生的同一進程或程序內部,而且只能覆蓋那些與覆蓋段無關的程序段。因此交換技術比覆蓋技術更加廣泛地用于現代操作系統。17. 何謂程序的局部性原理,請舉出三個例子。是指程序在執行時呈現出局部性規律,即在一段時間內,整個程序的執行僅限于程序中的某一部分。相應地,執行所訪問的存儲空間也局限于某個內存區域。18.
51、 虛擬存儲器是什么?為什么要引入虛擬存儲器?虛擬存儲器,實際上是為擴大內存容量而采用的一種設計技巧。19. 敘述虛擬頁式存儲管理方案的基本思想。為了實現虛擬頁式存儲管理,系統必須提供的硬件支持有哪些?虛擬頁式存儲管理的思想是,把內存分成大小相等的許多物理頁面,程序中的虛擬地址也進行分頁,頁的大小與物理頁面的大小一致,這樣可把程序信息按頁存儲到物理頁面中。支持頁式存儲管理的硬件部件通常稱為:存儲管理部件。24.25. 缺頁異常的處理過程是軟硬件配合完成的,請敘述缺頁異常處理過程。當發生缺頁異常時,操作系統必須在內存中選擇一個頁面將其移出,以便為即將調入的頁面讓出空間。整個缺頁出苦力過程如下:(1
52、) 根據當前執行指令中的邏輯地址查詢頁面的有效位,判斷該頁是否存在內存。(2) 該頁標志為0,形成缺頁異常。保留現場,中斷裝置通過交換PSW讓操作系統的中斷處理程序占用處理器(3) 操作系統處理缺頁異常,尋找一個空閑的頁面(4) 若有空閑頁,則把磁盤上讀出的信息裝入該頁面中(5) 修改頁面及內存分配表,表示該頁已在內存中。(6) 若內存中午空閑頁,則按某種算法選擇一個頁面,暫時跳出內存。(7) 恢復現場,重新執行被中斷的指令。26. 試述缺頁與一般中斷的主要區別。27. 何謂系統的顛簸現象,為什么會出現這一現象?當系統發生顛簸時,應采取什么措施來加以克服?如果剛被調出的頁面又立即調用,因而又要
53、把它裝入,而裝入不就又被選中調出,調出不久又被裝入,如此反復,使調度非常頻繁。這種現象稱為抖動或稱顛簸。在虛存中,頁面可能在內存外存中間頻繁地電鍍,有可能出現顛簸。顛簸是因為缺頁率高而引起的。采用工作機模型,為每個進程保持一個工作集,通過動態調整,使進程獲得與工作集相等的物理頁面數,可以解決顛簸問題。28. 什么是工作集?它的作用是什么?對于給定的進程訪問序列,從時刻(t-t1)到時刻t之間所訪問頁面的集合,稱為該進程的工作集。工作集是隨時間而變化的。第7章 文件系統1. 什么是文件和文件系統?文件系統的功能是什么?文件可以被解釋為一組帶標識的、在邏輯上具有完整意義的信息項的序列。文件系統,是
54、操作系統中統一管理信息資源的一種軟件。它管理文件的存儲、檢索、更新,提供安全可靠的文件共享和保護手段,并方便用戶使用。從用戶的角度看,文件系統負責為用戶建立文件、讀寫文件、修改文件、復制文件和撤銷文件。文件系統應具有下述功能:(1) 統一管理文件的存儲空間,實施存儲空間的分配與回收(2) 實現文件從名字空間到外存地址空間的映射,即實現文件的按名存取,以對用戶透明的方式管理文件的名字空間(3) 實現文件信息的共享,并提供文件的保護和保密措施(4) 向用戶提供一個方便使用的接口(5) 系統維護及向用戶提供有關的信息(6) 保持文件系統的執行效率(7) 提供與I/O的統一接口2. 文件按用途和性能可
55、分為幾類?(1) 系統文件:操作系統和各種系統應用程序和數據組成的文件(2) 庫函數文件(3) 用戶文件:用戶委托文件系統保存的文件3. 對于用戶來說,有些系統把設備也看成文件,試問這樣做有什么好處?還會帶來什么問題?4. 什么是文件的邏輯結構、物理結構?有哪幾種典型的文件邏輯結構、物理結構?這些結構各自有什么特點?用戶看到的是經過抽象的文件結構,及文件的邏輯結構。文件在實際的存儲空間存儲時的結構,就是文件的物理結構。典型的文件邏輯結構有:(1) 流式文件流式文件是有序字符的集合,其長度為該文件所包含的字符個數,所以又稱為字符流文件。(2) 記錄式文件記錄式文件是一組有序記錄的集合。在記錄式文
56、件中,構成文件的基本單位是記錄。可分為,定長記錄文件和不定長記錄文件。典型的物理結構有:(1) 順序結構又稱連續結構,把邏輯上連續的文件一次存放在連續編號的物理塊中。優點:一旦知道了文件在文件存儲設備上的起始塊號和文件長度,就能很快速地進行讀取。支持順序讀取和隨機讀取缺點:文件不能動態地增長(2) 鏈接結構實質是為每個文件構造所使用的磁盤塊的鏈表。使用這種鏈接結構的文件,將邏輯上連續的文件分散存儲在若干不連續的物理塊中。在每個物理塊中都設有一個指針,該指針指向其后續的物理塊。優點:存儲碎片問題,迎刃而解,有利于文件的動態擴充,有利于文件插入和刪除,提高了磁盤空間的利用率。缺點:存取速度慢,不適
57、于隨機存取文件;磁盤的磁頭移動多,效率相對較低;存在文件可靠性問題;鏈接指針需要占用一定的空間。(3) 索引結構索引結構的文件把每個物理盤塊中的指針字,集中存儲在稱為索引表的數據結構中的內存索引表中。在每個文件相應的目錄條目中包括該文件的索引表地址,而索引表的第i個條目指向文件的第i塊。優點:可以滿足文件動態增長的要求,也滿足了文件插入、刪除的要求。索引文件還能充分利用外存空間。缺點:會引起較多的尋道次數和尋道時間;索引表本身增加了存儲空間的開銷。(4) i節點結構是一個多級索引文件結構。基本思想是,給每個文件賦予一張稱為i節點的小表,在這張小表中列出文件屬性和文件中各塊在磁盤上的地址。使用i節點的文件結構,不僅適合小文件使用,也可供大型文件使用,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 七年級心理健康危機應對計劃
- 少年宮音樂室音樂心理輔導計劃
- 附近租房合同協議書模板
- 個人租房合同轉讓協議書
- 裝飾公司保修協議7篇
- 婚慶公司合作協議范本5篇
- 競業禁止協議書(15篇)
- 2025助學貸款合同(16篇)
- 郊區簡單裝修房屋出租合同4篇
- 2025年房屋租賃合同書(17篇)
- 放射科急救培訓計劃
- 安全生產檢查咨詢服務安全生產隱患檢查服務方案
- 中國普通食物營養成分表一覽
- 國家中長期科技發展規劃(2021-2035)
- 云南省曲靖市2022-2023學年六年級下學期期末數學試題
- 副總經理崗位競聘
- 6S管理培訓教材系統課件
- 初中譯林英語詞組匯總
- 離婚協議書完整版本
- 陪診服務的營銷策略分析報告
- 《資源稅類》課件
評論
0/150
提交評論