在論壇上很多朋友在討論關于內存溢出一系列問題。對于這個故障現象,到底是什么意思呢?這里給大家分享一些關于電腦內存溢出是什么,希望對大家能有所幫助。
內存溢出通俗解釋
通俗理解就是內存不夠,通常在運行大型軟件或游戲時,軟件或游戲所需要的內存遠遠超出了你主機內安裝的內存所承受大小,就叫內存溢出。此時軟件或游戲就運行不了,系統會提示內存溢出,有時候會自動關閉軟件,重啟電腦或者軟件后釋放掉一部分內存又可以正常運行該軟件或游戲一段時間。
內存溢出基本含義
內存溢出已經是軟件開發歷史上存在了近40年的“老大難”問題,像在“紅色代碼”病毒事件中表現的那樣,它已經成為黑客攻擊企業網絡的“罪魁禍首”。 如在一個域中輸入的數據超過了它的要求就會引發數據溢出問題,多余的數據就可以作為指令在計算機上運行。據有關安全小組稱,操作系統中超過50%的安全漏洞都是由內存溢出引起的,其中大多數與微軟的技術有關
內存溢出基本內容
為了便于理解,我們不妨打個比方。緩沖區溢出好比是將十磅的糖放進一個只能裝五磅的容器里。一旦該容器放滿了,余下的部分就溢出在柜臺和地板上,弄得一團糟。由于計算機程序的編寫者寫了一些編碼,但是這些編碼沒有對目的區域或緩沖區——五磅的容器——做適當的檢查,看它們是否夠大,能否完全裝入新的內容——十磅的糖,結果可能造成緩沖區溢出的產生。
如果打算被放進新地方的數據不適合,溢得到處都是,該數據也會制造很多麻煩。但是,如果緩沖區僅僅溢出,這只是一個問題。到此時為止,它還沒有破壞性。當糖溢出時,柜臺被蓋住。可以把糖擦掉或用吸塵器吸走,還柜臺本來面貌。與之相對的是,當緩沖區溢出時,過剩的信息覆蓋的是計算機內存中以前的內容。除非這些被覆蓋的內容被保存或能夠恢復,否則就會永遠丟失。
在丟失的信息里有能夠被程序調用的子程序的列表信息,直到緩沖區溢出發生。另外,給那些子程序的信息——參數——也丟失了。這意味著程序不能得到足夠的信息從子程序返回,以完成它的任務。就像一個人步行穿過沙漠。如果他依賴于他的足跡走回頭路,當沙暴來襲抹去了這些痕跡時,他將迷失在沙漠中。這個問題比程序僅僅迷失方向嚴重多了。入侵者用精心編寫的入侵代碼一種惡意程序使緩沖區溢出,然后告訴程序依據預設的方法處理緩沖區,并且執行。此時的程序已經完全被入侵者操縱了。
入侵者經常改編現有的應用程序運行不同的程序。例如,一個入侵者能啟動一個新的程序,發送秘密文件支票本記錄,口令文件,或財產清單給入侵者的電子郵件。這就好像不僅僅是沙暴吹了腳印,而且后來者也會踩出新的腳印,將我們的迷路者領向不同的地方,他自己一無所知的地方。
電腦內存相關文章:
★ 如何合理設置電腦虛擬內存,提高電腦運行速度
★ 介紹幾個妙招加快內存運行速度
★ 各類內存條DDR2和DDR3的區別
★ 電腦技巧
★ BIOS里一些常用功能設置
★ 如何下載歌曲到手機,MP3,MP4里的方法
★ 主板知識大全
★ 計算機硬件實習心得
★ 關于畢業軟件專業實習報告范文大全
★ 最新電腦轉讓合同范本精選3篇