分享
 
 
 

驻留程序

王朝百科·作者佚名  2010-05-30
窄屏简体版  字體: |||超大  

驻留程序是一种特殊应用程序,它在装入内存运行后,其部分代码仍然驻留在内存,当该段代码被激活时,它又进入运行状态。常用的驻留程序是作为某个中断处理程序的一部分,其激活条件就是系统产生了此中断的中断请求。

驻留程序概述DOS 是一个单用户的操作系统,它的核心程序是不允许重入的,说的具体一点,如果我们要编一个递归调用的程序,我们会把参数放在堆栈里,而不是用设置变量的方法,这样在下一层程序返回时,不会有临时变量被改变的危险,而 DOS 在处理中断 INT 21H 时使用的临时数据是放在内部数据区内的,如果在一个 INT 21H 过程中再发生另一个 INT 21H,在第二个 INT 21H 执行完以后回到第一个 INT 21H 时,原来保存的临时数据就不是原来的样子了,而是第二个 INT 21H 执行完后留下的‘垃圾’,编一个内存驻留程序,随时弹出一个窗口执行 INT 21H 功能,要想不死机,就必须先解决 DOS 的重入问题。

解决重入问题有两种方法,第一种是在进入 INT 21H 前人为保存 DOS 的内部数据结构到自己的缓冲区,在执行完后恢复,这种方法依赖于 DOS 的内部资料,而且不同的 DOS 版本的数据结构、数据位置是不一样的,使用起来有相当的难度,而且对新版的操作系统的兼容程度是未知的。

常用的办法是在要激活驻留程序前,先检测 DOS 的状态,如果 DOS 是空闲的,就可以马上激活,如果DOS 忙,就等到 DOS 空闲后再激活。本文就是讨论检测 DOS 状态的方法。

实际上,DOS 本身已经或多或少的考虑了这个问题,它本身有个 InDOS 标志,在执行 DOS 功能时,它会把标志 +1,退出时 -1,如果检测 InDOS 不是 0,就说明 DOS 的某些功能在执行中。DOS 功能 INT 21H的 34H 子功能即是得到 InDOS 标志的地址,在这个标志前一个字节是 DOS紧急错误标志。在 DOS 忙判断上有两个特殊情况,一是 DOS 在紧急错误时会减少 InDOS 标志,所以检测到 InDOS 为 0 时还要确定错误标志为 0,进入 DOS 才是安全的,二是有些 DOS 功能本身就允许重入,它们是一些不用到内部数据区的输入命令等,如等待命令输入时 DOS 执行的是输入子功能,这时的 InDOS 为 1,但实际上是允许进入 DOS 的,在这中情况下,DOS 会不停的发 INT 28H 中断,原来的 INT 28H 功能是不做任何事马上返回。用户可以在 INT 28H中挂上自己的程序而不必担心 DOS 重入。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有