載入記憶體讓程式跑起來!

2022-08-15 05:21:11 字數 1402 閱讀 1573

**自:c語言中文網

qq是怎麼執行起來的呢?

首先,有一點你要明確,你安裝的qq軟體是儲存在硬碟中的

雙擊qq圖示,作業系統就會知道你要執行這個軟體,它會在硬碟中找到你安裝的qq軟體,將資料(安裝的軟體本質上就是很多資料的集合)複製到記憶體。對!就是複製到記憶體!qq不是在硬碟中執行的,而是在記憶體中執行的。

為什麼呢?因為記憶體的讀寫速度比硬碟快很多

對於讀寫速度,記憶體 > 固態硬碟 > 機械硬碟。機械硬碟是靠電機帶動碟片轉動來讀寫資料的,而記憶體條通過電路來讀寫資料,電機的轉速肯定沒有電的傳輸速度(幾乎是光速)快。雖然固態硬碟也是通過電路來讀寫資料,但是因為與記憶體的控制方式不一樣,速度也不及記憶體。

所以,不管是執行qq還是編輯word文件,都是先將硬碟上的資料複製到記憶體,才能讓cpu來處理,這個過程就叫作載入記憶體(load into memory)。完成這個過程需要乙個特殊的程式(軟體),這個程式就叫做載入器(loader)

cpu直接與記憶體打交道,它會讀取記憶體中的資料進行處理,並將結果儲存到記憶體。如果需要儲存到硬碟,才會將記憶體中的資料複製到硬碟。

例如,開啟word文件,輸入一些文字,雖然我們看到的不一樣了,但是硬碟中的文件沒有改變,新增的文字暫時儲存到了記憶體,ctrl+s才會儲存到硬碟。因為記憶體斷電後會丟失資料,所以如果你編輯完word文件忘記儲存就關機了,那麼你將永遠無法找回這些內容。

如果我們執行的程式較多,占用的空間就會超過記憶體(記憶體條)容量。例如計算機的記憶體容量為2g,卻執行著10個程式,這10個程式共占用3g的空間,也就意味著需要從硬碟複製 3g 的資料到記憶體,這顯然是不可能的。

作業系統(operating system,簡稱os)為我們解決了這個問題:當程式執行需要的空間大於記憶體容量時,會將記憶體中暫時不用的資料再寫回硬碟;需要這些資料時再從硬碟中讀取,並將另外一部分不用的資料寫入硬碟。這樣,硬碟中就會有一部分空間用來存放記憶體中暫時不用的資料。這一部分空間就叫做虛擬記憶體(virtual memory)

3g - 2g = 1g,上面的情況需要在硬碟上分配 1g 的虛擬記憶體。

硬碟的讀寫速度比記憶體慢很多,反覆交換資料會消耗很多時間,所以如果你的記憶體太小,會嚴重影響計算機的執行速度,甚至會出現」卡死「現象,即使cpu強勁,也不會有大的改觀。如果經濟條件允許,建議將記憶體公升級為 4g,在 win7、win8、win10 下執行軟體就會比較流暢了。

總結:cpu直接從記憶體中讀取資料,處理完成後將結果再寫入記憶體。

讓自己跑起來

每天清晨,當太陽剛剛公升起,露珠還未完全消失,大草原上的動物們已經開始了一天的奔跑。最先跑起來的事羚羊,它們成群結隊的跑過平緩的山崗,找到水源,在短暫的休息之後又開始新的奔跑。就在它們不遠的地方,也許就在附近的草叢裡,狼群也在奔跑。它們的奔跑是為了羚羊。當狼群開始奔跑的時候,獅子也開始了奔跑。它必須...

開始備戰。。。。。跑起來。。。。。

今天交了三方,好想給你發個簡訊說聲,還是忍住了,怕讓你煩。我們之前說好的,等我籤了的時候,就買個iphone,這個最後乙個願望還是沒讓我實現。我不知道是你真的就愛我不深,還是你不成熟,你還是乙個小女生,竟然能被他這般的死纏爛打稍微實計就可以被他迷住,你不要那麼自信了他就是你要的,太天真了。我不想說她...

VUE專案跑起來

1.先安裝node.js 安裝官網最新的即可 版本應該要大於6.0版本 nodejs的官網 2.安裝git git的官網 3.安裝成功後,檢視pc 命令列工具,敲擊 node v 和git version 指令,能看到相應的版本資訊,說明環境變數都已經配置成功。4.然後使用node.js npm工具...