基礎
簡介
OS是管理 hardware 的 program
並且提供Application program的基礎,達到中介(intermediray) 使用者 與 電腦硬體
-
如上圖,分層可以分為
User
System/Application program (文字處理器、編譯器、瀏覽器 …)
OS
Hardware (* IO devices 比如麥克風、音響、螢幕、鍵盤 ….) -
比如打開一個word要編輯文件,word會和要disc的資料,並且輸出在螢幕上,改動後要存回disc , 這些都會用到Hardware。
而OS,可以提供一個泛化的接口,避免我們需要為每一個任務寫一種source code -
User可以簡單、抽象化的打開、使用應用程式,調用硬體會交給OS (比如要求資料、分配記憶體)
OS的目標與功能
目標: 追求方便 與 效率
比如windows偏重方便,linux偏重效率
功能:
- User 與 hardware 的中介
- 分配資源 (allocation of resources)
- 管理記憶體、安全 …
電腦硬體架構
理解OS之前,可以先了解電腦的硬體架構
現代的泛用(general-purpose)電腦由一或多個CPU、 device controller ,bus , shared memory 所組成
其中bus會連接CPU、device controller 到shared memory
重要名詞
- Bootstrap program :
在開機時最一開始被執行的程式,被儲存於ROM中
必須要load OS 與執行OS系統
需要載入OS kernel進入memory - Interrupt :
Hardware 與 software 偵測到事件時,會傳送給OS的訊號
(Hardware 會由bus傳送訊號)
當CPU接受interrupt, 會終止手邊的工作,跳到handler的記憶體位址 - system call : (參考 unix system call) software向OS kernel傳送interrupt,要求更高權限運行的服務
I/O structure
如上述,現代電腦架構由common bus 連結 device controller 、CPU 與 shared memory
其中每個device controller會負責特定種類的裝置,其工作是維護Local buffer storage 與一組特定目的的register
參考資料
- Introduction to Operating System
https://www.youtube.com/watch?v=vBURTt97EkA&list=PLBlnK6fEyqRiVhbXDGLXDk_OQAeuVcp2O