1. 程式人生 > >併發程式設計(1)-作業系統發展歷史

併發程式設計(1)-作業系統發展歷史

概要:

  1. 為什麼要有作業系統
  2. 什麼是作業系統
  3. 作業系統與普通軟體的區別
  4. 作業系統發展史

重點在多道技術

背景:

提供工作效率,充分利用io阻塞時間

同時執行多個任務

多道技術:

  1.空間複用::記憶體中有多個程式,充分利用記憶體空間

  2.時間複用:有io操作時,可切換程式,無io操作不能切換程式,充分利用io

併發:提高工作效率是偽並行

完成兩項工作:

  1.程序之間的切換

  2.保護現場,保留你程序執行的狀態.)

一.為什麼要有作業系統

現代的計算機系統主要是由一個或者多個處理器,主存,硬碟,鍵盤,滑鼠,顯示器,印表機,網路介面及其他輸入輸出裝置組成。

  一般而言,現代計算機系統是一個複雜的系統。

  其一:如果每位應用程式設計師都必須掌握該系統所有的細節,那就不可能再編寫程式碼了(嚴重影響了程式設計師的開發效率:全部掌握這些細節可能需要一萬年....)

  其二:並且管理這些部件並加以優化使用,是一件極富挑戰性的工作,於是,計算安裝了一層軟體(系統軟體),稱為作業系統。它的任務就是為使用者程式提供一個更好、更簡單、更清晰的計算機模型,並管理剛才提到的所有裝置。

總結:

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

二 什麼是作業系統

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

三.作業系統與普通軟體的區別

1.主要區別是:你不想用暴風影音了你可以選擇用迅雷播放器或者乾脆自己寫一個,但是你無法寫一個屬於作業系統一部分的程式(時鐘中斷處理程式),作業系統由硬體保護,不能被使用者修改。

2.作業系統與使用者程式的差異並不在於二者所處的地位。特別地,作業系統是一個大型、複雜、長壽的軟體

四 作業系統發展史

詳情:https://mp.weixin.qq.com/s/YgZXqT4X6XWVXXgqGyCqeA