資料在電腦中的儲存與操作可以用「書櫃、書、書桌」的比喻來幫助理解,這些對應到 Storage Structure(儲存結構) 和 作業系統的運作方式,如下詳細說明:
電腦資料儲存結構的核心概念
- 資料(Data)= 書本
- 外部儲存裝置(External Storage)= 書櫃
- 是資料的長期儲存場所,類似硬碟(HDD)或外接硬碟。
- 它的特點是儲存容量大,適合存放大量的資料,但存取速度較慢。
- 資料不會因斷電而消失,屬於非揮發性記憶體(Non-Volatile Memory)
- 主記憶體(Main Memory)= 書桌
- 是資料處理的臨時場所,我們常聽到的 RAM(Random Access Memory) 就是屬於主記憶體的一部分。
- 特點是存取速度快,但容量有限,因此需要優化使用。
- 當電腦關機或停電時,RAM 中的資料會被清空,屬於揮發性記憶體(Volatile Memory)。
- 處理器(Processor / CPU)= 讀書的人
- 是執行指令、計算和處理資料的核心。
- CPU 從主記憶體(書桌)取出需要的資料進行運算。
資料存取過程:書櫃、書桌、讀書人
以下由 ChatGPT 補充
從書櫃取書
- 當需要使用某些資料(書),CPU 會從外部儲存裝置(書櫃)中將資料讀取到主記憶體(書桌)。
- 這個過程通常需要作業系統(例如 Windows)幫忙,因為書櫃的位置需要被記錄和找到。
- 特點:慢,但能存大量資料。
書桌上操作
- 資料讀取到主記憶體後,CPU 可以快速處理(類似在書桌上翻書)。
- 數據分析或遊戲運行需要較大的 RAM,因為書桌越大,可以處理的書本(資料)就越多。
- 特點:快,但空間有限,電力中斷後資料消失。
回書櫃或丟棄書
- 當資料處理完畢,可能會:將修改過的資料儲存回外部裝置(書櫃)。不需要的資料直接丟棄(清空 RAM)。
參考資料及圖片來源:
Basics of OS (Storage Structure)
比較
小結
- 書櫃(外部儲存裝置): 存量大,適合長期儲存資料,但存取速度慢。
- 書桌(主記憶體 RAM): 存量小,但速度快,適合短期處理資料。
- 讀書人(CPU): 負責處理資料,依賴書桌上的資訊進行運算。
- 作業系統: 像管理員一樣負責協調資料從書櫃到書桌的搬運,並處理資源分配和效率優化。
作業系統是什麼?
Operating System Tutorial
讓我們繼續談作業系統,像下圖電腦有那麼多單元,CPU 專門運算,Disks 外接應碟,有點像電腦的D槽。還有其他外接設備像是藍芽滑鼠等等,需要靠作業系統分配任務。他們有一條實體的「馬路」來互相傳遞訊息,而這條馬路就是 Common Bus!(同下圖各單元都有線連接)
圖片來源:Basics of OS (Computer System Operation)
Common Bus 的角色
以下資料參考ChatGPT
- 資料傳輸(Data Bus)
負責把資料從一個硬體傳到另一個硬體,比如 CPU 和記憶體之間的數據交換。 - 位址傳輸(Address Bus)
用來傳遞位址訊息,告訴硬體該去哪裡找資料。例如,CPU 要從記憶體讀取資料時,會先透過 Address Bus 指定資料的位置。 - 控制訊號(Control Bus)
傳遞指令和控制訊號,例如「我要讀資料」或「我要寫資料」。
Common Bus 的硬體連結關係
每個硬體裝置都會掛載在 Common Bus 上,像是:
- CPU:負責計算的核心,需要透過 Bus 來存取記憶體或其他裝置。
- 記憶體(RAM):CPU 通過 Bus 把需要計算的資料存到記憶體,或者從記憶體取出結果。
- I/O 裝置(輸入/輸出設備):像鍵盤輸入文字,或者從硬碟讀取檔案,這些都需要經過 Common Bus。
作業系統的核心任務是什麼?
作業系統有點像電腦的大總管,它的工作就是協調硬體、軟體之間的合作,讓使用者可以輕鬆地執行任務。我們來看看作業系統裡幾個重要角色:
1. Kernel(核心)
Kernel 是整個作業系統的「指揮中心」,它負責直接跟硬體打交道,管理資源,像是分配記憶體、指揮 CPU 工作。可以說,Kernel 是硬體和軟體溝通的橋樑。
2. Shell(介面)
Shell 是使用者能操作的地方,它分成兩種形式:
- 文字介面(CLI):像打指令那樣,比如在 Linux 的終端機裡輸入指令
ls
,就可以看到檔案列表。 - 圖形介面(GUI):就是我們平常用的滑鼠點點點,比如 Windows 桌面或 macOS 的操作環境。
所以,當你打開一個程式時,實際上是透過 Shell 向 Kernel 下命令。
3. Interrupt(中斷)和 System Call(系統呼叫)
- 中斷:簡單來說,中斷就是打斷 CPU 的正常工作,要求它優先處理更重要的事。例如你正在打字時,有 USB 插入,這個插入動作就會產生中斷,讓 CPU 暫時停止打字處理,去處理 USB 的連接。
- 系統呼叫:如果應用程式需要作業系統幫忙(比如存取檔案),就會透過系統呼叫向 Kernel 發出請求,讓它來處理。
4. Processor、Core 和 CPU :
- Processor:是一個硬體元件,包含多個核心(Core)。它可以被看作是整個中央處理器的總稱。
- Core:是 Processor 中負責執行指令的基本運算單元。現代的處理器通常是多核心的,這意味著它可以同時執行多個指令,提升效率。
- CPU:通常與 Processor 同義,但更狹義地表示執行運算的部分。CPU 從記憶體中提取資料進行計算。例如,當你播放音樂時,CPU 會從記憶體讀取音樂檔案並解碼處理。
本篇僅淺談作業系統在電腦中扮演的角色,提到 CPU 需要從記憶體讀取資料做運算。下篇會繼續寫記憶體還有程式跟作業系統的互動。