控制程式執行的視角來看作業系統
操作控制的視角來看作業系統
os是計算機系統最基礎的系統軟體,管理軟硬體資源,控制程式資源,改善人機介面,合理組織計算機工作流程,為使用者使用計算機提供良好的執行環境。
作業系統:
換句話來說:
作業系統是方便使用者、管理和控制計算機軟硬體資源的系統程式集合。
從使用者角度看:os管理計算機系統的各種資源,擴充硬體的功能,控制程式的執行。
從人機互動看:os是使用者與機器的介面,提供良好的人機介面,方便使用者使用計算機
從系統角度來看:os是乙個大型軟體系統,其功能複雜,體系龐大,採用層次式、模組化的程式結構。
作業系統組成:
程序排程子系統
程序通訊子系統
記憶體管理子系統
裝置管理子系統
檔案管理子系統
網路通訊子系統
作業控制子系統
多道批處理作業系統,採用離線控制方式
分時作業系統,採用互動控制方式
實時作業系統
伺服器作業系統、
並行作業系統
網路作業系統、
分布式作業系統
個人機作業系統、
手機作業系統
嵌入機作業系統、
感測器作業系統
其實主要是來了解計算機系統的資源問題
理解軟硬體資源的管理
理解遮蔽資源底層的使用細節
理解資源的共享與分配
作業系統的資源
硬體資源:
處理器 主存 外設 等
資訊資源:
資料 程式
處理器資源:哪個程式佔處理器執行
記憶體資源:程式、資料在記憶體中如何分布
裝置管理:如何分配、去配合使用裝置
資訊資源管理:如何訪問檔案資訊
訊號量資源:如何管理程序之間的通訊
程式設計的時候,也要遮蔽資源使用的底層細節:
驅動程式:最底層的、直接控制和監視各類硬體資源的部分
職責是隱藏底層硬體的具體細節,並向其他部分提供乙個抽象的、通向的介面
如果有物件導向的思想,這就可以理解為抽象思維,可以理解為封裝,我來隱藏具體的細節實現,你想要什麼,我給你們什麼,並且,我提供通用的介面,或者說我提供通用抽象介面,具體細節,由你們自己來實現,來進行操控。
比如說:列印一段文字或乙個檔案,既不需要知道檔案資訊儲存在硬碟上的細節,也不必知道具體印表機型別和控制細節
很多時候,在程式設計的時候,要考慮的問題就是資源共享與分配的問題,這也是迫切需要解決的問題
資源的共享與分配方式:
資源共享方式:
獨佔使用方式
併發使用方式
資源分配策略:
靜態分配策略
動態分配策略
資源搶占策略
多道程式同時計算
cpu速度與io速度不匹配的矛盾
只有讓多道程式同時進入記憶體爭搶cpu執行,才可以能夠使得cpu和外圍裝置充分並行,從而提高計算機系統的使用效率
獨佔計算機單道執行均需1小時,占用cpu時間約18分鐘,cpu利用率為30%
按照多道程式設計方法同時執行,cpu利用率大約可以達到50%,由於提供36分鐘的cpu時間,大約執行72分鐘。考慮到os的排程開銷,實際花費時間可能要長一些,這還是建立在兩個程式的占用cpu有資源占用衝突的基礎之上。因為整個程式在跑,並不是一直在使用cpu 資源,如果整個過程都在占用cpu 的資源的話,這種情況下,即使採用了多道程式設計思想,其實也並不是能絕對解決不匹配的問題,以及提公升效能,但是對於有些對cpu占用衝突的時候,多道程式可能會出現對資源的搶占,誰搶到誰去執行,但是有些時間段並不涉及到cpu的搶占,所以說,有一線程可以執行,如果說使用單道的話,其實其他的未利用cpu資源的情況下,就屬於是對資源的浪費,對處理程式的效能也存在很大的弊端。因為很多時候不使用cpu資源的情況下,可以讓其他程式去使用,使得可以利用起來這個資源,但是可能對於單道的這套程式來講,時間可能會延長,因為涉及到cpu的時間搶占,導致,1小時內,並沒有把程式處理完,但是對於整體而言,平均時間肯定是大大提高,本來120分鐘完成的事情,現在可能80分鐘就完成。
多道程式設計:指讓多個程式同時進入計算機的主儲存器進行計算
多道程式設計優點:
cpu與外部裝置充分並行
外部裝置之間充分並行
發揮cpu的使用效率
提高單位時間的算題量
多道程式系統的實現
為進入記憶體執行的程式建立管理實體:程序
os應能管理與控制程序程式的執行
os協調管理各類資源在程序間的使用
1.處理器的管理和排程
2.主儲存的管理和排程
3.其他資源的管理和排程
多道程式系統的實現要點:
如何使用資源:呼叫作業系統提供的服務例程(如何陷入作業系統)
如何復用cpu:排程程式(在cpu空閒時讓其他程式執行)
如何使用cpu與io裝置充分並行:裝置控制器與通道(專用的io處理器)
如果讓正在執行的程式讓出cpu:中斷(中斷正在執行的程式,引入os處理)
計算機系統操作方式:
os的兩類作業級介面:
使用者:編寫作業說明書,確定作業加工控制步驟,並與程式資料一併提交
操作員:通過控制台輸入作業
os:通過作業控制程式自動控制作業的執行
eg:批處理os的作業控制方式,unix的shell程式 dos的bat檔案
計算機:開啟終端 鍵盤/顯示器等
使用者:登入系統
os:提供命令解釋程式
使用者:聯機出入命令,直接控制作業步驟的執行
eg:分時os的互動控制方式
命令解釋程式:
接收和執行一條使用者提出的對作業的加工處理命令當乙個新的批作業被啟動,或新的互動型使用者登入進系統時,系統就自動的執行命令解釋程式,負責讀入控制卡或命令列,做出相應的解釋,並予以執行
會話語言:可程式設計的命令解釋程式
圖形化的命令控制方式
多通道的命令控制方式
無論通過哪種控制方式來進行的,其實對於命令解釋程式處理過程而言,其實都是大同小異的
命令解釋程式處理過程:
計算機作業系統概述
計算機系統 電子數字計算機,是一種能夠自行按照已設定的程式進行資料處理的電子裝置,是軟體與硬體相結合 面向系統 側重應用的自動化求解工具,計算機技術迅猛發展,從科學計算 資料處理等應用領域,迅速擴充套件到實時控制 輔助設計 智慧型模擬等諸多領域,今天計算機無所不在,深入社會生活的各個領域,深深改變了...
計算機作業系統概述
三層結構概念 作業系統 linux,windows,mac.計算機硬體 cpu,記憶體,顯示器.例子 我們雙擊開啟乙個檔案,其實是作業系統把檔案內容從硬碟載入到記憶體中,關閉檔案,內容又寫回硬碟存著了,其實,這個檔案就是作業系統提供給應用程式 使用者操作硬碟的一種功能 明白點 作業系統提供了檔案這個...
計算機作業系統 概述
併發是指巨集觀上在一段時間內能同時執行多個程式,而並行則指同一時刻能執行多個指令。並行需要硬體支援,如多流水線 多核處理器或者分布式計算系統。作業系統通過引入程序和執行緒,使得程式能夠併發執行。共享是指系統中的資源可以被多個併發程序共同使用。有兩種共享方式 互斥共享和同時共享。互斥共享的資源稱為臨界...