系統分析師——計算機系統基礎

系統分析師——計算機系統基礎

引言

作為系統分析師學習的第一節課,計算機系統基礎部分構建了整個知識體系的核心框架。本文將圍繞計算機系統的層次結構、硬件組成、軟件分類以及關鍵技術點進行詳細總結,為后續深入學習奠定基礎。

本節學習內容如下圖:
在這里插入圖片描述

一、計算機系統層次結構

1. 硬件層:系統的物理基石

計算機系統的最底層,由物理設備直接構成,包含三大核心部分:

  • 硬聯邏輯:由電路、觸發器等硬件設備組成的計算機內核,是指令執行的物理基礎
  • 微指令系統:構成機器指令的微程序集合,是硬件與軟件交互的橋梁
  • 機器指令語言:計算機能直接識別的二進制字符串,如10010101形式的指令碼

2. 系統層:硬件與應用的中間紐帶

位于硬件層之上,負責資源管理與程序執行:

  • 操作系統:核心系統軟件,承擔CPU調度、內存分配、設備管理等關鍵任務(如Windows、Linux)
  • 語言處理程序:實現高級語言到機器語言的轉換,包括:
    • 編譯程序:一次性將源程序轉為目標代碼(如C語言編譯器)
    • 匯編程序:將匯編語言轉為機器語言
    • 解釋程序:逐行解釋執行代碼(如Python解釋器)

3. 應用層:面向用戶的功能實現

系統最上層,包含各類具體業務軟件:

  • 辦公軟件(Word、Excel)
  • 多媒體軟件(視頻播放器、圖像編輯器)
  • 行業專用軟件(財務系統、CAD設計工具)

二、硬件系統組成:馮·諾依曼體系核心

1. 五大經典部件

(1)運算器
  • 功能:執行算術運算(加減乘除)和邏輯運算(與、或、非、異或)
  • 實例:CPU中的ALU(算術邏輯單元)
(2)控制器
  • 地位:CPU核心組件
  • 功能:指令譯碼、時序控制、電路協調,如從內存讀取指令并解析執行流程
(3)存儲器
類型速度容量典型設備
內存RAM(隨機存取存儲器)
外存硬盤、U盤、光盤
(4)輸入設備
  • 人機交互入口:鍵盤、鼠標、麥克風、掃描儀等
(5)輸出設備
  • 結果展示出口:顯示器、打印機、揚聲器等

2. CPU:硬件系統的"大腦"

  • 組成:運算器+控制器
  • 核心指標:時鐘頻率(GHz)、核心數、緩存大小
  • 工作流程:取指令→譯碼→執行→寫回結果

三、軟件系統分類與特性

1. 系統軟件:管理計算機資源

  • 操作系統:Windows、Linux、Unix等
  • 語言處理程序:編譯器(GCC)、解釋器(Python)
  • 數據庫管理系統:MySQL、Oracle、SQL Server
  • 服務性程序:調試器、磁盤碎片整理工具
  • 網絡軟件:TCP/IP協議棧、路由器管理程序

2. 應用軟件:滿足特定需求

  • 面向用戶直接使用,如:
    • 社交軟件(微信、QQ)
    • 地圖導航(高德、百度地圖)
    • 視頻編輯(Premiere、剪映)

3. 核心區別

  • 系統軟件:關注計算機資源的高效管理
  • 應用軟件:聚焦用戶具體業務需求的實現

四、固件:硬件與軟件的融合體

1. 定義

存儲在EPROM/EEPROM等非易失性存儲器中的程序

2. 典型特征

  • 兼具硬件持久性(斷電不丟失)和軟件功能性
  • 固化后不可隨意更改
  • 常見于嵌入式系統中

3. 實例

  • BIOS(基本輸入輸出系統):計算機啟動時運行的第一批程序
  • 路由器中的固件:控制網絡設備的基本功能

五、校驗碼技術:數據可靠性保障

1. 碼距:錯誤檢測的基礎

  • 定義:兩個編碼轉換時需要改變的二進制位數
  • 示例:1001的碼距為2
  • 關鍵特性:碼距越大,系統的檢錯/糾錯能力越強

2. 奇偶校驗碼:簡單高效的檢錯方案

(1)原理

通過添加1位校驗位,使編碼中"1"的個數滿足奇偶性:

  • 奇校驗:確保1的個數為奇數
  • 偶校驗:確保1的個數為偶數
(2)實例

原始數據:101110(1的個數為4)

  • 奇校驗:添加1→1011101(1的個數5,奇數)
  • 偶校驗:添加0→1011100(1的個數4,偶數)
(3)局限性
  • 碼距為2
  • 只能檢測奇數位錯誤(如1位錯可檢出,2位錯無法識別)
  • 無糾錯能力,僅能判斷是否出錯

3. 循環冗余校驗碼(CRC):高效的錯誤檢測

(1)核心特性
  • 可檢測任意位數的錯誤
  • 需要預先約定生成多項式(如題目中常見的G(x)=x3+x+1對應二進制1011)
(2)生成步驟
  1. 將生成多項式轉換為二進制除數
  2. 在原始信息位后補r個0(r為多項式次數)
  3. 進行模2除法(異或運算)得到余數
  4. 余數作為校驗碼附加到原始信息后
(3)實例

原始數據:1100,生成多項式1011(r=3)

  • 補0后:1100000
  • 模2除法:1100000 ÷ 1011 → 余數010
  • 最終編碼:1100010
(4)校驗方式

接收方用相同多項式進行模2除法,余數為0則無錯。

4. 海明碼:具備糾錯能力的高級校驗

(1)核心原理

利用奇偶性實現檢錯與糾錯,校驗位固定位于2?位置(1,2,4,8…)

(2)關鍵公式

校驗位數量k與數據位n需滿足:2? ≥ n + k + 1

(3)編碼步驟
  1. 校驗位定位:如k=3時,位于1,2,4位
  2. 數據位分配:非2?位置存放數據(如4位數據占用3,5,6,7位)
  3. 異或計算校驗位:根據二進制位組合關系計算
(4)實例

4位數據1011的海明碼編碼:

  • 數據位占用3,5,6,7位
  • 校驗位計算:
    • p1(第1位):校驗1,3,5,7位的奇偶性
    • p2(第2位):校驗2,3,6,7位的奇偶性
    • p4(第4位):校驗4,5,6,7位的奇偶性
  • 最終編碼:1010101
(5)檢錯與糾錯
  • 接收方異或運算,結果全0(偶校驗)表示正確
  • 錯誤定位:異常校驗位組合成二進制數,直接指示錯誤位置(如100表示第4位錯)
  • 糾錯:對錯誤位取反即可修正

歡迎各位友友的催更,也歡迎各位友友在評論區交流學習!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/84669.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/84669.shtml
英文地址,請注明出處:http://en.pswp.cn/web/84669.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JS常用設計模式匯總

1、基于類的單例模式 // PageManager.js class PageManager {constructor(config) {if (!PageManager.instance) {this.config config;this.initialized false;PageManager.instance this;this.init();}return PageManager.instance;}init() {if (this.initialized) return…

邁向軟件開發 T 型人才之路:構建多元能力體系

在軟件開發的廣袤天地里,T 型人才備受矚目。這類人才猶如具備強大能量的 “多面手”,既有深入專精的技術能力,又有廣泛多元的知識與技能儲備,能夠從容應對復雜多變的項目需求,引領行業創新發展。于當今社會而言&#x…

SALMONN-omni論文閱讀

論文鏈接 項目鏈接 名詞理解: backchanneling: 指的是聽話人在不打斷說話人的情況下,用簡短的語氣詞或動作表示“我在聽”“我理解了”的反饋。 常見示例包括: “嗯哼”(“uh-huh”) “對的”&#xff08…

區塊鏈:什么是DeFi?

DeFi(去中心化金融,Decentralized Finance) 是一種基于區塊鏈技術的金融生態系統,旨在通過去中心化的方式提供傳統金融服務(如借貸、交易、儲蓄等),無需依賴銀行、經紀商等中介機構。DeFi主要構…

idea編譯器使用git拉取、提交非常慢的原因和解決方案

前言 最近在公司換了一個電腦,但是發現這個電腦用idea編譯器使用git拉取、提交各種操作非常慢,有時候需要等10分鐘左右,這明顯是不對勁的,說明電腦的某些環境影響到git和idea之間的整合了。 目錄 在idea拉取代碼非常慢的原因 解決方案 在idea拉取代碼非常慢的原因 經過排查…

C語言變量的奇妙世界:探秘作用域

資料合集下載鏈接: ??https://pan.quark.cn/s/472bbdfcd014?? 在C語言的編程世界里,變量是我們存儲和操作數據的基礎。然而,僅僅知道如何定義和使用變量是遠遠不夠的。一個更深層次的理解,在于掌握變量的“作用域”——也就是變量在程序中可以被訪問和使用的范圍。這就…

恒流源和直流穩壓電源 電路

目錄 前言一、恒流源電路1.低端反饋2.低端反饋注意事項注意1:電阻Rx注意2:三極管和運放的限制 3.高端反饋注意:自激振蕩方案二 二、直流穩壓電源電流1.帶反饋2.不帶反饋3.區別 前言 基礎知識可以看個人筆記:個人筆記 一、恒流源…

那些年,曾經輝煌過的數據庫

滾滾長江東逝水,浪花淘盡英雄! 數據庫的演進史,正是這樣一部“英雄迭代”的壯闊史詩。從早期數據模型的拓荒者,到關系型數據庫的商業巨頭;從桌面應用的普及者,再到開源與大數據時代的弄潮兒;每…

2D曲線點云平滑去噪

2D曲線點云,含許多噪聲,采用類似移動最小二乘的方法(MLS)分段擬合拋物線并投影至拋物線,進行點云平滑去噪。 更通俗的說法是讓有一定寬度的曲線點云,變成一條細曲線上的點。 分兩種情況進行討論: 1&#…

【平面波導外腔激光器專題系列】用于精密測量的平面波導外腔激光器特性

----翻譯自Kenji Numata等人的文章 摘要 1542 nm平面波導外腔激光器PW-ECL具有足夠低的噪聲非常適合精密測量應用。與 0.1mHz至100kHz 之間,其頻率和強度噪聲與非平面環形振蕩器 NPRO和光纖激光器相當或更好。通過將 PW-ECL 的頻率穩定在乙炔(13C2H2&a…

文件時間修改器

文件時間修改器是一款幫助用戶修改文件創建時間的軟件,支持毫秒級時間的修改,包括文件的創建時間、修改時間、訪問時間等時間都支持修改,可以批量處理文件。 飛貓云下載 | 備用下載1 |備用下載2 基本簡介 本軟件主要為批量修改文件的創建時…

倉頡語言實戰:MQTT物聯網開發

目錄 引言 mqtt4cj庫的使用 申請倉頡編程語言內測 下載STDX 測試程序 結束語 引言 最近一直在學習倉頡語言,由于我對物聯網比較感興趣,自然想到寫一個MQTT的程序,好在找到了mqtt4cj庫,今天分享一下學習心得。 mqtt4cj庫的…

OpenCV CUDA模塊設備層-----用于在 CUDA 核函數中訪問紋理數據的一個封裝類TexturePtr()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 TexturePtr<T, R> 是 OpenCV 的 opencv_cudev 模塊中用于在 CUDA 核函數中訪問紋理數據的一個封裝類。它主要用于將一個已創建好的 cudaTe…

Spring Boot的自動裝配和自動配置

Spring Boot的自動裝配&#xff08;Auto Wiring&#xff09;和自動配置&#xff08;Auto Configuration&#xff09;是兩個不同的概念&#xff0c;它們在Spring框架中各自有不同的作用和用途。下面我將詳細解釋它們的區別和聯系。 自動裝配&#xff08;Auto Wiring&#xff09…

如何用 vue-office 快速搭建文檔在線預覽服務

1. 什么是 vue-office 1.1 vue-office 簡介 vue-office 是一個基于 Vue 的組件庫,用于在 Web 應用中快速集成 Office 文檔的在線預覽功能。它支持 Word、Excel 和 PowerPoint 等多種格式,并提供了簡潔的 API 接口和豐富的自定義選項。 1.2 支持的文檔類型與核心特性 支持的…

Python爬蟲(六):Scrapy框架

"Scrapy到底該怎么學&#xff1f;"今天&#xff0c;我將用這篇萬字長文&#xff0c;帶你從零開始掌握Scrapy框架的核心用法&#xff0c;并分享我在實際項目中的實戰經驗&#xff01;建議收藏?&#xff01; 一、Scrapy簡介&#xff1a;為什么選擇它&#xff1f; 1.…

Linux中關閉swap分區

在 Linux 系統中關閉 swap 分區&#xff08;或交換文件&#xff09;的步驟如下&#xff0c;請務必在操作前保存所有數據&#xff0c;以免丟失&#xff1a; &#x1f4cc; 完整操作步驟&#xff1a; 1. 查看當前 swap 使用情況 free -h swapon --show # 查看活躍的 swap 設…

RPGMZ游戲引擎之如何設計每小時開啟一次的副本

本文知識點 1. 獲取時間 2. 時間格式要正確 3. 事件內如何設計 正文開始 1. 獲取時間 首先獲取當前時間 然后保存在 事件內的變量里面 后需要判斷時間是否相等 function 獲取當前日期(){const now new Date();return now.toISOString();}; 2. 時間格式要正確 now.toI…

學習路之uniapp--uniapp擴展uni-ui

這里寫目錄標題 一、新建項目二、下載導入插件三、直接創建uni-ui項目 一、新建項目 二、下載導入插件 三、直接創建uni-ui項目 創建uniapp項目時&#xff0c;直接創建uni-ui項目

Kotlin 2.6 猜數小游戲

本次實戰通過開發猜數小游戲&#xff0c;深入學習了 Kotlin 編程的循環控制和條件判斷。游戲要求計算機隨機生成一個數字&#xff0c;用戶通過輸入猜測&#xff0c;程序根據猜測結果給出提示&#xff0c;直到猜中為止。通過實現這一過程&#xff0c;我們掌握了如何使用 while 循…