當乙個程式大於計算機記憶體時,計算機是如何執行的

時間 2021-05-11 13:52:19

1樓:零堍

先說結論:

利用虛擬儲存器(虛擬記憶體)功能,將需要的頁面或段先加載入記憶體,將暫時不需要的儲存在硬碟之中。

在《計算機作業系統》中的虛擬儲存器一章中有講述到:

區域性性原理:程式執行在一較短的時間內,程式的執行僅限於某個部分,相應的,它所訪問的儲存空間也侷限於某個區域。

因此,虛擬儲存器的應用,便是對記憶體進行擴充,從邏輯上實現對記憶體容量的擴充。

由於上述的區域性性原理,因此,程式在執行之前沒有必要將其全部裝入記憶體而只需要將當前需要執行的部分頁面先裝入記憶體即可。其餘的部分暫存在硬碟上。

程式在執行時,如果它需要的頁面或段已經被記憶體載入,則繼續執行下去。

如果它需要的頁面或段未被記憶體載入(一般稱之為缺頁或缺段),則由作業系統發出缺頁或缺段中斷,此時作業系統將利用請求調取頁面或段的功能將需要的部分調入記憶體。

若此時記憶體已滿,還需要利用頁面或段置換將暫時不需要的頁面或段移動到硬碟中,以騰出空間供程式繼續執行。

[1]湯小丹、梁紅兵、哲鳳屏、湯子瀛.《計算機作業系統》[M].第四版.西安:西安電子科技大學出版社,2018:P164-166

2樓:AyanamiArena

IM不夠用OM (outter memery)寫的不好就OOM(out of memery)。

寫得再差點就BOOM....

ps:我知道縮寫不是這麼來的……

計算機記憶體底層到底怎麼儲存東西的,有沒有比較象形的解釋?

雪糕 試著拋開那些微電子方面的原理僅就中學階段的物理知識來解釋 先說說怎麼讀取資訊。中學科技常識課程就告訴我們,計算機裡面實際就是利用高低電平來識別資料,晶元裡面沒有磁性結構,於是也就沒有各種複雜的轉換,很簡單就是檢查儲存單元裡面電平。用常見的科普文章說 有電就是1,沒電就是0。當這樣的儲存單元足夠...

如何從乙個計算機小白成為乙個有基本計算機素養的人?

教大專的混子一枚,也來摻和一下吧 摻和的原因是看到小桑老師的答案感覺不爽,但是我不得不說他說的每一句都是對的,讓我沒法反駁。所以我的基本態度是情感上更贊同範鈺霽,丶黑色de夜 理性上還是小桑老師說的對,下面是我的回答。我理解所謂基本計算機素養,你已經具備了,就是上上網,玩玩遊戲,打打字嘛,計算機這東...

為什麼32位的計算機記憶體要用32位二進位制數編址,用64位二進位制數編址記憶體不就可以更大了嗎?

幾乎所有8位微控制器位址匯流排都是16位或16位以上的,幾乎所有16位微控制器位址匯流排都是24位或20位的,為什麼32位的x86cpu位址匯流排是32位呢,這樣做設計方便是乙個原因,最主要的原因是386設計的時候記憶體還普遍使用的是4M,8M的記憶體條,在pc發展速度如此驚人的情況下,10年後12...