64k环境限制下实现大单位结构存取的方法技术

技术编号:4263465 阅读:275 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种在64k环境限制实现大单位结构存取的方法,其包含改变一大单位结构为多个子结构,其中每一子结构的一长度为小于64k;接着,利用自我测试内存管理器配置一大单位内存空间;以及将多个子结构存放于大单位内存空间之中,特别是位于1MB以上的内存空间。

【技术实现步骤摘要】

本专利技术是有关于一种数据存取的方法,且特别是有关于一种在64k环境限制下的 数据存取的方法。
技术介绍
由于Option R0M(0PR0M)或是DOS作业环境是属于16位的作业环境,其作业空间 的大小为2的16次方个位,即65536位,即64k的长度。由于程序的功能中的变量值多是 存放在堆叠中,但受限于作业环境的大小,在此种64k环境作业中的程序所存取的数据结 构也多限制在64k以内,以避免因重复堆叠的关系,而导致计算错误,使得我们无法取得堆 叠中结构的正确位置。 虽然过去使用者会尽量避免在64k作业环境中使用大于64k的数据结构,但若是 无可避免的需要在64k的作业环境下,如0PR0M或是DOS操作系统中,存取大单位结构(即 长度大于64k的结构)时,传统的做法多是将此大单位结构存在硬盘之中,当64k作业环境 下的程序需要此大单位结构中的某个字段(attribute)时,再去硬盘中存取此字段。 此种将大单位结构存在硬盘中,在需要时才去硬盘中存取的方法,虽可解决堆叠 时计算错误的问题,但会花费大量的输入输出(input/output ;10)时间,而若是将此大单 位结构直接写入64k的内存中,又会遇到前述的堆叠的问题。 因此,如何节省在64k作业环境下存取大单位结构时所花费的时间,且不因堆叠 而导致计算错误的情形,便成为一个相当重要的课题。
技术实现思路
因此本专利技术的目的在于提供一种,用 以解决大单位结构存取时所遇到的堆叠问题。 本专利技术的另一 目的在于不透过硬盘存放64k作业环境中所使用的大单位结构,以 节省输入/输出所耗费的时间。 为了实现上述目的,本专利技术提出了一种在64k环境限制实现大单位结构存取的方 法,其包含改变一大单位结构为多个子结构,其中每一子结构的一长度为小于64k;接着, 利用自我测试内存管理器配置一大单位内存空间;以及将子结构存放于大单位内存空间之 中。 其中改变大单位结构为多个子结构的步骤包含拆解大单位结构为多个子结构,或 是切割大单位结构为子结构。其中自我测试内存管理器是在自我测试(POST)情形下配置 出大单位内存空间。此大单位内存空间较佳地为配置位于1MB以上内存空间的大单位内存 空间。 本方法还包含分别计算子结构的一起始位置,其包含有记录大单位内存空间的起 始位置与分别记录子结构的长度。此方法还包含有读取一指定字段,其中包含计算指定字 段位于其所在的子结构中的一偏移值,叠加指定字段所在的子结构的起始位置与偏移值,3以得到读取位置,最后,透过自我测试内存管理器读取此指定字段。 本专利技术所提供的在,可透过自我测试 内存管理器将大单位结构改变为多个长度在64k以内的子结构,并将这些子结构存放在 1MB以上的内存空间之中,以不影响0PR0M程序的运作。并透过特殊的自我测试内存管理器 的读取方法,直接读取位于1MB以上的内存空间中的子结构的字段的值。附图说明 为让本专利技术的上述和其它目的、特征、优点与实施例能更明显易懂,所附附图的详 细说明如下 图1A与图1B是应用本专利技术的一种第 一实施例的示意图; 图2是本专利技术的一种的第二实施例的示意图; 流程图 图3是本专利技术的一种的第三实施例的图4为此大单位结构存取时一实施例的示意图5是本专利技术的;图6为此大单位结构存取时另一实施例的示意图。主要组件符号说明100 :大单位结构120、120':第二子结构200 ;大单位结构 220 :第二子结构310 346 :步骤410 :第一子结构 430 ;第三子结构H0、110':第一子结构130、 130':第三子结构210 :第一子结构 230 :第三子结构400 :大单位结构 420 :第二子结构432 :指定字段具体实施例方式以下将以附图及详细说明清楚说明本专利技术的精神,任何所属
中具有通常知识者在了解本专利技术的较佳实施例后,当可由本专利技术所教示的技术,加以改变及修饰,其并 不脱离本专利技术的精神与范围。 由于大单位结构无法直接地在如0PR0M或是DOS等64k的作业环境下进行存取, 因此,本专利技术便提出了一种可在,其可将此大 单位结构拆解成为多个长度小于64k的子结构,并透过自我测试内存管理器(POST memory manager ;PPM)配置出一大单位内存空间存放这些子结构,以有效地读取大单位结构而不 会遇到堆叠的问题。 参照图1A与图1B,其是应用本专利技术的一种64k环境限制下实现大单位结构存取的 方法第一实施例的示意图。图1A为提供一大单位结构100,本实施例中的大单位结构100 的初始状态为由多个子结构110、120、130所组合而成,其中第一子结构110中包含有第二子结构120,而第二子结构120中又包含有第三子结构130,因此,使得大单位结构100在宣 告时的长度极大,而无法在64k作业环境下直接存取。 图lB中,本专利技术的在可对此大单位结 构100进行拆解,以在宣告时将大单位结构100拆解为多个子结构。其中,第三子结构130' 被独立拆解出来,拆解后的第二子结构120,已经不包含第三子结构130'。同样地,拆解后 的第一子结构110'也不包含第二子结构120'。如此一来,程序可分别对拆解之后的第一子 结构110'、第二子结构120'、与第三子结构130'进行宣告。 其中,拆解后的第一子结构110'、第二子结构120'、与第三子结构130'的长度大 小较佳地为在拆解之后均小于64k,以符合在64k环境限制中的堆叠的规定,使第一子结构 110'、第二子结构120'、与第三子结构130'可存放在64k的作业环境之中。若是第一子结 构110'、第二子结构120'、与第三子结构130'在拆解后的大小仍大于64k,则可透过本专利技术 的第二实施例,将其长度进一步地限制在64k之中。 参照图2,其是本专利技术的一种的第二 实施例的示意图。本实施例为将大单位结构200切割为多个子结构210、220、230,其中每一 个子结构210、220、230在切割的长度均小于64k,使这些子结构210、220、230可存放在64k 的作业环境的下。 透过前述两个实施例的应用,不论是仅用其中之一或是透过两者的搭配,本专利技术 的可将原本的大单位结构改变为多个长度在 64k之内的子结构,使这些子结构可直接地存放在64k的作业环境之中,而不会遇到堆叠的 问题。 参照图3,其是本专利技术的一种的第三 实施例的流程图。本实施例中,步骤310为改变大单位结构为多个子结构,其中每一个子 结构的长度均为小于64k。接着,步骤320为利用一自我测试内存管理器(POST memory manager ;PPM)配置一大单位内存空间,接着,步骤330为将这些长度小于64k的子结构存 放在此大单位内存空间之中。 步骤310中所述的改变大单位结构为多个子结构的长度在64k以内的子结构,或 是如第二实施例中所述的将大单位结构切割为多个长度在64k以内的子结构,又或者可结 合第一实施例与第二实施例,将大单位结构经过拆解与切割后,变成多个长度在64k的内 的子结构。 步骤320中,自我测试内存管理器(PPM)是在自我测试(power on self test ; POST)的情形下,特别是在big real mode的模式下,配置本文档来自技高网
...

【技术保护点】
一种64k环境限制下实现大单位结构存取的方法,其特征在于,包含:改变一大单位结构为多个子结构,其中每一子结构的一长度为小于64k;利用一自我测试内存管理器配置一大单位内存空间;以及将该多个子结构存放于该大单位内存空间。

【技术特征摘要】
一种64k环境限制下实现大单位结构存取的方法,其特征在于,包含改变一大单位结构为多个子结构,其中每一子结构的一长度为小于64k;利用一自我测试内存管理器配置一大单位内存空间;以及将该多个子结构存放于该大单位内存空间。2. 根据权利要求1所述的64k环境限制下实现大单位结构存取的方法,其特征在于,改 变一大单位结构为多个子结构的步骤包含拆解该大单位结构为该多个子结构。3. 根据权利要求l所述的64k环境限制下实现大单位结构存取的方法,其特征在于,改 变一大单位结构为多个子结构的步骤包含切割该大单位结构为该多个子结构。4. 根据权利要求l所述的64k环境限制下实现大单位结构存取的方法,其特征在于,该 自我测试内存管理器是在一自我测试情形下配置出该大单位内存空间。5. 根据权利要求l所述的64k环境限制下实现大单位结构存取的方法,其特征在于,配 置一大...

【专利技术属性】
技术研发人员:陈重江
申请(专利权)人:英业达股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1