CN101228510B - 信息处理方法和信息处理装置 - Google Patents

信息处理方法和信息处理装置 Download PDF

Info

Publication number
CN101228510B
CN101228510B CN2006800272565A CN200680027256A CN101228510B CN 101228510 B CN101228510 B CN 101228510B CN 2006800272565 A CN2006800272565 A CN 2006800272565A CN 200680027256 A CN200680027256 A CN 200680027256A CN 101228510 B CN101228510 B CN 101228510B
Authority
CN
China
Prior art keywords
space
resource
execution space
execution
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2006800272565A
Other languages
English (en)
Other versions
CN101228510A (zh
Inventor
饭野阳一郎
滨野淳史
斋藤淳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of CN101228510A publication Critical patent/CN101228510A/zh
Application granted granted Critical
Publication of CN101228510B publication Critical patent/CN101228510B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5014Reservation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

在图2中,在第一执行空间(20a)中包含的某一过程(32)对本地资源管理单元(46)进行资源的分配请求。本地资源管理单元(46)取得请求源的过程(32)的认证ID,并进行可否分配资源的判定。如果可分配,并且用第一执行空间(20a)中以前确保了的资源可以满足请求,则本地资源管理单元(46)对过程(32)进行资源的分配。如果资源不足,则本地资源管理单元(46)对全局资源管理单元(56)进行资源的分配请求。全局资源管理单元(56)取得请求源的第一执行空间(20a)的认证ID,进行可否分配资源的判定。在判定为可分配的情况下,对第一执行空间(20a)进行资源的分配。

Description

信息处理方法和信息处理装置
技术领域
本发明涉及信息处理技术,特别涉及将一个信息处理系统分割为多个分区(partition)来进行处理的信息处理方法和应用该方法的信息处理装置。 
背景技术
近年来,在一个信息处理装置中执行多个过程(process)的多任务系统的技术已经一般化。由此,可以由一个装置并行提供包含电视接收、计算机游戏执行、动画再现、电子邮件发送接收等的多个功能的信息处理装置不断广泛地向一般领域渗透。多任务系统将各个过程进行时间分割,并分配到处理器的各个时间片中依次执行,从而并行处理多个过程。进而,也提供了以下的技术:将多个过程例如按对应的各个应用软件进行分区,对每个分区起动操作系统(Operating System,此后称作“OS”)来进行过程的控制。由此,实现了一个装置能够对应的软件的多样化。 
为了并行地处理多个过程,不仅对各个过程进行CPU时间的分配,而且进行存储器或外部存储装置、输入输出设备等信息处理装置所具有的资源的分配。控制信息处理装置整体的OS基于过程的处理状况或与其它的过程的相对优先级等,进行资源的分配。 
各个过程的所需资源可以在过程的执行中变动。例如,可能产生某一过程的运算量增加,在被分配的CPU时间中,处理上产生延迟的情况。这种情况下,该过程对控制信息处理装置整体的OS请求CPU时间的追加分配。被请求的OS进行与其它过程的调整,并进行重新分配CPU时间等处理。 
发明内容
发明要解决的课题 
但是,由于资源的追加分配相关的过程/OS之间的通信、OS处理从多个过程发出的分配请求所需的处理等待队列等,从而产生开销(overhead)。本发明人认识到该开销随着信息处理装置所处理的过程数增加而变得显著。 
本发明鉴于这样的课题而完成,其目的在于提供一种能够抑制对于过程的资源追加分配带来的开销的技术。 
用于解决课题的手段 
本发明的方案涉及信息处理方法。该信息处理方法,其特征在于,包含:生成多个执行空间的步骤;对所述多个执行空间进行装置的资源分配的步骤;在所述执行空间的各个空间中起动一个以上的过程的步骤;从对所述执行空间所分配的资源中,对在该执行空间中已起动的过程进行资源分配的步骤;在所述执行空间中确保剩余资源,该剩余资源是从对所述执行空间分配的资源之中减去对在该执行空间中已起动的过程分配的所述资源后的资源,当所述过程进行了所述资源的追加分配请求时,判定在所述过程所属的执行空间中确保的所述剩余资源是否满足所述追加分配请求的步骤;在所述剩余资源满足的情况下,从所述剩余资源中,对所述过程进行所述资源的追加分配的步骤;以及在所述剩余资源不满足的情况下,对所述执行空间进行资源的追加分配的步骤;其中,上述对所述执行空间进行资源的追加分配的步骤包括:从存储装置中读出限制信息表的步骤,所述限制信息表是针对对所述执行空间的资源分配,将对与所述执行空间对应的软件预先设定的限制信息,与预先确定的对应于执行空间的软件的固定识别信息相对应的表;基于所述资源的追加分配请求的信号中所包含的、通过该信号的收发所使用的通信而识别的、请求源执行空间的按各执行空间生成的顺序赋予的暂定识别信息,根据将各个执行空间的暂定识别信息和固定识别信息对应的执行空间名称表而取得所述执行空间的固定识别信息,从而进行请求源执行空间的认证的步骤,其中所述执行空间的固定识别信息是预先确定的对应于执行空间的软件的固定识别信息;基于请求源执行空间的固定识别信息而参照所述限制信息表,从而取得所述限制信息中包含的所述资源的可分配范围,并在所述可分配范围内进行资源的追加分配的步骤。 
“过程”是指为达成某种目的而被编程的软件或其所包含的信息处理的内容,可以对应于软件,也可以对应于比输入输出控制或用户指定的命令等软件小的单位,只要对应于任何的处理或功能单位即可。“执行空间”是指一个以上的过程被执行的环境,可以是过程本身,也可以包含为执行过程所必需的OS。此外,例如也可以是软件单位或功能单位、控制所需的OS单位等,由于规定的逻辑原因而划分的过程的集合。“资源”也可以包含存储量或CPU 时间等量或时间上可分割的硬件的量化、时间化概念,或装置所连接的装置等硬件本身的其中一个或双方。从而,“资源的分配”也可以包含对量化、时间化分割的部分进行分割的情况,和提供用于存取硬件的存取信息的情况的其中一个或双方。 
本发明的其它的方案涉及信息处理装置。该信息处理装置,其特征在于,包括:生成多个执行空间的单元;对所述多个执行空间进行装置的资源分配的单元;在所述执行空间的各个空间中起动一个以上的过程的单元;从对所述执行空间所分配的资源之中,对在该执行空间中已起动的过程进行资源分配的单元;在所述执行空间中确保剩余资源,该剩余资源是从对所述执行空间分配的资源之中减去对在该执行空间中已起动的过程分配的所述资源后的资源,当所述过程进行了所述资源的追加分配请求时,判定在所述过程所属的执行空间中确保的所述剩余资源是否满足所述追加分配请求的单元;在所述剩余资源满足的情况下,从所述剩余资源中,对所述过程进行所述资源的追加分配的单元;以及在所述剩余资源不满足的情况下,对所述执行空间进行资源的追加分配的单元;其中,上述对所述执行空间进行资源的追加分配的单元包括:从存储装置中读出限制信息表的单元,所述限制信息表是针对对所述执行空间的资源分配,将对与所述执行空间对应的软件预先设定的限制信息,与预先确定的对应于执行空间的软件的固定识别信息相对应的表;基于所述资源的追加分配请求的信号中所包含的、通过该信号的收发所使用的通信而识别的、请求源执行空间的按各执行空间生成的顺序赋予的暂定识别信息,根据将各个执行空间的暂定识别信息和固定识别信息对应的执行空间名称表而取得所述执行空间的固定识别信息,从而进行请求源执行空间的认证的单元,其中所述执行空间的固定识别信息是预先确定的对应于执行空间的软件的固定识别信息;基于请求源执行空间的固定识别信息而参照所述限制信息表,从而取得所述限制信息中包含的所述资源的可分配范围,并在所述可分配范围内进行资源的追加分配的单元。 
另外,以上构成要素的任意组合、将本发明的表现在方法、装置、系统、计算机程序等之间变换的产物,作为本发明的方式都有效。 
发明效果 
根据本发明,能够高效率地进行对过程的资源分配。 
附图说明
图1是表示本实施方式的信息处理装置的整体结构的方框图。 
图2是表示本实施方式的系统控制单元和执行空间的结构的方框图。 
图3是表示本实施方式的信息处理装置起动时的处理步骤的流程图。 
图4是示意地表示本实施方式的信息处理装置的资源分配处理相关的参数和表的相互关系的图。 
图5是表示本实施方式的系统初始化参数表的结构例子的图。 
图6是表示本实施方式的执行空间初始化参数表的结构例子的图。 
图7是表示本实施方式的起动程序目录的结构例子的图。 
图8是表示本实施方式的程序文件的数据结构例子的图。 
图9是表示本实施方式的执行空间名称表的结构例子的图。 
图10是表示本实施方式的全局(global)资源管理表的结构例子的图。 
图11是表示本实施方式的本地资源管理表的结构例子的图。 
图12是表示本实施方式的过程资源管理表的结构例子的图。 
图13是表示本实施方式的过程名称表的结构例子的图。 
图14是表示在本实施方式中对执行空间分配存储量或CPU时间的步骤的流程图。 
图15是表示在本实施方式中对过程分配存储量或CPU时间的步骤的流程图。 
图16是表示在本实施方式中对过程分配装置的步骤的流程图。 
图17是表示本实施方式的装置管理表的结构例子的图。 
图18是表示在本实施方式中对执行空间分配装置的步骤的流程图。 
图19是表示在本实施方式中对过程分配硬盘的步骤的流程图。 
图20是表示本实施方式的硬盘管理表的结构例子的图。 
图21是表示在本实施方式中对执行空间进行硬盘的装载(mount)的步骤的流程图。 
图22是表示本实施方式的硬盘内部管理表的结构例子的图。 
图23是表示在本实施方式中对执行空间分配硬盘的步骤的流程图。 
图24是表示本实施方式的空余容量管理表的结构例子的图。 
图25是表示在本实施方式中返还对执行空间分配的未使用资源的步骤的流程图。 
图26是表示本实施方式的追加起动执行空间参数表的结构例子的图。 
图27是表示本实施方式的追加装置信息表的结构例子的图。 
图28是表示本实施方式的追加存储量信息表的结构例子的图。 
图29是表示本实施方式的全局资源变更信息表的结构例子的图。 
图30是表示本实施方式的本地资源变更信息表的结构例子的图。 
标号说明 
10...处理器,20...执行空间,30...过程处理单元,32...过程,40...执行空间控制单元,42...本地初始化单元,44...本地名称管理单元,46...本地资源管理单元,50...系统控制单元,52...全局初始化单元,54...全局名称管理单元,56...全局资源管理单元,60...输入输出装置,62...装置,70...存储器,80...外部存储装置,82...硬盘,100...信息处理装置,102...系统初始化参数,104...执行空间认证ID,130...执行空间名称表,132...执行空间暂定ID,140...全局资源管理表,150...本地资源管理表,160...过程资源管理表,170...过程名称表,172...过程ID。 
具体实施方式
首先论述本实施方式的概要。本实施方式在多个执行空间中分别处理一个以上的过程的方式的信息处理装置中被实现。执行空间例如按游戏、Web浏览器、音乐编辑等每个软件而生成,例如如果是游戏的执行空间,则过程以图像处理、声音处理等用于执行软件的规定处理单位来生成。为了并行处理多个程序,信息处理装置所具有的存储量、CPU时间等资源被分配给各处理器。本实施方式中的资源分配,首先对执行空间进行。而且,从被分配给执行空间的资源中,对属于该执行空间的过程进行资源分配。 
进而,在本实施方式中,在某一过程请求了资源分配时,首先在该程序所属的执行空间内进行有关可否分配资源的一次判定。接着,根据需要而在执行空间外进行有关可否分配资源的二次判定。二次判定以执行空间为单位进行。具体来说,通过基于对执行空间唯一确定的认证用ID,参照对每个执行空间预先设定的资源的分配限制信息,从而判定可否对执行空间分配资源。认证用的ID或资源的分配限制信息,作为软件的一部分与程序一同被存储,在生成对应于该软件的执行空间时读入。 
二次判定的结果,如果可分配资源,则对执行空间进行资源的分配。一次对执行空间分配的资源的量以预先对每个执行空间设定的资源量的单位进行。一次对执行空间分配的资源即使产生剩余部分也在执行空间内确保。由此,此后在属于同一执行空间的过程请求了资源分配时,在执行空间内确保 的资源如果满足该请求,则可以仅通过执行空间内的通信来解决资源分配处理。 
通过分级地执行可否分配资源的判定,从而即使在某一执行空间中非法过程进行了资源的分配请求,由于首先进行该执行空间内的分配处理,因此可以防止对于其它的执行空间的资源分配所带来的影响。例如,即使非法过程代替成为控制执行空间的过程,并非法地请求资源分配,通过对每个执行空间设定的分配限制,可以防止过剩的分配。由此,可以防止非法过程占据装置的资源,并且影响其它执行空间的过程的进展的情况。另外,此后将非法过程代替成为其它的过程来进行请求等情况也称作“冒充”。 
此外,如上所述,由于有时能够通过在执行空间内确保了的资源来解决过程的资源分配请求,因此能够抑制由与执行空间外部的通信或对于分配请求的处理的等待队列等引起的开销。 
后面具体地说明本实施方式。图1是表示本实施方式的信息处理装置100的整体结构。信息处理装置100包括处理应用或OS的程序的处理器10、进行来自用户的指示输入或运算结果的输出的输入输出装置60、临时存储机器码或数据的存储器70、以及存储软件的程序或数据的外部存储装置80,经由总线90相互进行数据授受。输入输出装置60中,作为装置62a、62b,包含键盘、鼠标、游戏控制器、话筒等输入装置、打印机、显示装置等输出装置的其中一个或组合。另外,装置62a、62b的数目不限定于两个。外部存储装置80中含有硬盘82或未图示的闪存等与信息处理装置100的开/关无关地保持数据的存储装置的其中一个。 
处理器10中含有从第一执行空间20a到第n执行空间20c的n个执行空间20、以及统一控制信息处理装置100的系统控制单元50。第一执行空间20a中含有处理一个以上属于第一执行空间20a的过程的第一过程处理单元30a、控制用于第一执行空间20a内的资源分配或过程执行的各种控制以及与第一执行空间20a外的功能块的通信等的第一执行空间控制单元40a。此后,从第二执行空间20b到第n执行空间20c的各个执行空间中也同样含有第二过程处理单元30b~第n过程处理单元30c、第二执行空间控制单元40b~第n执行空间控制单元40c。此后,作为第一到第n的多个执行空间、过程处理单元和执行空间控制单元中任何一个执行空间、过程处理单元和执行空间控制单元的符号,也有时仅使用20、30和40。 
在图1中,从作为功能的方面来看,执行空间20包含于处理器10中,但各个执行空间20和系统控制单元50在硬件上也可以作为分别包含了输入输出装置60、存储器70或外部存储装置80的概念,进而还可以将未图示的其它的LSI也作为构成要素。此外,各个执行空间20以及系统控制单元50的功能在软件上通过载入存储器70的应用或OS的程序等实现。从而,这些功能块可仅通过硬件、仅通过软件、或通过它们的组合来以各种形式实现,这是本领域技术人员应该理解的,不应限定为任何一种。此外,在图1中,为了容易理解而将处理器10表示为一个矩形,但也不是将处理器10的个数限定为一个,例如可以采用具有多个子处理器10的多处理器结构,或具有主处理器和图形处理器的结构。进而,也可以是对于连接了总线90的各个硬件具有专用的总线的结构。 
执行空间20通过用户起动应用等而产生。例如,系统控制单元50如果检测出用户来自输入输出装置60的起动指示等请求信号,则从外部存储装置80对存储器70写入OS代码、程序、参数等。然后,通过进行执行所需的CPU时间、存储器70的使用量等资源分配从而形成执行空间20。执行空间控制单元40将由系统控制单元50分配的资源分配给为执行应用而产生的过程。由此,过程处理单元30在被分配的CPU时间内进行各个过程的处理,并根据需要进行对存储器70等的存取。 
在执行中的过程中,在根据其进展而产生资源的追加分配的必要性的情况下,过程处理单元30对执行空间控制单元40进行新的资源分配请求。执行空间控制单元40首先确认该执行空间20中确保了的资源,如果能够满足要求则将其分配给过程。如果确保的资源存在不足,则对系统控制单元50请求追加资源。然后,在进行了规定的确认作业之后,系统控制单元50对执行空间20进行资源的追加分配。后面叙述资源的分配方法。 
图2表示系统控制单元50和第一执行空间20a的更详细的结构。第二执行空间20b到第n执行空间20c的执行空间20也具有与第一执行空间20a相同的结构但省略了图示。第一过程处理单元30a所处理的第A过程32A、第B过程32B到第N过程32N例如是构成一个游戏的图像处理的过程和声音处理的过程等。以后,作为第1到第N的多个过程中的其中一个过程的记号,有时也仅记载为32。第一执行空间控制单元40a包含进行生成第一执行空间20a时的第一执行空间20a内的资源确保和起动的程序相关的初始化处理的 本地初始化单元42、在过程32的其中一个请求了资源的分配时解决请求源的过程32的名称的本地名称管理单元44、进行对过程32的资源分配可否执行的判定及其后面的处理、第一执行空间20a整体的资源管理的本地资源管理单元46。 
系统控制单元50包含进行执行空间20的生成和初始化处理的全局初始化单元52、在执行空间20请求了资源的分配时解决请求源的执行空间20的名称的全局名称管理单元54、进行对执行空间20的资源分配的执行可否判定及其后面的处理、信息处理装置100整体的资源管理的全局资源管理单元56。各个功能块按照后述的步骤,根据需要对存储器70和硬盘82进行数据的读出和写入。 
接着说明上述结构的动作。另外,关于各种参数或表,将在后面示出具体例子进行详细叙述。图3是表示信息处理装置100起动时的动作流程的流程图。用户进行起动输入等后,首先由系统控制单元50从外部存储装置80将起动所必需的程序、参数等读入存储器70,并执行规定的OS程序(S10)。这里,根据需要而通过电子签名的认证等来验证读入的程序或参数的有效性。作为OS程序的执行的一部分,系统控制单元50的全局初始化单元52基于在S10读入的参数中、包含要生成的执行空间20的信息的系统初始化参数,生成规定个数的执行空间20(S12)。此时,对于各个执行空间20,按生成的顺序赋予执行空间暂定ID。进而,全局初始化单元52在各个执行空间20中,起动执行空间控制单元40(S14),该执行空间控制单元40包括本地初始化单元42、本地名称管理单元44、以及本地资源管理单元46。此时,全局初始化单元52对本地初始化单元42提供包含该执行空间20的初始确保资源量和可通过追加而确保的资源量的单位的执行空间初始化参数,以及表示在该执行空间20内要起动的程序的信息的起动程序目录。执行空间初始化参数和起动程序目录是在S10读入的系统初始化参数所包含的信息。 
接着,全局初始化单元52对相同的系统控制单元50的全局名称管理单元54提供已起动的执行空间20的执行空间暂定ID、在S10读入的系统初始化参数中表示的执行空间认证ID。这里,执行空间认证ID是预先确定的对应于执行空间20的软件的固定ID。全局名称管理单元54生成将各个执行空间20的执行空间暂定ID和执行空间认证ID对应的执行空间名称表,并将其保存在存储器70中(S16)。此外,全局初始化单元52对全局资源管理单元 56提供在S10读入的系统初始化参数中包含的资源分配的限制信息。全局资源管理单元56基于该信息,生成用于管理在后面分配给执行空间20的资源的全局资源管理表,并将其保存在存储器70中(S18)。 
在S14中已起动的执行空间控制单元40的本地初始化单元42,基于由全局初始化单元52取得的执行空间初始化参数,将要在初期确保的资源量提供给本地资源管理单元46,本地资源管理单元46进行用于确保该资源的步骤(S20)。后面叙述步骤细节。在确保资源后,本地资源管理单元46生成本地资源管理表并保存在存储器70中(S22),该本地资源管理表表示从本地初始化单元42提供的执行空间初始化参数中包含的可通过追加来确保的资源量的单位,以及在S20中已确保的资源量。 
本地初始化单元42还基于在S14中由全局初始化单元52取得的起动程序目录来起动要起动的程序,从而生成各个过程32(S24)。此时,按起动的顺序对各个过程32赋予过程ID。接着,本地初始化单元42对本地名称管理单元44提供起动的过程32的过程ID和可从起动程序目录取得的程序认证ID。这里,程序认证ID与执行空间认证ID同样,是预先确定的程序固有的ID。本地名称管理单元44生成将各个过程32的过程ID和程序认证ID对应的过程名称表,并将其存储在存储器70中(S26)。此外,本地初始化单元42对本地资源管理单元46提供可从起动程序目录取得的资源分配的限制相关的信息。本地资源管理单元46基于该信息,生成用于管理在后面分配给各个过程32的资源的过程目录管理表,并保存在存储器70中(S28)。以上,结束信息处理装置100起动时的处理。 
图4是表示通过上述处理取得的参数和生成的表的相互关系的图。图3的流程图所示的步骤的记号中,与图4中的参数的取得和表的生成对应的步骤的记号表示在括号内。此外,图2所示的功能块中、参照生成的各表的功能块表示在图的右端。首先,在图3的S10中,系统控制单元50读入的系统初始化参数102中包含:要生成的执行空间20的执行空间认证ID104的目录;表示可对各个执行空间20分配的资源的量或种类的可分配资源信息106;包含执行空间20初始要确保的资源量和可通过追加确保的资源量的单位(以后称作“追加资源单位”)的执行空间初始化参数200;以及包含在执行空间20内要起动的程序的程序认证ID的目录、各个程序可利用的资源的量或种类、各程序的二进制代码的起动程序目录220。系统初始化参数102中包含的各 参数的值是对作为各个执行空间20的产生源的软件附加的信息,例如将与程序一同存储在CD-ROM(Compact Disc Read Only Memory)中的值作为表读入存储器70。 
执行空间认证ID104与在图3的S14按照生成顺序赋予各个执行空间20的执行空间暂定ID132对应,在S16构成执行空间名称表130。执行空间名称表130由全局名称管理单元54参照,解决资源分配请求的发行源即执行空间20的名称。执行空间认证ID104还与系统初始化参数102中包含的可分配资源信息106,以及通过后述的步骤实际分配给执行空间20的资源的信息即对执行空间完成的分配资源142对应,在图3的S18中构成全局资源管理表140。全局资源管理表140由系统控制单元50的全局资源管理单元56参照,用于判定可否分配执行空间20所请求的资源。对执行空间完成的分配资源142可以在图3的S20,即对执行空间20的资源的初始分配的阶段取得,但在有对于执行空间20的资源分配的变更时被更新。 
系统初始化参数102中包含的执行空间初始化参数200与上述对执行空间完成的分配资源142对应,在图3的S22中构成由执行空间控制单元40参照的本地资源管理表150。本地资源管理表150由本地资源管理单元46参照,用于判定是否进行对系统控制单元50的资源请求,以及指定进行请求的情况下的资源请求量。 
系统初始化参数102的起动程序目录220中包含的程序认证ID与同样在起动程序目录220中包含的用于执行各程序的过程32的可利用资源信息,以及通过后述的步骤实际对各个过程32分配的资源的信息即对过程完成分配资源162对应,在图3的S28构成过程资源管理表160。过程资源管理表160也由本地资源管理单元46参照,被用于判断可否分配过程32所请求的资源。在对于过程32的资源分配变更时,对过程完成分配资源162被更新。进而,程序认证ID与在图3的S24起动对应的过程32时按起动顺序赋予的过程ID172对应,在图3的S26构成过程名称表170。过程名称表170由本地名称管理单元44参照,解决资源分配请求的发行源即过程32的名称。 
接着,表示各表的具体的结构例子。图5表示用于记述系统初始化参数102的表的结构例子。系统初始化参数表102A包含执行空间认证ID栏104A、存储量上限栏108A、CPU时间上限栏110A、可利用装置ID栏112A、硬盘容量上限栏114A、执行空间初始化参数栏200A、起动程序目录栏220A。 
执行空间认证ID栏104A中记述了图4所示的各个执行空间20的执行空间认证ID104。如上所述,执行空间认证ID104是对执行空间20的产生源即软件附加并对软件等唯一决定的固定ID。存储量上限栏108A、CPU时间上限栏110A、可利用装置ID栏112A以及硬盘容量上限栏114A中分别记述了对各个执行空间20分配的存储量的上限、分配的CPU时间的上限、执行空间20可利用的装置62的ID、以及对执行空间20分配的硬盘容量的上限。这些参数包含在图4所示的可分配资源信息106中。 
存储量上限、CPU时间上限、硬盘容量上限的值通过在软件制作阶段的验证实验等而取得最佳值。装置ID是对装置62唯一确定的固定的ID。可利用的装置62例如如果是执行赛车游戏的执行空间20,则像方向指示按钮式控制器和方向盘式控制器等这样,这也根据软件的内容等在制作阶段决定。另外,图5的例子中,外部存储装置80以硬盘82为代表,但只要是未图示的闪存等执行空间20可存取的外部存储装置80,则不限定于硬盘82。在以后的说明中以硬盘82为例来说明。 
执行空间初始化参数栏200A中,记述了图4所示的执行空间初始化参数200,即存储了初始确保资源量和追加资源单位的文件的名称。此外,也可以直接记述初始确保资源量和追加资源单位。图6表示记述在执行空间初始化参数栏200A中的文件、例如“Param_A”文件中存储的表的结构例子。执行空间初始化参数表200B包含初始确保存储量栏202、追加确保存储量单位栏204、初始确保CPU时间栏206、追加确保CPU时间单位栏208。初始确保存储量栏202和初始确保CPU时间栏206中分别记述的初始确保存储量和初始确保CPU时间是在生成执行空间20时,该执行空间20最初应确保的存储量和CPU时间。初始确保的处理在图3所示的信息处理装置100启动时的步骤中相当于S20的步骤。追加确保存储量单位栏204和追加确保CPU时间单位栏208中分别记述的追加确保存储量单位和追加确保CPU时间单位在进行存储量或CPU时间的追加分配的步骤中被参照。细节在后面论述,而对于执行空间20的存储量和CPU时间的追加分配以追加确保存储量单位或追加确保CPU时间单位的自然数倍的量来进行。另外,执行空间初始化参数表200B中记述的值也通过软件制作阶段的验证实验等而取得最佳值。 
返回到图5,系统初始化参数表102A的起动程序目录栏220A中记述了用于存储图4所示的起动程序目录220的文件的名称。此外,也可以直接记 述起动程序目录220。图7表示记述在起动程序目录栏220A中的文件、例如“Prg_List_A”文件中存储的目录的结构例子。起动程序目录220中含有记述了程序文件的文件名的程序文件名栏222,该程序文件存储了构成作为执行空间20的产生源的软件的程序的信息。 
图8是表示记述在起动程序文件名栏222中的程序文件、例如“prg1”文件中存储的数据的结构例子的表。程序信息表222A包含程序认证ID栏224、存储量上限栏226、可利用装置ID栏228、硬盘可否使用栏230、以及代码栏232。程序认证ID栏224中记述了对程序唯一地确定的固定ID即程序认证ID。存储量上限栏226和可利用装置ID栏228中记述了对与该程序对应的过程32分配的存储量的上限和可利用的装置62的ID。这些参数用于将系统初始化参数表102A中对每个执行空间20设定的存储量上限和可利用装置按每个被处理的程序划分,其在软件制作阶段被决定。硬盘可否使用栏230中记述了用于识别与该程序对应的过程32可否使用硬盘82的字符串等。根据程序的内容等在软件的制作阶段决定可否使用硬盘82。代码栏232中,作为程序主体,记述了被二进制化的代码。 
另外,可分配给过程32的CPU时间的上限,可利用OS一般提供的CPU时间的分配控制功能来设定,因此在图8的程序信息表222A中未设有CPU时间的上限栏。但是,也可以进一步设置CPU时间上限栏,从而作为本实施方式的全局资源管理单元56的管理对象。 
图9表示在图3的S16生成的执行空间名称表130的结构例子。执行空间名称表130包含执行空间暂定ID栏132A以及执行空间认证ID栏104A。执行空间暂定ID栏132A中记述的执行空间暂定ID132是在图3的S12生成了执行空间20时依次赋予的ID。执行空间认证ID栏104A中记述的执行空间认证ID104对应于在图4所示的系统初始化参数表102A的执行空间认证ID栏104A中记述的值。全局名称管理单元54将这些ID相对应而生成执行空间名称表130。 
图10表示在图3的S18所生成的全局资源管理表140的结构例子。全局资源管理表140包含执行空间认证ID栏104A、存储量上限栏108A、当前可分配存储量栏144、CPU时间上限栏110A、当前分配CPU时间栏146、可利用装置ID栏112A以及硬盘容量上限栏114A。执行空间认证ID栏104A中记述的执行空间认证ID104是图4所示的系统初始化参数表102A的执行空 间认证ID栏104A中记述的执行空间认证ID104。存储量上限栏108A、CPU时间上限栏110A、可利用装置ID栏112A和硬盘容量上限栏114A中记述的值同样是系统初始化参数表102A的存储量上限栏108A、CPU时间上限栏110A、可利用装置ID栏112A和硬盘容量上限栏114A中记述的值。当前可分配存储量栏144以及当前分配CPU时间栏146中,记述了在图3的S20对各个执行空间20分配的存储量和CPU时间的初始值,或者如后所述,在进行了这些追加分配的情况下记述了追加后的值。 
图11表示在图3的S22生成的本地资源管理表150的结构例子。本地资源管理表150包含当前确保存储量栏154、追加确保存储量单位栏204、当前确保CPU时间栏156和追加确保CPU时间单位栏208。追加确保存储量单位栏204和追加确保CPU时间单位栏208中记述的值分别是图6所示的执行空间初始化参数表200B的追加确保存储量单位栏204以及追加确保CPU时间单位栏208中设定的值。当前确保存储量栏154和当前确保CPU时间栏156的值记述了图3的S20中各个执行空间20确保的存储量和CPU时间的初始值,或如后所述,在进行了这些追加确保的情况下,记述了追加后的值。这些值对应于全局资源管理表140的当前分配存储量栏144以及当前分配CPU时间栏146中记述的值。 
图12表示在图3的S28生成的过程资源管理表160的结构例子。过程资源管理表160包含程序认证ID栏224、当前分配存储量栏164、存储量上限栏226、当前分配CPU时间栏166、可利用装置ID栏228以及硬盘可否使用栏230。程序认证ID栏224中记述的程序认证ID对应于图8所示的程序信息表222A的程序认证ID栏224中记述的程序认证ID。存储量上限栏226、可利用装置ID栏228以及硬盘可否使用栏230中同样记述了程序信息表222A的存储量上限栏226、可利用装置ID栏228以及硬盘可否使用栏230中设定的值。另外,可利用装置ID栏238中的“-”表示没有可利用装置,硬盘可否使用栏230中的“-”表示不能使用硬盘82。当前分配存储量栏164和当前分配CPU时间栏166的值是通过后述的步骤对执行空间20内的各个过程32进行了存储量和CPU时间的分配时的分配后的值。 
另外,过程资源管理表160中,也可以包含对各个过程32分配的存储器70的物理地址等上述参数以外的资源管理所需的参数,但这里省略说明。 
图13表示在图3的S26生成的过程名称表170的结构例子。过程名称表 170包含过程ID栏172A和程序认证ID栏224。过程ID栏172A中所记述的过程ID172是在图3的S24生成各个过程32时依次赋予的值。程序认证ID栏224中记述的程序认证ID是图8所示的程序信息表222A的程序认证ID栏224中记述的程序认证ID。本地名称管理单元44将这些值相对应而生成过程名称表170。 
接着,说明在图3的S20中对执行空间20进行资源的初始分配的步骤。图14是表示对执行空间20分配存储量或CPU时间的步骤的流程图。该步骤不仅在信息处理装置100起动时的初始分配时进行,在需要对属于执行空间20的过程处理追加的资源时也同样进行。首先,本地资源管理单元46对全局资源管理单元56进行存储量或CPU时间的分配请求(S30)。请求中包含在执行空间初始化参数200中设定的、执行空间20的初始确保资源量中存储量或CPU时间的值。图6所示的执行空间初始化参数表200B中还设置初始确保装置ID栏和初始确保硬盘容量栏,从而本地资源管理单元46也可以在信息处理装置100起动时还进行装置或硬盘容量的分配请求。在以后的说明中,说明存储量或CPU时间的请求。 
这里,系统控制单元50对信息处理装置100完成OS的任务。多个执行空间20a~20c的执行切换也是由系统控制单元50提供的功能。而且,在本地资源管理单元46对全局资源管理单元56进行分配请求的通信时,本地资源管理单元46调用由系统控制单元50提供的通信功能,因此系统控制单元50能够确定调用了通信功能的执行空间20。作为结果,全局资源管理单元56可以识别在S30中进行了分配请求的执行空间20的执行空间暂定ID132。全局资源管理单元56对全局名称管理单元54基于执行空间暂定ID132进行询问,并取得请求源的执行空间20的执行空间认证ID104(S32)。 
接着,全局资源管理单元56基于执行空间认证ID104,参照全局资源管理表140,并确认是否由于请求的分配而超出请求源的执行空间20的存储量或CPU时间的分配上限(S34)。如果未超过分配上限(S34为“是”),则将全局资源管理表140的当前分配存储量或当前分配CPU时间更新为进行了分配之后的值(S36),进行时间表的更新或地址的确保等分配处理,并对本地资源管理单元46发出许可(S38)。在请求超过分配上限的情况下(S34为“否”),作为对分配的拒绝,对本地资源管理单元46返回差错(S40),并结束。另外,进行可否分配判定的S34的步骤在图3的S20中进行资源的初始 分配时通常为“是”,在追加分配时分支为“是”和“否”。 
本地资源管理单元46对于S30的分配请求,确认是否进行了存储量或CPU时间的分配,或返回了差错(S42)。如果进行了分配(S42为“是”),则将本地资源管理表150的当前确保存储量或当前确保CPU时间更新为分配后的值(S44)并结束,如果有差错(S42为“否”),则就此结束。 
在需要对属于执行空间20的过程处理追加的资源时,作为图14的步骤的开头阶段,从过程32对本地资源管理单元46进行存储量或CPU时间的分配请求。然后,在该执行空间20中已确保的存储量或CPU时间满足该请求的情况下,不必进行图14的步骤。 
如上所述,图15是表示对过程32分配存储量或CPU时间时的步骤的流程图。首先,过程32在生成了过程32本身时,或者所需存储量或所需CPU时间不足的情况下,对属于相同的执行空间20的本地资源管理单元46进行存储量或CPU时间的分配请求(S50)。请求中包含所需的存储量或CPU时间的值。本地资源管理单元46接受在所属的执行空间20内处理的过程32的分配请求。这里,包含本地资源管理单元46的执行空间控制单元40对执行空间20完成OS的任务。多个过程32A~32N的执行的切换也是由执行空间控制单元40提供的功能。然后,在过程32对本地资源管理单元46进行分配请求的通信时,过程32调用由执行空间控制单元40所提供的通信功能,因此执行空间控制单元40能够确定调用了通信功能的过程32。作为结果,本地资源管理单元46能够识别在S50中进行了分配请求的过程32的过程ID172。本地资源管理单元46对本地名称管理单元44基于过程ID172进行询问,并取得请求源的过程32的程序认证ID(S52)。 
接着,本地资源管理单元46基于程序认证ID,参照过程资源管理表160,并确认是否由于分配而超出请求源的过程32的存储量或CPU时间的分配上限(S54)。在超过分配上限的情况下(S54为“否”),本地资源管理单元46作为对分配的拒绝,对过程32返回差错(S60)。在未超过分配上限的情况下(S54为“是”),本地资源管理单元46接着参照本地资源管理表150,并确认执行空间20中的当前确保存储量或当前确保CPU时间是否满足请求了的分配(S56)。 
当前确保存储量或当前确保CPU时间对于请求不足的情况下(S56为“否”),本地资源管理单元46对全局资源管理单元56进行存储量或CPU时 间的分配请求(S30)。这与图14的S30的步骤同样。但是,该情况下的请求中包含的存储量或CPU时间的请求值为过程32请求的存储量或CPU时间以上,并且成为本地资源管理表150中记述的追加确保存储量单位或追加确保CPU时间单位的自然数倍的值。以后,全局资源管理单元56中的处理步骤与图14的S32至S40同样。 
而且,本地资源管理单元46确认是否从全局资源管理单元56被分配了新的存储量或CPU时间(S42)。如果被分配了(S42为“是”),则更新本地资源管理表150的当前确保存储量栏154或当前确保CPU时间栏156的值(S44)。如果不能进行新的分配(S42为“否”),则作为对分配的拒绝,对过程32返回差错(S62)。 
在执行空间20的当前确保存储量或当前确保CPU时间对于请求足够的情况下(S56为“是”),以及对全局资源管理单元56进行分配请求并对执行空间20新确保了存储量或CPU时间的情况下(S42为“是”),则本地资源管理单元46将在S50中由过程32请求的存储量或CPU时间分配给过程32。具体来说,过程资源管理表160中,更新与请求源的过程32对应的当前分配存储量栏164或当前分配CPU时间栏166的栏(S58),并对过程32进行发送分配许可通知等分配处理(S64)。检测过程32对请求的许可、不许可的结果(S66),本分配处理结束。在对过程32的许可通知的S64和S66的步骤中,实际上也可以适当进行存储器地址的通知或时间表的更新等处理。 
如图14以及图15所说明的,在本实施方式中,以预先设定的初始确保量或追加资源单位进行对执行空间20的存储量以及CPU时间的分配。因此,对执行空间20分配的存储量或CPU时间为请求源的过程32的请求值以上,产生的剩余部分在执行空间20内原样地确保。而且,接着在该执行空间20内的过程32中存储量或CPU时间不足时,首先确认通过在执行空间20内确保的存储量或CPU时间能否进行分配。如果可能则可以仅通过执行空间20内部的处理完成分配。因此,与执行空间20外部的通信次数减少,并且可以分散对应于分配请求的处理负载。作为结果,可以减轻分配处理的开销。 
接着,说明进行信息处理装置100的资源中装置62的分配的步骤。装置62没有记述在图6所示的执行空间初始化参数表200B中。在该情况下,在信息处理装置100起动时仅对执行空间20分配存储量和CPU时间来生成过程32,然后通过来自各个过程32的请求对执行空间20进行装置62的分配。 另一方面,通过在执行空间初始化参数表200B中包含在起动时执行空间20要确保的装置62的装置ID,从而也可以在过程32生成前对执行空间20也分配装置62。在该情况下,以下叙述的装置62的分配步骤中,先进行图18所示的从本地资源管理单元46对全局资源管理单元56的分配请求。以下,按照从过程32对本地资源管理单元46的分配请求、从本地资源管理单元46对全局资源管理单元56的分配请求的顺序进行说明。 
图16是表示对过程32分配装置62时的步骤的流程图。在生成过程32时分配装置62的情况下,或在处理的中途需要对装置62的存取的情况下进行该步骤。首先,过程32对属于相同的执行空间20的本地资源管理单元46进行装置62的分配请求(S70)。请求中含有所需的装置62的装置ID。本地资源管理单元46接收在所属的执行空间20内处理的过程32的分配请求。这里,通过进行请求的授受的通信,识别请求源的过程32的过程ID172。本地资源管理单元46对本地名称管理单元44基于过程ID172进行询问,并取得请求源的过程32的程序认证ID(S72)。接着,本地资源管理单元46基于程序认证ID,参照过程资源管理表160,确认请求的装置62的装置ID是否包含在请求源的过程32的可利用装置ID栏228中(S74)。如果不包含(S74为“否”),则作为对分配的拒绝,对过程32返回差错(S78)。 
在所请求的装置ID包含在可利用装置ID栏228中的情况下(S74为“是”),本地资源管理单元46接着参照装置管理表,确认是否存在所请求的装置62的存取程序(accessor)(S76)。装置管理表是将以前分配给执行空间20的装置62的装置ID和在分配时取得的存取程序相对应的表。这里,存取程序是对装置62访问所需的参数以及数据的组,例如是用于进行装置操作的专用的通信管理器(handler)等。在本实施方式中,通过执行空间20原样地确保一次取得的装置62的存取程序,从而在下一次相同的执行空间20内的过程32需要相同的装置62时,再次使用该存取程序。后面叙述有关装置管理表的结构例子。 
在装置管理表中不存在请求的装置62的装置ID的情况下(S76为“否”),过去对该装置62的存取没有被确立,本地资源管理单元46对全局资源管理单元56进行装置62的分配请求(S80)。全局资源管理单元56接受该请求,如果可进行对请求源的执行空间20的分配,则对本地资源管理单元46返回存取程序,如果不可能则返回差错。用图18详细叙述对于全局资源管理单元 56的装置分配的请求步骤。本地资源管理单元46如果从全局资源管理单元56取得存取程序(S82为“是”),则将装置ID和取得的存取程序对应来更新装置管理表(S86)。如果不能取得存取程序(S82为“否”),则作为对装置62分配的拒绝,并对过程32返回差错(S84)。 
在原先取得了过程32请求的装置62的存取程序的情况下(S76为“是”),以及对全局资源管理单元56请求而对执行空间20取得了新的存取程序的情况下(S82为“是”),本地资源管理单元46对程序32通知存取程序(S88)。然后,过程32检测装置分配请求的许可或不许可的结果(S90),从而结束一连串的处理。被许可分配的过程32基于取得的存取程序,随时对装置62进行存取。 
图17表示在图16的S76中参照、并在S86中被更新的装置管理表的结构例子。装置管理表250包含装置ID栏252以及存取程序栏254。如果对执行空间20进行装置62的分配,则该装置62的装置ID被记述在装置ID栏252中,取得的存取程序被记述在存取程序栏254中。从而,如果过程32请求的装置62的装置ID存在于装置ID栏252中,则可知该装置62已对该执行空间20分配。装置管理表250由本地资源管理单元46与本地资源管理表150等一同管理,并被存储在存储器70等中。 
接着,详细叙述图16的S80至S86所示的本地资源管理单元46的装置分配确保的步骤。图18是表示对执行空间20进行装置62的分配的步骤的流程图。首先,本地资源管理单元46对全局资源管理单元56进行装置62的分配请求(S80)。该步骤对应于图16的S80。请求中含有请求的装置62的装置ID。通过进行请求的授受的通信,识别请求源的执行空间20的执行空间暂定ID132。全局资源管理单元56对全局名称管理单元54基于执行空间暂定ID132进行询问,并取得请求源的执行空间20的执行空间认证ID104(S92)。接着,全局资源管理单元56基于执行空间认证ID104参照全局资源管理表140,确认被请求的装置62的装置ID是否包含在请求源的执行空间20的可利用装置ID栏112A中(S94)。如果包含(S94为“是”),则生成对该装置62进行存取的存取程序,并提供给本地资源管理单元46(S96)。如果不包含,则作为对分配的拒绝,并对本地资源管理单元46返回差错(S98)。 
本地资源管理单元46如果能够通过全局资源管理单元56取得存取程序(S82为“是”),则更新装置管理表250(S86)并结束。在不能取得存取程 序的情况下(S82为“否”)就此结束。这样,完成对于执行空间20的装置分配处理。图18的S82和S86是对应于图16的S82和S86的步骤。另外,图18表示从本地资源管理单元46对全局资源管理单元56的装置分配请求的步骤,因此虽然S82“否”以及S86的下一个步骤被设为“结束”,但作为该步骤的开头阶段,在有来自过程32的装置分配请求的情况下,如图16所示,继续执行对过程32进行结果通知的处理。 
如图16和图18所示,在本实施方式,在执行空间20内原样地确保对确立了一次存取的装置62的存取程序。然后,在同一执行空间20内的过程32接着请求了对装置62的存取时,首先,在执行空间20内确认以前是否确立了与该装置62的存取。如果确立了,则仅通过执行空间20内部的处理就能够完成分配。因此,与存储量或CPU时间的情况同样,与执行空间20外部的通信次数减少,并且能够分散与分配请求对应的处理的负载。作为结果,能够减轻分配处理的开销。 
接着,说明进行信息处理装置100的资源中硬盘82的容量的分配的步骤。硬盘82也与装置62同样,未记述在图6所示的执行空间初始化参数表200B中。从而,在以下的说明中,叙述通过来自过程32的请求进行硬盘82的容量分配的情况。另一方面,与装置62同样,也可以在执行空间初始化参数表200B中包含在起动时执行空间20应确保的硬盘容量,并且在过程32生成之前对执行空间20分配硬盘容量。在该情况下,首先进行以下叙述的硬盘容量的分配步骤中、图21和图23所示的从本地资源管理单元46向全局资源管理单元56的分配请求。 
图19是表示对过程32分配硬盘容量时的步骤的流程图。在生成过程32时分配硬盘容量的情况下,或在处理的中途需要对硬盘82的存取的情况下,或者在硬盘容量不足的情况下进行该步骤。首先,过程32对属于相同的执行空间20的本地资源管理单元46进行硬盘容量的分配请求(S100)。本地资源管理单元46接收在所属的执行空间20内处理的过程32的分配请求。这里,通过进行请求的授受的通信,识别请求源的过程32的过程ID172。本地资源管理单元46对本地名称管理单元44基于过程ID172进行询问,并取得请求源的过程32的程序认证ID(S102)。接着,本地资源管理单元46基于程序认证ID,参照过程资源管理表160,通过硬盘可否使用栏230确认是否许可请求源的过程32使用硬盘82(S104)。在不能使用硬盘82的情况下(S104 为“否”),本地资源管理单元46作为对硬盘82分配的拒绝,对过程32返回差错(S108)。 
如果能够利用硬盘82(S104为“是”),则本地资源管理单元46接着参照硬盘管理表,并确认是否存在硬盘82的存取程序(S106)。硬盘管理表是存储了以前在对执行空间20被分配了硬盘容量时取得的存取程序的表。在本实施方式中,执行空间20中原样地确保了对分配过一次的硬盘区域的存取程序,从而在相同的执行空间20内的过程32需要对硬盘82的存取时,再次使用该存取程序。后面叙述硬盘管理表的结构例子。 
在硬盘管理表中不存在对硬盘82的存取程序的情况下,或者硬盘管理表本身不存在的情况下(S106为“否”),本地资源管理单元46对全局资源管理单元56进行硬盘82的装载请求,以及如果需要,则进行硬盘容量的分配请求(S110)。全局资源管理单元56接收该请求,如果需要则对请求源的执行空间20进行硬盘容量的分配,如果硬盘82的装载完成,则对本地资源管理单元46返回生成了的存取程序,如果不可能,则返回差错。用图21和图23详细叙述对于全局资源管理单元56的装载和分配请求的步骤。本地资源管理单元46如果从全局资源管理单元56取得了存取程序(S112为“是”),则将存取程序写入硬盘管理表(S114)。如果不能取得存取程序(S112为“否”),则作为对于硬盘容量分配的拒绝,对过程32返回差错(S116)。 
在原先取得了对于分配给过程32的硬盘区域的存取程序的情况下(S106为“是”),以及在请求全局资源管理单元56而取得了新的存取程序的情况下(S112为“是”),本地资源管理单元46对过程32通知存取程序(S118)。然后,过程32检测硬盘容量分配请求的许可或不许可的结果(S120),从而一连串的处理结束。被许可了分配的过程32基于取得的存取程序,随时对硬盘82进行存取。 
图20表示在图19的S106中被参照并在S114中被更新的硬盘管理表的结构例子。硬盘管理表260包含硬盘存取程序栏262。如果对执行空间20进行硬盘区域的分配,则取得的存取程序被记述在硬盘存取程序栏262中。从而,如果硬盘存取程序栏262中存在存取程序,则可知已经对该执行空间20被分配了硬盘82的区域。本地资源管理单元46将硬盘管理表260以及本地资源管理表150和装置管理表250等一同管理,并存储在存储器70等中。 
接着,详细叙述图19的S110至S114所示的、本地资源管理单元46进 行的硬盘82的装载或硬盘容量的分配请求的步骤。图21是表示对执行空间20进行硬盘82的装载的步骤的流程图。在图19的S106中,在执行空间20未确立与硬盘82的存取的情况下(S106“否”),本地资源管理单元46首先对全局资源管理单元56进行硬盘82的装载请求。这是因为,在到此为止的信息处理装置100的处理中,在对该执行空间20进行了硬盘容量的分配的情况下,需要对硬盘82内的同一记录进行存取。例如,相当于为了再开始保存了进展状况的信息并结束处理的游戏,而读出被保存的信息的情况。因此,最初进行装载请求并确认硬盘82内是否有该记录,如果有,则装载该区域。 
首先,本地资源管理单元46对全局资源管理单元56进行硬盘82的装载请求(S130)。该步骤对应于图19的S110的装载请求。这里,通过进行请求的授受的通信,识别请求源的执行空间20的执行空间暂定ID132。全局资源管理单元56对全局名称管理单元54基于执行空间暂定ID132进行询问,并取得请求源的执行空间20的执行空间认证ID104(S132)。接着,全局资源管理单元56基于执行空间认证ID104参照在硬盘82内部存储的硬盘内部管理表,并确认是否存在与请求源的执行空间20对应的记录(S134)。硬盘内部管理表是将分配给执行空间20的硬盘区域的容量及其起始地址与执行空间认证ID104相对应的表。如前所述,执行空间20内的各个过程32不管信息处理装置100的电源开/关都需要对同一记录进行存取,因此硬盘内部管理表存储在硬盘82本身中,以便即使关闭信息处理装置100的电源也不会失去。后面叙述硬盘内部管理表的结构例子。 
在硬盘内部管理表中存在对应的记录的情况下(S134为“是”),生成用于对该区域进行存取的存取程序,并提供给本地资源管理单元46(S136)。如果不存在(S134为“否”),则通知本地资源管理单元46未进行对执行空间20的硬盘容量的分配(S138)。 
如果未取得硬盘容量的未分配通知(S140为“否”),则本地资源管理单元46取得全局资源管理单元56生成的存取程序(S142),并将存取程序写入硬盘管理表260(S114)。该步骤对应于图19的S114。另一方面,本地资源管理单元46在取得了硬盘82的未分配通知的情况下(S140为“是”),进行用于分配硬盘容量的处理(S144)。该步骤实际上通过本地资源管理单元46与全局资源管理单元56之间的协同(cooperation)而进行,但图23表示具体的步骤,在图21中为了容易理解而以一个步骤表示。 
S144的硬盘容量分配处理的结果,如果对执行空间20被分配了硬盘容量(S146为“是”),本地资源管理单元46再次请求硬盘82的装载(S130)。然后,经过与上述同样的步骤,最终,本地资源管理单元46从全局资源管理单元56取得用于对硬盘82进行存取的存取程序。在未进行硬盘容量的分配的情况下(S146为“否”),结束一系列的步骤。这里,S114和S146的“否”之后的“结束”的步骤,意味着结束了硬盘82的装载相关的步骤,作为该步骤的开头阶段,在有来自过程32的硬盘容量分配请求的情况下,如图19所示,继续执行对过程32通知结果的处理。具体来说,S114的步骤之后与图19的S114的步骤之后同样,进行存取程序的通知处理(S118)。另一方面,在S146为“否”之后,作为不能取得存取程序,如图19的S116所示,对过程32返回拒绝分配的差错。 
图22表示在图21的S134中参照的硬盘内部管理表的结构例子。硬盘内部管理表270包含执行空间认证ID栏104A、已分配容量栏272和起始地址栏274。执行空间认证ID栏104A中记述了已分配硬盘容量的执行空间20的执行空间认证ID104,已分配容量栏272中记述了对各个执行空间20分配的硬盘区域的容量,起始地址栏274中记述了对各个执行空间20分配的硬盘区域的起始地址。在对执行空间20进行了硬盘容量的新分配的情况下,追加硬盘内部管理表270的行,在通过追加而被分配了硬盘容量的情况下,适当更新已分配容量栏272等。如前所述,硬盘内部管理表270被存储在硬盘82内。另外,硬盘内部管理表270中也可以包含用于进行硬盘82的区域管理的起始地址以外的参数。 
图23是表示对执行空间20的硬盘容量的分配处理的步骤的流程图。如图21所示,该处理可以先进行装载处理的试行之后作为S144的步骤来进行,也可以单独执行,并从后面起进行图21的装载处理。后者如新软件起动时的初始处理那样,在预先得知了未进行硬盘容量的分配的情况下进行。此外,虽然有已经被分配了的硬盘容量,但即使在需要通过追加来分配的情况下,也首先进行本图的硬盘容量分配处理。 
首先,本地资源管理单元46对全局资源管理单元56进行硬盘82的分配请求(S150)。该步骤对应于图19的S110的分配请求。通过进行请求的授受的通信,识别请求源的执行空间20的执行空间暂定ID132。全局资源管理单元56对全局名称管理单元54基于执行空间暂定ID132进行询问,并取得请 求源的执行空间20的执行空间认证ID104(S152)。接着,全局资源管理单元56基于执行空间认证ID104参照在硬盘82内部存储的硬盘内部管理表270,并确认是否存在与请求源的执行空间20对应的记录(S154)。在作为图21所示的装载处理的一部分来进行本图的硬盘容量分配处理的情况下,由于图23的S152和S154为与图21的S132和S134相同的处理,因此可以适当省略。 
在该记录存在的情况下,即来自本地资源管理单元46的请求是硬盘容量的追加分配请求的情况下(S154为“是”),参照相同的硬盘内部管理表270,通过已分配容量栏272取得对请求源的执行空间20已分配的容量(S156)。接着,全局资源管理单元56从全局资源管理表140的硬盘容量上限栏114A取得请求源的执行空间20的硬盘容量的分配上限,并确认已分配的容量是否小于分配上限(S158)。在已分配的容量为分配上限以上的情况下(S158为“否”),由于不能再进行分配,因此作为对分配的拒绝,对本地资源管理单元46返回差错(S160)。 
在对请求源的执行空间20已分配的硬盘容量小于分配上限的情况下(S158为“是”),或者来自本地资源管理单元46的分配请求为新的情况下(S154“否”),全局资源管理单元56参照硬盘82内存储的剩余容量管理表,确认分配的剩余容量是否残留在硬盘82中(S162)。剩余容量管理表是记述了硬盘82的剩余区域的容量和剩余区域的起始地址的表,与硬盘内部管理表270一同存储在硬盘82内。后面叙述剩余容量管理表的结构例子。如果被分配的容量未残留在硬盘82中(S162为“否”),则全局资源管理单元56作为对分配的拒绝,对本地资源管理单元46返回差错。如果存在分配的容量(S162“是”),则决定所分配的区域,并进行对本地资源管理单元46通知该信息等分配处理(S166)。所分配的容量可以由本地资源管理单元46包含在分配请求中,也可以在全局资源管理单元56中适当决定。接着,全局资源管理单元56对硬盘82进行存取,并将硬盘内部管理表270和剩余容量管理表中包含的参数中变更了的参数进行更新(S168)。 
本地资源管理单元46检测从全局资源管理单元56发送的与被分配了的硬盘容量有关的信息或差错(S170),并结束一系列的处理。这里,“结束”表示硬盘容量的分配处理的结束。从而,在作为图21的S144即装载处理的一部分而进行了本图的处理的情况下,代替“结束”而进行图21的S146的 分配完成的判定,在进行了分配的情况下(S146为“是”),继续进行S130的装载请求。即使在单独进行了本图的硬盘容量分配处理的情况下,在分配成功了的情况下,进行图21的装载处理。然后,通过由本地资源管理单元46取得在全局资源管理单元56中生成的存取程序,从而确立执行空间20对硬盘82的存取。 
图24表示在图23的S162被参照并在S168被更新的剩余容量管理表的结构例子。剩余容量管理表280包含剩余容量栏282和起始地址栏284。剩余容量栏282中记述硬盘82的剩余区域的容量,起始地址栏284中记述剩余区域的起始地址。在对执行空间20进行了硬盘容量的分配时,剩余容量管理表280被适当更新。另外,剩余容量管理表280中也可以含有用于进行硬盘82的区域管理的起始地址以外的参数。 
如图19、图21和图23所示,在本实施方式,在执行空间20内原样确保对确立了一次存取的硬盘82的存取程序。然后,在同一执行空间20内的过程32接着请求了对硬盘82的存取时,首先,在执行空间20内确认以前是否确立了存取。如果确立了,则仅通过执行空间20内部的处理就能够完成分配。因此,与存储量或CPU时间、装置的情况同样,与执行空间20外部的通信次数减少,并且能够分散与分配请求对应的处理的负载。作为结果,能够减轻分配处理的开销。 
在执行空间20或过程32失效(extinction)时,通过以上处理分配给各个执行空间20和各个过程32的资源被返还到全局资源管理单元56或本地资源管理单元46。这里,“失效”相当于例如某一游戏结束、执行该游戏的执行空间20成为不需要,或者游戏内某一阶段结束时处理了该阶段的程序结束等情况。资源的“返还”处理首先由全局资源管理单元56或本地资源管理单元46检测执行空间20或过程32失效的情况。然后,分别从全局资源管理表140或过程资源管理表160中删除与已失效的执行空间20或过程32对应的行。进而,适当更新硬盘内部管理表270和剩余容量管理表280等,从而使得成为能够将被返还的资源分配给其它的执行空间20或其它的过程32的状态。 
此外,如上所述,分配给执行空间20的资源中,由于过程32失效等而成为剩余,在规定期间内未使用的资源也可以从执行空间20返还给全局资源管理单元56。图25是表示在这样的情况下返还对执行空间20分配的资源的 处理的步骤的流程图。本地资源管理单元46对分配给对应的执行空间20而未分配给过程32的状态的资源即剩余资源的时间变化进行监视(S180)。剩余资源可从本地资源管理表150、装置管理表250以及硬盘管理表260与过程资源管理表160的差分取得。然后,在某一资源在规定期间内持续为剩余资源的情况下,将其判定为未使用资源(S182为“是”),对全局资源管理单元56通知返还该未使用资源(S184)。在资源为存储量或CPU时间的情况下,S182的判定以规定量以上的资源在规定装置持续为剩余资源为条件,在满足条件的情况下,返还该规定量。这里,规定的期间或规定量也可以对每个软件在其制作阶段进行设定。 
本地资源管理单元46还从本地资源管理表150、装置管理表250或硬盘管理表260中的与返还了的资源对应的管理表中删除返还部分(S186)。全局资源管理单元56将全局资源管理表140、硬盘内部管理表270或剩余容量管理表280中的与返还了的资源对应的管理表适当更新(S188)。另外,S180的剩余资源监视步骤在执行空间20存在的期间被持续(S182为“否”)。此外,在进行了未使用资源的返还之后也继续进行其它资源的监视。通过以上的步骤,分配给执行空间20的资源根据使用状况而被返还并可在其它执行空间使用,因此抑制资源分配的浪费,并且能够更高效率地使用资源。 
对在系统初始化参数102中设定的在信息处理装置100起动时应生成的执行空间20和属于该执行空间的过程32进行到此为止的说明中进行的资源分配处理。以下,说明在信息处理装置100起动后变更由系统初始化参数102设定的各种参数的情况。具体说明进行了执行空间20的追加、执行的程序的追加、资源的追加和资源的分配限制的变更的情况。 
在信息处理装置100起动后追加执行空间20的情况是指,例如在用户进行游戏之中,打开网页浏览器的情况等。此时,对全局初始化单元52提供追加起动执行空间参数。该提供例如通过以下来进行,即通过用户的输入检测了网页浏览器的执行请求的全局初始化单元52从存储在外部存储装置80中的网页浏览器的软件的文件将相应参数读出到存储器70。图26表示记述追加起动执行空间参数的追加起动执行空间参数表的结构例子。追加起动执行空间参数表300具有与图5所示的系统初始化参数表102A相同的结构。但是,在各个栏中仅记述了追加的执行空间20有关的值。 
全局初始化单元52基于读入的追加起动执行空间参数表300中含有的各 参数,进行图3的S12至S18的处理,即与在信息处理装置100起动时由全局初始化单元52进行的处理同样的处理。但是,执行空间名称表130和全局资源管理表140由于在信息处理装置100起动时已经生成,因此S16和S18的步骤成为在各个表中追加与追加的执行空间20对应的行的处理。然后,在通过追加起动的执行空间20中,本地初始化单元42同样进行图3的S20至S28的处理,即在信息处理装置100起动时由本地初始化单元42进行的处理同样的处理。但是,由于在信息处理装置100起动时已经生成本地资源管理表150、过程名称表170和过程资源管理表160,因此S22、S26和S28的步骤成为在各个表中追加与追加的执行空间20中包含的过程32对应的行的处理。然后,与信息处理装置100起动时生成的执行空间20同样,进行其资源管理。 
在信息处理装置100起动后,对已生成的执行空间20追加过程32的情况是指,例如在用户进行游戏时,在最初设定为无声音,而中途变更为有声音的情况等。此时,对本地初始化单元42提供追加的过程32的程序文件。这例如通过以下来进行,即通过控制执行空间20的OS的指示或用户的输入等检测了新的过程32的执行请求的本地初始化单元42从存储在外部存储装置80等中的软件的文件将相应的程序文件读出到存储器70。在上述例子中,通过用户输入检测了声音处理的执行请求的本地初始化单元42从游戏的文件读出声音处理程序的程序文件。程序文件的结构与图8所示的程序信息表222A相同。 
本地初始化单元42基于读出的程序文件,进行图3的S24至S28的处理,即在信息处理装置100起动时与由本地初始化单元42进行的一部分处理同样的处理。但是,与追加执行空间20的情况同样,在过程名称表170和过程资源管理表160中追加与要追加的过程32对应的行。然后,与执行空间20中原先存在的过程32同样,进行资源管理。 
在信息处理装置100起动后追加资源本身的情况是指,例如在用户进行赛车的游戏时,最初使用按钮式的控制器,而途中变更为方向盘式的控制器的情况等。此时,对全局初始化单元52提供追加资源信息。该提供例如通过以下来进行,即通过用户的输入等检测了资源的变更的全局初始化单元52从存储在外部存储装置80等中的软件的文件将相应的信息读出到存储器70。在上述例子中,检测出控制器的变更的全局初始化单元52从游戏文件中读出 方向盘式控制器的追加资源信息。此外,通过检测出资源追加的全局初始化单元52读出在追加了资源时用户对控制该资源的OS所设定的信息来进行这种提供。此外,也可以由检测出控制器变更的全局初始化单元52督促用户进行设定输入,从而直接取得追加资源信息。 
图27表示在作为追加资源而追加了装置62的情况下的追加资源信息的结构例子。追加装置信息表310包含执行空间认证ID栏104A以及可否利用装置栏312。在本例中,示出追加了具有“0x14”的装置ID的装置62的情况。用于识别各个执行空间20可否利用该装置62的字符串被记述在可否利用装置栏312中。在本图的情况下,“○”表示可利用装置,“×”表示不可利用装置。图28表示作为追加资源追加了存储量的情况下的追加资源信息的结构例子。追加存储量信息表320包含执行空间认证ID栏104A和追加存储量栏322。通过追加存储量,能够增加对于各个执行空间20的分配存储量上限。在追加存储量栏322中,记述对于各个执行空间20的存储量的上限的增加部分。 
全局初始化单元52基于追加资源信息表,更新全局资源管理表140。例如,如果是装置62的追加,则基于追加装置信息表310,在全局资源管理表140的可利用装置ID栏112A中追加所追加的装置62的装置ID。如果是存储容量的追加,则基于追加存储量信息表320,在全局资源管理表140的存储量上限栏108A中加上增加部分。对于各程序也设定同样的追加资源信息表,并由本地初始化单元42读出该表,从而也可以反映到过程资源管理表160中。在全局资源管理表140或过程资源管理表160更新后,在对各个执行空间20或各个过程32分配资源时,由已更新的各个表判定可否进行分配。 
在信息处理装置100起动后,对执行空间20或过程32进行资源分配限制的变更的情况是指,例如在用户进行游戏时,最初进行了标准像素数的图像显示设定,可是为了切换为高清晰图像设定,因此有使分配的存储量的上限增加的情况等。此时,对全局资源管理单元56或本地资源管理单元46提供可利用资源变更信息。这例如通过以下来进行,即通过用户的输入等检测了图像质量等设定的变更的全局初始化单元52从存储在外部存储装置80等中的软件的文件将对应于设定后的状况的可利用资源变更信息读出到存储器70。此外,在进行了图像质量的设定变更等时,也可以督促用户进行可利用资源变更信息的设定输入。此外,也可以由检测到其它的执行空间20的生成 或停止的系统控制单元50基于预先设定的各个执行空间20的优先级等,通过本身生成可利用资源变更信息。 
图29表示全局资源管理单元56取得的可利用资源变更信息的结构例子。全局资源变更信息表330包含执行空间认证ID栏104A、存储量上限追加量栏332、CPU时间上限追加量栏334、可利用追加装置ID栏336以及硬盘容量上限追加栏338。这些栏分别对应于图10所示的全局资源管理表140的执行空间认证ID栏104A、存储量上限栏108A、CPU时间上限栏110A、可利用装置ID栏112A以及硬盘容量上限栏114A。全局资源变更信息表330中记述从在全局资源管理表140中记述了的对于各个执行空间20的存储量上限、CPU时间上限、可利用装置ID以及硬盘容量上限的变化部分。通过在各值的前端附加“+”或“-”,从而识别各个资源的追加或缩减。全局资源管理单元56基于全局资源变更信息表330更新全局资源管理表140。然后,在对各个执行空间20分配资源时,通过更新了的全局资源管理表140判定可否分配。 
图30表示本地资源管理单元46取得的可利用资源变更信息的结构例子。本地资源变更信息表340包含程序认证ID栏224、存储量上限追加量栏342、可利用追加装置ID栏344以及硬盘可否使用栏230。这些栏分别对应于图12所示的过程资源管理表160的程序认证ID栏224、存储量上限栏226、可利用装置ID栏228以及可否利用硬盘栏230。本地资源变更信息表340中记述从在过程资源管理表160中记述了的对于各个过程32的分配存储量上限和可利用装置ID的变化部分,以及可否使用硬盘。通过在存储量上限和可利用装置ID的前端附加“+”或“-”,从而识别各个资源的追加或缩减。本地资源管理单元46基于本地资源变更信息表340更新过程资源管理表160。然后,在对各个过程32分配资源时,通过更新了的过程资源管理表160判定可否分配。 
接着,说明执行空间认证ID104和程序认证ID的结构例子。执行空间认证ID104和程序认证ID都具有16比特到64比特左右的规定的数据量,分别通过规定的多个字段构成。执行空间认证ID104例如由版本信息字段、机种信息字段、区域代码字段、执行空间OS信息字段、销售商信息字段等构成。版本信息字段表示ID的体系的版本信息等。产品信息字段表示执行软件的信息处理装置100的机种等。区域代码字段表示软件的区域代码。执行空间OS 信息字段表示为了进行软件的执行控制而由执行空间20起动的OS信息等。销售商字段表示作为执行主体的软件的制造公司等。将机种信息字段、执行空间OS信息字段和销售商信息字段中设定的代码标准化后进行一元管理,从而执行空间认证ID104能够唯一地确定。 
程序认证ID例如由与版本信息字段、区域代码字段、销售商信息字段、程序识别代码字段等构成。版本信息字段、区域代码字段和销售商信息字段是与关于执行空间认证ID104在上面叙述的字段同样的字段。程序识别代码字段是在软件的制造公司中用于识别程序的字段,在制造公司中进行管理。由此,程序认证ID也可以唯一地确定。 
在以上叙述的本实施方式中,过程32进行的资源的分配请求首先对同一执行空间20中的本地资源管理单元46进行。如图15、图16以及图19所示,本地资源管理单元46首先取得请求发行源的过程32的程序认证ID(S52、S72和S102)。然后,仅在基于程序认证ID取得的分配限制的范围内,许可资源的分配(S54、S74和S104Y)。从而,即使非法者生成的过程(以下称作非法过程)过度地请求资源分配,限制以上的分配也被拒绝,因此对于正常处理的其它过程32以及其它执行空间20没有影响。这里,非法者是指通过网络入侵、计算机病毒、包含非法部分的程序等非法原因。 
进而,非法过程即使冒充执行空间20的控制程序,例如本地资源管理单元46,根据本实施方式的结构,也能够防止非法过程引起的资源占有等,结果,可以使非法过程对其它执行空间20产生最小限度的影响。以下,说明其机制。 
首先,考虑冒充某一执行空间20的本地资源管理单元46的非法过程对全局资源管理单元56请求分配资源的情况。如图14、图18和图23所示,全局资源管理单元56取得请求发行源的执行空间20的执行空间认证ID104(S32、S92和S152)。这里,基于在接收请求时自动识别的执行空间暂定ID132而取得执行空间认证ID104。从而,非法过程不能冒充其它的执行空间20的本地资源管理单元46。然后,仅在对每个执行空间认证ID104预先设定的分配限制的范围内许可分配(S34为“是”、S94为“是”或S158为“是”)。从而,即使非法过程请求分配过度的资源,也仅能够确保限制范围内的资源,对于正常工作的其它执行空间20等的影响小。 
进而,作为非法过程的动作,考虑对其它的执行空间20的本地资源管理 单元46进行非法资源分配请求的情况。这是因为考虑利用了本地资源管理单元46的功能的非法,即充当对于来自相同的执行空间20的过程32的请求在执行空间20内确保的资源的功能。因此,在本实施方式,本地资源管理单元46设定为仅接受所属的执行空间20内部的通信产生的请求。非法过程对其它的执行空间20的本地资源管理单元46发出的资源分配请求是通过跨越执行空间20的通信产生的,因此通过上述设定忽视该请求。从而,可以防止非法过程夺取分配给其它的执行空间20的资源。 
进而,考虑非法过程直接对装置62、硬盘82或OS等的低等级的功能进行资源分配的请求的情况。因此,在本实施方式中,属于这样的低等级的功能设定为仅接受来自全局资源管理单元56的规定通信所产生的请求。例如,设定为仅接受内核内部的通信产生的请求。而且,各个执行空间20内处理的过程32设定为不能进行该通信。由此,对于低等级功能的非法过程的资源分配请求成为不可能,可以防止非法过程过度地确保资源。 
进而,为了提高安全性,也可以附加用于防止判定可否分配资源的根据的表被窜改的对策。具体来说,采取防止系统初始化参数表102A、执行空间初始化参数表200B、起动程序目录表220B、程序文件、追加起动执行空间参数表300、全局资源变更信息表330、本地资源变更信息表340等被窜改的对策。例如,对于这些表实施电子签名或MAC(Message Authentication Code,消息鉴定代码)。由此,可以防止由于与资源分配有关的设定本身被窜改而进行非法的可否分配判定,对于因非法过程引起的过度的资源确保的安全性增加。 
根据上述本实施方式,对执行空间设定固有的ID即执行空间认证ID,并对每个执行空间认证ID设置资源分配的限制。由此,即使非法过程冒充对本地资源管理单元等执行空间进行控制的过程,并请求分配资源,也不会进行限制以上的分配,因此应分配给其它执行空间的资源不会被占有。此外,在本实施方式中,在过程单位和执行空间单位的两个阶段进行可否分配资源的判定。在对每个执行空间判定可否分配资源时,请求源的执行空间认证ID通过由请求的授受所使用的通信所识别的执行空间暂定ID而自动地进行判明。从而,例如即使相同的程序在两个执行空间中被处理,处理一个程序的过程成为非法过程,也不会冒充处理另一个程序的过程。即使非法过程冒充所属的执行空间的本地资源管理单元,也不能冒充其它的执行空间的本地资 源管理单元。结果,非法过程能够确保资源的范围最大也是对所属的执行空间的资源分配上限,并且能够抑制对于其它的执行空间的影响。 
此外,在本实施方式,对各个执行空间额外确保存储量或CPU时间。而且确立了一次存取的装置或硬盘的存取程序即使在过程的存取结束后也原样地确保在执行空间中。由此,在过程进行了资源的分配请求时,如果执行空间内确保的资源充足,则在执行空间内部完成分配处理,因此整体上与执行空间外部的通信次数减少,并且能够分散对应于分配请求的处理负载。结果,能够减轻分配处理引起的开销。另一方面,由于在规定期间内没使用的资源从执行空间被返还,因此抑制分配的浪费并实现效率高的资源利用。 
进而,本实施方式中的资源管理处理,通过读入在软件文件等中包含的信息而被自动地执行。此外,即使在信息处理装置起动后资源关联的设定产生变更,仅通过从软件文件等通过追加来读入表示变更后的状态的基本参数就能够平滑地进行从变更前的过度。从而,即使用户未特意意识到本实施方式的处理,也能够随机应变地进行安全且高效率的资源管理。 
以上,基于实施方式说明了本发明。上述实施方式为例示,本领域技术人员应当理解,这些各个构成要素或各个处理过程的组合可以有各种变形例,而且这样的变形例也属于本发明的范围。 
例如,在本实施方式中,全局初始化单元52、全局名称管理单元54、全局资源管理单元56的功能虽然包含在比属于用于处理应用的程序的执行空间20低等级的系统控制单元50中,但也可以在与执行空间20相同等级产生控制用的执行空间,在控制用的执行空间中实现上述功能。该情况也可以得到与本实施方式同样的效果。 
此外,很明显仅某一游戏的专用控制器等特定的执行空间进行存取的装置即使被非法过程占有也不会影响其它执行空间。此外,由于其它的执行空间的可使用装置中不包含,因此其它的执行空间的非法过程不能占有该装置。从而,不必进行本实施方式中说明的2阶段的可否分配判定。在这样的情况下,也可以省略本地资源管理单元46中的分配的判定处理。此时,从过程32接受了分配请求的本地资源管理单元46在请求源的过程32的程序认证ID的同时对全局资源管理单元56进行分配请求。然后,全局资源管理单元56也可以基于由本地资源管理单元46发送的程序认证ID和请求源的执行空间20的执行空间认证ID104,直接判定可否进行对于请求源的过程32的分配。 这样,通过根据资源的性质来改变可否分配判定的层,能够确保与本实施方式同样的安全性,同时进行更高效率的判定处理。 
产业上的可利用性 
如以上那样,本发明能够利用于计算机、游戏设备等信息处理装置。 

Claims (7)

1.一种信息处理方法,其特征在于,包含:
生成多个执行空间的步骤;
对所述多个执行空间进行装置的资源分配的步骤;
在所述执行空间的各个空间中起动一个以上的过程的步骤;
从对所述执行空间所分配的资源之中,对在该执行空间中已起动的过程进行资源分配的步骤;
在所述执行空间中确保剩余资源,该剩余资源是从对所述执行空间分配的资源之中减去对在该执行空间中已起动的过程分配的所述资源后的资源,当所述过程进行了所述资源的追加分配请求时,判定在所述过程所属的执行空间中确保的所述剩余资源是否满足所述追加分配请求的步骤;
在所述剩余资源满足的情况下,从所述剩余资源中,对所述过程进行所述资源的追加分配的步骤;以及
在所述剩余资源不满足的情况下,对所述执行空间进行资源的追加分配的步骤;
其中,上述对所述执行空间进行资源的追加分配的步骤包括:
从存储装置中读出限制信息表的步骤,所述限制信息表是针对对所述执行空间的资源分配,将对与所述执行空间对应的软件预先设定的限制信息,与预先确定的对应于执行空间的软件的固定识别信息相对应的表;
基于所述资源的追加分配请求的信号中所包含的、通过该信号的收发所使用的通信而识别的、请求源执行空间的按各执行空间生成的顺序赋予的暂定识别信息,根据将各个执行空间的暂定识别信息和固定识别信息对应的执行空间名称表而取得所述执行空间的固定识别信息,从而进行请求源执行空间的认证的步骤,其中所述执行空间的固定识别信息是预先确定的对应于执行空间的软件的固定识别信息;
基于请求源执行空间的固定识别信息而参照所述限制信息表,从而取得所述限制信息中包含的所述资源的可分配范围,并在所述可分配范围内进行资源的追加分配的步骤。
2.如权利要求1所述的信息处理方法,其特征在于,
在对所述执行空间进行资源的追加分配的步骤中,对所述执行空间一次分配的资源的追加量是追加单位的自然数倍,所述追加单位是基于所述请求源执行空间的固定识别信息参照所述限制信息表而得到的、对每个执行空间分别确定的所述资源的追加量的单位。
3.如权利要求1所述的信息处理方法,其特征在于,
所述执行空间确保的所述剩余资源中,在规定期间内未分配给所述过程的所述剩余资源被从分配给所述执行空间的资源中除去。
4.一种信息处理装置,其特征在于,包括:
生成多个执行空间的单元;
对所述多个执行空间进行装置的资源分配的单元;
在所述执行空间的各个空间中起动一个以上的过程的单元;
从对所述执行空间所分配的资源之中,对在该执行空间中已起动的过程进行资源分配的单元;
在所述执行空间中确保剩余资源,该剩余资源是从对所述执行空间分配的资源之中减去对在该执行空间中已起动的过程分配的所述资源后的资源,当所述过程进行了所述资源的追加分配请求时,判定在所述过程所属的执行空间中确保的所述剩余资源是否满足所述追加分配请求的单元;
在所述剩余资源满足的情况下,从所述剩余资源中,对所述过程进行所述资源的追加分配的单元;以及
在所述剩余资源不满足的情况下,对所述执行空间进行资源的追加分配的单元;
其中,上述对所述执行空间进行资源的追加分配的单元包括:
从存储装置中读出限制信息表的单元,所述限制信息表是针对对所述执行空间的资源分配,将对与所述执行空间对应的软件预先设定的限制信息,与预先确定的对应于执行空间的软件的固定识别信息相对应的表;
基于所述资源的追加分配请求的信号中所包含的、通过该信号的收发所使用的通信而识别的、请求源执行空间的按各执行空间生成的顺序赋予的暂定识别信息,根据将各个执行空间的暂定识别信息和固定识别信息对应的执行空间名称表而取得所述执行空间的固定识别信息,从而进行请求源执行空间的认证的单元,其中所述执行空间的固定识别信息是预先确定的对应于执行空间的软件的固定识别信息;
基于请求源执行空间的固定识别信息而参照所述限制信息表,从而取得所述限制信息中包含的所述资源的可分配范围,并在所述可分配范围内进行资源的追加分配的单元。
5.如权利要求4所述的信息处理装置,其特征在于,
在对所述执行空间进行所述资源的追加分配时,通过基于所述执行空间的固定识别信息,参照所述限制信息表,从而取得包含在所述限制信息中的作为所述资源的追加量的单位的追加单位,并进行所述追加单位的自然数倍的量的资源的追加分配。
6.如权利要求5所述的信息处理装置,其特征在于,
存储在所述存储装置中的所述限制信息表中记载所述执行空间的所述固定识别信息,以及对该执行空间可分配的存储量的所述追加单位和可分配的CPU时间的所述追加单位的至少其中一个的对应。
7.如权利要求4所述的信息处理装置,其特征在于,
存储在所述存储装置中的所述限制信息表中,所述执行空间的所述固定识别信息,以及对该执行空间可分配的存储量的上限、可分配的CPU时间的上限、可利用的装置的识别信息、和可分配的硬盘容量的上限的至少其中一个的对应被记载。
CN2006800272565A 2005-10-31 2006-10-06 信息处理方法和信息处理装置 Active CN101228510B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005317713A JP4407956B2 (ja) 2005-10-31 2005-10-31 情報処理方法および情報処理装置
JP317713/2005 2005-10-31
PCT/JP2006/320138 WO2007052443A1 (ja) 2005-10-31 2006-10-06 情報処理方法および情報処理装置

Publications (2)

Publication Number Publication Date
CN101228510A CN101228510A (zh) 2008-07-23
CN101228510B true CN101228510B (zh) 2012-06-20

Family

ID=38005596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800272565A Active CN101228510B (zh) 2005-10-31 2006-10-06 信息处理方法和信息处理装置

Country Status (5)

Country Link
US (1) US8490104B2 (zh)
EP (1) EP1947566B1 (zh)
JP (1) JP4407956B2 (zh)
CN (1) CN101228510B (zh)
WO (1) WO2007052443A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4935626B2 (ja) * 2007-10-30 2012-05-23 富士通株式会社 制御プログラム及び方法並びにコンピュータ
JP5256744B2 (ja) 2008-01-16 2013-08-07 日本電気株式会社 資源割当てシステム、資源割当て方法及びプログラム
US20120297395A1 (en) * 2008-08-18 2012-11-22 Exludus Inc. Scalable work load management on multi-core computer systems
US9542222B2 (en) * 2008-11-14 2017-01-10 Oracle International Corporation Resource broker system for dynamically deploying and managing software services in a virtual environment based on resource usage and service level agreement
US8529346B1 (en) * 2008-12-30 2013-09-10 Lucasfilm Entertainment Company Ltd. Allocating and managing software assets
JP5521403B2 (ja) * 2009-06-23 2014-06-11 ソニー株式会社 情報処理装置とリソース管理方法およびプログラム
JP5803655B2 (ja) * 2011-12-21 2015-11-04 富士通株式会社 データ転送のためのプログラム、情報処理方法及び転送装置、転送処理の割り当てを管理するためのプログラム、情報処理方法及び管理装置、並びに情報処理システム
US9448843B2 (en) * 2014-03-26 2016-09-20 International Business Machines Corporation Allocating a global resource to consumers across different regions of a distributed grid environment based on use data and demand data of each consumer
KR102214186B1 (ko) * 2019-02-07 2021-02-09 주식회사 티맥스티베로 멀티 프로세스 시스템 상에서 계층적 구조의 메모리 관리 기법을 사용하는 서버
CN113485645A (zh) * 2021-07-07 2021-10-08 北京汇钧科技有限公司 云硬盘资源池的管理方法及装置、存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050172293A1 (en) * 2004-01-27 2005-08-04 Network Appliance, Inc. Method and apparatus for allocating resources in a shared resource processor
US20050235288A1 (en) * 2004-04-20 2005-10-20 Takashi Yamakabe Method and system for controlling computer resources

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2713079B2 (ja) * 1993-01-29 1998-02-16 日本電気株式会社 メモリ不足時におけるリカバリ援助方法
JPH07311688A (ja) * 1994-05-19 1995-11-28 Nec Corp システム資源管理方法及び装置
JPH08123700A (ja) * 1994-10-20 1996-05-17 Fujitsu Ltd 資源管理方法
JPH1078938A (ja) * 1996-09-03 1998-03-24 Mitsubishi Electric Corp 動的負荷分散方法並びにその情報処理装置
JPH10289117A (ja) * 1997-04-15 1998-10-27 Sony Corp プログラム実行環境の設定方法及びその方法が記録された記録媒体
JP2002041304A (ja) * 2000-07-28 2002-02-08 Hitachi Ltd 論理区画の予備リソース自動付与方法及び論理区画式計算機システム
JP2003131894A (ja) 2001-10-29 2003-05-09 Hitachi Ltd コンピュータ環境の資源管理方法
JP4018900B2 (ja) 2001-11-22 2007-12-05 株式会社日立製作所 仮想計算機システム及びプログラム
US20030233446A1 (en) 2002-06-12 2003-12-18 Earl William J. System and method for managing a distributed computing system
JP4119239B2 (ja) * 2002-12-20 2008-07-16 株式会社日立製作所 計算機資源割当方法、それを実行するための資源管理サーバおよび計算機システム
US7526765B2 (en) * 2003-11-26 2009-04-28 International Business Machines Corporation Method and apparatus for on-demand resource allocation and job management
US7448037B2 (en) * 2004-01-13 2008-11-04 International Business Machines Corporation Method and data processing system having dynamic profile-directed feedback at runtime
US7669202B1 (en) * 2004-10-05 2010-02-23 Azul Systems, Inc. Resource management
JP4215037B2 (ja) * 2004-12-27 2009-01-28 セイコーエプソン株式会社 リソース管理システム、プリンタ、プリンタ用ネットワークカードおよびリソース管理プログラム、並びにリソース管理方法
US20070106993A1 (en) * 2005-10-21 2007-05-10 Kenneth Largman Computer security method having operating system virtualization allowing multiple operating system instances to securely share single machine resources

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050172293A1 (en) * 2004-01-27 2005-08-04 Network Appliance, Inc. Method and apparatus for allocating resources in a shared resource processor
US20050235288A1 (en) * 2004-04-20 2005-10-20 Takashi Yamakabe Method and system for controlling computer resources

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开平8-123700A 1996.05.17

Also Published As

Publication number Publication date
US8490104B2 (en) 2013-07-16
EP1947566B1 (en) 2017-03-01
JP2007122663A (ja) 2007-05-17
US20090158279A1 (en) 2009-06-18
WO2007052443A1 (ja) 2007-05-10
EP1947566A1 (en) 2008-07-23
JP4407956B2 (ja) 2010-02-03
EP1947566A4 (en) 2009-05-06
CN101228510A (zh) 2008-07-23

Similar Documents

Publication Publication Date Title
CN101228510B (zh) 信息处理方法和信息处理装置
CN101310287B (zh) 记录再生装置、通信装置、程序、系统lsi
US8103771B2 (en) Distributing processing apparatus, method, and system
CN101288055B (zh) 数据处理控制方法,信息处理设备和数据处理控制系统
JP2007122664A (ja) 情報処理方法および情報処理装置
EP1624375A2 (en) Apparatus, method and program to handle an abnormality in a distributed information processing system
CN102298557A (zh) 信息处理设备、信息处理方法和程序
CN101159596B (zh) 用于布置服务器的方法和设备
CN105324750A (zh) 开发环境系统、开发环境装置、开发环境提供方法及程序
CN102349078A (zh) 访问控制表转换系统及其方法和程序
CN101681294A (zh) 存储器事务分组
CN102298676A (zh) 信息处理设备、信息处理方法和程序
US20130073866A1 (en) Information processing apparatus, information processing method and program
CN110086872A (zh) 一种scada系统的数据处理方法及系统
JP2006309589A (ja) ライセンス分割装置
US9053739B2 (en) Information processing apparatus, information processing method and program
CN100410918C (zh) 信息处理装置、系统和方法
CN102298558A (zh) 信息处理设备、信息处理方法和程序
CN101373418B (zh) 存储系统和访问方法
CN116028463A (zh) 搭建存储与计算分离的大数据平台的方法
CN109429100A (zh) 一种页面路径的存储方法、装置及系统
JP2005327196A (ja) ライセンス管理装置、その制御方法、プログラムおよび記憶媒体
JP2021124952A (ja) 情報処理装置、情報処理システムおよびアクセス制御方法
JP2017123011A (ja) 処理実行装置、処理実行方法及び制御プログラム
JP2006085209A (ja) 計算機システムのデプロイメント方式

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant