程序是怎麼運行起來的

  1 咱們用c語言寫一個exe程序,雙擊就能夠運行,它是怎麼運行起來的呢?spa

實際上,咱們寫的exe程序保存在硬盤上,雙擊運行程序的時候操做系統會把保存在硬盤上的數據複製到內存。爲何?由於CPU被設計成只能從內存中讀取數據和指令。操作系統

爲何這麼設計CPU?由於爲了運行速度,在讀寫速度上,內存是遠高於硬盤的,爲了避免拖累CPU的高速度,操做系統運行程序時先把數據複製到內存。設計

 

2 誰把硬盤上的數據複製到內存?內存

這個程序叫作加載器。Windows平臺上就是Windows加載器。資源

 

3 個人電腦內存8G,我運行了5個程序,這5個程序共須要佔12G的內存空間,若是程序運行前都須要把數據加載到內存,當前程序須要的內存超出了電腦內存上限,爲何程序仍是正常運行?程序

  這涉及到虛擬內存的概念,Windows上叫虛擬內存,Linux上叫交換空間。數據

操做系統是這麼作的,當程序運行須要的空間大於內存容量時,會將內存中暫時不用的數據再寫回硬盤,須要這些數據時再從硬盤中讀取,讀取同時把另一部分暫時不用的數據寫回硬盤。語言

因而可知,內存小,硬盤讀取速度低都是影響電腦運行速度低的重要緣由文件

 4 虛擬內存co

  Windows上做爲內存使用的一部分硬盤空間叫作虛擬內存。虛擬內存在硬盤上其實就是爲一個碩大無比的文件,文件名是PageFile.Sys,一般狀態下是看不到的。必須關閉資源管理器對系統文件的保護功能才能看到這個文件。虛擬內存有時候也被稱爲是「頁面文件」就是從這個文件的文件名中來的。

相關文章
相關標籤/搜索