跳轉至內容

資訊編碼系統

來自 Wikibooks,開放世界中的開放書籍

試卷 2 - ⇑ 計算機系統基礎 ⇑

← 數制 硬體和軟體 二進位制數系統 →


硬體和軟體

[編輯 | 編輯原始碼]
規範覆蓋範圍
  • 3.6.1 - 硬體和軟體
硬體 - 指計算機的物理部件,包括內部和外部部件的通用術語。


計算機硬體是指計算機的物理元件。區分內部元件(處理和儲存裝置)和外部元件(通常稱為外設)非常重要。

  • 外部元件(外設):硬體的外部元件是可以觸控的部件,例如顯示器、滑鼠、鍵盤和印表機。外部元件用於將資料輸入或輸出系統。因此,它們被稱為輸入和輸出 (I/O) 裝置。
  • 內部元件(處理和儲存):內部硬體元件位於計算機機箱內,包括處理器、硬碟、記憶體晶片、音效卡、顯示卡以及連線所有這些裝置彼此以及 I/O 裝置所需的電路。





軟體 - 指任何可以在計算機上執行的程式的通用術語。


軟體是用於描述我們在計算機上執行的所有程式的通用術語。這些程式包含處理器將執行的指令,以完成各種任務。這涵蓋了從文字處理器、電子表格和資料庫等標準應用程式到網頁創作軟體和遊戲等更具體的應用程式的巨大可能性。它還包括計算機管理其所有資源所需的程式,例如檔案管理和防病毒軟體。

應用程式軟體是指使用者為了完成特定任務而使用所有程式。實際上,這就是使用者使用計算機的目的。

系統軟體涵蓋了一系列與計算機設定和執行的更技術方面相關的程式。主要有四種類型

  • 實用程式
  • 庫程式
  • 翻譯器
  • 作業系統軟體

實用程式涵蓋了編寫用於在計算機上執行某些維護任務的軟體。實用程式通常以免費下載的形式提供,旨在增強您計算機和程式的使用,儘管您的計算機在沒有它們的情況下仍然可以工作。壓縮軟體是實用程式的一個常見示例。

庫程式類似於實用程式,因為它們被編寫用於執行常見任務。術語“庫”表明系統使用者可以使用許多軟體工具。某些實用程式是非必需的,而庫程式往往對它們構建的應用程式至關重要,例如包含程式碼、資料和資源的動態連結庫 (DLL) 檔案。

翻譯器

[編輯 | 編輯原始碼]

翻譯器是程式設計師用來將程式從一種語言轉換為另一種語言的軟體。主要有三種類型:編譯器彙編器直譯器

編譯器 - 一種透過翻譯所有程式碼將高階語言轉換為機器碼的程式。


彙編器 - 一種將用匯編語言編寫的程式轉換為機器碼的程式。


直譯器 - 一種高階語言翻譯程式,透過讀取原始碼中的每個語句並立即執行操作來工作。


為了編寫軟體,程式設計師使用程式語言,使他們能夠以對程式設計師友好的方式編寫程式碼。但是,處理器將無法理解程式設計師的程式碼,因此必須將其轉換為機器碼,即 0 和 1。編譯器、彙編器和直譯器用於執行此轉換過程。




直譯器和編譯器的優缺點

[編輯 | 編輯原始碼]

直譯器的優點

  • 無需編譯整個程式即可執行程式碼的部分。
  • 每次執行程式碼時都會進行解釋,因此可以在具有不同指令集的處理器上執行程式。
  • 在開發程式碼時查詢錯誤很有用

直譯器的缺點

  • 執行程式所需的時間可能很長。部分原因是,如果您一遍又一遍地重複相同的程式碼段,則需要每次都進行翻譯。
  • 要執行程式,計算機必須安裝直譯器。
  • 要分發程式碼,您需要分發原始碼

編譯器的優點

  • 編譯後,您不再需要編譯器或原始碼
  • 分發程式時,原始碼很難弄清楚

編譯器的缺點

  • 編譯後的程式碼僅適用於使用相同指令集的計算機
  • 程式碼的一小部分更改會導致需要重新編譯


位元組碼

[編輯 | 編輯原始碼]

位元組碼是一種中間程式碼(即介於原始碼和目的碼之間)。原始碼被翻譯成位元組碼,可以在虛擬機器(例如 Java 虛擬機器)上執行。虛擬機器將位元組碼轉換為相應的指令程式碼。

作業系統軟體

[編輯 | 編輯原始碼]

作業系統是旨在充當使用者和計算機之間介面的軟體集合,管理計算機的整體操作。它將硬體、應用程式和使用者聯絡起來,但隱藏了計算機的真正複雜性,使其對使用者和其他軟體不可見——一個所謂的虛擬機器。作業系統不被視為虛擬機器。這是誤導性的。






作業系統執行的常見任務包括

  • 在計算機和使用者之間提供介面;
  • 管理裝置/檔案/記憶體;
  • 提供虛擬機器;
  • 提供其他程式可以執行的軟體平臺//執行應用程式軟體;
  • 向用戶隱藏硬體的複雜性。


資源管理

[編輯 | 編輯原始碼]

在只有一臺處理器的計算機中,任何時候只能執行一個程式。為了允許多個程式同時執行,作業系統必須分配對處理器和其他資源(如外設和記憶體)的訪問許可權。

作業系統的主要任務之一是確保所有這些分配都能儘可能有效地利用可用資源。通常,計算機中使用最頻繁的資源是處理器。分配對處理器和其他資源的訪問過程稱為**排程**。

**排程** - 一種技術,確保不同的使用者或不同的程式能夠在同一計算機系統上同時工作。


作業系統排程對處理器的訪問的最簡單方法是為每個任務分配一個時間片。這意味著每個任務都獲得相同數量的處理器時間。這個將處理器訪問權從一個任務傳遞到下一個任務的過程也稱為“迴圈”排程。



與處理器處理請求的速度相比,訪問某些裝置是一個相對較慢的過程。作業系統可以有效地建立一個等待裝置的命令佇列,然後按順序或基於優先順序處理每個請求,而不是等待每個程序結束才能繼續。



記憶體管理

[編輯 | 編輯原始碼]
**記憶體管理** - 作業系統如何使用 RAM 來最佳化計算機的效能。


作業系統將所有未分配位置的詳細資訊儲存在記憶體中稱為堆的部分。當應用程式需要一些記憶體時,它將從堆中分配,並且一旦應用程式完成使用某個記憶體位置或應用程式關閉,現在不需要的記憶體位置將返回到堆中。作業系統透過建立記憶體對映來控制主記憶體的使用,該對映顯示哪些記憶體塊已分配給每個任務。透過這種方式,作業系統可以在任何時間控制 RAM 中的一個以上任務。

虛擬記憶體

[編輯 | 編輯原始碼]

如果應用程式需要的記憶體超過計算機的記憶體,則作業系統有時會使用輔助儲存器的一部分來模擬 RAM。這稱為虛擬記憶體。



檔案管理

[編輯 | 編輯原始碼]

作業系統負責管理儲存的檔案以及儲存它們的資料夾。這為使用者提供了一種易於理解的方式來管理他們的檔案,隱藏了檔案如何儲存在硬碟上的複雜性。

輸入/輸出管理

[編輯 | 編輯原始碼]

作業系統負責處理輸入裝置(鍵盤、滑鼠)以及輸出裝置(分配列印作業、螢幕輸出)。

  • 計算機系統由硬體和軟體組成。
  • 硬體通常根據內部和外部元件進行分類。
  • 系統軟體包括作業系統、庫和實用程式。
  • 編譯器、直譯器和彙編器是將高階程式語言轉換為可執行指令的程式。
  • 作業系統在管理資源方面發揮著至關重要的作用。
練習

計算機系統由硬體和軟體組成。硬體和軟體指的是什麼?

答案

**硬體** - 計算機的電子/物理元件/部件(電子電路)。

**軟體** - 在硬體/計算機上執行的程式(指令序列)。

外設可以分為輸入、輸出或輸入/輸出 (I/O) 裝置。解釋什麼是外設。

答案

以下之一

  • 不是 CPU 部分的(硬體)裝置;
  • 外部(硬體)裝置;
  • 未內建/不是(主)計算機(系統)的一部分 // 計算機外部。

系統軟體執行操作硬體所需的任務。作業系統和庫程式是系統軟體。
說明作業系統的**一個**作用和庫程式的**一個**用途。

答案

作業系統

  • 在計算機和使用者之間提供介面;
  • 管理裝置/檔案/記憶體;
  • 提供虛擬機器;
  • 提供其他程式可以執行的軟體平臺//執行應用程式軟體;
  • 向用戶隱藏硬體的複雜性。


庫程式

  • 允許在程式之間共享執行時程式碼;
  • 節省記憶體,因為例程僅在需要時載入;
  • 在編寫程式時提供對過程/函式的訪問;
  • 減少所需的程式設計量 // 編寫程式所需的時間。

什麼型別的程式轉換器用於將組合語言轉換為機器程式碼?

答案

彙編器

已複製到機器人的 RobotC 程式可以透過內建直譯器執行。高階語言直譯器是如何工作的?

答案

  • 逐行分析原始碼的每個語句;
  • 逐行執行/轉換/執行;
  • 呼叫例程來執行每個指令/語句。
華夏公益教科書