併發程式設計 作業系統

2022-08-12 20:36:10 字數 2190 閱讀 4904

一、作業系統的發展史

1.手工操作----穿孔卡片

對應於程式和資料的已穿孔的紙帶(或卡片) --------> 裝入輸入機 --------> 啟動輸入機 --------> 把程式和資料輸入計算機記憶體 ---------> 通過控制台開關啟動程式針對資料執行 ---------> 計算完畢 ---------> 印表機輸出計算結果 --------> 使用者取走結果並卸下紙帶(或卡片)

缺點:①使用者獨佔全機。不會出現因cpu資源已被其他使用者占用而等待的現象,但cpu資源的利用率低。

② cpu等待手工操作。cpu的利用不充分。

20世紀50年代後期,出現人機矛盾:手工操作的慢速度和計算機的高速度之間形成了尖銳矛盾,手工操作方式已嚴重損害了系統資源的利用率(使資源利用率降為百分之幾,甚至更低),不能容忍。唯一的解決辦法:只有擺脫人的手工操作,實現作業的自動過渡。這樣就出現了成批處理。

2.批處理----磁帶儲存

批處理系統:載入在計算機上的乙個系統軟體,在它的控制下,計算機能夠自動地、成批地處理乙個或多個使用者的作業(這作業包括程式、資料和命令)

(1) 聯機批處理系統

使用者作業 --------> 輸入機 -------> 成批地把作業輸入磁帶 ---------> 依次把磁帶上的作業讀入主機記憶體並執行 -------> 把計算結果向輸出機輸出

優點:減少了作業建立時間和手工操作時間,有效克服了人機矛盾,提高了計算機的利用率。

缺點:主機處於「忙等」狀態:在作業輸入和結果輸出時,主機的高速cpu仍處於空閒狀態,等待慢速的輸入\輸出裝置完成工作。

(2) 離線批處理系統  

優點:極大地緩解了人機矛盾及主機與外設的矛盾。

缺點:每次主機記憶體中僅存放一道作業,每當它執行期間發出輸入\輸出(i\o)請求後,高速的cpu邊處於等待低速的i\o完成狀態,致使cpu空閒。

3.多道程式系統 ------ 提高了cpu的利用率

多道:計算機記憶體中同時存放幾道相互獨立的程式。

特點:①巨集觀上並行------從巨集觀上看是多道程式在一起執行

②微觀上序列------實際上是各道程式輪流地用cpu,交替執行

③空間隔離---------多道程式同時執行,只有記憶體空間的隔離,才能讓資料更加安全、穩定

④時空復用---------遇到io操作就切換程式,使得cpu的利用率提高了,計算機的工作效率也隨之提高

4.分時系統------降低了cpu的利用率,提高了使用者體驗

由於cpu速度不斷提高和採用分時技術,一台計算機可同時連線多個使用者終端,而每個使用者可在自己的終端上聯機使用計算機,好像自己獨佔機器一樣。

分時系統分時間片工作,在沒有遇到io操作時就用完了自己的時間片被切走了,這樣的切換工作其實並沒有提高cpu的效率,反而使計算機的效率降低了。但是我們犧牲了一點效率,卻實現了多個程式共同執行的效果,這樣你就可以在計算機上一邊聽**一邊聊qq了。

5.實時系統 ------ 提高了使用者體驗,但沒有提高cpu利用率

實時控制系統:飛機飛行、飛彈發射

實時資訊處理系統:訂票、銀行系統、情報檢索系統

優點:及時響應、高可靠性

二、通用作業系統

兼具以下兩種或兩種以上的作業系統

1.多道批處理系統

2.分時系統

3.實時系統

三、作業系統的進一步發展

1.個人計算機作業系統

2.網路作業系統

3.分布式作業系統(重要)

四、作業系統的作用

程式設計師無法把所有的硬體操作細節都了解到,管理這些硬體並且加以優化使用是非常繁瑣的工作,這個繁瑣的工作就是作業系統來幹的,有了它,程式設計師就從這些繁瑣的工作中解脫了出來,只需要考慮自己的應用軟體的編寫就可以了,應用軟體直接使用作業系統提供的功能來間接使用硬體。

精簡的說,作業系統就是乙個協調、管理和控制計算機硬體資源和軟體資源的控制程式。

細說的話,作業系統應該分成兩部分功能:

1.隱藏了醜陋的硬體呼叫介面,為應用程式設計師提供呼叫硬體資源更好、更清晰的模型(採用呼叫介面)。應用程式設計師有了這些介面後,就不用再考慮操作硬體的細節,專心開發自己的應用程式即可。

2.將應用程式對硬體資源的競態請求變得有序化。

作業系統所處的位置如圖所示:

併發程式設計 作業系統 併發 簡介

1,作業系統介紹 現代的作業系統中有 分時技術 多道技術 實時技術.多道技術 可以在計算機中同時存在多個程式,當乙個程式在進行io操作的時候,另外乙個程式可以使用cpu 分時技術 在多道技術的基礎上 反而降低了cpu的利用率,但是提高了使用者體驗 特點 多路性.若干個使用者同時使用一台計算機.圍觀上...

32 併發程式設計 作業系統

一 作業系統 1 定義 精簡的說的話,作業系統就是乙個協調 管理和控制計算機硬體資源和軟體資源的控制程式。作業系統位於計算機硬體與應用軟體之間,本質也是乙個軟體。作業系統由作業系統的核心 執行於核心態,管理硬體資源 以及系統呼叫 執行於使用者態,為應用程式設計師寫的應用程式提供系統呼叫介面 兩部分組...

《作業系統》併發

相關術語 程序的互動 根據程序相互之間知道對方的程度分類為如下幾個等級。互斥的要求 互斥的硬體支援 中斷禁用 專用機器指令 比較和交換指令,交換指令 互斥的軟體支援 訊號量看成乙個值為整數的變數。主要有三個操作 訊號量可以初始化為非負數 semwait操作使訊號量減一,若值為負數,則阻塞執行semw...