Re: [問題] dos為何要有記憶體配置的中斷指令?

看板Programming作者 (睡魔)時間17年前 (2007/04/03 09:42), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/24 (看更多)
※ 引述《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

04/06 08:19, , 1F
幫忙補充,INT 12h可以拿到記憶體大小
04/06 08:19, 1F
文章代碼(AID): #164R3-1O (Programming)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 24 篇):
文章代碼(AID): #164R3-1O (Programming)