併發程式設計(1)-作業系統發展歷史
概要:
- 為什麼要有作業系統
- 什麼是作業系統
- 作業系統與普通軟體的區別
- 作業系統發展史
重點在多道技術
背景:
提供工作效率,充分利用io阻塞時間
同時執行多個任務
多道技術:
1.空間複用::記憶體中有多個程式,充分利用記憶體空間
2.時間複用:有io操作時,可切換程式,無io操作不能切換程式,充分利用io
併發:提高工作效率是偽並行
完成兩項工作:
1.程序之間的切換
2.保護現場,保留你程序執行的狀態.)
一.為什麼要有作業系統
現代的計算機系統主要是由一個或者多個處理器,主存,硬碟,鍵盤,滑鼠,顯示器,印表機,網路介面及其他輸入輸出裝置組成。
一般而言,現代計算機系統是一個複雜的系統。
其一:如果每位應用程式設計師都必須掌握該系統所有的細節,那就不可能再編寫程式碼了(嚴重影響了程式設計師的開發效率:全部掌握這些細節可能需要一萬年....)
其二:並且管理這些部件並加以優化使用,是一件極富挑戰性的工作,於是,計算安裝了一層軟體(系統軟體),稱為作業系統。它的任務就是為使用者程式提供一個更好、更簡單、更清晰的計算機模型,並管理剛才提到的所有裝置。
總結:
程式設計師無法把所有的硬體操作細節都瞭解到,管理這些硬體並且加以優化使用是非常繁瑣的工作,這個繁瑣的工作就是作業系統來乾的,有了他,程式設計師就從這些繁瑣的工作中解脫了出來,只需要考慮自己的應用軟體的編寫就可以了,應用軟體直接使用作業系統提供的功能來間接使用硬體。
二 什麼是作業系統
精簡的說的話,作業系統就是一個協調、管理和控制計算機硬體資源和軟體資源的控制程式。
三.作業系統與普通軟體的區別
1.主要區別是:你不想用暴風影音了你可以選擇用迅雷播放器或者乾脆自己寫一個,但是你無法寫一個屬於作業系統一部分的程式(時鐘中斷處理程式),作業系統由硬體保護,不能被使用者修改。
2.作業系統與使用者程式的差異並不在於二者所處的地位。特別地,作業系統是一個大型、複雜、長壽的軟體
四 作業系統發展史