iT邦幫忙

2023 iThome 鐵人賽

DAY 15
2

延續昨天的「作業系統的簡介」,今天要來講作業系統的分類和進化史
然後剛好看到一張梗圖,分享給大家XDD 網友真有才
https://ithelp.ithome.com.tw/upload/images/20230930/20149362Y0VTZVqBBH.jpg

▋作業系統類型

一、主機型系統

▪ 手動操作階段

https://ithelp.ithome.com.tw/upload/images/20230930/2014936287sF7RiAUM.jpg
磁帶機 圖片來源

這個階段是由「人工」來安排工作的排序。只有電腦硬體,沒有軟體!
輸入的裝置可能是讀卡機或磁帶機; 輸出裝置是磁帶機、印表機、打孔機
操作流程大致是程式人員會將程式和資料打動在打孔紙(打孔卡)上,接著依序輸入到計算機裡,之後再由控制台來執行
一個程式寫完到執行完可能需要一個禮拜的時間!!還不包含程式有bug喔!!如果有就需要更久的時間。真的超級費時的!「手動操作階段」就是需要花很多人力做資料的裝線和讀取的工作
https://ithelp.ithome.com.tw/upload/images/20230930/20149362Hp77udjkQC.png
打孔卡 圖片來源

引發的問題:

  • CPU Idle Time (閒置時間)過長,造成 User 完成 Job 的時間難以預估
  • 人為介入的時間太長
  • 使用者獨佔計算機的所有資源
  • 一個作業尚未完成之前,是不能穿插其他作業的,執行是同步的
  • 使用者要直接接觸硬體,較難上手,須熟悉計算機的各元件及其操作方法

解決方法:

  • 利用「Resident Monitor常駐監督程式」來安排工作的執行順序。內含工作排程元件(Job Scheduling)、載入器(loader)、直譯器(Interpreter),利用控制卡安排工作,每個指令是由直譯器來做翻譯

▪ 批次系統(Batch system; batch processing)

https://ithelp.ithome.com.tw/upload/images/20230930/201493627FafauB5PA.png
圖片來源

「批次系統」會將所排程的作業一次完成,負責將一個工作轉換到下一個工作時做自動化轉換。操作流程大概是:

  1. 把相似的工作集合成批(batch),以批為單位
  2. 將整批作業讀入主記憶體的緩衝區再轉到磁帶上
  3. 由「監控程式」將磁帶上的作業讀入主記憶體,交給 CPU 進行運算和處理
  4. 「監控程式」進行監控,一個作業接著一個作業運作,各作業間的轉換由「監控程式」自動操作

「批次系統」有以下特點:

  • 可將工作的建置、排程以及執行序列化
  • 各個作業之間的轉換是透過監控程式自動操作,將轉換自動化,縮短了作業之間等待 CPU 的時間
  • 批次系統常駐在記憶體中
  • 無需人工介入
  • 允許把所有工作都放在磁碟中,不必串列在讀卡機上
  • 不必理解計算機各元件的細節和操作就可以執行,上手難度減低

▪ 多元程式規劃系統(Multiprogramming)

https://ithelp.ithome.com.tw/upload/images/20230930/20149362pEzC02EWdg.png
圖片來源

「多元程式規劃系統」利用完成一個作業的空檔,進行另一個作業,也就是只要 process(程序)進入等待時, CPU 就會被轉移到其他工作上運作,一直保持著忙碌的狀態。「多元程式規劃系統」中有兩種主要的排班/排程(Schedule):

  1. 工作排班(Job Scheduling)
  2. 處理器排班(CPU Scheduling)

PS 「排程/排班」是什麼?
當今天要被執行的作業很多時,在資源有限的情況下勢必會有執行的優先順序,這個順序的關係就稱為「排程」或「排班」

「多元程式規劃系統」有以下特點:

  • CPU 閒置的時間縮短,增進 CPU 使用效率
  • 同時可服務多位使用者和多個程式
  • 對程序來說,一次只能執行一個程序

▪ 分時系統(Time-Sharing)

https://ithelp.ithome.com.tw/upload/images/20230930/20149362d6pxsfGwv6.png
圖片來源

「分時系統」是將 CPU 的時間切割成多個區段,讓 CPU 在許多程序和使用者之間能夠不斷切換、穿梭來執行工作。由於切換得很頻繁而且時間很短,就會讓使用者以為電腦只專門為他一個人服務,但實際上卻是許多使用者同時使用一部電腦呀,就像開了分身一樣。也拜「分時系統」所賜,讓一群使用者可以同時在同個機器上做不同的工作

「分時系統」是依靠「時間觸發」(Time Driven),不管程序目前在什麼狀態,時間一到 CPU 就到下一個程序,原本的程序就得進入等待

「分時系統」有以下特點:

  • 可以同時讓多個使用者連到同一台計算機上,且不同使者間不會互相干擾
  • 每個動作或命令通常都比較短,因此轉移的速度也較快
  • 對程序來說,一次只能執行一個程序
  • 不同使用者之間的任務並不會互相干擾

二、多處理器系統(Multiprocessing;Parellel system)

https://ithelp.ithome.com.tw/upload/images/20230930/20149362oet5ywT3oD.png
圖片來源

「多處理器系統」顧名思義就是具有多個中央處理器,以平行處理模式處理工作的排程,並共享資源、時脈等。在進行大量運算時,有多個處理器可以分擔工作,所以效能也跟著提升!但效能並不是倍數成長
例如:今天多了 4 顆處理器,效能並不會也跟著提升 4 倍,因為多個處理器同時運作,也會需要資源去保持工作的執行,雖沒辦法倍數成長,但是效能提升還是有的

另外就是,容錯率(Fault Tolerance)提高,因為有多個處理器運作,所以就算其中一個處理器發生問題,系統也不會因此終止

三、分散式系統(Distributed System)

前面介紹的系統通常是同個工作由同一部電腦的「一個」或「多個」 CPU 來執行,在「分散式系統」中,電腦並不會共享資源和時脈,都有自己的記憶體甚至是作業系統,彼此之間依靠**「網路」**來傳遞資訊。分散式系統近幾年因為網路的進步,也跟著越來越成熟,web service(網路服務) 就是將分散式系統變成網路上的標準化服務,讓應用服務可以「跨平台」傳遞資訊。web service 通常是許多應用程式介面(API)所組成
分散式系統的特性是資料會在網路上互傳,所以要留意安全性問題喔~

總結

作業系統是個廣大水深的領域,在學校可能就是一學期的一門課,本系列文章所談到的還只是冰山一角,講大概的架構而已,像是「即時系統」、「手持系統」也是屬於作業系統的類型。如果還想了解更多可以參考書籍或是聯合大學 - 資管系的教授提供的免費課程 http://debussy.im.nuu.edu.tw/sjchen/OS_Final.html

參考資源

  1. 杰哥數位教室 - 作業系統簡介系列
  2. 全華 - 計算機概論 資訊素養大補帖
  3. wikipedia

上一篇
Day 14 | 電腦怎麼處理各種作業的?作業系統簡介
下一篇
Day 16 | CPU也會排班 ?
系列文
來場計概入門課吧X資訊人該了解的通識素養31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言