什么是常驻内存程序,应采用什么格式书写(.COM or .EXE):
内存常驻程序(Terminate-and-Stay Resident program 简称TSR程序)是把自己装入内存后将控制返回给 *** 作系统,然后在后台等待用户按下指定的组合键(热键)或产生相应的中断时,TSR被激活,立即中断当前运行的程序,并允许立即访问它所提供的服务。采用.COM格式书写。 初始化代码只需要在程序第一次执行时运行,在程序运行后需要初始化的部分已经完成。在本题中需要初始化的是使程序留驻内存和鼠标的初始化。在第一次运行本程序时初始化程序以完成使驻留部分常驻内存,在调用过程mouseup之后鼠标 *** 作即可进行,此时若使初始化代码常驻内存已无必要,而且会造成内存空间的浪费。
常驻程序也叫常驻内存程序、TSR程序或驻留程序,是指那些一旦执行便永久地占据内存(这些程序永远呆在内存里不出来)的程序。程序常驻内存后,就有机会随时发挥作用,监视和控制用户的工作。例如病毒就是典型的常驻程序,启动汉字 *** 作系统时需运行的程序如SPIIB.COM、SPDOS.COM、PY.COM,鼠标管理程序MOUSE..COM等都是常驻程序。DOS6.22中的SMARTDRV.EXE、DOSKEY.COM、VSAFE.COM等也是常驻程序。
常驻程序都必须在DOS提示符下运行,不能写在CONFIG.SYS中。所以判断一个程序是设备驱动程序还是一个常驻程序的通常方法是:若其必须写在CONFIG.SYS中,则便是设备驱动程序;若只能在DOS提示符下运行便是一个常驻程序(当然能在DOS提示符下运行的并不都是常驻程序)。
如果运行常驻程序时没写LOADHIGH,如MOUSE,则该常驻程序便将驻留在常规内存中,若想将常驻程序调到UMB中,必须在命令的前面写上LOADHIGH(注意:LOADHIGH简写为LH),例如:LOADHIGHMOUSE.COM.则MOUSE.COM被放到UMB中。
要特别注意这两个命令的用法差别:设备驱动程序只能用“DEVICEHIGH=”命令,常驻 内存只能用“LOADHIGH”命令(或“LH”命令),并且DEVICEHIGH前面必须写上等号,而LOADHIGH 后面绝不可写等号,用一个空格与常驻程序名隔开就可以。
常驻内存,这个术语来自MSDOS的时代。MSDOS是单任务的运行环境,系统一般不允许两个以上程序同时运行。也就是说,如果你正在运行一个任务,而又想运行另外一个任务,你必须退出当前的任务。有一种辅助工具程序,能假装退出,而仍驻留于内存当中,让你运行其它的应用。而当你需要的时候,可以用热键随时把该驻留程序激活。这样就看起来像多任务,并用这种方式为用户提供方便。一般这样的程序都是很小的应用程序。占用内存极少。或者占用高端内存。在现代的多任务 *** 作系统中,常驻内存程序,只不过是个名词而已,其内涵早就失去了实际意义。这不是说没有可以常驻内存的程序,而是把程序区分为常驻内存和非常驻内存,无论从技术或者使用的角度来说,都毫无意义。http://baike.baidu.com/view/1463836.htm
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)