作業系統基本知識點

  作業系統是一管理電腦硬體與軟體資源的程式,同時也是計算機系統的核心與基石。以下是由小編整理關於作業系統基本知識的內容,希望大家喜歡!

  一、作業系統基本知識——基本概念題

  1、***程序***是作業系統中可以並行工作的基本單位,也是核心排程及資源分配的最小單位,它由***程式、資料和PCB***組成,它與程式的重要區別之一是:***它有狀態,而程式沒有***。在SMP系統中,作業系統還提供了***執行緒***機制,它是***處理器分配***的最小單位。

  對於程序而言,包括以下幾個方面:

  *** 1 ***程序是程式關於某個資料集的一次執行,具有動態性和併發性。 *** 2***程序是核心排程及資源分配的最小單位,也是可並行工作的基本單位。 *** 3 ***程序是由程式、資料和程序控制塊***PCB***組成的。

  *** 4 ***程序是一種輕量級程序,一個程序可以由1個或多個執行緒組成。 *** 5***程序是處理器分配的最小單位。

  *** 6***執行緒通常通常用於對稱多處理系統***SMP***中。

  2、儲存管理的任務核心是儲存空間的分配與***回收***。而現代作業系統中有多種的儲存空間分配方案,其中將“儲存空間分成大小不等的區域,根據使用者要求動態分配”的方法稱為***要變分割槽分配***。

  分析:現代作業系統中使用的分配方案主要有以下幾種:

  ***1***單一連續分配:不分割槽,所有使用者空間給某個程序或作業。

  ***2***固定分割槽分配:分成大小不等的區域,區域分完後固定不變。

  ***3***可變分割槽分配:分成大小不等的區域,根據使用者要求動態分配。

  3、在計算機系統中,採用磁碟高速裝置虛擬多個“高速”的列印等低速裝置的技術稱為***Spooling***。

  分析:Spooling技術就是通過高速裝置作為快取,將低速裝置上的任務以佇列儲存起來,以提高給使用者的響應時間。

  4、在UNIX作業系統中,與Windows作業系統中“快捷方式”類似的概念是***檔案連結***。

  分析:它只是在當前目錄下建立一個檔案項,但沒有複製真正的內容,而且當原檔案改變時,這個連結檔案也會改變。

  5、嵌入式作業系統:主要應用於受限的硬體環境中,CPU、記憶體、儲存的資源相對受到較高的限制,而且硬體選擇較多,使用者日常操作比較密集,並且現在都朝著“聯網使用”的趨勢發展。因此應該***具有較強的實時性***,***擁有強大的網路功能***、***良好的移植性***;但由於儲存有限,因此是不可能實現海量資料處理能力的。

  現代流行的嵌入式作業系統有40多種,主要的派系有三個:最悠久的PalmOS、開源的嵌入式Linux,以及windows的嵌入式版本***最早是windows CE,後來發展為適用於PDA的pocketPC和適用於智慧手機的smartPhone***。而FreeBSD是一個UNIX開源實現,屬於PC作業系統之列。

  二、作業系統基本知識——概念比較題

  1、將一些主存中的頁淘汰到外存,騰出空間給要使用的頁,這個過程就是Swapping。

  頁面排程演算法有:

  ***1***最優演算法:這顯然是我們追求的目標,但由於要實現最優,就是要使得未來的缺頁次數最少,這需要根據未來的“頁面需求”才能夠決策,但我們無法預知未來,因此僅僅是理論上的排程演算法。

  ***2***隨機演算法:也就是隨機地換出一些頁,由於這種演算法實現起來比較簡單,因此也是一種可能的演算法。

  ***3***先進先出:由於最先調入的頁,就意味著其駐留時間最長,因此將其調出也是一種比較合理的方案。

  ***4***最近最少使用:雖然我們無法預知未來,但我們可以總結過去,因此我們可以將最近最少使用的頁調出,因為它們不用的概率更高一些。

  “後進先出”的排程思路,顯然是將最後調入的頁,先置換出去。但由於儲存具有“時間區域性性”,因此剛調入主存的頁面,在一段時間內訪問的需求肯定是比較大的。這時,如果將其置換出去,顯然易於造成“顛簸”,因此顯然是不合理的排程演算法。

  2、作業系統的結構設計模式有多種,其中“所有處理機執行且共享一個記憶體”的設計結構是***對稱多處理模式***結核,它的特點是***適合共享儲存器結構的多處理系統***。***分析要點:所有處理機就是多處理器***

  三、作業系統基本知識——工作原理題

  1、虛擬儲存管理系統的基礎是程式的***區域性性***理論。這個理論的基本含義是指程式執行時往往會***不均勻地***訪問記憶體儲器。程式的***區域性性***現在***時間區域性性***和***空間區域性性***上。***時間區域性性***是指最近訪問的儲存單元可能馬上又要訪問。***空間區域性性***是指馬上訪問的單元,而其附近的單元也可能馬上訪問。

  根據這個理論,DENNING提出了工作集理論。工作集是程序執行時頻繁地訪問的頁面集合。在程序執行時,如果它的工作頁面都在***主儲存***器內,能夠使該程序有效地執行,否則會出現頻繁的頁面調入/調出現象。

  虛擬儲存的核心是“用磁碟等外存去擴充套件主存”,就是將一部分資訊放在磁碟上,等需要時再調到主存中,這樣就可以在“邏輯上擴大主存的空間”。

  從中得出兩個結論:

  ***1***經常會訪問剛訪問過的儲存單元——時間區域性性。

  ***2***當某個儲存單元被訪問過,其鄰近的單元就很可能被訪問***也就是對儲存訪問有成組的傾向***——空間區域性性。

  這也就是說明,對記憶體的訪問是不均勻的,區域性的。而對於最後的問題而言,事實上只要根據“否則會出現頻繁的頁面調入/調出”中可以看出顯然就是當工作頁面都在“主儲存器”中時無須換頁。

  2、Windows NT中,執行在核心態的子系統是***執行體***,而程序就是由***執行體***中的***物件管理器***負責建立和刪除的。分析:Windows NT可以分為執行體和保護子系統。前者執行在核心態,後者執行在使用者態。而保護子系統主要包括環境子系統、整合子系統兩類。而Windows NT的程序是由執行體中的物件管理器負責建立和刪除的。每個程序建立時只有一個執行緒,根據需要可以建立更多的執行緒。 四、 原理應用題:

  1、程序PA不斷地向管道寫資料,程序PB從管道中讀資料並加工處理,如圖。如果採用PV操作來實現程序PA和程序PB的管道通訊,並且保證這兩個程序並執行的正確性,則至少需要***2個訊號量,訊號量的初值是0、1***

  對於訊號量的個數與初值而言,需要掌握以下幾個要點:

  ***1***控制互斥只需1個訊號量,訊號量的值是“臨界區”的數量***或指可重入的個數***。

  ***2***控制同步需要2個訊號量,訊號量的值分別用於管理“同步區”的滿值和空值;因此如果“同步區”的個數是1,則可以省去一個訊號。 ***3***經典的“生產者—消費者”問題,是“互斥+同步”的控制,通常需要3個訊號量。

  而本題中這個經典的“生產者—消費者”的問題,其中程序PA和程序PB分別是生產者和消費者,管道為臨界區。根據上面的原則,我們知道在程式中應該設定1個同步訊號量***同步區為1***,為1時說明管道已滿拒絕PA再寫入資料,為0時說明管道為空拒絕PB再讀出資料,管道初始是沒有資料的,所以初始值為0***特別情況即管道的大小為1個單位***;程式還需要1理互斥訊號量來保證程式只有一個程序訪問管道,初始值為1。

  2、在系統執行的某一時刻中,有A、B兩個程序。除了互斥地使用惟一的“繪圖儀R”之外,不使用其他資源。如圖,用粗實線表示程序在執行,用細實線表示在使用繪圖儀。對於程序A而言,在時間點t1、t2、t3時其狀態分別是***阻塞、執行、就緒***,程序B在這三個時間點的狀態則分別是***執行、阻塞、執行***。


作業系統基本知識“的人還: