使用随机存取存储器盘的系统和方法

文档序号:6414488阅读:266来源:国知局
专利名称:使用随机存取存储器盘的系统和方法
本公开一般地涉及计算机和用于控制对计算机存储装置的访问的软件代码,较具体地涉及一种用来确定一个易失性存储装置的驱动器标识符和把该参考指定符(标识符)传送给其他程序的系统和方法。
典型地,一个计算机含有几种不同的存储装置,例如一个随机存取存储器(RAM)库、一个硬驱和/或一个软驱。上述这些存储装置有不同的特性,因此它们的用途也不同。RAM提供快速但易消失的数据存储,而硬驱和软驱(统称盘式驱动器)提供稍慢但永久性的数据存储。由于它们的不同特性和用途,典型的情况是盘式驱动器用于长期存储而RAM用于短期存储。然而,存在有一些程序,例如华盛顿州Redmond市Microsoft Corporation(微软公司)的RAMDRIVE("RAM驱动器")程序,使计算机能够把RAM当作好像是一个盘式驱动器(即"RAM盘")来使用。虽然RAM盘是一个易失性存储装置,但RAM盘可以用于各种应用。
作为例子,可能因使用RAM盘而得到好处的一个应用是,计算机制造商在为新计算机安装软件的下载处理中使用RAM盘。通过使用RAM盘,下载处理可以进行得较快;可以不去使用那些永久性存储装置从而保留它们的原状而不被分区;并且由于RAM盘的易失性,故在其上生成的暂时性文件将会消失。
不过,在下载处理中使用RAM盘也有一些相应的困难。在诸如Microsoft的DOS、Windows(视窗)或Windows95等操作系统中(以下以DOS为代表),计算机上各种逻辑存储装置的逻辑驱动器参考指定符(标识符)或驱动器字母是依次指定的,指定给RAM盘的驱动器字母要待所有永久性存储装置的逻辑驱动器都已设定了各自的驱动器字母之后才能确定。因此,指定给RAM盘的驱动器字母是未知的,而且在不同的计算机上可能是不同的。
一旦指定了包括RAM盘在内的各个逻辑驱动器的驱动器字母,就需要把RAM盘的逻辑驱动器字母传送给下载处理。然而,DOS并不支持跨处理的通信,也就是说,通过DOS环境不能把指定的驱动器字母传送给下载处理。DOS环境是一个含有一系列供DOS和其他运行于计算机上的程序使用的变量设定的DOS主环境的一种实例(instantiation)。可以认为DOS主环境及其各种实例是本技术领域一般技术人员所熟知的,所以为了简明这里不作进一步讨论。
因此,需要有一种系统和方法,使得一个处理,例如软件下载处理,能得知RAM盘的驱动器标识符(参考指定符)以供该处理以后使用。
为此,提供了一种用来确定用于一个易失性存储装置的驱动器标识符并把该参考指定符传送给其他程序的系统和方法。在一个实施例中,一个计算机含有一个用于运行操作系统代码的处理器、RAM、和一个硬驱存储装置。其中RAM含有一个在其中构形成的RAM盘,并且硬驱存储装置至少含有一个分区。操作系统代码把RAM盘和硬驱分区都识别为逻辑驱动器,因此它含有至少为两个的一系列驱动器参数数据块(DPB),每个逻辑驱动器对应一个DPB。该计算机还含有一个软件例行程序,用来确定一个指定给RAM盘的驱动器字母(标识符、参考指定符),并把该驱动器字母传送给另外的程序。
首先,该例行程序必须通过依次执行以下步骤来确定指定给RAM盘的驱动器字母访问DPB系列中的一个DPB,检查由该DPB所指定的逻辑驱动器,以及确定该逻辑驱动器是否是RAM盘。一些预先规定的逻辑驱动器特性使例行程序能够判断一个逻辑驱动器是否是RAM盘。例如,通常一个硬驱分区含有它的两份文件配置表,而一个RAM盘通常只有一份文件配置表。
一旦该例行程序确定了与RAM盘相对应的是哪一个DPB,它就提取指定给这个DPB的驱动器字母。然后该例行程序把该驱动器字母存储在一个预定位置上,例如存储在操作系统的主环境中。因此,一个程序将可以通过参考该预定位置来访问RAM盘。
上面的概述仅仅示出了许多不同的可能实施例中的一些。下面将进一步说明另外的实施例。


图1是一个用来实现一个实施例的计算机的方框图,该计算机含有一个处理器、一个硬驱和一个RAM。
图2a是图1计算机的硬驱的布局图。
图2b是图1计算机的RAM在计算机已被引导后的布局图。
图3是图1计算机所运行的一个例行程序的流程图。
参见图1,代号10代表一个计算机,它含有几个部件,其中包括至少一个处理器12、一个RAM14、一个硬盘16和一个软盘18。各个部件都能够通过图示的总线20与处理器12相通信。在本例中,处理器12运行的是DOS操作系统代码。不过应该理解,计算机10及其示例性部件仅仅是许多不同类型的计算机和部件的一种代表,DOS仅仅是本技术领域内一般技术人员所熟知和了解的许多不同类型的操作系统的一个代表。
参见图2a,计算机10把硬盘16分成三个不同的分区一个主引导记录30、一个第一分区32和一个第二分区34。位于主引导记录30中的是引导指令代码40和一个主分区表42。分区32、34都是逻辑分区,它们各自分别含有一个引导记录52、62,一个文件配置表("FAT")54、64,以及一个存储区56、66。虽然图中没有专门示出,但软盘14也被适当地构形成另一个逻辑分区。关于硬盘16和软盘14这类存储装置的构形和处理,在Mark Minasi的著作"THEHARD DISK SURVIVAL GUIDE(硬盘生存指导)"(SYBEX,Inc.,1991)中有进一步的说明,这里引用该书作为参考。
参见图2b,RAM14中存储有多个数据结构,其中一些可以按照它们的属性定义为基本系统代码80,DOS操作码82和RAM盘84。基本系统代码80中除了其他内容外还含有一个包含了一系列变量设定的主环境86。虽然这里没有示出,但应理解,作为一般的需要,在整个RAM14上都可以存在有主环境86的其他实例。DOS82包含许多结构,其中包括多个驱动器参数数据块(DPB)88。对每一个逻辑驱动器都有一个DPB,在本例中有4个逻辑驱动器软盘18、分区32、分区34、和RAM盘84。RAM盘84与分区32、34相类似地被格式化,包括一个引导记录90、一个FAT92和一个存储区隔4。不过,与大多数通常的驱动器格式化处理相同,RAM盘只有一份FAT96,而软盘18和分区32、34都各自有两份相应的FAT52、62。RAM14中还存储一个程序96。作为例子,程序96是一个软件下载处理,它将因使用RAM盘84而得益。
参见图3,例行程序100确定RAM盘84所用的驱动器字母并把该字母传送给程序96。在开始运行该例行程序之前,计算机10已被引导起动而且RAM14已按前述被构形。在引导起动处理时,DOS已给每个驱动器指定了一个特定的驱动器字母。在本例中,这些参考指定符如下面表1所示。此外,例行程序100已被程序96起动,并被提供了一个预定的变量,对此下面将更详细地讨论。
表1
在步骤102中,例行程序100从RAM14内的多个DPB88中提取第一个DPB。在本例中,各个DPB是从RAM14中依次地提取的。在步骤104,例行程序100对由提取的DPB所指定的逻辑驱动器的FAT的份数进行计数。如果有多于一份的FAT,则该逻辑驱动器属于永久性存储装置,如硬盘16或软盘18。这时处理返回到步骤102,例行程序100提取下一个DPB。然而,如果在步骤104中只计数到一份FAT,则对应的逻辑驱动器是RAM盘84,于是处理进到步骤106。虽然这里没有示出,但也可以含有出错控制机制,以正确地处理出错情况,例如不存在有RAM盘的情况。在步骤106,例行程序100提取对应于最后提取的DPB的驱动器字母,在上述例子中,该字母是D。
在步骤108,例行程序100从程序96提取预定的变量,如前所述,该变量是在该程序起动例行程序时提供的。作为例子,程序96的构形使得它将用名称为"TEMP"的变量来参考逻辑驱动器。因此,当程序96起动例行程序100时,它将向例行程序100提供名称TEMP。在步骤110,例行程序100通过用提取到的字母去设定该预定变量来更新主环境86,例如TEMP=D\然后处理返回到程序96。
其结果是,程序96对变量TEMP的所有引用都将被引导到RAM盘84上。此外,上述例行程序100对任何逻辑驱动器构形都有效,即使存在有多个RAM盘。
虽然示出和说明了示例性的实施例,但希望在前面的公开内容中留有修改、改变和替代的余地,并且在某些情形中,可以只采用某些特征而不相应地采用其他特征。例如,可以利用易失性存储装置和永久性存储装置的其他特性差别来区分两者,并得到与上面相同的结果。再有,可以在上述示例性实施例中加上出错处理例行程序等其他特征而不会改变本发明的范畴。所以,应该广义地并且以符合所附权利要求的范畴的方式来理解所附的权利要求。
权利要求
1.一种计算机,它包括至少一个用来运行操作码的处理器;至少一个可被该处理器访问的易失性存储装置;用来把该易失性存储装置的至少一部分配置成一个逻辑驱动器的装置;一个可被处理器访问的存储位置;操作码,其中含有对该逻辑驱动器的参考指定符;以及一个例行程序,用来把该参考指定符设定给一个存储在该存储位置上的变量。其中,当例行程序把参考指定符设定给预定变量后,一个程序就可以通过引用该预定变量来访问该逻辑驱动器。
2.根据权利要求1的计算机,其中的易失性存储装置是随机存取存储器(RAM),并且该易失性存储装置的被访问部分已经预先被构形成一个RAM盘。
3.根据权利要求1的计算机,它还抱括一个可被处理器访问的永久性存储装置;并且其中的配置装置还把该永久性存储装置的至少一部分配置成另一个逻辑驱动器。
4.根据权利要求3的计算机,其中的例行程序通过检查一个指示因子来判断哪一个逻辑驱动器代表易失性存储装置。
5.根据权利要求4的计算机,其中的指示因子是配置表的数目。
6.根据权利要求5的计算机,其中的易失性存储装置是随机存取存储器(RAM),并且永久性存储装置是一个硬盘。
7.根据权利要求5的计算机,其中的易失性存储装置是随机存取存储器(RAM),并且永久性存储装置是一个软盘。
8.一种用来在一个含有一个易失性逻辑驱动器、一个永久性逻辑驱动器和一个操作系统的计算机中由操作系统确定指定给易失性逻辑驱动器的参考指定符并把该参考指定符传送给一个程序的方法,其中的操作系统含有至少为两个的一系列数据块,每个逻辑驱动器对应于一个数据块,该方法包括以下步骤a)在确定指定给易失性逻辑驱动器的参考指定符之前,执行如下步骤ⅰ)从一系列数据块中提取一个数据块;ⅱ)检查由所提取数据块指定的逻辑驱动器;ⅲ)判断该逻辑驱动器是否是易失性逻辑驱动器;ⅳ)如果该逻辑驱动器是易失性逻辑驱动器,则提取指定给所提取数据块的参考指定符;b)给一个预定变量设定该参考指定符;由此,一个程序可以通过参考该预定变量来访问该易失性逻辑驱动器。
9.根据权利要求8的方法,其中的计算机还抱括一个主环境,并且其中的设定步骤还包括把预定变量和参考指定符存储在该主环境中。
10.根据权利要求9的方法,其中的易失性逻辑驱动器代表一个随机存取存储器盘。
11.根据权利要求9的方法,其中的易失性逻辑驱动器代表一个硬盘的一个分区。
12.根据权利要求9的方法,其中的易失性逻辑驱动器代表一个软盘。
13.根据权利要求9的方法,其中的易失性逻辑驱动器只含有单个文件配置表,而永久性逻辑驱动器含有两个文件配置表。
14.根据权利要求13的方法,其中的判断步骤对逻辑驱动器中的文件配置表数目进行计数。
15.一种使一个处理能够得知并使用生成在计算机的易失性存储装置的一个预定分区内的逻辑驱动器的软件装置,其中的计算机还含有一个或多个另外的逻辑驱动器和一个用于运行带有对应于各个逻辑驱动器的一系列参数数据块的操作码的处理器,该软件装置包括一个存储媒体,用于存储该软件装置;用于从一系列参数数据块中提取一个参数数据块的装置用于判断所提取的参数数据块是否对应于易失性存储器逻辑驱动器的装置;用于在响应于所提取的参数数据块不对应于易失性存储器逻辑驱动器的判定时,从一系列参数数据块中提取另一个参数数据块的装置;用于在响应于所提取的参数数据块对应于易失性存储器逻辑驱动器的判定时,获取由操作码指定给所提取参数数据块的参考指定符;用于把该参考指定符存储在一个预定位置上以供一个处理使用的装置。
16.根据权利要求15的软件装置,其中的预定位置是操作码所使用的主环境中的一个变量设定位置,并且其中的处理通过参考该变量设定位置来使用该参考指定符。
17.根据权利要求16的软件装置,其中的易失性存储器逻辑驱动器代表一个随机存取存储器(RAM)盘。
18.根据权利要求16的软件装置,其中另外的逻辑驱动器之一代表一个硬盘的一个分区。
19.根据权利要求16的软件装置,其中另外的逻辑驱动器之一代表一个软盘。
20.根据权利要求16的软件装置,其中的易失性存储器逻辑驱动器只含有单个文件配置表。
21.根据权利要求20的软件装置,其中的判断装置对每个逻辑驱动器中的文件配置表数目进行计数。
全文摘要
一种计算机,包括:至少一个用来运行操作码的处理器;至少一个可被该处理器访问的易失性存储装置;用来把该易失性存储装置的至少一部分配置成一个逻辑驱动器的装置;一个可被处理器访问的存储位置;操作码,其中含有对该逻辑驱动器的参考指定符;以及一个例行程序,用来把该参考指定符设定给一个存储在该存储位置上的变量。其中,当例行程序把参考指定符设定给预定变量后,一个程序就可以通过引用该预定变量来访问该逻辑驱动器。
文档编号G06F3/06GK1215864SQ9812015
公开日1999年5月5日 申请日期1998年10月13日 优先权日1997年10月15日
发明者艾伦·E·贝利茨 申请人:戴尔美国公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1