電腦基礎-day1

来源:http://www.cnblogs.com/zero527/archive/2017/05/18/6875291.html
-Advertisement-
Play Games

編程語言介紹 語言是人與人之間溝通的介質,簡單的來說,編程語言也是語言,是我們程式員與電腦溝通的介質。常見的編程語言有我們熟知的做網頁開發的php,寫安卓應用的java,應用廣泛的c、c#及c++,以及目前火熱的python、r、go等高級語言,另外還有最接地氣的低級語言彙編語言,但是無論何種語言 ...


編程語言介紹

語言是人與人之間溝通的介質,簡單的來說,編程語言也是語言,是我們程式員與電腦溝通的介質。常見的編程語言有我們熟知的做網頁開發的php,寫安卓應用的java,應用廣泛的c、c#及c++,以及目前火熱的python、r、go等高級語言,另外還有最接地氣的低級語言彙編語言,但是無論何種語言,我們的電腦所能識別的只有機器語言(由0和1組成的二進位機器碼)。

應用、操作系統與硬體

由於電腦硬體只能夠識別機器語言,因此我們所有編程語言按照相應的語法寫出來的腳本文件、執行程式等應用軟體無法直接與硬體交互,必須要跑在存在於硬體之上的操作系統平臺,通過操作系統驅動硬體工作,所以一個完整的電腦系統需要由應用程式、操作系統、電腦硬體三大部分構成。

 

          

 

電腦硬體系統

一臺完整的電腦由處理器、記憶體、硬碟、主板、輸入輸出設備等組成,電腦是人類仿生學的產物

處理器可以看成人類的大腦,負責思考

記憶體可以看成人類的記憶,負責短時間的存儲信息

硬碟可以看成人類的用來永久記錄信息的介質,比如古代的石板獸骨龜甲、現代的紙張

輸入輸出設備可以看成人類的五官四肢,負責接收信息以及傳遞信息

主板可以看成人類的身體,用來連接腦袋和四肢,主板上的匯流排可以理解成人體的神經,負責傳遞人體各個部件的信號

 

電腦硬體之中央處理器

中央處理器(CPU)是電腦的運算與判斷組件,CPU內部含有微指令集,CPU所支持的功能由內部的微指令集決定,CPU所處理的數據來源於於記憶體,而記憶體的數據來源於硬碟,當硬碟內的一個程式執行時候,首先會將程式寫入記憶體中,然後CPU從記憶體中相應的取一段指令進行運算,但是CPU無法對記憶體提供的指令數據直接處理,CPU會將從記憶體調用的數據轉換成自己能夠識別的指令,最後執行反饋結果。

CPU的運行速度要遠遠高於記憶體,為瞭解決CPU和記憶體的速度差,所以CPU內都有一些用來保存變數和臨時數據的寄存器

寄存器:解決cpu和記憶體間的速度差,cpu從寄存器取數據

  通用寄存器:用來保存關鍵變數和臨時數據或結果

  程式計數器:一個cpu同時只能處理一條指令,但是電腦通常都是多任務執行,當進行任務切換時,被暫停的任務指令處理斷點結果將存如程式計數器

  堆棧指針:記憶體內數據位置的索引

  程式狀態寄存器:狀態由0和1表示

    用戶態:非特權狀態,程式代碼執行時候只能獲取CPU內負責計算的指令集

    內核態:特權狀態,程式代碼執行時候能夠獲取CPU內所有的指令集,包括控制硬體的指令集,如寫入磁碟的指令集

    程式代碼執行的時候所處與用戶態,當程式代碼需要調用到操作系統訪問硬體或調用操作系統訪問外設的時候,將從用戶態切換到內核態,程式的執行過程中會頻繁的在用戶態和內核態之間切換

電腦硬體之存儲器

電腦系統中,除了記憶體和硬碟存儲外,還存在多種存儲器,比如為解決記憶體和CPU之間的速度差問題,在CPU層面加入的L1/L2緩存,用來存儲BIOS設置的CMOS等

存儲器類型主要有:

L1緩存:即寄存器,採用和CPU相同材質製作,速度和CPU相同,容量小於1KB

L2緩存:CPU的高速緩存,存在與CPU L1緩存上,負責和主記憶體交互,當程式執行需要讀一個數據時,首先會檢查高速緩存內是否存在,如果存在則不需要繼續想主記憶體發起請求,該過程叫做高速緩存命中。相較於L1緩存的無時間延遲,訪問L2緩存一般需要1-2ns的時間延遲,現在部分CPU在L2外層加入了L3緩存負責與記憶體交互。

RAM:易失性隨機訪問存儲,斷電後數據丟失,是電腦的主記憶體

ROM:非易失性只讀存儲,出場即編程完畢,只可讀取無法被修改,主要用來存放BIOS程式。

EEPROM:電可擦除可編程ROM,和ROM不同,可以擦除數據重新編程,但是寫入所需時間比ROM高很多

快閃記憶體:主要用於固態硬碟,速度比RAM慢,比機械硬碟快

CMOS:易失性存儲,但是可以用電池驅動放置丟失數據,一塊電池可以用若幹年,主要用來存放系統時間和BIOS配置

機械硬碟:電腦主要存儲設備,非易失性存儲設備

        

  碟片:數據存放的載體

  磁頭:讀寫碟片上的數據

  主軸驅動:驅動碟片轉動

  傳動軸:控制磁頭擺動定址

        

  磁軌:碟片上人為定義的若幹個同心圓的軌道,從外向內由0開始編號

  柱面:所有碟片上同一磁軌構成柱面,從外向內由0開始編號

  扇區:磁軌按相同大小劃分成若幹的弧段,由1開始編號,每個扇區可存儲512或4K位元組。第一個扇區存放該硬碟的MBR信息

    MBR由3部分組成:主引導程式(446位元組)負責用於硬碟啟動時將系統控制轉給用戶指定的併在分區表中登記了的某個操作系統

             分區信息(64位元組)由4個分區表構成

             結束位(2位元組)

磁碟訪問時間

平均尋道時間:指硬碟的磁頭從初始位置移動到盤面指定磁軌所需的時間,這個時間越小越好

平均延遲時間:指訪問磁軌內數據所在扇區所需時間,通常為碟片旋轉一周所需時間的一般

虛擬記憶體與MMU

程式運行時需要占用記憶體,當程式特別大超過記憶體大小時候,可以將暫時沒用到的程式段放到虛擬記憶體中,能夠允許電腦執行大於記憶體的程式,而負責管理虛擬記憶體與物理磁碟之間映射的是記憶體管理單元(MMU)

 

磁帶

電腦磁帶主要大量用於電腦的外存儲器,一般用來做數據備份

 

設備驅動與控制器

設備驅動:是操作系統和硬體間的介面。驅動負責將操作系統的請求傳輸,轉化為特定物理設備控制器能夠理解的命令。

控制器:使操作系統能夠簡單的操作物理設備,摒除複雜的操作過程,為操作系統提供一個簡單的管理介面

 

匯流排與南橋和北橋

匯流排:電腦的一種內部結構,是cpu、記憶體、輸入輸出設備間傳遞信息的通道,電腦的各個部件通過匯流排相連接,而外部設備通過相應的介面電路再與匯流排相連接

南橋(ISA橋):主要是負責I/O介面等一些外設介面的控制

北橋(PCI橋):主要負責CPU、記憶體、主存儲器等高速設備的控制

 

操作系統的啟動流程

1.電腦加電

2.BIOS開始運行,進行硬體檢測,包括cpu、記憶體、硬碟等

3.BIOS通過讀取CMOS存儲器中的參數,選擇啟動設備

4.從啟動設備上讀取第一個扇區的主引導記錄

5.根據主引導記錄的分區信息讀入bootloader啟動裝載模塊,啟動操作系統

6.然後操作系統詢問BIOS,以獲得配置信息。對於每種設備,系統會檢查其設備驅動程式是否存在,如果沒有,系統則會要求用戶安裝設備驅動程式。一旦有了全部的設備驅動程式,操作系統就將它們調入內核。然後初始有關的表格(如進程表),創建需要的進程,併在每個終端上啟動登錄程式或GUI

 

應用程式的啟動流程

1.用戶雙擊應用程式向操作系統發出指令

2.操作系統接收到指令,執行用戶操作,讀取程式數據

3.程式數據讀取完畢調入記憶體

4.CPU開始處理數據,把程式數據從記憶體調入緩存

5.CPU從緩存中讀取程式數據開始進行處理

6.程式數據處理完畢後返回處理結果給操作系統

7.操作系統收到結果後通過輸出設備返回給用戶


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • pwd 當前工作目錄 cd(不加參數) 進root cd(folder) 進入文件夾 cd .. 上級目錄 cd ~ 返回root cd - 返回上一個訪問的目錄 rm 文件名 刪除 cat 文件名(|less) 在終端下查看文件 ls 列出目錄下所有文件 cp 文件名 目標目錄 將文件拷貝到目標目 ...
  • ———————————————————————————————————————————— 中斷的過程: 對於單片機來講,中斷是指CPU在處理某一時間A時,發生了另一事件B請求CPU立刻去處理(中斷發生);CPU暫時停止當前的工作(中斷響應),轉而去處理事件B(中斷服務),待CPU處理事件B完成後,再 ...
  • 一、下載安裝 Windows下載地址: http://www.apachehaus.com/cgi-bin/download.plx 根據系統版本選擇 下載後,解壓到C盤Apache 文件夾,從命令行進入到Apace的bin目錄,輸入 httpd -k install 完成安裝。 二、配置 修改Ap ...
  • ———————————————————————————————————————————— 定時/計數器結構(T0和T1) 16位寄存器T0、T1分別由TH0、TL0和TH1、TL1四個8位計數器組成 定時器的區別: T0可分成2個獨立的8位定時器,而定時器1則不能; T1可作為串口的波特率發生器,而 ...
  • ———————————————————————————————————————————— 定時器中斷應用實例 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ...
  • 一、準備工作 : 1、下載Windows Server 2008,把iso鏡像文件裡面的文件全部解壓到硬碟,比如D:/win2008。 2、下載好WinPE,製作好U盤啟動盤。 二、準備安裝: 1、開機設置從U盤啟動,進入WinPE。 2、以NTFS格式格式化C盤,然後把D:/win2008裡面的“ ...
  • a.安裝mysql database 1.安裝mysql服務端 sudo apt-get install mysql-server (在此過程中要求為mysql的root用戶設置一個密碼) 2.安裝mysql客戶端 sudo apt-get install mysql-client 3.安裝mysq ...
  • 一、在指定目錄創建腳本並賦予755許可權 vim /etc/init.d/tomcat 二、在tomcat的配置文件中添加相應參數 vim /usr/local/tomcat/bin/catalina.sh 三、添加tomcat為系統服務並指定在個各個控制台為開機啟動模式 chkconfig --ad ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...