(四)內核、內存、緩存、CPU、寄存器等基本概念


Linux系統

linux系統主要組成:應用程序、shell、文件系統、內核;

                                 

 

內核

 內核作用:負責管理系統的進程、內存、設備驅動、文件系統和網絡系統等,是操作系統的核心。

 內核組成:

  內存管理

  進程管理

  文件系統

  設備驅動管理

  網絡管理

 內核實現:通過系統調用接口來完成用戶和內核之間的交互

  

 

內存

    內存:

      優點:存取速度遠高於硬盤的速度

      缺點:斷電丟失數據,不能持久化數據

      作用:交換數據

         暫時存放cpu中的運算數據,與硬盤外部存儲器交換的數據(相當於一個倉庫)

         保存從硬盤讀取的數據,提供給cpu進行運算

          保存cpu運算的臨時執行結果,以便cpu下次使用或保存到硬盤中

    硬盤:

      優點:持久化存儲數據(磁盤、光盤等)、存儲容量大

      缺點:速度慢

   

    電腦工作時,會把要用的東西先從硬盤調用到內存中(內存比硬盤速度快,如果每次訪問硬盤太慢了)

    當我們在計算機上執行一個程序時,首先由輸入設備向CPU發出操作指令,CPU接收到操作指令后,硬盤中對應的程序指令被直接加載到內存中,此后,CPU再對內存進行尋址操作,將加載到內存中的指令翻譯出來,而后發送操作信號給操作控制器,實現程序的運行或數據的處理

 

cpu

    cpu:

      作用:處理指令、執行操作、控制時間、處理數據(即數據運算)等

      組成:寄存器、控制單元、邏輯運算單元等

 

cpu執行指令過程:

程序實際上就是一條條指令,程序的運行過程就是指令一步步的執行起來,cpu本質上就是執行指令

    1. cpu先讀取【程序計數器】的值即指令的內存地址,cpu的【控制單元】操作【地址總線】指定需要訪問的內存地址,通知內存准備數據,數據准備好后通過【數據總線】指令數據傳給cpu,cpu收到傳來的數據,將指令數據存入到【指令寄存器】;

    2. cpu分析【指令寄存器】中的指令,確定指令的類型和參數,如果是計算類型的指令,就把指令交給【邏輯運算單元】運算,如果是存儲類型的指令,則交由【控制單元】執行;

    3.  cpu執行完指令后,【程序計數器】的值自增,表示指向下一條指令;

             

緩存

    緩存:

      位置:緩存是cpu的一部分,位於cpu中

      來源:在沒有緩存之前,cpu一直是在內存中讀取數據,但由於兩者速度差異,cpu每次都要等內存的"回信", 緩存的設計是用來解決cpu與內存速度差異問題

   理解:

      假設一個8核的cpu,每個核都有自己獨立L1 Cache(1級緩存)、L2 Cache(2級緩存),而L3 Cache(3級緩存)是8核共享的;

      緩存大小:離核心越近、等級越高越小、速度越快、L1 Cache緩存最小,速度最快;

      內存的數據會先加載到共享的L3 Cache中,再加載到每個核心獨有的L2 Cache,最后進入到最快的L1 Cache,之后才被cpu讀取;

                             

虛擬內存

    虛擬內存是windows操作系統用來管理內存的一種方法,虛擬內存說穿了就是把內存中的信息分出去一部分存在硬盤上,

    這樣從表面上看就擴大了內存容量(難怪內存中存了這么多東西,原來有一部分被轉到了硬盤上)

      緩存是一種硬件,而虛擬內存是存在硬盤上的文件,緩存的目的是加快系統的速度,而虛擬內存技術是為了使更多的程序能夠在有限的內存中運行。

寄存器

  寄存器:

     作用:暫時存放參與運算的數據和運算結果

     位置:是cpu內部元件,其讀寫速度非常快

     種類:

        通用寄存器:存儲需要進行運算的數據(需要加減等運算的兩個數據)

        程序計數器:存儲cpu要執行下一條指令所在的內存地址

        指令寄存器:存儲程序計數器指向的指令,指令被執行完之前都放在這里

  

  cpu中的寄存器主要是存儲計算時的數據,為什么有了內存還需要寄存器?因為內存離cpu太遠了,而寄存器就在cpu里,

  就比如,將100元放在口袋(寄存器), 和放在書包(內存)里,你(cpu)當然從口袋里取是最快的,並且寄存器離控制和邏輯運算單元都很近,速度可想而知;  

    

進程

  各個進程間共享cpu資源

  進程間的內存是共享的

 

總結

速度:

  寄存器 > 緩存 > 內存 > 硬盤

關系:

  寄存器存儲在cpu中,緩存是cpu划分的一片區域,cpu從內存中獲取數據,內存是從硬盤中獲取數據,

  cpu從內存中拿到數據后,在cpu內部開辟一片存儲空間,即緩存,將數據存儲在緩存中,

  以后cpu就從緩存中讀取頻繁使用的數據,減少cpu與內存的頻繁交互,cpu從緩存中拿到數據后,

  再將數據放入寄存器中,cpu對寄存器的數據進行計算,計算完后再將數據放到內存中

  注:

    1.當緩存中沒有cpu所需要的數據,cpu會從內存中讀取數據,再放到緩存中,再從緩存中讀取數據;

    2.當cpu需要將數據寫入到內存中,會先存入到緩存,再找合適的機會寫到內存中;

 

 

 

 

參考:

 https://blog.csdn.net/qq_34827674/article/details/109147330


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM