CN101814041A - 信息处理设备、方法和程序 - Google Patents
信息处理设备、方法和程序 Download PDFInfo
- Publication number
- CN101814041A CN101814041A CN201010117770A CN201010117770A CN101814041A CN 101814041 A CN101814041 A CN 101814041A CN 201010117770 A CN201010117770 A CN 201010117770A CN 201010117770 A CN201010117770 A CN 201010117770A CN 101814041 A CN101814041 A CN 101814041A
- Authority
- CN
- China
- Prior art keywords
- operating system
- order
- application program
- admin table
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
- G06F9/45512—Command shells
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种信息处理设备、方法和程序。所述信息处理设备包括:第一操作系统,不能添加或者删除应用程序;第二操作系统,能够添加和删除应用程序;用于通过参考其中命令和用于处理命令的操作系统相互关联的表来确定接收的命令是指向第一操作系统的命令还是指向第二操作系统的命令的装置;用于保存表的装置;用于基于由用于确定的装置确定的结果来控制存储器以使得第一操作系统或者第二操作系统能够开始处理的装置;以及用于基于确定的结果将接收的命令传递给第一操作系统或者第二操作系统的装置。
Description
技术领域
本发明涉及一种信息处理设备、方法和程序。更具体地,本发明涉及一种能够在多个操作系统合并时采用适当的操作系统来处理所接收的命令的信息处理设备、方法和程序。
背景技术
近年来,具有IC(集成电路)和用于使能非接触通信的非接触天线模块的卡已经得到广泛应用。这些卡称为例如非接触IC卡,并且它们被配置为能够执行与其他设备的非接触通信。采用非接触IC卡的非接触通信用于例如交通票、电子货币、ID卡以及房间进出控制,并且其应用正在不断扩展中。
由于它们的应用正在不断扩展,因此非接触IC卡被配置为具有适合于应用的OS(操作系统)。(参见例如JP-A-2007-87120。)
发明内容
不仅IC卡,诸如个人计算机等的信息处理设备也可以具有多个OS,并且这些OS可以根据应用相互切换。这种个人计算机在MBR(主引导记录)中具有分区表。调用需要被激活的OS的引导扇区以切换到该OS。
然而,在这一技术中,必须明确设定要调用哪个OS。因此,必须修改用于启动每个OS的程序。此外,这一技术要求应该首先切换OS,这不适合于实时地从一个OS切换到另一个OS。
由于IC卡的IC芯片中的OS通过接收作为命令的字符串来运行,因此可以想到使用一种技术,该技术采用命令和OS的映射表,并且根据所接收的命令选择要操作的OS。
然而,在这一技术中,存在如下可能性:当将应用程序添加到OS时,除非映射表包含了该应用程序的新命令,否则不能选择适当的OS从而不能适当地执行处理。
因此,期望即使在存在多个OS时,命令也可以适当地传递给目标OS而不改变现有的命令规范。
在一个实施例中,本发明提供了一种信息处理设备,包括:第一操作系统,不能添加或者删除应用程序;第二操作系统,能够添加和删除应用程序;用于通过参考其中命令和用于处理命令的操作系统相互关联的表来确定接收的命令是指向第一操作系统的命令还是指向第二操作系统的命令的装置;用于保存该表的装置;用于基于由用于确定的装置所确定的结果来控制存储器以使得第一操作系统或者第二操作系统能够开始处理的装置;以及用于基于确定的结果将所接收的命令传递给第一操作系统或者第二操作系统的装置。
所述信息处理设备还可以具有用于存储由确定装置所确定的结果的装置;其中如果所接收的命令没有在表中登记并且表示第二操作系统的信息存储在用于存储的装置中,则所述确定装置确定命令指向第二操作系统。
所述信息处理设备可以构成IC芯片、IC卡或者移动电话单元。
所述信息处理设备还可以包括用于在添加或者删除了由第二操作系统操作的应用程序时,根据该应用程序的添加或者删除来更新保存在保存装置中并且与第二操作系统相对应的表。
与第二操作系统相对应的表还可以具有与缺省命令有关的第一表以及用于更新的第二表,并且第一表和第二表可以由物理上不同的存储器来管理。
在所述信息处理设备中,第二操作系统可以确定所接收的命令是否是用于添加或者删除应用程序的命令;如果作为确定的结果确定了该命令是用于添加或者删除应用程序的命令,则第二操作系统可以确定该命令是否包含对表的更新请求;并且如果作为确定的结果确定了该命令包含对表的更新请求,则第二操作系统可以向更新装置发出更新请求。
在另一个实施例中,本发明提供了一种信息处理设备的信息处理方法,所述信息处理设备至少包括不能添加或者删除应用程序的第一操作系统以及能够添加和删除应用程序的第二操作系统,所述方法包括以下步骤:通过参考其中命令和用于处理命令的操作系统相互关联的表来确定接收的命令是指向第一操作系统的命令还是指向第二操作系统的命令;基于确定的结果控制存储器以使得第一操作系统或者第二操作系统能够开始处理;并且基于确定的结果将所接收的命令传递给第一操作系统或者第二操作系统。
在又一个实施例中,本发明提供了一种存储程序的计算机可读介质,该程序用于使信息处理设备的计算机执行包括以下步骤的过程,其中所述信息处理设备至少包括不能添加或者删除应用程序的第一操作系统以及能够添加和删除应用程序的第二操作系统:通过参考其中命令和用于处理命令的操作系统相互关联的表来确定接收的命令是指向第一操作系统的命令还是指向第二操作系统的命令;基于确定的结果来控制存储器以使得第一操作系统或者第二操作系统能够开始处理;并且基于确定的结果将所接收的命令传递给第一操作系统或者第二操作系统。
在本发明的实施例中,信息处理设备、方法和程序至少包括不能添加或者删除应用程序的第一操作系统以及能够添加和删除应用程序的第二操作系统。通过参考其中命令和用于处理命令的操作系统相互关联的表来确定接收的命令是指向第一操作系统的命令还是指向第二操作系统的命令。基于确定的结果来控制存储器以使得操作系统能够开始处理。将所接收的命令传递给操作系统。
根据本发明的实施例,即使在存在多个OS时也可以将命令适当地传递给目标OS而不改变现有的命令规范。
附图说明
图1是示出了应用本发明的信息处理设备的结构的图;
图2是示出了信息处理设备的内部结构的图;
图3是示出了本发明的一个实施例中的中间层的结构的示例的图;
图4是用于示出参考管理表的过程的图;
图5是用于示出中间层的过程的流程图;
图6是示出了本发明的一个实施例中的中间层的结构的示例的图;
图7是用于示出参考管理表的过程的图;
图8是用于示出中间层的过程的流程图;
图9是示出了本发明的一个实施例中的中间层的结构的示例的图;
图10是示出了第二操作系统的结构的示例的图;
图11是示出了第二操作系统的结构的另一个示例的图;
图12是用于示出关于更新的过程的流程图;
图13是用于示出中间层的过程的流程图;
图14是用于示出命令的数据结构的图;
图15是示出了本发明的一个实施例中的中间层的结构的示例的图;
图16是用于示出中间层的过程的流程图。
具体实施方式
以下将参照附图描述本发明的优选实施例。
[硬件结构]
图1是示出了应用本发明的信息处理设备的一个实施例的结构的图。图1中所示的信息处理设备10可以应用于例如执行非接触通信的IC卡、构成IC卡的IC芯片和采用这种IC芯片的移动电话。图1中所示的信息处理设备被配置为包括CPU(中央处理单元)11、ROM(只读存储器)12、RAM(随机存取存储器)13、非易失性存储器14、总线15、输入/输出接口16、MMU(存储器管理单元)17和通信电路18。
CPU 11、ROM 12、RAM 13、非易失性存储器14、输入/输出接口16和MMU(存储器管理单元)17连接到总线15。通信电路18连接到输入/输出接口16。
ROM 12、RAM 13和非易失性存储器14存储CPU 11进行处理所需要的数据和操作系统。输入/输出接口16通过通信电路18执行与另外的设备的数据交换。MMU 17控制存储器,即这里的ROM 12、RAM 13和非易失性存储器14。
应该注意到在这里MMU用作示例,但是也可以采用诸如MPU(存储器保护单元)等的存储器管理功能元件。
ROM 12、RAM 13、非易失性存储器14等存储管理表等。虽然后面将描述细节,但是管理表中不更新的缺省表存储在ROM 12中。优选的,管理表中要更新的更新表例如应该存储在非易失性存储器14中。
在一个实施例中可以提供暂存区域。暂存区域是数据暂时存储的区域。为此,优选地,暂存区域应该由RAM 13构造,以使得在断电时将删除所存储的数据。
参照图2描述的中间层42、第一操作系统43、第二操作系统44等由RAM 13或者非易失性存储器14来管理。用于存储应用程序的应用程序存储单元由非易失性存储器14构造。
下面描述的处理可以由硬件或者软件来执行。当通过软件执行一系列过程时,构成该软件的程序安装在计算机中。这里,计算机可以包括包含在专用硬件中的计算机、其中可以安装程序从而可以执行各种功能的通用个人计算机等。
下面将要描述的一系列过程由CPU 11执行。CPU 11通过将程序加载到RAM 13中来执行存储在包括ROM 12、非易失性存储器14等存储单元(未示出)中的程序。计算机(CPU 11)执行的程序可以由例如作为封装介质的可移除介质(未示出)提供。程序可以经由诸如局域网、互联网和数字广播等的有线或者无线传输介质提供。
在计算机中,可以通过将可移除介质适配到连接到输入/输出接口16的驱动器中而将程序经由输入/输出接口16安装在存储器单元中。可以通过由包括通信电路18的通信单元(未示出)经由有线或者无线传输介质接收程序而将程序安装在存储器单元中。此外,程序可以预先安装在ROM12或者存储器单元中。
计算机执行的程序可以是按照本说明书中所描述的顺序以时间次序执行过程的程序,或者可以是并行或者在必要时(例如,在调用过程时)执行过程的程序。
[功能结构]
下面将参照图2描述图1中所示的信息处理设备的功能元件。例如,当信息处理设备10由芯片构成时,芯片30包含通信单元41、中间层42、第一操作系统43和第二操作系统44。在芯片30和位于外部的外部设备31之间进行数据交换。
当信息处理设备10由芯片构成或者当信息处理设备10被构造为移动电话中的部件时,外部设备31可以是除了芯片的部分,并且它是通过导线(例如,另一个芯片)连接的设备。当信息处理设备10被构造为诸如IC卡等可以单独使用的设备时,外部设备31可以是执行与IC卡等的非接触通信的读取/写入器。
这里,假定信息处理设备10是芯片30以继续进行描述。芯片30的通信单元41执行与外部设备31的通信。通信单元41控制通信,并且将例如从外部设备31提供的命令提供给中间层42。中间层42具有将诸如来自外部设备31的命令的数据桥接到第一操作系统43和第二操作系统44的功能。
中间层42具有作为管理操作系统(管理OS)的功能。在中间层42和第一操作系统43或者第二操作系统44之间存在主从关系。中间层42是主,而第一操作系统43和第二操作系统44是从。
第一操作系统43和第二操作系统44是彼此不同的操作系统。虽然图2图示了包含第一操作系统43和第二操作系统44两个操作系统的结构,但是本发明不限于只可应用于包含两个操作系统的结构,而是可以应用于包含多个操作系统的结构。
这里,将如图2中所示的芯片30中包含第一操作系统43和第二操作系统44的情况作为示例来继续描述。假定第一操作系统43是不能向其添加应用程序的操作系统而第二操作系统44是可以向其添加应用程序的操作系统以继续进行描述。应用程序可以在预定操作系统已经启动的状况下运行。
第一操作系统43是能够运行已经登记的应用程序但是不能添加或者删除没有登记的应用程序的操作系统。第二操作系统是能够运行已经登记的应用程序也能够新添加或者删除没有登记的应用程序的操作系统。
通过添加应用程序,添加了可以由该应用程序执行的命令。因此,应用程序的添加换言之就是命令的添加。同样,应用程序的删除换言之就是命令的删除。
第一操作系统43例如是FeliCa OS。FeliCa(商标)OS用在用于例如电子货币的卡中。这些卡作为信用卡或者预付卡的替选物用于商业交易。FeliCa OS能够随后将表示电子货币的数值写入预定区域内,或者随后指定要用作电子货币的区域。然而,它不能进行比如新添加作为应用程序的命令等的功能添加或者比如删除现有命令等的功能删除。
第二操作系统例如是Java Card OS。Java Card OS能够额外地包含作为卡应用程序的功能。应该注意到,这里假定第二操作系统是例如JavaCard OS以继续进行描述。然而,如上所述,第二操作系统是可以添加作为应用程序的功能的操作系统就已足够,除了Java Card OS之外,它可以是MULTOS OS或者唯一本地(unique Native)OS。
配置第一操作系统43和第二操作系统44以使得它们不能相互访问。通过采用诸如防火墙等的逻辑机制、或者通过控制它们以使得它们不能通过物理地共享区域而同时启动、或者通过采用其中设备不同的配置来使它们不能相互访问。
如图2中所示,配置第一操作系统43和第二操作系统44,以使得它们可以经由中间层42与外部设备31通信,所述中间层42具有诸如用于选择存储器的存储控制单元等的核心功能元件。虽然在图中未示出,但是另一种可能的结构是各个操作系统可以直接与外部设备31通信。
当第一操作系统43和第二操作系统44以这种方式存在时,必须适当地确定来自外部设备31的命令是指向第一操作系统43的还是执行第二操作系统44的,并且处理该命令。
例如,假定在第一操作系统43执行一个过程之后,接收到指向第二操作系统44的命令。在这种情况下,如果所述命令继续提供给已经在执行所述过程的第一操作系统43,则第一操作系统将不能处理该命令,从而发生错误。为了避免这种事件,中间层42被配置为适当地将所接收的命令提供给第一操作系统43或者第二操作系统44。下面将描述这样的中间层42的结构和操作。
[第一实施例]
图3是示出了一个实施例中的中间层42的功能元件的框图。图3中所示的中间层42被配置为包括命令确定单元101、管理表保存单元102、存储控制单元103和命令传递单元104。
命令确定单元101参考管理表保存单元102来确定通信单元41从外部设备31接收的命令是指向第一操作系统43的命令还是指向第二操作系统44的命令。
管理表保存单元102包括其中例如所接收的命令的头部的前导信息与表示命令指向哪个操作系统的信息相关联的表。稍后将参照图4描述所述表的一个示例。
存储控制单元103基于来自命令确定单元101的指令来控制存储器。作为存储控制单元103的控制对象的存储器是图1中所示的信息处理设备10中的ROM 12、RAM 13、非易失性存储器14。存储控制单元103可以由MMU(存储器管理单元)或者MPU(存储器保护单元)的存储器管理功能元件实现。或者,它可以由物理上不同的芯片来构成,并且可以通过电源控制来实现多个操作系统。存储控制单元103可以具有执行该电源控制的功能。
命令传递单元104基于命令确定单元101的确定结果,将通信单元41接收到的命令传递给第一操作系统43或者第二操作系统44。
将参照图4描述图3中所示的中间层42的操作。假定通信单元41已经接收到命令121。信息“60”(十六进制数系统)写入到命令121的头部的前导部分中。命令确定单元101读取从通信单元41提供的命令121的头部的前导部分的信息,并且从由管理表保存单元102管理的表中读出与前述信息匹配的信息。
在图4中所示的示例中,两个表被管理为管理表保存单元102。这里,第一操作系统43和第二操作系统44两个操作系统包含在芯片30中,因此与各个操作系统相对应的表由管理表保存单元102管理。
管理表141是与第一操作系统43相对应的表。配置管理表141,以使得在命令121的头部的前导部分为“60”、“30”或者“A0”(十六进制)的情况下,意味着命令121是指向第一操作系统43的命令。管理表142是与第二操作系统44相对应的表。配置管理表142,以使得在命令121的头部的前导部分为“00A4”、“80C2”或者“80C4”(十六进制)的情况下,意味着命令121是指向第二操作系统44的命令。
在图4中所示的示例中,保存于管理表保存单元102中的管理表141和管理表142中包含的信息在命令的头部前导部分中描述,但是在由管理表保存单元102管理的管理表中登记的信息不限于命令的头部前导部分中描述的信息。也就是说,例如,在除了命令的头部前导部分的位置内描述的信息也可以登记在管理表中。
当是这种情况时,将要与管理表中登记的信息进行比较的命令内的数据的位置不一定限于前导部分,而是可以由执行该比较的命令确定单元101指定任意位置。
这里,假定要比较命令的头部前导部分中描述的信息,以继续进行描述。在图4中所示的示例中,提供给命令确定单元101的命令121的头部的前导部分的信息是“60”,所以命令确定单元101通过参考管理表141来确定该命令指向第一操作系统43。
当命令确定单元101作出这种确定时,命令确定单元101向命令传递单元104传递表示命令121要向第一操作系统43传递的传递目标信息以及命令121。基于来自命令确定单元101的信息,命令传递单元104将命令121的传递目标设定为第一操作系统43,并且将命令121传递至第一操作系统。
命令确定单元101向存储控制单元103给出用于启动第一操作系统43的启动指令。存储控制单元103启动第一操作系统43。此时,存储控制单元103如下执行控制操作:它为第一操作系统43保留预定存储空间,或者如果在该时间点上该存储空间为第二操作系统44保留,则它将第二操作系统44移动至另一个空间或者释放该空间,并且将该空间分配给第一操作系统43。
进一步参照图5的流程图描述这一处理。
在步骤S101中,命令确定单元101从外部设备31接收已经由通信单元41接收的命令。在接收到命令后,在步骤S102中命令确定单元101开始确定该命令。当开始该命令的确定时,在步骤S103中读出在管理表保存单元102中管理的管理表。
具体地,如上所述,命令确定单元101读取所接收的命令的头部的前导部分的信息,并且确定管理表保存单元102(在该情况下是在管理表141或者管理表142中)中是否登记有该信息。如果登记有该信息,则命令确定单元101进一步确定该命令指向哪一个操作系统。
应该注意,在基于位于除了命令头部的前导部分之外的位置内的信息来确定命令指向哪一个操作系统的情况下,命令确定单元101通过读取预定位置内描述的信息来执行确定。
在步骤S104中,确定管理表保存单元102中是否登记有所接收的命令。在步骤S104中,如果确定所接收的命令没有在管理表保存单元102中登记,则在步骤S108中确定出现了错误,并且执行错误处理过程。具体地,这是接收的命令既不是指向第一操作系统43也不是指向第二操作系统44的命令的情况。因此,在这种情况下,确定所接收的命令不是要由芯片30中包含的操作系统处理的命令,并且它被处理为错误(即,不处理所接收的命令)。注意,如果确定为错误,则命令确定单元101可以向通信单元41发送特定字符串。
另一方面,如果在步骤S104中确定所接收的命令在管理表保存单元102中登记了,则过程进行到步骤S105,确定传递目标操作系统。然后,在步骤S106中,命令确定单元101将表示要启动(切换)的操作系统的信息传递给存储控制单元103。在执行这一过程时,在步骤S107中命令确定单元101将操作系统指定信息和所接收的命令传递至命令传递单元104。
因此,信息处理设备10(芯片30)具有不能添加或者删除应用程序的第一操作系统43以及能够添加和删除应用程序的第二操作系统44。它还具有:命令确定单元101,被配置为通过参考保存在管理表保存单元102中的、其中命令和处理命令的操作系统相互关联的表来确定所接收的命令是指向第一操作系统43的命令还是指向第二操作系统44的命令;存储控制单元103,用于基于命令确定单元101的确定结果来控制存储器,以使得第一操作系统43或者第二操作系统44可以开始处理;以及命令传递单元104,用于基于确定的结果将所接收的命令传递给第一操作系统43或者第二操作系统44。结果,获得了以下的有益效果。
由命令确定单元101适当地确定所接收的命令指向哪一个操作系统。基于该确定,命令可以传递给操作系统,而且操作系统可以启动。此外,可以在接收到命令的时间点切换操作系统。另外,不必明确设定要切换的操作系统,换言之,用户不需要指定要切换的操作系统,因此可以不打扰用户而完成切换。
[第二实施例]
根据第一实施例,所接收的命令可以传递给适当的操作系统。然而,如果例如在步骤S104中(图5)确定所接收的命令没有在管理表保存单元102中登记,则在步骤S108中执行错误处理过程。
第二操作系统44是能够添加应用程序(即,能够添加所添加的应用程序的命令)的操作系统。考虑到这一点,即使在与第二操作系统44有关的添加的应用程序的命令没有在管理表保存单元102中登记时,也接收该命令。
换言之,可能有在步骤S104中被确定为没有在管理表保存单元102中登记的命令可以是指向第二操作系统44的添加的应用程序的命令的情况。下面将描述考虑了这一问题的第二实施例。
图6是示出了一个实施例中的中间层的功能元件的框图。图6中所示的中间层42与图3中所示的中间层42相比,图6中所示的中间层42被配置为比图3中所示的中间层42额外地具有暂存区域201。其他的部件和结构是相同的,用相同的参考标号表示,并且适当地省略其描述。
在接收到命令的时间点(直到接收到命令之前)运行的操作系统的信息存储在暂存区域201中。这里,表示第一操作系统43或者第二操作系统44的信息存储在暂存区域201中。
参照图7,将描述图6中所示的中间层42的操作。参照图7的描述部分地与已经参照图4所作的描述重叠,因此将省略重叠部分的描述。
在从通信单元41接收到命令121之后,命令确定单元101参考管理表存储单元102,并且在必要时也参考存储在暂存区域201中的信息。在图7中所示的情况中,所接收的命令的头部的前导部分的信息是“60”,因此通过参考管理表141确定该命令指向第一操作系统43。当以这种方式确定时,表示第一操作系统43的信息存储在暂存区域201中。
如果所接收的命令没有在管理表保存单元102中登记,并且表示第二操作系统44的信息存储在暂存区域201中,则命令确定单元101确定所接收的命令是指向第二操作系统44的命令,并且相应地执行过程。
原因在于当接收到在管理表保存单元102中没有登记的命令并且命令是在第二操作系统44正在运行时接收到时,命令很可能是指向第二操作系统44的命令,这是因为如上所述,第二操作系统44是能够新添加命令的操作系统。换言之,在第二操作系统44运行的时间点上接收到并且处理新添加的应用程序。因此,命令传递给第二操作系统44。
暂存区域201的初始状态是没有存储任何东西的状态,即初始状态是电压开始提供给芯片30(接通电源)的状态。原因在于如果暂存区域201记忆了在芯片30断电时的操作系统,则有可能执行不正确的过程,这是因为过程是基于下一次接通芯片30时所记忆的信息来执行的。为此,在关闭电源时的时间点上删除存储在暂存区域201中的信息。为了这一目的,暂存区域201由RAM 104(参见图1)构成,如同参照图1所述。
应该注意到可以采用一种机制,使得在电压开始提供给芯片30之后(即,在接通电源之后)特定操作系统缺省地启动。在采用这种机制的情况下,从上述“没有存储任何东西的状态”,暂存区域201的状态可以被配置为根据特定操作系统的启动来存储已经启动的特定操作系统的信息,作为表示特定操作系统是当前操作系统的信息。
参照图8,将进一步描述第二实施例中的中间层42的操作。
从步骤S201到S207的过程与图5中所示的实施例的流程图的步骤S101到S107的过程相同,因此省略其描述。具体地,在所接收的命令的信息登记在管理表保存单元102中的情况下,所登记的操作系统启动(切换),并且传递命令。
换言之,如果在步骤S204中确定所接收的命令没有在管理表保存单元102中登记,则过程进行到步骤S208。在步骤S208中,确定最近的递历史记录是否存储在暂存区域201中。例如,如果最近所接收的命令传递给第一操作系统43,则表示第一操作系统43的信息存储在暂存区域201中。如上所述,除非处于初始状态,否则信息存储在暂存区域201中。换言之,在连续接收命令的状态中,一些信息存储在暂存区域201中。
以这种方式,如果确定所接收的命令的信息没有在管理表保存单元103中登记,则参考暂存区域201。如果在步骤S208中确定信息存储在暂存区域201中,则过程进行到步骤S209。
在步骤S209中,确定历史记录中包含的操作系统是否是可下载的。换言之,确定由存储在暂存区域201中的信息表示的操作系统是否是能够添加应用程序的操作系统。
在图6中所示的情况中,第一操作系统43不是可下载操作系统,而第二操作系统44是可下载操作系统。因此,在这种情况下,如果由存储在暂存区域201中的信息表示的操作系统是第一操作系统43,则在步骤S209中确定历史记录中的操作系统是不能下载的,过程进行到步骤S210。
在步骤S210中,执行错误处理过程。在这种情况下,所接收的命令没有在管理表保存单元102中登记,并且在该时间点上正在运行的操作系统是不能添加应用程序的操作系统。基本上,与不能添加应用程序的操作系统相关的命令登记在管理表保存单元102中。因此,在这种情况下,在步骤S210中执行错误处理过程,因为没有适当的操作系统来处理所接收的命令。
另一方面,如果由存储在暂存区域201中的信息表示的操作系统是第二操作系统44,则在步骤S209中确定历史记录中的操作系统是可下载的,过程进行到步骤S205。在这种情况下,所接收的命令没有在管理表保存单元102中登记,并且在该时间点上正在运行的操作系统是能够添加应用程序的操作系统。因此,在这种情况下,当运行第二操作系统44时,命令很可能是没有在管理表保存单元102中登记的命令,虽然它是与第二操作系统44有关的命令。因此,在步骤S205中,第二操作系统44被设定作为传递目标操作系统。
因此,信息处理设备还具有暂存区域201,用于存储由命令确定单元101确定的结果,如果所接收的命令没有在保存在管理表保存单元102的表中登记并且表示第二操作系统44的信息存储在暂存区域201中,则命令确定单元103确定所接收的命令指向第二操作系统44。因此,可以获得以下有益效果。
当接收到在管理表保存单元102中登记的命令时,当然可以适当地执行处理。此外,即使在所接收的命令没有在管理表保存单元102中登记时,也可以适当地执行处理。
[第三实施例]
接着,将描述第三实施例。在第三实施例中,新添加的应用程序(命令)登记在管理表保存单元102中。上述第二实施例使得执行处理而不登记命令,但是第三实施例使得可以通过登记命令来执行处理。
图9是示出了一个实施例中的中间层42的结构的图。图9中所示的中间层42与图3中所示的中间层42相比,图9中所示的中间层42被配置为比图3中所示的中间层42额外地具有管理表更新单元301。其他的部件和结构是相同的,用相同的参考标号表示,并且适当地省略其描述。
管理表更新单元301更新由管理表保存单元102管理的管理表。作为更新对象的管理表保存单元102是与能够添加应用程序的操作系统相对应的表。因此,在图9中所示的情况中,与第二操作系统44相对应的管理表142是更新的对象。因此,仅对第二操作系统44开放的接口设置在第二操作系统44和管理表更新单元301之间,如图9中所示。
图10示出了作为与管理表保存单元102的更新相关的部分的中间层42和第二操作系统44的详细结构。图10中所示的第二操作系统44具有命令解释单元321、应用程序添加/删除单元322、应用程序存储单元323以及管理表更新请求单元324。
命令解释单元321解释从命令传递单元104传递的命令,并且基于该解释执行过程。例如,当命令解释单元321将命令解释为用于添加或者删除应用程序的命令时,它向应用程序添加/删除单元322给出添加或者删除应用程序的指令。应用程序存储单元323存储应用程序。
当添加应用程序时,应用程序添加/删除单元322使应用程序存储单元323存储要新添加的应用程序。当删除应用程序时,应用程序添加/删除单元322删除存储在应用程序存储单元323中的被指定删除的应用程序。
此外,应用程序添加/删除单元322向管理表更新请求单元324给出指令,以使得将要新添加的应用程序的命令添加在由管理表保存单元102管理的管理表中。或者,应用程序添加/删除单元322向管理表更新请求单元324给出指令,以使得将被指示删除的应用程序的命令从由管理表保存单元102管理的管理表中删除。
管理表更新请求单元324从应用程序添加/删除单元322向中间层42的管理表更新单元301发出添加或者删除请求。管理表更新单元301基于指令(请求)更新由管理表保存单元102管理的管理表。
下面将参照图11描述用类似方式执行应用程序的添加或者删除并且更新管理表的中间层42和第二操作系统44的另一种结构。
图10中所示的中间层42的结构和图11中所示的中间层42的结构相同。图11中所示的第二操作系统44的结构与图10中所示的第二操作系统44的结构相比,图11中所示的第二操作系统44具有应用程序选择单元341来替代图10中所示的第二操作系统的应用程序添加/删除单元322,并且图11中所示的第二操作系统44额外地具有应用程序执行单元342。其他的部件和结构是相同的,所以它们用相同的参考标号表示,并且省略其描述。
在图11中所示的结构的情况中,当命令解释单元321将从命令传递单元104传递的命令解释为用于选择应用程序的命令时,命令解释单元321将命令传递给应用程序选择单元341。应用程序选择单元341调用由来自应用程序存储单元323的命令指定的应用程序。
应用程序执行单元342执行指定的应用程序,并且将由应用程序的执行产生的响应数据发送到应用程序选择单元341。应用程序选择单元341解释所接收的响应数据,如果响应数据包含对管理表的更新请求和用于校正的数据,则应用程序选择单元341将数据传递给管理表更新请求单元324。
管理表更新请求单元324向中间层的管理表更新单元301发出更新请求,并且向其传递用于更新的数据。管理表更新单元301将所接收的数据与用于识别请求从哪一个操作系统发出的信息相关联,以更新存储表保存单元102中保存的管理表。
图10和11中所示的两种结构均能够更新管理表,并且适当地添加和删除应用程序。即,可以通过提供在应用程序由第二操作系统44处理时根据该应用程序的添加或者删除来更新保存在管理表保存单元102中的表的更新单元,来适当地进行管理表的更新和应用程序的添加/删除。这里,将取图10中所示的结构的情况作为一个示例,给出参照图13的流程图的描述。
在第三实施例中,更新由管理表保存单元102保存的管理表。作为更新对象的表可以是已经创建的表,也可以是新创建的表。
在更新已经创建的表的情况下,例如参照图4,管理表142被设定为作为更新对象的表。管理表142是与能够添加和删除应用程序的第二操作系统44对应的表。对管理表142执行更新过程,在更新过程中向管理表142新添加命令或者从中删除已经登记的命令。
但是,从安全方面来讲,当已经缺省地登记在管理表142中的命令和新添加的命令在同一个表中被管理时,这可能是不期望的。具体地,当它们在同一个表中被管理时,存在缺省命令被删除或者修改的可能性。此外,为了管理同一个表中的命令,表需要存储在非易失性存储器14中,这是因为需要在这样的条件下管理表,以使得可以执行诸如命令添加和更新等的过程。结果,如上所述,存在例如表可能被修改的风险。
鉴于此,分开管理用于管理已经登记的命令的表(即,缺省表)和进行更新(比如命令添加或者删除)的表。将参照图12来描述这种管理的方式。
管理表保存单元102保存第一操作系统43的管理表141、第二操作系统44的管理表142-1和第二操作系统44的管理表142-2。这些管理表中,管理表141和管理表142-1是管理缺省命令的表。不会向第一操作系统43添加新命令,因此对第一操作系统43只管理缺省管理表141。
另一方面,对于第二操作系统44来说可以添加命令,因此为第二操作系统44设置了缺省表管理表142-1和用于更新的表管理表142-2。像新命令的添加或者登记命令的删除之类的过程被配置为只对管理表142-2执行而不对管理表142-1执行。作为用于更新的表的管理表142-2可以在添加应用程序时(在添加命令时)生成,也可以预先制备。
当以这种方式设置缺省表和用于更新的表时,从安全方面来讲,如上所述不期望它们在同一存储器中存储和管理。为此,不应该修改的缺省表管理表141和管理表142-1存储在可以保持为相对安全的状态的存储器中,比如ROM 12(图1)。另一方面,用于更新的表管理表142-2存储在可以对其执行更新处理等并且即使在关闭电源时数据也不会从中被删除的存储器中,比如非易失性存储器14(图1)。
因此,期望要更新的与第二操作系统对应的管理表包括与缺省命令有关的第一表和用于更新的第二表。第一表和第二表由物理上不同的存储器管理。以这种方式,可以高安全性地管理管理表。
当如图12所示那样管理表被配置为具有包括例如缺省表和用于更新的表的层次时,根据存储在暂存区域201中的操作系统的识别信息为对象操作系统的更新表校正数据。在采用一个管理表由多个操作系统共享的配置的情况下,虽然在附图中没有示出,但是用于识别操作系统的识别信息和对象数据共同保存在管理表保存单元102中。
接着,将参照图13的流程图来描述当信息处理设备具有图10中所示的中间层42和第二操作系统44时与执行的诸如命令的添加或者删除等的更新有关的过程。
图13的流程图中所示的过程由第二操作系统44执行。过程在命令提供给第二操作系统44的时间点上开始。因此,图5的流程图中所示的过程在执行图13的流程图中所示的过程之前的时间点上在中间层42中执行。结果,启动第二操作系统44,命令从命令传递单元104传递到第二操作系统44。
在步骤S301中,命令解释单元321以该方式接收从命令传递单元104传递的命令。在步骤S302中,命令解释单元321解释所接收的命令,并且在步骤S303中基于解释的结果执行确定。换言之,在步骤S303中确定所接收的命令是否是用于添加应用程序的命令。
如果在步骤S303中确定所接收的命令是用于添加应用程序的命令,则过程进行到步骤S304。在步骤S304中,命令解释单元321启动应用程序添加/删除单元322。在步骤S305中,已经启动的应用程序添加/删除单元322从命令的一部分中提取应用程序,并且使应用程序存储单元323存储该应用程序。当以这种方式添加应用程序时,在步骤S310之后的过程中根据需要执行添加或者删除命令的过程。
另一方面,如果在步骤S303中确定所接收的命令不是用于添加应用程序的命令,则过程进行到步骤S306。在步骤S306中,确定所接收的命令是否是用于删除应用程序的命令。如果在步骤S306中确定所接收的命令是用于删除应用程序的命令,则过程进行到步骤S307。
在步骤S307中,命令解释单元321启动应用程序添加/删除单元322。在步骤S308中,已经启动的应用程序添加/删除单元322根据命令的指示来删除存储在应用程序存储单元323中的应用程序。当以这种方式删除应用程序时,在步骤S310之后的过程中根据需要执行添加或者删除命令的过程。
另一方面,如果在步骤S306中确定所接收的命令不是用于删除应用程序的命令,则过程进行到步骤S309。在这种情况下,所接收的命令既不是用于添加应用程序的命令,也不是用于删除应用程序的命令,而是另外的命令。因此,虽然在图10中未示出,但是所述命令从命令解释单元321提供给用于处理其他命令的部件,并且在被提供了该命令的部件中执行与该命令相关的过程。
当在步骤S305或者S306中执行了应用程序的添加或者删除时,过程进行到步骤S310。在步骤S310中,应用程序添加/删除单元322确定命令是否包含对管理表的更新请求。如果在步骤S310中确定命令不包含对管理表的更新请求,则过程进行到步骤S311。在步骤S311中,执行正常的安装或者删除过程。这一过程不包含用于更新管理表的过程。
另一方面,如果在步骤S310中确定命令包含对管理表的更新请求,则过程进行到步骤S312。在步骤S312中,应用程序添加/删除单元322启动管理表更新请求单元324。已经启动的管理表更新请求单元324向中间层42的管理表更新单元301发出对由管理表保存单元102管理的管理表的更新请求。
此时,连同表示与已经是添加或者删除应用程序的对象的操作系统相对应的表是更新对象的管理表的信息一起发送更新请求。即,在这种情况下,管理表更新请求单元324提供表示作为与第二操作系统44相对应的管理表并且是更新对象(即,不是缺省表的表)的表是作为更新对象的管理表的信息。
在步骤S314中,管理表更新单元301更新被指定为更新对象的管理表。在这种情况下,更新作为第二操作系统的管理表的管理表142-2。
以这种方式,管理表被更新。由于管理表被更新,因此在下一次接收到命令时也可以基于更新的管理表来执行处理。结果,即使有添加的命令也可以适当地执行处理。
以这种方式,在管理表更新的情况下以及在如图12中所示分开设置缺省表和用于更新的表的情况下,在传递中间层42接收的命令的过程中,必要时也参考缺省表和用于更新的表。
也可以组合地执行第一实施例和第三实施例。在这种情况下,当在图5的流程图中所示的步骤S103中读出管理表时,除了缺省表,必要时也读出用于更新的表。具体地,在接收到命令之后,中间层42的命令确定单元101读出保存在管理表保存单元102中的所有管理表。在图12中所示的示例中,读出管理表141、管理表142-1、管理表142-2。然后,通过确定表示所接收的命令是否在已经读出的管理表中登记来执行步骤S104的过程。
在组合地执行第一实施例和第三实施例的情况下,也可以更新管理表并且采用更新的管理表执行过程。因此,可以更可靠地处理所接收的命令。
在执行第一实施例和第三实施例的情况下,如果在步骤S104中确定所接收的命令没有在管理表中登记,则过程不进行到其被确定为错误的步骤S108。相反,命令被传递给能够添加和删除应用程序的操作系统,从而可以执行图13中所示的与更新有关的过程。
在刚刚描述的实施例中,当接收到没有在管理表中登记的命令时,将所接收的命令传递给第二操作系统44,并且执行图13的流程图中所示的过程以更新管理表,这是因为第二操作系统44是能够添加和删除应用程序的操作系统。以这种方式,可以更新管理表,另外,采用更新的管理表,当下一次接收到相同的命令时在步骤S104中确定该命令登记在管理表中,从而可以适当地执行步骤S105之后的过程。
在这种情况下,芯片30中包含的能够添加和删除应用程序的操作系统仅仅是第二操作系统44。为此,当所接收的命令没有在管理表中登记时,在步骤S104中可以推断所接收的命令是与第二操作系统44有关的命令,基于此推断,可以执行如上所述的处理。
但是,在芯片包含两个或者更多个能够添加和删除应用程序的操作系统的情况下,难以推断命令指向哪一个操作系统。例如,假定第二操作系统44和第三操作系统(未示出)存储在芯片30中作为能够添加和删除应用程序的操作系统。在这种情况下,如果所接收的命令没有登记在管理表中,则难以唯一地确定(即,推断)命令应该传递给第二操作系统44和第三操作系统中的哪一个。
为此,在芯片30存储了多个能够添加和删除应用程序的操作系统的情况下,优选地执行第二实施例和第三实施例。在第二实施例中,设置暂存区域201(图6),并且如上所述基于图8中所示的流程图执行过程。因此,当接收到没有在管理表中登记的命令时,可以确定该命令应该传递给哪个操作系统。结果,可以防止发生不能确定命令应该传递给哪个操作系统这样的事件。
再一次参照图8,如果在步骤S204中确定所接收的命令没有在管理表中登记,则在步骤S208中确定最近的传递历史记录是否存储在暂存区域201中。如果确定存储了最近的传递历史记录,则在步骤S209中确定由存储在暂存区域201中的信息表示的操作系统是否是可下载操作系统。如果它是可下载操作系统,则在步骤S205中将确定为可下载的操作系统设定为命令的传递目标。通过执行这样的过程,可下载操作系统可以执行与图13中所示的更新有关的过程。
例如,如果表示第二操作系统44的信息存储在暂存区域201中,则即使命令没有在管理表中登记,所接收的命令也可以可靠地传递给第二操作系统44,并且可以采用第二操作系统44执行对管理表的更新过程。
因此,即使当芯片30中存储了多个可下载的操作系统时,也可以适当地执行管理表的更新和采用管理表的过程。
此外,通过在中间层42中提供暂存区域201,可以提高步骤S203中的与管理表的读取有关的处理的速度。在接收到命令后,命令确定单元101参考暂存区域201,并且从管理表保存单元102中读出与暂存区域201中存储的信息表示的操作系统对应的管理表。
例如,如果表示第一操作系统43的信息存储在暂存区域201中,则读出管理表141(图12)。如果所接收的命令没有在已经读出的管理表141中登记,则读出另一个管理表,比如管理表142-1。
或者,如果表示第二操作系统44的信息存储在暂存区域201中,则读出管理表142-1。然后,如果所接收的命令没有在管理表142-1中登记,则读出管理表142-2。
通过参考存储在暂存区域201中的信息以用这种方式缩减要参考的管理表,可以提高用于命令是否登记的搜索(即,操作系统的搜索)的处理的速度。
此外,虽然图12图示了与第一操作系统43对应的管理表141是一个表并且相应地作了描述,但是管理表141可以被配置为包含多个表(配置为具有层次)。例如,可以将很可能首先接收的命令和当运行第一操作系统43时很可能接收的命令保存在单独的管理表中。
在这种情况下,当表示第一操作系统43的信息存储在暂存区域201中时,参考的对象可以被设定为包含在运行第一操作系统43的状态下很可能接收的命令的管理表。因此,可以进一步提高搜索的速度。当然,也可以将除了与第一操作系统43相对应的管理表141之外的管理表划分为多个表,以使得可以提高与搜索相关的过程的速度。
如上所述,可以单独执行或者组合执行第一至第三实施例。当单独执行或者组合执行时,可以通过实施例获得以下有益效果。
可以通过中间层42对操作系统执行适当的命令传递过程。结果,可以使用采用现有操作系统的系统和服务,而不改变它们的规范。
另外,由于不必改变要包含的操作系统的命令的规范,因此不必担心与规范的改变相关联的安全性下降或者安全漏洞,从而可以降低例如设计的难度。
此外,由于可以采用芯片30中的封闭条件而不添加来自外部设备31的其他条件等确定命令要向其传递的操作系统,因此可以保证高度多功能性。
[第四实施例]
根据第一至第三实施例,可以通过执行参考管理表的过程将所接收的命令传递给适当的操作系统。作为第四实施例,以下描述了一个示例,其中通过参考命令的格式来更快并且更可靠地将命令传递给适当的操作系统。
图14是用于示出命令的数据结构的一个示例的图。在命令121是用于第一操作系统43的命令的情况下,它具有如命令402所示的结构。在命令121是用于第二操作系统44的命令的情况下,它具有如命令403所示的结构。命令格式是对每个操作系统指定的。如下所述,字段的布置、字段的长度等对于不同的操作系统来说是不同的。
在命令402中,在表示数据长度的字段“长度”之后布置了字段“头部”,并且在“头部”之后布置了存储比如指令内容等的数据的字段“有效载荷”。命令402中存储在字段“长度”中的数据是“长度”、“头部”和“有效载荷”的字段长度的合计值。换言之,命令121的总长度存储在字段“长度”中。
在命令403中,在字段“头部”之后布置了字段“长度”,并且在“长度”之后布置了字段“有效载荷”。命令403中存储在字段“长度”中的数据只是字段“有效载荷”的字段长度。换言之,命令121中字段“有效载荷”的字段长度存储在字段“长度”中。
利用这一格式上的不同,可以确定所接收的命令是指向第一操作系统43的命令还是指向第二操作系统44的命令。具体地,通过确定存储在长度字段中的值是否与特定字段长度相匹配,可以确定该命令指向哪一个操作系统。下面将描述利用这一事实确定所接收的命令121指向哪一个操作系统的中间层42。
图15是示出了一个实施例中的中间层42的功能元件的框图。图15中所示的中间层42与图3中所示的中间层42相比,图15中所示的中间层42被配置为比图3中所示的中间层42额外地具有格式确定单元421。其他的部件和结构是相同的,用相同的参考标号表示,并且适当地省略其描述。
格式确定单元421根据所接收的命令的形式确定所接收的命令是指向第一操作系统43的命令还是指向第二操作系统44的命令。关于不同格式之间的差异的信息(例如,关于字段“长度”布置的位置和值的信息)保存在格式确定单元421中。
格式确定单元421基于所保存的信息来确定所提供的命令的传递目标。基于确定结果,格式确定单元421确定它向存储控制单元103和命令传递单元104给出指令还是向命令确定单元101给出指令。如同在第一至第三实施例中那样,命令确定单元101通过参考保存在管理表保存单元102中的管理表来确定该命令是针对第一操作系统43的命令还是针对第二操作系统44的命令。
将参照图16的流程图来描述这一确定。参照图16进行的描述与已经参照图5进行的描述部分重叠,因此将适当地省略重叠部分的描述。
在从通信单元41接收到命令121之后,格式确定单元421参考该命令的格式。格式确定单元421确定所接收的命令121的特定字段长度是否与存储在字段“长度”中的值相匹配。例如,假定“有效载荷”的字段长度用作特定字段长度。当所接收的命令121是命令402时(图14),存储在字段“长度”中的值和“有效载荷”的字段长度的值是不同的。因此,推断出该命令指向第一操作系统43。
类似地,当所接收的命令121是命令403时(图14),存储在字段“长度”中的值与“有效载荷”的字段长度的值相匹配。因此,可以推断出该命令指向第二操作系统44。
这里,描述为“可以推断出”的原因如下。例如,当参考所接收的命令121的字段“长度”并且发现值为“0x80”(十六进制)时,推断出128字节的总长度与第一操作系统43的条件相匹配。然而,也有可能字段“长度”的值为“0x80”并且字段“有效载荷”的字段长度为128字节;在这种情况下,推断出该条件也与第二操作系统44的条件相匹配。
因此,只采用格式,有可能确定出所接收的命令121指向两个或者更多个操作系统。有可能通过仅采用格式的确定不能确定操作系统。为此,在本实施例中,采用一种结构,其中参考管理表的过程也在下游过程中执行,以使得可以可靠地确定操作系统。
然而,除了刚才所述的示例,仅采用格式可以将所接收的命令121识别为指向一个操作系统。在这种情况下,可以确定命令指向所识别的操作系统,并且可以执行后续的过程。因此,处理被配置为基于图16的流程图执行。
具体地,在步骤S403中,根据格式确定所接收的命令121的操作系统。在步骤S404中,采用确定结果,确定是否已经决定了传递目标的操作系统。这里,在以下示出了确定已经决定了传递目标的操作系统的条件。
首先,如上所述,命令被确定为不与两个或者更多个操作系统对应,即,命令被确定为只对应于一个操作系统。此外,被确定为目标的操作系统是第二操作系统44。这里,为何设定目标是第二操作系统44的条件的原因如下。
第二操作系统44是能够添加应用程序(即,能够添加命令)的操作系统。结果,例如,没有列在管理表142-1或者管理表142-2(图12)中的命令也可以被接收为指向第二操作系统44。
如果在下游过程中参考管理表142时命令列在管理表142中,则确定命令指向第二操作系统44,因此将所接收的命令传递给第二操作系统44。即使在下游过程中参考管理表142时命令没有列在管理表142中,命令也很可能是指向第二操作系统44的命令,因此将所接收的命令传递给第二操作系统44。
结果,即使在已经利用格式将命令121的传递目标的操作系统确定为第二操作系统44之后通过参考管理表142执行进一步的确定时,不管确定结果如何命令仍然传递给第二操作系统44。为此,当采用格式确定的结果表示第二操作系统44时,可以将命令传递给第二操作系统44而不参考管理表142。这里,假定以刚刚描述的方式执行过程以继续进行描述。
然而,为了提高可靠性,即使在命令被确定为指向第二操作系统44时也可以参考管理表。在这种情况下,由于采用格式将命令确定为指向第二操作系统44,因此在下游过程中参考管理表时仅参考第二操作系统44的管理表142就足够了。这也适用于第一操作系统43。当采用格式将命令确定为指向第一操作系统43时,在下游过程中参考管理表时仅参考第一操作系统43的管理表141就足够了。
这意味着基于利用格式的确定可以缩减要参考的管理表。通过进行缩减,可以减少要参考的表的数目,从而可以使处理的速度更快。此外,在利用格式缩减管理表并且通过参考缩减后的管理表决定目标操作系统的一系列流程中,可以不管操作系统如何而进行处理。因此,例如,可以简化与这一确定有关的程序等。
另外,为了加强安全性,一直执行通过利用格式的确定和通过参考管理表的确定。这例如防止了指向第二操作系统44的命令121被恶意地传递给第二操作系统44。通过参考管理表也可以防止恶意命令被传递给第二操作系统44。
这里,假定如下内容以继续进行描述。在步骤S404中,如果确定命令仅对应于一个操作系统,并且所确定的操作系统是第二操作系统44,则将命令121传递给第二操作系统44而不参考管理表。
如果在步骤S404中确定由于满足了上述条件因此确定了所接收的命令要被传递到的操作系统,则过程进行到步骤S408。在步骤S408中,格式确定单元421将表示要启动(切换)的操作系统的信息传递给存储控制单元103。在执行这样一个过程时,在步骤S409中,格式确定单元421将操作系统指定信息和所接收的命令传递给命令传递单元104。
另一方面,如果在步骤S404中确定由于不满足上述条件因此还不能够确定所接收的命令要传递到的操作系统,则过程进行到步骤S405。在步骤S405中,所接收的命令121和利用格式的确定结果从格式确定单元421提供给命令确定单元101。然后,命令确定单元101调用保存在管理表保存单元102中的管理表。
命令确定单元101利用根据格式的确定结果来缩减要调用的管理表,并且只调用缩减后的管理表。具体地,例如,如果根据格式的确定结果是第一操作系统43,则调用第一操作系统43的管理表141。通过确定格式,可以缩减要调用的管理表,从而可以使处理的速度加快。
如果在步骤S404中确定由于利用根据格式的确定而确定第一操作系统43和第二操作系统44两者都有可能是目标操作系统,因此还不能确定目标操作系统,则过程也进行到步骤S405。在这种情况下,调用第一操作系统43的管理表141和第二操作系统44的管理表142。
在步骤S406中,命令确定单元101确定所提供的命令121是否已经在所调用的管理表中登记。步骤S406之后的过程基本上与图5的流程图中步骤S104之后的过程相同,因此,将省略其描述。
因此,在第四实施例中,根据第一操作系统43的命令的格式和第二操作系统44的命令的格式之间的不同来确定所接收的命令121是指向第一操作系统43的命令121还是指向第二操作系统44的命令121。然后,对于不能根据格式确定的结果,进一步确定所接收的命令121是指向第一操作系统43的命令还是指向第二操作系统44的命令121。不能根据格式确定的结果指的是以下情况下的结果:操作系统未通过根据格式的确定而缩减到一个操作系统的情况、操作系统被缩减到一个操作系统但是缩减后的操作系统不是能添加应用程序的操作系统的情况、或者结构被设定为不能只根据格式确定操作系统而是一直参考表的情况。
在上述第四实施例中,已经指出格式信息由格式确定单元421保存。管理表也可以包含格式信息作为构成管理表的信息的一部分。当管理表包含格式信息时,在图16的流程图的过程中,在步骤S405中执行的调用管理表的过程被配置为在步骤S403之前的时间点处执行。然后,利用已经调用的管理表中包含的格式信息,执行步骤S403中根据格式的确定过程。这样的结构也是可以的。
第四实施例可以单独实施,也可以与第一至第三实施例组合实施。从外,在第四实施例中也可以获得与在第一至第三实施例中相同的有益效果。
应该注意,本发明不限于上述实施例,而是在不背离本发明的范围的情况下也可以有多种变型。
本申请包含与2009年2月25日提交于日本专利局的日本在先专利申请JP 2009-042246中公开的主题相关的主题,所述日本在先专利申请的整体内容通过引用合并于此。
Claims (10)
1.一种信息处理设备,包括:
第一操作系统,不能添加或者删除应用程序;
第二操作系统,能够添加和删除应用程序;
用于通过参考其中命令和用于处理所述命令的操作系统相互关联的表来确定接收的命令是指向所述第一操作系统的命令还是指向所述第二操作系统的命令的装置;
用于保存所述表的装置;
用于基于由所述用于确定的装置确定的结果来控制存储器以使得所述第一操作系统或者所述第二操作系统能够开始处理的装置;以及
用于基于所述确定的结果将所述接收的命令传递给所述第一操作系统或者所述第二操作系统的装置。
2.根据权利要求1中所述的信息处理设备,还包括:
用于存储由所述确定装置确定的结果的装置;
其中,如果所述接收的命令没有在所述表中登记并且表示所述第二操作系统的信息存储在所述用于存储的装置中,则所述确定装置确定所述命令指向所述第二操作系统。
3.根据权利要求1或2所述的信息处理设备,其中所述信息处理设备构成IC芯片、IC卡或者移动电话单元。
4.根据权利要求1至3中任意一项所述的信息处理设备,还包括:
用于在添加或者删除了由所述第二操作系统运行的应用程序时,根据所述应用程序的添加或者删除来更新保存在所述保存装置中并且与所述第二操作系统相对应的表的装置。
5.根据权利要求4所述的信息处理设备,其中,
与所述第二操作系统相对应的所述表具有与缺省命令有关的第一表和用于更新的第二表;以及
所述第一表和所述第二表由物理上不同的存储器管理。
6.根据权利要求4或5所述的信息处理设备,其中,
所述第二操作系统确定所述接收的命令是否是用于添加或者删除应用程序的命令;
如果作为所述确定的结果确定所述命令是用于添加或者删除应用程序的命令,则所述第二操作系统确定所述命令是否包含所述表的更新请求;并且
如果作为所述确定的结果确定所述命令包含所述表的更新请求,则所述第二操作系统向所述更新装置发出更新请求。
7.根据权利要求1至6中任意一项所述的信息处理设备,还包括:
格式确定装置,用于通过所述第一操作系统的命令和所述第二操作系统的命令的格式上的差别来确定所述接收的命令是指向所述第一操作系统的命令还是指向所述第二操作系统的命令,其中,
对于不能由所述格式确定装置确定的结果,所述用于确定的装置确定所述接收的命令是指向所述第一操作系统的命令还是指向所述第二操作系统的命令。
8.一种信息处理设备的信息处理方法,所述信息处理设备至少包括不能添加或者删除应用程序的第一操作系统以及能够添加和删除应用程序的第二操作系统,所述方法包括以下步骤:
通过参考其中命令和用于处理所述命令的操作系统相互关联的表来确定所述接收的命令是指向所述第一操作系统的命令还是指向所述第二操作系统的命令;
基于所述确定的结果来控制存储器以使得所述第一操作系统或者所述第二操作系统能够开始处理;并且
基于所述确定的结果将所述接收的命令传递给所述第一操作系统或者所述第二操作系统。
9.一种存储程序的计算机可读介质,所述程序用于使信息处理设备的计算机执行包括以下步骤的过程,其中所述信息处理设备至少包括不能添加或者删除应用程序的第一操作系统以及能够添加和删除应用程序的第二操作系统:
通过参考其中命令和用于处理所述命令的操作系统相互关联的表来确定接收的命令是指向所述第一操作系统的命令还是指向所述第二操作系统的命令;
基于所述确定的结果来控制存储器以使得所述第一操作系统或者所述第二操作系统能够开始处理;以及
基于所述确定的结果将所述接收的命令传递给所述第一操作系统或者所述第二操作系统。
10.一种信息处理设备,包括:
第一操作系统,不能添加或者删除应用程序;
第二操作系统,能够添加和删除应用程序;
确定单元,被配置为通过参考其中命令和用于处理所述命令的操作系统相互关联的表来确定接收的命令是指向所述第一操作系统的命令还是指向所述第二操作系统的命令;
保存单元,被配置为保存所述表;
控制单元,被配置为基于由所述确定单元确定的结果来控制存储器以使得所述第一操作系统或者所述第二操作系统能够开始处理;以及
传递单元,被配置为基于所述确定的结果将所述接收的命令传递给所述第一操作系统或者所述第二操作系统。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009042246A JP4888742B2 (ja) | 2009-02-25 | 2009-02-25 | 情報処理装置および方法、並びにプログラム |
JP2009-042246 | 2009-02-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101814041A true CN101814041A (zh) | 2010-08-25 |
CN101814041B CN101814041B (zh) | 2017-05-03 |
Family
ID=42106062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010117770.6A Active CN101814041B (zh) | 2009-02-25 | 2010-02-11 | 信息处理设备和方法 |
Country Status (4)
Country | Link |
---|---|
US (4) | US8544030B2 (zh) |
EP (2) | EP2565784B1 (zh) |
JP (1) | JP4888742B2 (zh) |
CN (1) | CN101814041B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106109A (zh) * | 2011-08-23 | 2013-05-15 | 宏达国际电子股份有限公司 | 移动装置以及于其上运行两种平台系统或应用程序的方法 |
CN104679558A (zh) * | 2015-02-09 | 2015-06-03 | 西安酷派软件科技有限公司 | 一种多系统间的切换方法和终端 |
US10152294B2 (en) | 2011-08-23 | 2018-12-11 | Htc Corporation | Mobile device and method of running two platform systems or applications thereon |
CN114675918A (zh) * | 2022-03-22 | 2022-06-28 | 重庆市珞宾信息技术有限公司 | 一种装维终端子系统应用运行方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101761615B1 (ko) * | 2010-10-29 | 2017-08-04 | 엘지전자 주식회사 | 이동 단말기 및 그 제어 방법 |
JP5910297B2 (ja) | 2012-01-17 | 2016-04-27 | ソニー株式会社 | 情報処理装置、icチップ、情報処理方法、プログラム、及び情報処理システム |
JP6515850B2 (ja) * | 2012-01-17 | 2019-05-22 | ソニー株式会社 | 情報処理装置、icチップ、情報処理方法、プログラム、及び情報処理システム |
KR101532873B1 (ko) * | 2014-04-11 | 2015-06-30 | 플러스기술주식회사 | 스마트 폰의 듀얼 운영체제를 실행하는 방법 |
CN104768207B (zh) * | 2015-03-10 | 2019-03-22 | 西安酷派软件科技有限公司 | 事件截获方法、事件截获装置和终端 |
EP3086254A1 (en) * | 2015-04-22 | 2016-10-26 | Gemalto Sa | Method of managing applications in a secure element when updating the operating system |
JP6876235B2 (ja) * | 2016-09-27 | 2021-05-26 | 富士フイルムビジネスイノベーション株式会社 | 電子装置及び画像処理装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020083216A1 (en) * | 2000-12-21 | 2002-06-27 | International Business Machines Corporation | Multi-platform command line interpretation |
CN1609791A (zh) * | 2003-10-24 | 2005-04-27 | 惠普开发有限公司 | 接口模块 |
CN1661630A (zh) * | 2004-02-24 | 2005-08-31 | 索尼株式会社 | 半导体集成电路、移动模块和消息通信方法 |
US20060044984A1 (en) * | 2003-06-09 | 2006-03-02 | Fujitsu Limited | File switching apparatus and its switching method |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4747040A (en) * | 1985-10-09 | 1988-05-24 | American Telephone & Telegraph Company | Dual operating system computer |
US20030195847A1 (en) * | 1996-06-05 | 2003-10-16 | David Felger | Method of billing a purchase made over a computer network |
US6141010A (en) * | 1998-07-17 | 2000-10-31 | B. E. Technology, Llc | Computer interface method and apparatus with targeted advertising |
US6971109B1 (en) * | 1998-07-24 | 2005-11-29 | Micron Technology, Inc. | Integrated application management system |
JP2000076954A (ja) | 1998-08-31 | 2000-03-14 | Fujitsu Ten Ltd | 照光式ノブの構造 |
US6226684B1 (en) * | 1998-10-26 | 2001-05-01 | Pointcast, Inc. | Method and apparatus for reestablishing network connections in a multi-router network |
JP3659062B2 (ja) * | 1999-05-21 | 2005-06-15 | 株式会社日立製作所 | 計算機システム |
US6826725B1 (en) * | 1999-12-16 | 2004-11-30 | Microsoft Corporation | Techniques for invoking system commands from within a mark-up language document |
US20040226020A1 (en) * | 2000-09-28 | 2004-11-11 | Ati Technologies, Inc. | Method and system for using general and appliance operating systems in a single information handling device |
JP2002251326A (ja) * | 2001-02-22 | 2002-09-06 | Hitachi Ltd | 耐タンパ計算機システム |
GB0107967D0 (en) * | 2001-03-29 | 2001-05-23 | Ibm | Workload management of stateful program entities |
US6876656B2 (en) * | 2001-06-15 | 2005-04-05 | Broadcom Corporation | Switch assisted frame aliasing for storage virtualization |
JP2003016410A (ja) * | 2001-07-03 | 2003-01-17 | Dainippon Printing Co Ltd | Icカード |
US7921188B2 (en) * | 2001-08-16 | 2011-04-05 | Newisys, Inc. | Computer system partitioning using data transfer routing mechanism |
JP4742469B2 (ja) * | 2001-09-03 | 2011-08-10 | 大日本印刷株式会社 | 複数のosを用いるicカード、icカード処理装置および処理方法 |
US8091042B2 (en) * | 2001-11-15 | 2012-01-03 | Siebel Systems, Inc. | Apparatus and method for displaying selectable icons in a toolbar for a user interface |
US20030095567A1 (en) * | 2001-11-20 | 2003-05-22 | Lo Man Kuk | Real time protocol packet handler |
EP1347373A3 (en) * | 2002-03-20 | 2005-02-02 | Seiko Epson Corporation | Apparatus for processing instructions of different instruction set architectures |
US6920587B2 (en) * | 2002-04-25 | 2005-07-19 | International Business Machines Corporation | Handling multiple operating system capabilities in a logical partition data processing system |
US20040010632A1 (en) * | 2002-07-11 | 2004-01-15 | Kiick Chris J. | System and method for dynamically adding an ioctl command to a file |
JP3958243B2 (ja) * | 2003-04-14 | 2007-08-15 | 松下電器産業株式会社 | Icカードおよびそのos起動方法 |
US7526549B2 (en) * | 2003-07-24 | 2009-04-28 | International Business Machines Corporation | Cluster data port services for clustered computer system |
JP3793770B2 (ja) * | 2003-08-22 | 2006-07-05 | 株式会社リコー | 媒体特性規定方法 |
US7412709B2 (en) * | 2003-11-07 | 2008-08-12 | International Business Machines Corporation | Method and apparatus for managing multiple data processing systems using existing heterogeneous systems management software |
US20060252462A1 (en) * | 2005-05-05 | 2006-11-09 | Govind Balakrishnan | Accessing dedicated functions in personal devices |
JP2007087120A (ja) * | 2005-09-22 | 2007-04-05 | Dainippon Printing Co Ltd | 複数のosを実装したicカード、および、発行委任方法 |
US7853926B2 (en) * | 2005-11-21 | 2010-12-14 | International Business Machines Corporation | Automated context-sensitive operating system switch |
US9201703B2 (en) * | 2006-06-07 | 2015-12-01 | International Business Machines Corporation | Sharing kernel services among kernels |
JP2008176435A (ja) * | 2007-01-17 | 2008-07-31 | Hitachi Ltd | 決済端末およびicカード |
JP2008186212A (ja) * | 2007-01-30 | 2008-08-14 | Hitachi Ltd | データ処理システム |
CN101650665A (zh) * | 2008-08-11 | 2010-02-17 | 优诺威讯国际有限公司 | 虚拟环境建立方法及系统 |
US8601499B2 (en) * | 2009-12-15 | 2013-12-03 | At&T Intellectual Property I, L.P. | Systems, methods and computer readable media for routing requests from an application |
-
2009
- 2009-02-25 JP JP2009042246A patent/JP4888742B2/ja active Active
-
2010
- 2010-02-08 EP EP12007603.9A patent/EP2565784B1/en active Active
- 2010-02-08 EP EP10001284A patent/EP2224335B1/en active Active
- 2010-02-11 CN CN201010117770.6A patent/CN101814041B/zh active Active
- 2010-02-18 US US12/708,123 patent/US8544030B2/en active Active
-
2013
- 2013-08-30 US US14/015,082 patent/US9396045B2/en active Active
-
2016
- 2016-06-29 US US15/196,851 patent/US9817704B2/en active Active
-
2017
- 2017-09-28 US US15/718,253 patent/US10733031B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020083216A1 (en) * | 2000-12-21 | 2002-06-27 | International Business Machines Corporation | Multi-platform command line interpretation |
US20060044984A1 (en) * | 2003-06-09 | 2006-03-02 | Fujitsu Limited | File switching apparatus and its switching method |
CN1609791A (zh) * | 2003-10-24 | 2005-04-27 | 惠普开发有限公司 | 接口模块 |
CN1661630A (zh) * | 2004-02-24 | 2005-08-31 | 索尼株式会社 | 半导体集成电路、移动模块和消息通信方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106109A (zh) * | 2011-08-23 | 2013-05-15 | 宏达国际电子股份有限公司 | 移动装置以及于其上运行两种平台系统或应用程序的方法 |
CN103106109B (zh) * | 2011-08-23 | 2018-02-27 | 宏达国际电子股份有限公司 | 移动装置以及于其上运行两种平台系统或应用程序的方法 |
US10152294B2 (en) | 2011-08-23 | 2018-12-11 | Htc Corporation | Mobile device and method of running two platform systems or applications thereon |
CN104679558A (zh) * | 2015-02-09 | 2015-06-03 | 西安酷派软件科技有限公司 | 一种多系统间的切换方法和终端 |
WO2016127446A1 (zh) * | 2015-02-09 | 2016-08-18 | 宇龙计算机通信科技(深圳)有限公司 | 一种多系统间的切换方法和终端 |
CN104679558B (zh) * | 2015-02-09 | 2018-07-27 | 西安酷派软件科技有限公司 | 一种多系统间的切换方法和终端 |
CN114675918A (zh) * | 2022-03-22 | 2022-06-28 | 重庆市珞宾信息技术有限公司 | 一种装维终端子系统应用运行方法 |
Also Published As
Publication number | Publication date |
---|---|
US9817704B2 (en) | 2017-11-14 |
US20160306682A1 (en) | 2016-10-20 |
US20100218197A1 (en) | 2010-08-26 |
EP2224335A3 (en) | 2011-01-26 |
CN101814041B (zh) | 2017-05-03 |
EP2224335A2 (en) | 2010-09-01 |
JP4888742B2 (ja) | 2012-02-29 |
US20180024871A1 (en) | 2018-01-25 |
US9396045B2 (en) | 2016-07-19 |
JP2010198306A (ja) | 2010-09-09 |
US20130347008A1 (en) | 2013-12-26 |
US10733031B2 (en) | 2020-08-04 |
EP2565784A1 (en) | 2013-03-06 |
EP2224335B1 (en) | 2012-12-05 |
EP2565784B1 (en) | 2020-07-29 |
US8544030B2 (en) | 2013-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101814041A (zh) | 信息处理设备、方法和程序 | |
EP1786229B1 (en) | Mobile terminal device, noncontact card function management system, and noncontact card function acquisition system | |
JP2003132305A (ja) | メモリカードを制御するための装置および方法 | |
CN105046156A (zh) | 智能终端及其设备访问权限控制方法 | |
CN111581994A (zh) | 近场通信nfc通信方法、装置及电子设备 | |
CN105653470A (zh) | 用于交换mifare应用程序的移动通信设备及方法 | |
US8452330B2 (en) | Mobile terminal and method for providing terminal related information in power-off state | |
CN102985914A (zh) | 通过端口共享硬件对存储设备的带外访问 | |
CN101699402A (zh) | 一种多模式启动的嵌入式系统 | |
CN105427098A (zh) | 一种不同应用之间信息共享的实现方法及装置 | |
US20110197203A1 (en) | Communication device, communication method and program | |
US8082395B2 (en) | Portable electronic device | |
US7942325B2 (en) | Optimized smart card driver performance | |
JP5066884B2 (ja) | Cpuを内蔵した情報記録媒体及びプログラム | |
JP2009129402A (ja) | Icカード用半導体装置、icカード、及びicカード用端末装置 | |
US20100199059A1 (en) | Mobile communication device and method for defragging mifare memory | |
US12045336B2 (en) | Embedded secure element | |
JP2017021443A (ja) | 電子情報記憶媒体、情報処理方法及び代表アプリケーション | |
CN101340426B (zh) | 一种整合数据传输接口的系统和方法 | |
US20100200650A1 (en) | Mobile communication device and method for recovering mifare memory | |
JP2008090799A (ja) | Cpuを内蔵した情報記録媒体及びプログラム | |
WO2022063720A1 (en) | Memory management for applications of a multiple operating systems embedded secure element | |
JP2018147345A (ja) | 電子装置 | |
KR20150074819A (ko) | 금융 마이크로 sd 카드를 구비한 결제 단말 장치 및 이의 실행 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |