什麼是操做系統?

  咱們應知道,在一個計算機系統中,硬件與軟件資源可分爲:處理器、存儲器、I/O設備和信息(數據和程序)四類。而OS它是一個計算機系統資源的管理者,並實現了對計算機資源的抽象,鏈接了用戶與計算機硬件系統,做爲用戶與計算機硬件系統之間的接口軟件接口)。程序員

1、             關於OS對計算機系統資源的管理:編程

OS的主要功能就是:函數

(1)、處理機管理:分配和控制處理機spa

(2)、存儲器管理:內存分配與回收操作系統

(3)、I/O設備管理:I/O設備分配與操做blog

(4)、文件管理:文件的存取、共享和保護接口

注意:當一個計算機系統同時供多個用戶使用時,用戶對系統中共享資源的需求(包括數量和時間)可能發生衝突,爲了管理好這些資源(包括硬件和信息)的使用,操做系統必須記錄下各類資源的使用狀況,對使用資源的請求進行受權,協調各用戶對共享資源的使用。進程

2、             關於OS對計算機資源的抽象內存

  對於一個徹底無軟件的計算機系統(裸機),它向用戶提供的是實際硬件接口(物理接口),用戶需對物理接口的實現細節有充分的瞭解,並利用機器指令進行編程。顯然,這對於用戶是不容易的。資源

  爲了方便用戶使用I/O設備,人們在裸機上覆蓋一層I/O設備管理軟件,由它來實現對I/O設備操做的細節,並向上提供一組I/O操做命令。即在裸機上鋪設的I/O軟件隱藏了對I/O設備操做的具體細節,向上提供了一組抽象的I/O設備。一般把覆蓋了上述軟件的機器稱爲擴充機器虛機器。它向用戶(進程)提供了一個對硬件操做的抽象模型,用戶可利用抽象模型提供的接口(軟件接口)使用計算機,而無需瞭解物理接口實現的細節。該層軟件實現了對計算機硬件操做的第一個層次的抽象

  爲了方便用戶使用文件系統,人們在第一層軟件上再覆蓋上一層用於文件的管理軟件,一樣由它來實現對文件操做的細節,並向上提供一組對文件進行存取操做的命令,用戶可利用這組命令進行文件的存取。該層軟件實現了對計算機硬件資源操做的第二個層次的抽象

  當人們又在文件管理軟件上再覆蓋一層面上用戶的窗口軟件後,用戶即可在窗口環境下方便地使用計算機,造成一臺功能更強的虛機器。

  由此可知,OS是鋪設在計算機硬件上的多層系統軟件,它加強了系統功能,隱藏了對硬件操做的細節,實現了對計算機硬件操做的多個層次的抽象

  對一個硬件在底層進行抽象後,在高層次還可再次對該資源進行抽象,成爲更高層次的抽象模型。隨着抽象層次的提升,抽象接口所提供的功能就愈來愈強,用戶使用也更加方便。

3、             用戶與操做系統的接口

  爲了方便用戶使用操做系統,OS又向用戶提供了「用戶與操做系統的接口」。該接口一般分爲兩大類:用戶接口程序接口

用戶接口:提供給用戶使用的接口,用戶可經過該接口取得操做系統的服務;

程序接口:提供給 程序員在編程時使用的接口,是用戶程序取得操做系統服務的惟一途徑。

用戶接口能夠分爲:

(1)       聯機用戶接口

(2)       脫機用戶接口

(3)       圖形用戶接口

  聯機用戶接口是爲聯機用戶提供的,它由一組鍵盤操做命令及命令解釋程序組成。(用戶在終端或控制檯上每鍵入一條命令,系統便當即轉入命令解釋程序,對該命令加以解釋並執行該命令。完成指定功能後,控制又回到終端或控制檯上,等待用戶鍵入下一條命令。這樣,用戶可經過前後鍵入不一樣命令的方式,來實現對做業的控制,直至做業完成。

  脫機用戶接口是爲批處理做業的用戶提供的,故也稱爲批處理用戶接口。該接口由一組做業控制語言(JCL)組成。(批處理做業的用戶不能直接與本身的做業交互做用,只能委託系統代替用戶對做業進行控制和干預)這裏的JCL即是提供給批處理做業用戶的、爲實現所需功能而委託系統代爲控制的一種語言。(用戶用JCL把須要對做業進行的控制和干預事先寫在做業說明書上,而後將做業連同做業說明書一塊兒提供給系統。當系統調度到該做業運行時,又調用命令解釋程序,對做業說明書上的命令逐條地解釋執行。若是做業在執行過程當中出現異常現象,系統也將根據做業說明書上的指示進行干預,這樣,做業一直在做業說明書的控制下運行,直至遇到做業結束語句時,系統才中止該做業的運行。

  圖形用戶接口採用了圖形化的操做界面,用容易識別的各類圖標來將系統的各項功能、各類應用程序和文件,直觀、逼真地表示出來。(用戶可用鼠標或經過菜單和對話框來完成對應用程序和文件的操做。

關於程序接口:

  程序接口爲用戶程序在執行中訪問系統資源而設置的,是用戶程序取得操做系統服務的惟一途徑。它由一組系統調用組成。(每個調用都是一個能完成特定功能的子程序。早期的系統調用都是用匯編語言提供的,只有在用匯編語言書寫的程序中才能直接使用系統調用;但在高級語言中,每每提供了與各系統調用一一對應的庫函數,這樣,應用程序即可經過調用對應的庫函數來使用系統調用。但隨着操做系統發展,其系統調用自己已經採用C語言編寫,並以函數形式提供,故在用C語言編制的程序中,可直接使用系統調用。

綜上,OS自己是做爲用戶與計算機硬件之間的接口,聯繫了用戶與計算機硬件,承擔着計算機資源管理的任務;用戶又經過操做系統提供的接口實現對操做系統的操做。

相關文章
相關標籤/搜索