糯米文學吧

位置:首頁 > 範文 > 工作總結

操作系統概念學結

經過一天半的戰鬥,終於把操作系統概論這本書給拿下了。對於曾經專業課學過一些電腦硬件知識的我來説,這本書更加吸引我,以前一些聽過的名詞或高大上的詞語在這本書上被詳細介紹了,看的非常有收穫。下面來總結下自己的收穫:

操作系統概念學結

首先第一章引論,在這裏首先介紹了計算機系統,包括了軟件和硬件兩部分。

接下來就是第一章的重點:操作系統。如下圖:

當前流行的操作系統有windows、unix、linux等。微軟的windows系統經歷了一個從簡單到複雜,從低級到高級的過程;從ms-dos---windows 3---windows 95---windows 98---windows nt---windows 2000,再到現在win7、8甚至win10,微軟始終在進步。unix是一個通用的交互式分時操作系統,有at&t公司下屬的bell實驗室開發,在誕生後,源代碼就一直公開,用户可以參與到unix的升級中。unix的特點:1.短小精悍;2.可裝卸的多層次文件系統;3.可移植性好;4.網絡通信功能強。linux是網絡時代的產品,繼承於unix,並做了很多改進。

第一章總領了全書,後面的二三四五六章都是講的計算機的各種管理,總結如下圖:

在這裏我把每章中的重點用紅色的顏色標記出來了,這樣在精讀的時候就可以有重點的向外擴散,抓住考點,征服考試。第一遍閲讀畫的有點粗糙,在精讀的時候再大大的豐富下。

操作系統概念學結 [篇2]

1.什麼是計算機性能

所謂計算機的性能(performance)通常是指計算機的速度,它是程序執行時間的倒數。而程序執行時間是指用户向計算機送入一個任務後,直到獲得他需要的結果這一段等待時間。

包括:

1.訪問磁盤和訪問存儲器的時間

2.cpu運算時間

#url#動作時間

4.操作系統的開銷時間等。

2.linux桌面操作系統性能分析意義

1.操作系統的性能直接影響了其上應用系統的性能

2.性能評估結果是用户在操作系統選購過程中的重要參考指標

3.為開發者優化操作系統的性能提供指導

4.為操作系統的評測提供依據

3.linux桌面操作系統性能分析難點

1.應用千差萬別

2.測試點過多

3.依賴多種因素和特徵

4.沒有針對性

5.沒有實際應用前景

4.如何評測計算機的性能

1.機器級的性能評測

機器級的性能評測,包括cpu和存儲器的某些基本性能指標,計算機的可用性與有效性以及機器成本、價格與性/價比等,它是引進和購買計算機時最主要的選擇依據。

2.算法級的性能評測

算法級的性能評測方法主要用於並行機評測,最初大都是為了評價並行算法的性能提出的,後來這些評測方法也被推廣到並行程序上。

3.程序級的性能評測

程序級的性能評測主要是使用一組基準測試程序(benchmark)測試和評價計算機系統的各種性能。

5.測試程序準確度層次

1.真實程序

通過運行實際應用程序,例如c語言的各種編譯程序、tex文本處理軟件、cad設計工具spice等

2.核心程序

它是從實際程序中抽取少量但很關鍵的代碼段,並以此來評估程序性能

3.小測試程序

這些測試程序的代碼長度一般在100行之內,用户可以根據自己的目的隨時編寫一些小段程序,並按已預知的輸出結果(如皇后問題、排序問題、求素數等)來判斷機器的性能。

4.綜合測試程序

它是首先對大量的應用程序中的操作進行統計,得到各種操作比例,再以此比例人為製造出測試程序。

6.基準測試6.1含義

基準測試程序用於測試和預測計算機系統的性能,揭示不同結構機器的長處和短處,為用户決定購買或使用哪種機器最適合他們的應用要求提供決策。基準測試程序試圖提供一個客觀、公正的評價機器性能的標準。

6.2分類

宏觀微觀:

宏觀基準測試程序(macro-benchmark)和微觀基準測試程序(micro-benchmark)兩大類。前者將計算機系統作為一個整體來測試其性能,它相對於某一應用類來比較不同的計算機系統,所以對機器買主很有用,但它不能揭示計算機系統性能好、壞的原因。後者是測試機器的某一特定方面的性質,如cpu速度、存儲器速度、i/o速度、os性能、網絡特性等。

應用類別:

定點性能

浮點性能

web服務性能

數據處理性能

系統軟件性能

科學與工程計算性能

6.3主要的基準測試工具

lmbench

是由sgi的larrymcvoy所維護,是一種用於測試不同unix平台上os開銷以及處理器、高速緩存、主存、網絡和磁盤之間數據傳輸能力的可移植的基準測試程序。

whetstone

比較不同的計算機的浮點性能而設計的綜合性基準測試程序。lmbench着重測量以下內核組件:調度程序、進程管理、通信、聯網、內存映射和文件系統。

dhrystone

主要為測試整數與邏輯運算性能而設計的綜合型基準測試程序whetstone,dhrystone不能預測用户程序性能,這些基準程序的主要缺點是對編譯程序比較敏感。

linpack

測試的基準是用全精度64位字長的子程序求解100階線性方程組的速度,測試的結果以mflops(每秒百萬次浮點運算)作單位給出。

spec

原主要是測試cpu性能的,現在強調開發能反映真實應用(如實際負載等)的基準測試程序,並已推廣至客户/服務器計算、商業應用、i/o子系統等。

unixbench

應用比較廣泛的unix類操作系統性能測試工具之一,它屬於微觀基準測試程序,它主要從cpu浮點運算能力,以不同緩衝區大小拷貝不同大小文件,管道吞吐量,進程生成速度,系統調用開銷等方面來測試linux相關性能。

xbench

主要測試xwindow圖形界面的性能。

iozone

文件系統的評測工具,對read,write,re-read,re-write,readbackwards,read

strided,fread,fwrite,randomread,pread,mmap,aio-read,aio_write等一系列文件i/o性能進行了評測,是十分有用的文件系統性能分析工具。

ltp

最大的linux性能測試團體linuxtestproject開展的開源測試項目,這個團體專門從事linux性能測試研究。這個項目收集了各種linux內核測試工具和相關資料,它的目標就是為了通過把自動化測試引入到linux內核測試以提高linux內核性能。

6.4現狀和不足

linux基準測試程序都是微觀基準測試程序,都是在測試機器的某一特定方面的性質,分別着重於cpu速度、存儲器速度、i/o速度、網絡特性等等某一方面或多個方面,偏重於硬件。把linux操作系統作為一個整體,針對linux的操作系統性能的宏觀基準測試程序目前還沒有。

現有的linux測試工具都是基於微觀基準測試程序,對於操作系統而言微觀可測點實在是太多,寫一個全面的基於自頂向下三層的全面測試工具工作量大,並且也沒有太大實用價值。畢竟應用是千差萬別的,不利於在有限的時間內快速的得出linux版本性能優劣結論。

7.性能評測方法學

如何進行性能評測,一般一個性能評測的實際解決方案應該包括以下三個方面:

1.讓被評測系統處於壓力負荷下;

2.測量系統執行有效特定任務的能力,執行特定任務的耗時,執行特定任務的cpu利用率;

3.基於性價比考慮進行改進。進行性能評測分析的目的是為了幫助開發人員更好更深層次的理解系統,找出系統瓶頸,並作出相應的改進。

8.三種性能評價技術

1.分析技術(modeling)

分析技術也叫建模分析,在一定假設條件下,計算機系統參數與性能指標參數之間存在着某種函數關係,按其工作負載的驅動條件列出方程,用數學方法求解。

2.模擬技術(simulation)

模擬技術按被評價系統的運行特性建立系統模型;按系統可能有的工作負載特性建立工作負載模型;語言編寫模擬程序,模仿被評價系統的運行;設計模擬實驗,依照評價目標,選擇與目標有關因素,得出實驗值,再進行統計、分析。該技術的特點是可應用於設計中或實際應用中的系統,可與分析技術相結合,構成一個混合系統。

3.測量技術(measurement)

測量技術只能對已投入使用的系統進行測量,通常採用不同層次的基準測試。

9.工作量選區(workload)

工作量就是模擬實際工作的工作任務,一個工作量它要產生針對該被評測系統實際工作應用的典型的工作任務,並且該工作任務應該對系統產生相應的壓力負荷,一個好的性能評測工作量應該包括以下基本特徵。

可測量性

可反覆性

不變性

典型性

10.自頂向下分析法

1.系統層(systemlevel):包括處理器、內存、硬盤、網絡等;(硬件資源)

2.應用層(appalicationlevel):包括鎖、線程、堆、api等;(程序資源)1

3.微結構層(micro-achitecture):包括數據隊列、循環結構、cache優化等。

11.衡量linux桌面系統性能評價的主要標準和參數

1.響應時間(elapsedtime)

內核完成某一任務(程序)所花費的時間,如磁盤訪問、存儲器訪問、輸入/

輸出等待。

2.cpu時間

程序在cpu中的執行時間。以秒為單位。

3.cpu利用率

12.衡量linux桌面操作系統性能評價的主要標準

提供一個統一的、客觀的、公正的和可相互比較的評價計算機的標準。

1.權威性

不是自己憑空想象,要有可靠的理論及事實依據支撐,業界廣泛認可。

2.系統化

不是現有benchmark和工具的簡單組合,而是能夠系統化評估整機性能的方案。

它能夠反映出整個計算機軟件及硬件的綜合處理能力,而不單純是軟件或者硬件,也就是説同一個硬件平台上測試,能夠反映出不同操作系統性能不同,且在同一個操作系統,在不同的硬件平台上,性能測試也應該有所不同。

3.全面性

是對整機的整體性能測試,不是單純的某個硬件或者某一方面能力的測試。

4.實用

要求該方法有實用價值,參考意義。

5.公正性

不一某些利益為目的的。

13.如何確定測試負載

從微觀基準理論的角度來看,操作系統的基本性能參數實在是太多,基本性能參數測試包括cpu、內存、i/o、網絡、操作系統、文件系統、編譯器、數據庫的性能指標。

從宏觀基準測試理論出發就簡單多了,主要是要確定合適的工作量來模擬有代表性的用户作業。工作量的確定需要一定的理論依據,可以借鑑現有各種linux測試工具實踐結果。

14.如何測試linux操作系統性能

linux桌面操作系統是近幾年來基於linux內核發展起來的面向用户桌面應用的操作系統,內核還是基於linux,只是在其上添加了很多窗口程序,並且在用户界面和友好度上作出了很大的改進,更加易用和實用。

測試linux性能的關健在於測試linux內核性能,而測試linux內核性能又可以細化成五大子系統的測試。可以針對內核這五大子系統設計工作量負載。

操作系統概念學結 [篇3]

linux操作系統學結(一)

最近粗略地看了一遍linux操作系統的書籍,主要講的都還是一些概念上的知識,並沒有深入地去了解內核以及內部機制。現在總結一下看了書後的一些知識上的收穫:

linux最大的魅力是支持gpl,並且以網絡為核心。其實操作系統的作用就是有效地整合軟、硬件資源而為用户工作。操作系統提高了開發的效率,我學習linux,關鍵也是在於研究瞭解其內核構造。

説到linux的歷史,其最初版本是有芬蘭的一個大學生linustorvalds開發的,現在的linux版本是聚集了很多人的智慧後開發出來的。linux包含了人們對操作系統的很多期望,比如真正的多任務、虛擬內存、世界上最快的tcp/ip程序、共享庫以及多用户支持等,而很多這些功能在windos中都是沒有支持的。linux繼承了unix的幾乎所有特徵,又有新創的許多新特徵。在home根目錄下可以創建多個用户目錄,而實現多用户操作。其文件系統與windos也是有很大的區別的。linux還有豐富的接口。它的源碼開放,可以跨越多個平台。總之,linux的強勢在與它的網絡功能和硬件的高效率。

linux是以獨佔方式執行最低層的任務,包括程序級及用户級的級別。與圖形界面比起來,shell用起來更加直接與快速。設備驅動程序開發在linux下顯得更加簡單和方便。從linux2.0內核版本開始支持多內核模式,並且引入動態的模塊技術,是系統在運行時可以修改內核,實現了內核的動態可伸縮性,但是也帶來了一定的負面影響即不穩定性。

我國的linux研究仍然走在世界一流水平的後面。linux內核發展方向主要是硬件支持,嵌入式系統和分佈式系統三個方面。這需要大量的硬件驅動程序開發以及互聯網分佈式系統開發。

處理機即為cpu。在但處理機系統中,並不存在真正意義上的併發執行,只是串行執行的家鄉而已。提高處理機的使用率關鍵是要合理地安排各個程序之間的相互切換。作業其實就是用户的一個請求,而聯機作業需要各個設備之間的交互性地執行。shell命令具有交互性,實時性較強,可以一次執行一條命令或者批處理執行腳本命令。進程是動態執行的程序。linux下的進程應該與windos下的進程是一致的,每一個進程都有一個唯一的標識號。而進程樹清晰地展現了進程之間的關係。進程控制塊pcb包含了處理器以及文件系統的大量信息,很多進程都是根據pcb來進行調度的。

linux中使用的虛擬存儲器的作用是使用有限的內存發揮出巨大的作用,根據程序運行的局部原理來吧物理內存劃分成有一定規則的小塊,每次只裝入需要運行的小塊到內存中運行。這需要合理地調配內存與外存之間的關係,把內存中不需要的小塊暫時存放至外存之中,而cpu只進行部分程序的訪問。通過多次地交換內外存之間的信息來製造假象,這就是虛擬內存。系統採用段機制以及三級分頁機制。

我們知道設計操作系統的目的是為了最大限度地利用硬件資源,是cpu儘可能地處於工作狀態,這就需要一個良好的cpu調度了。處理機調度的級別從高至低依次分為作業調度、交換調度、進程調度和線程調度。作業調度是最高級別的,是針對作業的創建以及結束進行的;交換調度是指進行內外存之間進程的相互調換;進程調度是指進程的各個狀態之間的轉換;而最後的線程調度是指佔用處理機與否之間的轉換。

外設通常是指除了cpu與內存之外的硬件設備統稱外設。通過接口進行連接和統一管理。設備管理的目的是管理協同好繁多的外部設備,是它們能夠有序的工作。在linux中把設備當作文件進行統一管理,可以用文件操作方式來操作硬件設備。設備驅動程序的作用是直接操作硬件,並且為其提供接口。

linux的文件系統是其很重要的一個部分。文件系統進行數據以及設備的統一管理,併為用户命令和系統函數提供統一的服務接口。在進程控制塊pcb中有文件的系統信息。把設備均抽象為文件進行統一的管理,併為設備管理提供統一的接口。

默認的文件系統是ext2。虛擬文件系統是位於linux文件系統層析結構的頂層,進行管理各種邏輯文件系統,或者説是同化各類邏輯文件系統,實現其跨平台的特性。

linux文件系統採用多重索引的方式,類似於數據結構中的鏈表方式。文件系統中的每一個文件,目錄以及設備均同級,並且對應於一個i節點。內存中的i節點是磁盤中的i節點的映像,目的是減少設備存取的次數,提高文件的訪問效率。

linux目錄本身也是一種文件,稱為目錄文件。單級目錄存在文件命名的衝突,而在多級目錄中,使用目錄樹來記錄目錄結構。在文件共享中,一般使用文件的'絕對路徑來訪問文件,如果要進行共享文件的話,必須先回溯,在向下尋找共享的文件,這樣的方法效率比較低下。而通過改進的鏈接文件的方法進行文件共享,會使目錄樹形成網狀結構。

linux系統的根目錄是root目錄,其下面有多個默認的子目錄。bin是實用程序的子目錄,存放常用的系統工具;boot子目錄存放系統啟動時的映像文件;dev子目錄中為每個設備均分配了一個i節點;ect是基本數據子目錄,存放系統的用户口令,網絡配置等設置文件;home是用户數據子目錄,默認情況下的用户登錄後均到達這個子目錄;lib目錄存放庫函數;root是超級管理員的用户目錄等。

虛擬文件系統vfs進行統一管理各種類型的文件系統,無法存在於物理磁盤當中,只能存在與內存之中,負責管理並控制下層的邏輯文件系統,可以支持多種不同的邏輯文件系統,它為多種邏輯文件系統提供了統一的接口並進行管理。

總之,粗略地學習了linux操作系統知識後,對整個系統的架構和組成有了一定的瞭解,特別是linux特殊的文件系統和存儲管理有了較深的印象和理解。今後有機會一定要更深地瞭解linux的內部構造。

操作系統概念學結 [篇4]

1.什麼叫同步?  相互合作的兩個進程之間需要在某個(些)確定點協調它們的工作,一個進程到達了該點後,除非另一進程已經完成了某些操作,否則就不得不停下來,等待這些操作的完成。這就是進程間的同步。

什麼叫互斥?

兩個進程由於不能同時使用同一臨界資源,只能在一個進程使用完了,另一進程才能使用,這種現象稱為進程間的互斥。

①同步的主要特徵是:一個進程在某一點上等待另一進程提供信息,兩進程之間存在直接制約關係,其表現形式為進程—進程。②互斥的主要特徵是爭用資源,兩進程間存在間接制約關係,其表現形式是進程—資源—進程。

2.試給出p、v操作的定義。

p、v操作是定義在信號量s上的兩個操作,其定義如下:

p(s):①s:=s-1;②若s≥0,則調用p(s)的進程繼續運行;③若s<0,則調用p(s)的進程被阻塞,並把它插入到等待信號量s的阻塞隊列中。

v(s):①s:=s+1;②若s>0,則調用v(s)的進程繼續運行;③若s≤0,則從等待信號量s的阻塞隊列中喚醒頭一個進程,然後調用v(s)的進程繼續運行。

如何利用p、v操作實現進程間的互斥?

p、v操作是解決同步與互斥問題的有力工具。為解決互斥問題,應採取如下步驟:首先根據給定問題的描述,列出各進程要執行的程序。其次,設置信號量。互斥問題中,在臨界區前面加p(s),臨界區後面加v(s)。最後確定信號量的初值。在互斥問題中,信號量通常取為互斥資源的個數。

説明信號量的物理意義:

信號量s>0時,s的數值表示某類可用資源的數目,執行p操作意味着申請分配一個單位的資源;當s≤0時,表示無資源可用,此時s的絕對值表示信號量s的阻塞隊列中的進程數。執行v操作意味着釋放一個單位的資源。

3.如何利用p、v操作實現進程間的同步?

p、v操作是解決同步與互斥問題的有力工具。為解決同步問題,應採取如下步驟:首先根據給定問題的描述,列出各進程要執行的程序。其次,設置信號量。同步問題中有幾個同步點就設置幾個信號量,等待的地方加p(s),發信號(解除等待)的

地方加v(s)。最後確定信號量的初值。在同步問題中,信號量的初值一般取0.在同步和互斥中,信號量初值的設置有何不同:在同步問題中,信號量的初值一般取為0,在互斥問題中,信號量通常取為互斥資源的個數。

4.高級通信原語有何優點?

能夠實現在進程之間傳遞大量的信息。

在消息緩衝通信方式中,發送原語和接收原語的主要功能是什麼?

發送原語的作用:將欲發送的消息從發送區複製到消息緩衝區,並把它掛起在接收進程的消息緩衝隊列末尾。如果該接收進程因等待消息而處於阻塞狀態,則將其喚醒。

接收原語的作用:把發送者發來的消息從消息緩衝區複製到接收區,然後將消息緩衝區從消息隊列中消去,如果沒有消息可以接收,則進入阻塞狀態。

5.什麼是信箱?

信箱用於存放信件,而信件是一個進程發送給另一進程的消息。

信箱的數據結構:信箱頭和信箱體。信箱頭是信箱的描述部分,信箱體由若干格子組成,每個格子可存放一個信件。

信箱頭包括的信息:①信箱名②信箱大小③已存信件數④空的格子數。

如何用信箱實現兩個進程之間的通信?

進程a想向進程b發送消息前,先把消息組成一封信件,然後調用send原語向進程b發送信件,並將信件投入進程b的信箱中。進程b為得到進程a的消息,只要調用receive原語就可以從信箱中索取來自進程a的信件。這就完成了一次進程a到進程b的通信過程。

6.在網絡操作系統中,為什麼要採用消息傳遞的通信機制?

基於共享變量的通信方式適用於網絡中各節點內部諸進程之間的通信,而基於消息傳遞的通信方式適用於網絡中各節點之間的進程通信。

在消息傳遞的通信機制中有哪些通信方式?①通信原語②遠程過程調用③組通信。

7.什麼是同步原語?

當一個進程調用一個send原語時,在消息開始發送後,發送進程便處於阻塞狀態,直至消息完全發送完畢,send原語的後繼語句才能繼續執行。當一個進程調用一個receive原語時,並不立即返回控制,而是等到把消息實際接收下來,並把它放入指定的接收區,才返回控制,繼續執行該原語的後繼指令。在這段時間它一直處於阻塞狀態。上述的send和receive被稱為同步通信原語或阻塞通信原語。

什麼是異步原語?發送進程在調用send原語後,並不進入阻塞狀態,它不等消息發送完就繼續執行其後繼語句。

在使用異步通信原語時,發送者在消息發送完成前為什麼不能使用緩衝區?

因為倘若發送進程在消息發送完成之前,即在消息發送期間使用或修改原來的緩衝區,將會造成錯誤。

如何解決?

有兩種辦法(應採用異步原語):①採用帶拷貝的非阻塞原語,即讓內核把消息拷貝到內核緩衝區,允許調用進程繼續運行。②帶中斷的非阻塞發送,即當消息發送完成後,中斷髮送進程,通知發送進程此時緩衝區可用。

8.在進程間通信如何保證消息不會丟失?

為了保證消息被對方收到,可採用可靠原語。具體作法是:客户向服務器方發一請求後,服務器對這一請求,由其內核向客户內核返回一個確認ack,當客户內核收到這一消息後,就喚醒客户進程。在客户與服務器之間的請求/應答共需四個消息:①從客户向服務器的請求②從服務器內核向客户內核返回一個確認③從服務器到客户的應答④從客户的內核向服務器內核返回一個確認。

9.遠程過程調用:在網絡或分佈式系統中,設有任意兩個節點a、b,節點a上的進程調用節點b上的一個進程時,節點a上的進程被掛起,在節點b上執行被調用的過程,消息以參數的形式從調用進程傳送到被調用進程,並將被調用過程執行的結果返回給調用進程。這種通信方式稱為遠程過程調用。

其基本原理是什麼?

允許某一節點上的程序調用其他節點上的過程或函數。例如節點機a上的進程調用節點機b上的過程,節點機a的調用進程被掛起,在節點機b上執行被調用過程。消息以參數的形式從調用過程傳到被調用過程,被調用過程執行的結果再返回給調用過程。對程序員來説,他看不到消息傳遞過程和i/o處理過程。

的透明性指的是什麼?

指的是要使得遠程過程調用盡可能像本地調用一樣。調用過程應該不知道被調用過程是在另外一台計算機上執行,反過來也是如此,被調用過程也不應該知道是由哪個機器上的進程調用的。如何保證這一透明性:遠程過程調用為實現其透明性,在客户機上設置一個客户代理,同樣在服務器機上設置一個服務器代理。

11.簡述遠程過程調用的步驟。

①客户過程以通常方式調用客户代理。②客户代理構造一個消息並陷入內核。③本地內核發送消息給遠程內核。④遠程內核把消息送給服務器代理。⑤服務器代理從消息包中取出參數並調用服務器。⑥服務器完成相應的服務,將結果送給服務代理。⑦服務代理將結果打包形成一個消息並陷入內核。⑧遠程內核發送消息給客户機內核。⑨客户機內核把消息傳送給客户代理。⑩客户代理取出結果,返回給客户的調用程序。並以實例説明。

12.試説明遠程過程調用的優缺點。

優點:格式化好、使用方便、透明性好;

缺點:缺乏靈活性。

在具體實現上尚有哪些難點需要解決?

①遠程過程調用的參數在系統內不同機型之間的通用能力有所不足。②缺乏在一次調用過程中多次接收返回結果的能力。③遠程過程調用缺乏傳送大量數據的能力。

13.什麼叫組通信?

在網絡系統中,一個相互作用的進程集合稱為組。一個發送者在一次操作中將一個消息發送給多個接收者的通信,稱為組通信。

它應用於何種場合?在網絡系統中可以採用組通信方式。

組通信的主要特徵是?當一個消息發送給這個組時,該組的所有成員都可以接收,組通信具有“一對多”的形式,即一個發送者,多個接收者。

組通信的實現?組通信的實現在很大程度上依賴於硬件。在一些網絡系統中,可以為組指定一個特殊的網絡地址。可採用多播式、廣播式、單播式。

標籤:學結 操作系統