計算機是我們接觸最多的工具,而作為乙個優秀的程式設計師只有真正了解計算機內部構造,才能寫出適合計算機解析的優質**。
今天總結一下計算機儲存資料的硬體:硬碟(外存)、記憶體、cpu
1.硬碟分類
硬碟包括固態硬碟和機械硬碟
固態硬碟:
因為固態硬碟使用電訊號傳輸資料,所以讀寫速度快,不易損壞;但是隨之而來的造價成本高,容量小,資料不可恢復。一般我們會給計算機裝乙個固態硬碟,把固態硬碟作為系統盤,來提公升計算機的速度。
機械硬碟:
機械硬碟採用機械方式讀取資料,相對於電訊號方式訪問速度慢,但是機械硬碟容量大,造價低,適合儲存大量資料。考慮到成本和容量以及眾多要儲存的資料,大多數公司都會採用機械硬碟儲存資料,只要做到備份充足即可。
2.硬碟結構
硬碟由多個碟片疊加,每個碟片上下兩個面分別對應乙個機械臂,每個盤面上都有圓形磁軌(實際不存在劃分的扇區,只是我們口頭說扇區更容易理解區分),每個磁軌是由若干個弧長相等的資料塊排列。
從該博主這裡借用了以下兩張
要注意:在硬碟中實際不存在劃分的扇區,我們把每個盤塊稱為扇區。
乙個新的磁碟其實就是乙個空白板,它只是一些含有磁性記錄材料的盤子,每個磁碟片都是扁平圓盤,類似我們見過的光碟,只是盤面比光碟更加光滑,每個磁碟片的兩面都附著乙個個磁性小顆粒,通過磁片上的磁性顆粒進行記錄就可以儲存資訊了。
現在一般的電腦預設4kb是乙個塊,假設我們的電腦記憶體是1t, 換算1t = 1024^3kb,這樣1t的記憶體包括2.5億個塊, 又因為1kb=1024b,乙個位元組(1b)是8位,一位表示乙個小顆粒, 該位可帶正負電, 正電用1表示, 負電用0表示. 乙個塊只有乙個位址來記錄
記憶體讀寫速度優於外存很多很多(使用順序儲存),記憶體中又有多級快取,可以加快cpu讀取速度,但是儲存量小,又由於其成本高的特點,一般只適用於做短時儲存讀取,也就是當我們關閉電腦,斷掉電源,記憶體中的資料就會全部消失,所以不用擔心記憶體中儲存量過大導致崩潰。
記憶體的作用:
儲存從硬碟讀取的資料,提供給cpu使用
儲存cpu的一些臨時執行結果,以便cpu下次使用或儲存到硬碟
計算機的運算核心和控制核心,讓電腦的各個部件順利工作,起到協調和控制作用。
cpu處理速度快,以時鐘週期「hz」為單位,讀取速度慢(讀取速度是kb級別),讀取時間是ms級別,並且容量更小,我們可以檢視自己電腦cpu處理速度我這裡是2.6ghz
通過我們可以看出,硬碟和cpu之間不能直接進行資料的讀取,假設執行硬碟和cpu直接傳輸資料,硬碟儲存量,一次性向cpu傳輸1g的資料,而cpu一次只能讀取幾kb的資料,大概一千秒,這僅僅是1g的資料,太浪費時間,這時就體現了記憶體作為中間儲存及傳輸資料中介的重要性。
當硬碟裡的資料需要做處理的時候,資料首先需要被放到記憶體裡面,然後cpu通過多級快取再去讀取記憶體裡的資料進行處理,處理完之後存回記憶體。(例如當你在用word 寫乙個文件時,你在寫的時候底層的cpu也在不斷的處理著資料,當然它處理的是二進位制資料,此時的資料是在記憶體裡面的,如果你不儲存掉電之後你會發現之前寫的東西都沒了,而當你儲存之後資料會被存放到硬碟裡面,掉電之後資料還在!)
簡單來說,硬碟用來儲存我們的程式和資料,當我們執行程式的時候,cpu首先接到命令,之後cpu告訴硬碟,我要執行你儲存的程式a,你把程式a送到記憶體去。cpu對記憶體說,我讓硬碟把程式a送到你這裡來了,你儲存一下。等程式a被完整的送到記憶體之後。cpu就開始執行程式a。
這樣來看,我們針對計算機的硬碟、記憶體和cpu就有了乙個更加深入透徹的理解!!!
Python獲取計算機記憶體硬碟CPU資訊
安裝psutil模組 pip install psutil匯入psutil模組 import psutil獲取cpu資訊 獲取cpu資訊 staticmethod def getcpuinfo cpu count psutil.cpu count logical false 1代表單核cpu,2代表...
計算機基礎 記憶體
在多道程式環境下,要使程式執行,必須建立程序,而建立程序就要將程式和資料裝入記憶體。乙個使用者源程式要變為在記憶體中可執行的程式,通常要進行以下處理 裝入 由裝入程式將裝入模組裝入記憶體。可重定位裝入 多個程式的起始位址都從0開始,程式中的其他位址都是相對於起始位址的。裝入時將目標程式中的指令和資料...
計算機底層 CPU 記憶體 磁碟
1.首先說一下磁碟和記憶體 在說磁碟和記憶體之前先說一下磁碟,顧名思義磁碟,像盤子一樣,磁碟上有許多磁軌,一圈套一圈,磁碟還有機械臂,通過機械的變換位置,來獲取不同磁軌上的資料。每圈磁軌進行等長的切割,切割成的每塊叫做基本儲存單元,每個儲存單元可存4kb的資料,但是還可以拓展到8kb 或者 16kb...