作者leicheong (睡魔)
看板Programming
标题Re: [问题] dos为何要有记忆体配置的中断指令?
时间Tue Apr 3 09:42:21 2007
※ 引述《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
1F:推 wlsabcd:帮忙补充,INT 12h可以拿到记忆体大小 203.73.175.134 04/06 08:19