挑戰408——操作系統(1)——介紹一下操作系統這個東西

在開篇我們提到過,操作系統的工作就相當於管理者的工作。操作系統是一種系統軟件,它的任務是控制和管理計算機系統中的資源(包括硬件和軟件資源)。控制是說系統要合理的組織和調度計算機的工作和資源的分配並且提供給用戶和其他軟件方便的接口環境。操作系統不是單一的程序,它是一個程序集合。

操作系統的特徵

操作系統是一種系統軟件,主要的特點有併發性,共享性,虛擬性,不確定性。 - 併發性。併發性是指兩個或者兩個以上的事物在同一時間間隔發生。(與之相似的概念還有並行,它指的是兩個或兩個事物在同一時刻發生。)這個暫時不在這裏說太多,待會後面會詳細解釋二者的區別。 - 共享性。是指系統中的資源可以供多個程序共同使用。比如一個公共的變量,表格等。這類資源通常有兩種訪問的方式。一種叫互斥訪問,舉個例子,目前我們只有一臺打印機,但是有ABC三個進程要使用它,那麼不可能同時進行打印操作,所以我們只有等A打印完*(假如是ABC依次到達打印請求),空出打印機,這個時候B才能進行。同理C也是這樣。另外一種叫同時訪問。舉個例子,在候車廳上面的列車時刻安排表,我們每個人都可以同時看上面的數據,因爲我們同時閱讀上面的信息的過程我們並沒有改變其中的內容。即對文件不會產生任何的影響。 - 虛擬性。虛擬就是讓用戶感覺有,但是實際上並不存在的事物。這是一門技術,以空間換取時間的技術。這種技術在操作系統中應用廣泛,尤其是在內存管理和I/O管理這一塊內容。這個比較抽象,具體的我們學到再說。 - 異步性。也稱不確定性,是指程序的運行行爲是不可預知的。因爲它總是走走停停,我們無法得知它何時運行,何時暫停,推進速度如何等等問題。那麼爲什麼會產生這個問題呢?我們也待會再說。
在這些基本特徵中程序的併發性和共享性是操作系統的最基本的特徵。同時它們也是進程管理內容中要解決的重點問題。

如何使用操作系統?

爲了方便用戶使用操作系統,操作系統提供了用戶與操作系統的接口。該接口分爲命令接口與程序接口。(挺重要的) 1. 命令接口:這個接口的目的是爲了方便用戶控制自己的作業。主要分爲聯機命令接口,脫機命令接口,圖形用戶界面接口。 - 聯機命令接口:輸入一條命令,執行一條命令 - 脫機命令接口:輸入一批命令,執行一批命令 - 用戶圖形界面接口:這個好解釋,window這種點擊圖形進行操作的界面 2. 程序接口:又稱系統調用,是系統提供的給應用程序使用內核功能的接口。它是用戶取得操作系統服務的唯一途徑。

計算機系統的分類

批處理系統

批處理操作是指用戶將作業成批的輸入到計算機中,然後在操作系統的控制下,用戶的作業自動進行。爲了熟悉這個東西,我們先舉個實際的例子,在window中我們可以將要計算機執行的操作命令寫到一個文件中,如圖:
在這裏插入圖片描述
這裏有四條命令,具體幹嘛的大家都知道。對應的文件格式爲bat:
在這裏插入圖片描述
操作系統執行的時候是將他們一同送入計算機,而不是一條一條送入,然後自動按順序執行這些語句。使用這種處理方式的系統我們稱爲批處理操作系統 而批處理系統也分爲兩種形式:

  1. 單道批處理操作系統:這種操作系統將一系列的作業存入磁盤當中,每個作業稱爲一道。處理的過程是將一個作業調入內存,待處理完畢後再將第二個作業調入運行。因此這樣的程序按順序執行,並且內存中一直只有一個作業。
  2. 多道批處理操作系統:爲了提高系統的吞吐量,和CPU的利用率。設計了多道批處理操作系統。處理過程爲:磁盤中的作業,有作業調度程序按一定的方法調入內存,並由系統建立進程,在操作系統的管理下,各個程序交替執行(注意這四個字,交替執行!!!並不是一同執行,也不是等其中一個執行完再執行)。
    併發與並行
    雖然這個內容考試不是特別熱門的,但是我們必須理解,因爲接下來的內容都貫穿了這裏的知識。尤其是多道處理操作系統,是我們研究的主要對象。下面來看一道教材的課後題(時序時間圖,是一種以程序各個運行階段的時間圖爲橫座標,以程序爲縱座標回執的一種反映程序運行耗時的圖,也叫甘特圖):
    在這裏插入圖片描述
    在這裏插入圖片描述

從圖中我們可以看出,程序是先執行了A再執行B最後執行C的。這個時候ABC是順序執行的。 再來看第二個問題:

在這裏插入圖片描述
我們可以看到,ABC是交替進行的,就是說,在A程序的某個運行階段,B程序也參與了進來。 回顧一下我們關於併發與並行的定義: 併發:是指兩個或者兩個以上的事物在同一時間間隔發生。從圖中我們看到0—60這段時間間隔內,即有A在執行,也有B的執行(發生)。所以A,B是併發執行的。(注意,這裏的執行指的是在CPU上的執行,0-20期間是A在使用CPU進行計算,20 - 50是B在CPU中執行計算,此時C在使用I/O設備,並沒有使用CPU,50 -60又是A在使用CPU。所以A和B輪流交替使用CPU。這種現象稱爲併發,對應的發生的時間段是不一樣的) 並行:它指的是兩個或兩個事物在同一時刻發生。從圖中看出20-50期間,AB程序都在執行,這樣的現象是並行(對應發生的時間段是相同的)。這樣一來就好理解了。 因此,多道的程序設計又可以簡單描述爲:宏觀上並行,微觀上併發執行。。但是這裏也可以看出,多道程序因爲道數的增加,需要增加額外的開銷來組織作業的調度與切換。 批處理系統的缺點:用戶不能瞭解自己的程序運行情況,不允許用戶與計算機直接交互。

分時操作系統

這種技術,將處理器的運行時間分成很短的時間片,按時間片輪流把處理器分配給各聯機作業使用。若不能再時間片內完成作業,那麼就把處理機讓出,暫時停止作業。對比批處理系統,分時的最大區別在於實現了計算機與用戶的交互。但是由於時間片的數目,用戶較多的時候,反而響應的時間會變長。

實時操作系統

當遇到某些緊急任務的時候,卻不能按時間片的順序來處理,因此必須使得一些任務在極短的時間內做出響應。這種操作系統要求具有很高的即時性。比如銀行管理系統,訂票系統,導彈系統等等。
實際上,後面我們要學習的調度算法,也是跟上述的操作系統類型密切相關的,因此初略瞭解一下這種東西還是很有必要的。

主要掌握:

  1. 操作系統的類型有哪些
  2. 各類操作系統的主要特點(優缺點)
  3. 會畫甘特圖分析併發程序運行的時間(畢竟喜歡考選擇題)。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章