Re: [問題] dos為何要有記憶體配置的中斷指令?
※ 引述《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
04/06 08:19, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 24 篇):