如果程序太大而不能在DOS下运行,怎样才能使它在DOS下运行呢?

如果你的程序因太大(超过640KB)而无法在DOS下运行,有两种办法可为该程序提供更多的内存。一种办法是使用覆盖管理程序(overlay manager)。覆盖管理程序用来管理程序的模块,并根据需要把它们从磁盘中读入内存或从内存中删去。这样,即使你的程序有几兆字节那么大,仍然可以在 只有640KB可用内存的计算机上运行。一些高级的覆盖管理程序允许你对需要同时读入和删除的模块进行“编组”,这有助于你通过精心调整程序来改善它的性 能。其它一些稍差的覆盖管理程序不具备这种功能,因此使用它们时你无法通过编组方式去精心调整覆盖模块。

另一种获得更多的可用内存的办法是使用DOS扩展程序(DOS
extender),DOS扩展程序是一种特殊的应用程序,它通过使用386,486或更新机型的保护模式,按一个平面地址空间的方式来存取多达数兆字节
的内存。当你的程序和DOS扩展程序连接时,DOS扩展程序的代码将成为该程序的启动代码的一部分。当你的程序被执行时,DOS扩展程序将被装入,并且将
掌握程序的控制权。所有的内存分配调用都要通过DOS扩展程序来进行,这样就跳过了DOS,而由DOS扩展程序来分配超过640KB的内存。

遗憾的是,DOS扩展程序也有一些明显的缺点,其中之一就是,在你发行你的程序时,大多数DOS扩展程序要求你交纳运行版税。这可能非常昂贵,特别是在你
有很多用户时。也有少数编译程序带有免收版税的DOS扩展程序,但这只不过是一种例外。使用DOS扩展程序的另一个缺点是它通常要求你通过修改源代码而不
是通过DOS调用来使用其应用编程接口(API)。

覆盖管理程序一般不要求运行费用,因此它具有较高的性能价格比,并且比DOS扩展程序更便宜。此外,在使用覆盖管理程序时,一般不需要修改源代码,在大多数情况下,使用覆盖管理程序对程序来说是透明的。

如果程序太大而不能在DOS下运行,怎样才能使它在DOS下运行呢?

时间: 2024-08-03 15:02:15

如果程序太大而不能在DOS下运行,怎样才能使它在DOS下运行呢?的相关文章

jvm内存快照dump文件太大,怎么分析

来自凌幽草 1.场景 通常,使用eclipse的mat图形化工具打开dump的时候都会内存溢出. 对于比较小的dump,eclipse可以打开,但一旦dump文件太大,eclipse就有点束手无策. 这时候怎么办呢?可以使用linux下的mat,既Memory Analyzer Tools 2.dump生成 dump可以是内存溢出时让其自动生成,或者手工直接导.配置jvm参数-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/biapp/

DB太大?一键帮你收缩所有DB文件大小(Shrink Files for All Databases in SQL Server)

本文介绍一个简单的SQL脚本,实现收缩整个Microsoft SQL Server实例所有非系统DB文件大小的功能. 作为一个与SQL天天打交道的程序猿,经常会遇到DB文件太大,把空间占满的情况: 而对于开发测试人员来说,如果DB数据不是特别重要的话,不会特意扩大磁盘空间,而是直接利用SQL的Shrink File功能缩小DB文件大小,详见:https://docs.microsoft.com/en-us/sql/relational-databases/databases/shrink-a-f

解决VS2015 类向导窗口太大无法操作的问题!

    类向导窗口太大,下面一排按钮点击不到?本文提供一种解决方案,可调整类向导窗口为适宜大小.     我们可以尝试写一个工具,将它放置在任务栏上,以后在使用类向导的时候,只需要点击任务栏上这个工具图标,就可调整类向导窗口高度为预期大小.     考虑到该工具程序执行的是后台任务,不需要前台窗口,所以使用Win32程序入口且不需要创建窗口.思路是,调整窗口高度并使窗口高度尽量最大(从屏幕顶端一直到任务栏的顶端,这些高度范围都是鼠标可以操作到到的,同时为了保证不影响窗口内容,这将认为是最为合适的

Unity3D占用内存太大的解决方法

原文链接:http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大. Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBund

VS产生sdf和ipch文件太大处理方案

原地址:http://blog.csdn.net/feidewu/article/details/8395864 使用VS的人一方面享受着它功能的强大,一方面又十分痛恨他生成的文件占用的空间太大了,硬盘吃不消啊! 一个helloworld程序,用DEV ++也就那么几K,但是用VS就要占到几十M,主要是生成.sdf和ipch文件体积太大了.在网上找了一下也没发现有什么优化的方法,倒是可以将sdf和ipch文件集中到另外一处,然后定期清除,这样节省程序文件的空间. 方法: 工具-->选项-->文

Unity3D占用内存太大的解决方法【先转,慢慢看】

Unity3D占用内存太大的解决方法 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大. Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时 动态加载,可以指定路径和来源的. 其实场景里所有静态的对象也有这么一

解决持久化数据太大,单个节点的硬盘无法存储的问题;解决运算量太大,单个节点的内存、CPU无法处理的问题

需要学习的技术很多,要自学新知识也不是一件容易的事,选择一个自己比较感兴趣的会是一个比较好的开端,于是,打算学一学分布式系统. 带着问题,有目的的学习,先了解整体架构,在深入感兴趣的细节,这是我的计划. 首先得有问题,如果每日重复相同的工作,也不主动去学习,很难发现新的问题.不怕自己无知,就怕不知道自己无知,只有不断的学习,才会发现更多未知的知识领域! 带着问题出发 回到顶部 分布式要解决什么问题呢?解决持久化数据太大,单个节点的硬盘无法存储的问题:解决运算量太大,单个节点的内存.CPU无法处理

重磅出击!!春季小程序活动大作战,看我怎么玩??

“天气这么好,你怎么可以不出去??” 一说到出游,我们大多数人都会想到出游所需的必备品,比如衣服.零食.户外器具等等,这就是用户需求啊.针对春季旺盛的需求,商家就要做好准备了!! 01踏春活动性质 先我们先分析一下整个春季活动的性质,也就是明确一下商家为什么要做这个活动,或者说商家可以用什么噱头来吸引用户.春天大家都知道是个万物复苏的季节,人也是一样,到了春天,到想出去游玩踏青.而游玩踏青所必不可少的就是衣食住行各个方面.所以我们商家也可以根据用户的需求调整自己的营销策略. 综上所述,和人们出行

好程序员大数据学习路线分享hive的运行方式

好程序员大数据学习路线分享hive的运行方式,hive的属性设置: 1.在cli端设置 (只针对当前的session) 3.在java代码中设置 (当前连接) 2.在配置文件中设置 (所有session有效) 设置属性的优先级依次降低. cli端只能设置非hive启动需要的属性.(log属性,元数据连接属性) 查找所有属性: hive>set; 查看当前属性的值:通常是hadoop hive> set -v; 模糊查找属性: hive -S -e "set" | grep