看板 Programming 關於我們 聯絡資訊
※ 引述《Qoo2 (Qoo)》之銘言: : 請問一下 : dos有int 21h function 4ah的記憶體重配置指令 : 但是dos的原理不是 當一個task被執行時 他的base address以上 : 一直到physical address的末端都可以無限制的被該task使用嗎?? : 如此依來,為何要畫蛇添足的加上記憶體配置指令呢?? 其實是因為, 你不這樣做的話不知道那physical address的記憶體是不是 存在的. DOS時代時大家有的記憶體空間都不大(DOS 6時常見的是2MB - 16MB) 和Windows programming時不同, DOS時代沒有虛擬記憶體可以透過 Paging到硬碟增加可用記憶體的量. 因此要確定一個記憶體位址可用 最簡單的方法就是透過Memory Allocation Function. 還有TSR程序們都會佔用記憶體, 不小心覆寫了interrupt handler的話 會做成系統不穩定的. 一些TSR在某些情況下(如用戶要求)會中止並釋放佔用了的記憶體, 不用 memory allocation function的話這些記憶體都用不到了. (記著, 那時候 記憶體空間是很寶貴的...) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.134.126.84
wlsabcd:幫忙補充,INT 12h可以拿到記憶體大小 203.73.175.134 04/06 08:19