介紹
- 早先的計算機是隻有操作皮膚,沒有螢幕,是隻有輸入和輸出。
- 從這張圖可以看到很多的資訊
- operating system:作業系統
- system and appllcation programs:系統程式與應用程式
- compller: 編譯器
- assembler:彙編器
- database system:資料庫系統
- text editor:文字編輯器
- computer hardware:計算機硬體
- interface:介面,介面,介面
- 介面是連線兩個物體的邊界,透過這個介面,兩邊可以很好的地對話
- 硬體-硬體:usb,hdmi,vga
- 軟體-硬體:使用instruction(指令集)
- 軟體-軟體:application programming interface(api)
- virtual machine(虛擬機器)
- 作業系統向使用者提供一個容易理解和使用的“計算機(虛擬的)”,使用者對這個“計算機”的操作都將被作業系統轉換成對計算機硬體的操作。
- 分層結構:application(軟體),operating system(os作業系統),hardware(硬體)
- 軟體(application)使用虛擬機器介面(virtual machine interface)對作業系統(operating system)進行操作,然後 作業系統(operating system)使用物理機介面(physical machine)對硬體(hardware)進行操作。
- 對硬體直接進行操作是很困難的,分層的方式去操作,可以簡化應用層的工作量,並減少很多錯誤。
- 作業系統能做什麼
- 從使用者的角度
- 提供良好的使用者介面
- 標準的函式庫
- 使得程式設計更加方便並且不容易出錯
- 從系統的角度
- 管理資源
- 硬體資源(處理機,儲存器,裝置)
- 資訊資源(檔案)
- 解決申請資源時產生的衝突(如兩個app都要使用一個檔案的時候,會出現衝突)
- 阻止錯誤的產生和對計算機不正當的使用(抵禦惡意軟體)
- 管理資源
- 定義作業系統
- An operating system acts an intermediary between user of a computer and the computer hardware
- The purpose of an operating system is to provide an environment in which a user can execute programs in a convenient and efficient manner.
- An operating system is software that manages the computer hardware.
計算機系統的組成
- computer system organization(計算機組成)
- bus:匯流排,所有資料從匯流排流出來,然後流進去。
- 鍵盤流出資料到匯流排,透過匯流排流入到記憶體內,之後記憶體再透過bus流出到cpu
- cpu:
- disk controller(硬碟控制器):匯流排透過disk controller連線disk
- usb controller:
- graphics adapter(介面卡):其實就是顯示卡
- disk
- 主引導扇區(boot sector)
- 硬碟的0柱面,0磁頭,1扇區稱為主引導扇區,在這個扇區裡面存放:MBR(Main Boot Record)
- 中斷
- 當有事情(Event)發生時,這裡的event是隨機發生的,cpu會收到一箇中斷(Interrupt)訊號,可以是硬中斷也可以是軟體中斷。
- cpu會停下正在做的事情,轉而執行中斷處理程式,執行完成後回又回到之前被中斷的地方繼續執行。
- operating system is an interrupt driven system
- 以中斷為驅動的作業系統
- storage system(儲存系統)
- cpu負責將指令(Instruction)從記憶體(Memory)讀入
- 記憶體以位元組為儲存單位,每個位元組都有一個地址與之對應,透過load(從記憶體存入暫存器)/store(暫存器流出到記憶體)指令既可訪問指定地址的記憶體資料
- I/O結構
- 作業系統中有一個專門的io子系統負責完成這項工作
- IO裝置
- io device 與 controller/adapter相連線
- Device Driver(驅動)安裝在os(作業系統內部)
計算機系統體系結構
- 單處理器系統
- 多處理器系統
- 叢集系統
作業系統結構
- 單使用者單道模式
- cpu利用率低
- 多道程式設計
- 作業系統最重要的一點是具有多道程式(multiprogramming)能力。
- 多道程式設計透過安排任務使用得cpu總有一個執行任務,從而提高cpu利用率。
- 實現的硬體保證:處理器和io裝置具備並行工作的能力
- 分時系統:
- 也稱為多工系統