電腦資料儲存(Strorage Structure)與作業系統的基礎概念

更新於 2024/12/05閱讀時間約 7 分鐘

資料在電腦中的儲存與操作可以用「書櫃、書、書桌」的比喻來幫助理解,這些對應到 Storage Structure(儲存結構)作業系統的運作方式,如下詳細說明:


電腦資料儲存結構的核心概念

  1. 資料(Data)= 書本
  2. 外部儲存裝置(External Storage)= 書櫃
  • 是資料的長期儲存場所,類似硬碟(HDD)或外接硬碟。
  • 它的特點是儲存容量大,適合存放大量的資料,但存取速度較慢。
  • 資料不會因斷電而消失,屬於非揮發性記憶體(Non-Volatile Memory)
  1. 主記憶體(Main Memory)= 書桌
  • 是資料處理的臨時場所,我們常聽到的 RAM(Random Access Memory) 就是屬於主記憶體的一部分。
  • 特點是存取速度快,但容量有限,因此需要優化使用。
  • 當電腦關機或停電時,RAM 中的資料會被清空,屬於揮發性記憶體(Volatile Memory)。
  1. 處理器(Processor / CPU)= 讀書的人
  • 是執行指令、計算和處理資料的核心。
  • CPU 從主記憶體(書桌)取出需要的資料進行運算。

資料存取過程:書櫃、書桌、讀書人

以下由 ChatGPT 補充

從書櫃取書

  • 當需要使用某些資料(書),CPU 會從外部儲存裝置(書櫃)中將資料讀取到主記憶體(書桌)。
  • 這個過程通常需要作業系統(例如 Windows)幫忙,因為書櫃的位置需要被記錄和找到。
  • 特點:慢,但能存大量資料。

書桌上操作

  • 資料讀取到主記憶體後,CPU 可以快速處理(類似在書桌上翻書)。
  • 數據分析或遊戲運行需要較大的 RAM,因為書桌越大,可以處理的書本(資料)就越多。
  • 特點:快,但空間有限,電力中斷後資料消失。

回書櫃或丟棄書

  • 當資料處理完畢,可能會:將修改過的資料儲存回外部裝置(書櫃)。不需要的資料直接丟棄(清空 RAM)。

參考資料及圖片來源:

Basics of OS (Storage Structure)

raw-image

比較

raw-image

小結

  • 書櫃(外部儲存裝置): 存量大,適合長期儲存資料,但存取速度慢。
  • 書桌(主記憶體 RAM): 存量小,但速度快,適合短期處理資料。
  • 讀書人(CPU): 負責處理資料,依賴書桌上的資訊進行運算。
  • 作業系統: 像管理員一樣負責協調資料從書櫃到書桌的搬運,並處理資源分配和效率優化。



作業系統是什麼?

Operating System Tutorial

讓我們繼續談作業系統,像下圖電腦有那麼多單元,CPU 專門運算,Disks 外接應碟,有點像電腦的D槽。還有其他外接設備像是藍芽滑鼠等等,需要靠作業系統分配任務。他們有一條實體的「馬路」來互相傳遞訊息,而這條馬路就是 Common Bus!(同下圖各單元都有線連接)

圖片來源:Basics of OS (Computer System Operation)

raw-image

Common Bus 的角色

以下資料參考ChatGPT

  1. 資料傳輸(Data Bus)
    負責把資料從一個硬體傳到另一個硬體,比如 CPU 和記憶體之間的數據交換。
  2. 位址傳輸(Address Bus)
    用來傳遞位址訊息,告訴硬體該去哪裡找資料。例如,CPU 要從記憶體讀取資料時,會先透過 Address Bus 指定資料的位置。
  3. 控制訊號(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. ProcessorCoreCPU

  • Processor:是一個硬體元件,包含多個核心(Core)。它可以被看作是整個中央處理器的總稱。
  • Core:是 Processor 中負責執行指令的基本運算單元。現代的處理器通常是多核心的,這意味著它可以同時執行多個指令,提升效率。
  • CPU:通常與 Processor 同義,但更狹義地表示執行運算的部分。CPU 從記憶體中提取資料進行計算。例如,當你播放音樂時,CPU 會從記憶體讀取音樂檔案並解碼處理。

本篇僅淺談作業系統在電腦中扮演的角色,提到 CPU 需要從記憶體讀取資料做運算。下篇會繼續寫記憶體還有程式跟作業系統的互動。

留言0
查看全部
avatar-img
發表第一個留言支持創作者!
本文深入探討 NoSQL 資料庫的特性及優勢,並將其與傳統 SQL 資料庫進行比較。NoSQL 資料庫因其結構靈活、擴展性強而適合儲存變化多端的數據,特別是在社交媒體和電商平臺等高需求場景。CAP 理論也被提出,解釋了分散式系統的能力取捨問題,幫助讀者瞭解在不同需求下如何選擇合適的資料庫技術。
本文探討 SQL 注入(SQL Injection)的攻擊原理及其防護措施。透過具體範例,解釋駭客如何利用應用程式漏洞進行資料庫攻擊,並提供有效的防範方法,包括使用參數化查詢、ORM 框架和輸入驗證等技術,確保應用程式的安全性。最後還簡介資料庫分區與分片的概念,讓讀者更全面理解如何管理和保護資料庫。
本文介紹了資料庫索引的基本原理、類型以及其在資料查詢中的重要性。索引類似於書的目錄,不僅可以提高查詢效率,還有助於組織資料。文章詳細說明瞭主索引、密集索引、稀疏索引、叢索引和非叢索引的定義與特點,並提供了實際的比喻和例子。透過深入瞭解索引的運作,讀者可以更好地設計和優化資料庫,並提升查詢效能。
本篇文章是作者自學 SQL 的筆記,詳述資料庫中的四種主要語言類別:DDL、DML、TCL 及 DCL,每類別對應的功能與常見操作一一列舉,並深入探討交易的特性及其 ACID 原則。此外,文章還解釋了資料庫的正規化及反正規化的必要性,對於學習 SQL 的讀者有很大的幫助。
本文將逐步拆解如何將 ER 圖轉換為 Schema,深入瞭解 ER 圖的意義以及其對於資料庫設計的重要性。透過影片內容,我們可以學習如何清晰地描述實體關係,並將複雜的資料結構轉化為易於管理的 Schema 形式。無論是初學者或有經驗的資料庫管理者,都能從中獲得實用的技巧和知識。
本文探討資料庫設計的基本概念,區別了 Flat-file 和 Database,並詳細介紹了資料庫設計的流程,包括需求分析、ER 圖概念設計、邏輯資料模型和物理模型的轉換。還介紹了關聯式資料庫的基本組成、五大鍵以及各種限制,希望對自學者理解資料庫設計有所幫助。
本文深入探討 NoSQL 資料庫的特性及優勢,並將其與傳統 SQL 資料庫進行比較。NoSQL 資料庫因其結構靈活、擴展性強而適合儲存變化多端的數據,特別是在社交媒體和電商平臺等高需求場景。CAP 理論也被提出,解釋了分散式系統的能力取捨問題,幫助讀者瞭解在不同需求下如何選擇合適的資料庫技術。
本文探討 SQL 注入(SQL Injection)的攻擊原理及其防護措施。透過具體範例,解釋駭客如何利用應用程式漏洞進行資料庫攻擊,並提供有效的防範方法,包括使用參數化查詢、ORM 框架和輸入驗證等技術,確保應用程式的安全性。最後還簡介資料庫分區與分片的概念,讓讀者更全面理解如何管理和保護資料庫。
本文介紹了資料庫索引的基本原理、類型以及其在資料查詢中的重要性。索引類似於書的目錄,不僅可以提高查詢效率,還有助於組織資料。文章詳細說明瞭主索引、密集索引、稀疏索引、叢索引和非叢索引的定義與特點,並提供了實際的比喻和例子。透過深入瞭解索引的運作,讀者可以更好地設計和優化資料庫,並提升查詢效能。
本篇文章是作者自學 SQL 的筆記,詳述資料庫中的四種主要語言類別:DDL、DML、TCL 及 DCL,每類別對應的功能與常見操作一一列舉,並深入探討交易的特性及其 ACID 原則。此外,文章還解釋了資料庫的正規化及反正規化的必要性,對於學習 SQL 的讀者有很大的幫助。
本文將逐步拆解如何將 ER 圖轉換為 Schema,深入瞭解 ER 圖的意義以及其對於資料庫設計的重要性。透過影片內容,我們可以學習如何清晰地描述實體關係,並將複雜的資料結構轉化為易於管理的 Schema 形式。無論是初學者或有經驗的資料庫管理者,都能從中獲得實用的技巧和知識。
本文探討資料庫設計的基本概念,區別了 Flat-file 和 Database,並詳細介紹了資料庫設計的流程,包括需求分析、ER 圖概念設計、邏輯資料模型和物理模型的轉換。還介紹了關聯式資料庫的基本組成、五大鍵以及各種限制,希望對自學者理解資料庫設計有所幫助。
你可能也想看
Google News 追蹤
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
這篇內容,將會講解什麼是陣列,以及與陣列相關的知識。包括陣列的簡介、陣列的資料限制、陣列的維度、一維陣列、二維陣列。
Thumbnail
CSS 盒模型是理解和設計網頁佈局的核心概念。它包括元素的內容、填充、邊框和外邊距。
此篇文章連結 RAM 與 C語言陣列的關係並提供陣列與for-loop 使用的相關教學 前半段為基本電腦觀念、後半段為實作能力的教學
Thumbnail
本文探討了電腦架構的運行方式,使用比喻解釋CPU、記憶體與硬碟的關係,並指出在提升電腦速度時,加記憶體並非總是有效的方法。讀者將瞭解到,解決電腦速度問題需要分析具體的瓶頸,而不是單純依賴擴充記憶體。讓讀者對電腦性能的提升有更深入的理解。
Thumbnail
電腦有很多零件,有CPU、主機板(MB)、記憶體(Memory)... 今天我想分享,我這次組電腦的過程,還有一些好用的技巧,希望能幫助到大家,組出心中的完美電腦!
儲存庫 (Repository) 是檔案(File)的儲存區域。 在版本控制中,儲存庫是包含所有檔案的資料夾[1]。 每次改動檔案,你都可以選擇要不要儲存。 而那些有被處存的改動,就被稱為「提交 Commit」[2]。 而當一個儲存庫有多個開發者(Developer)在貢獻,
※ 生產者和消費者模式 定義: 生產者和消費者在同一時間內共同存取某一個資料空間。生產者負責生成數據並將其放入共享空間,消費者負責從共享空間中取走數據進行處理。兩者之間互不相干,也不須互相知道對方的存在。 共同存取資料空間:生產者和消費者共享同一個資料空間。這個空間通常是緩衝區或隊列,用於在它
Thumbnail
工具功能 (1) 彈性任意查詢檔案,如對來源目錄設定,檔案修改日期 設定,檔名特定字串或副檔名設定後,自動查出明細,並可展開至各階子目錄處理     (2) 依查詢後結果,可產出 LIST ,提供查詢結果之確認,再依此對檔案作複 (3) 可對檔案作移動,複製至別處,刪除處理,使電腦可騰出硬碟空間
Thumbnail
到存放虛擬機的磁碟處\點選想要註冊的機器\註冊機器(登錄虛擬機器)
Thumbnail
題目敘述 題目會給我們一組定義好的界面和需求,要求我們設計一個資料結構,可以滿足平均O(1)的插入元素、刪除元素、隨機取得元素的操作。 RandomizedSet() 類別建構子 bool insert(int val) 插入元素的function界面 bool remove(int val
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
這篇內容,將會講解什麼是陣列,以及與陣列相關的知識。包括陣列的簡介、陣列的資料限制、陣列的維度、一維陣列、二維陣列。
Thumbnail
CSS 盒模型是理解和設計網頁佈局的核心概念。它包括元素的內容、填充、邊框和外邊距。
此篇文章連結 RAM 與 C語言陣列的關係並提供陣列與for-loop 使用的相關教學 前半段為基本電腦觀念、後半段為實作能力的教學
Thumbnail
本文探討了電腦架構的運行方式,使用比喻解釋CPU、記憶體與硬碟的關係,並指出在提升電腦速度時,加記憶體並非總是有效的方法。讀者將瞭解到,解決電腦速度問題需要分析具體的瓶頸,而不是單純依賴擴充記憶體。讓讀者對電腦性能的提升有更深入的理解。
Thumbnail
電腦有很多零件,有CPU、主機板(MB)、記憶體(Memory)... 今天我想分享,我這次組電腦的過程,還有一些好用的技巧,希望能幫助到大家,組出心中的完美電腦!
儲存庫 (Repository) 是檔案(File)的儲存區域。 在版本控制中,儲存庫是包含所有檔案的資料夾[1]。 每次改動檔案,你都可以選擇要不要儲存。 而那些有被處存的改動,就被稱為「提交 Commit」[2]。 而當一個儲存庫有多個開發者(Developer)在貢獻,
※ 生產者和消費者模式 定義: 生產者和消費者在同一時間內共同存取某一個資料空間。生產者負責生成數據並將其放入共享空間,消費者負責從共享空間中取走數據進行處理。兩者之間互不相干,也不須互相知道對方的存在。 共同存取資料空間:生產者和消費者共享同一個資料空間。這個空間通常是緩衝區或隊列,用於在它
Thumbnail
工具功能 (1) 彈性任意查詢檔案,如對來源目錄設定,檔案修改日期 設定,檔名特定字串或副檔名設定後,自動查出明細,並可展開至各階子目錄處理     (2) 依查詢後結果,可產出 LIST ,提供查詢結果之確認,再依此對檔案作複 (3) 可對檔案作移動,複製至別處,刪除處理,使電腦可騰出硬碟空間
Thumbnail
到存放虛擬機的磁碟處\點選想要註冊的機器\註冊機器(登錄虛擬機器)
Thumbnail
題目敘述 題目會給我們一組定義好的界面和需求,要求我們設計一個資料結構,可以滿足平均O(1)的插入元素、刪除元素、隨機取得元素的操作。 RandomizedSet() 類別建構子 bool insert(int val) 插入元素的function界面 bool remove(int val