CN1875347A - 用于提供装置的操作模式之间转换的系统 - Google Patents
用于提供装置的操作模式之间转换的系统 Download PDFInfo
- Publication number
- CN1875347A CN1875347A CNA2004800320517A CN200480032051A CN1875347A CN 1875347 A CN1875347 A CN 1875347A CN A2004800320517 A CNA2004800320517 A CN A2004800320517A CN 200480032051 A CN200480032051 A CN 200480032051A CN 1875347 A CN1875347 A CN 1875347A
- Authority
- CN
- China
- Prior art keywords
- privileged
- function
- mode
- application program
- instruction
- 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/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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/22—Microcontrol or microprogram arrangements
-
- 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/468—Specific access rights for resources, e.g. using capability register
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明揭示一种用于提供一装置的操作模式(304、310)之间转换的系统。所述系统包含一用于提供一特权操作模式(310)与一非特权操作模式(304)之间转换的方法。所述方法包括以所述非特权模式(304)执行一应用程序,产生一中断(308)以便请求一特权函数(322)的服务,和转换至所述特权模式(310)以便执行所述特权函数(322),其中所述特权函数(322)是作为与所述应用程序相同的执行线程(302)的一部分而执行。
Description
技术领域
本发明大体上涉及一装置的有效操作,且更特定地说涉及一种提供一装置的非特权操作模式与特权操作模式之间有效转换的系统。
背景技术
技术进步已促成家庭、办公和个人用途的各种装置的发展。举例而言,例如桌上型计算机、笔记本计算机和平板计算机的计算机系统已成为用于家庭或办公环境的强大工具。例如无线电话、个人数字助理(PDA)和传呼装置的个人装置也已变得更加强大且正被广泛使用。
如今许多装置包括运行例如UNIX、LINUX的操作系统或类似操作系统的复杂硬件和软件。通常,这些操作系统提供多种操作模式。举例而言,大多数系统提供特权操作模式和非特权操作模式。允许以特权操作模式执行的程序无限制地访问存储器和系统资源。限制以非特权模式执行的程序访问特定存储区域和/或装置系统。此配置对于重要的存储器或装置函数提供某种程度的保护。举例而言,通过以非特权模式执行第三方应用程序,可保护重要的存储区域和装置函数免遭非授权访问。并且,此配置允许系统在执行期间将故障隔离开来。
然而在某些情况下,需要允许以非特权模式执行的应用程序具有对特权存储器或装置函数的访问权限。举例而言,可能需要允许应用程序具有对选定系统文件或装置硬件(例如装置调制解调器)的访问权。为了在常规系统中实现此目的,利用一陷阱来暂时中止应用程序的执行,同时一分离的特权模式“核心”任务执行所请求的操作。不幸的是,提供新特权模式任务导致另外的排程复杂性和额外开销。也可能存在调度程序潜伏期形式的另外的系统延迟。此外,新任务与非特权应用程序(从中调用了所述新任务)相比可以不同优先权而执行,藉此进一步使系统排程和操作复杂化。
因此,需要这样一种系统,其提供应用程序在装置的非特权操作模式与特权操作模式之间转换的方式,其中所述转换无需建立新任务,藉此减小排程复杂性并避免潜在的调度程序潜伏期。
发明内容
在一个或一个以上实施例中,提供一种包括方法和设备的系统,所述系统运行以便提供一装置的操作模式之间的转换。举例而言,在一实施例中,提供一机制,其允许以非特权模式运行的应用程序在相同任务(或执行线程)内执行特权模式函数,藉此避免任务建立、排程和调度程序潜伏期。因此,所述系统良好地应用于现有软件中,因为可在不改变现有软件模型的前提下实现对特权模式函数的访问。
在一个或一个以上实施例中,保护域之间的转换(即,非特权模式到特权模式)独立于线或任务之间的转换。因此,所述系统运行从而使向特权模式的转换不会导致任务优先权改变。举例而言,在常规系统中通过“核心”任务来处理特权模式服务,所述“核心”任务与非特权应用程序相比以不同优先权运行。然而,本文中所描述的转换系统允许特权函数在与调用所述特权函数的非特权应用程序相同的任务和优先权内运行。
在一实施例中,使用中断(例如软件中断)来促使非特权操作模式与特权操作模式之间的转换。举例而言,所述中断运行以便请求特权模式函数或服务。所述中断包含一指示或识别正请求之特权模式函数的相关函数识别符(即,指示器或索引)。在允许转换至特权模式之前,验证所述请求从而防止任何非法程序运行。举例而言,指示器经验证以便确保其与一可信特权模式函数关联。举例而言,在一实施例中,可信特权模式函数为操作系统已判定将以可信且表现良好的方式执行所需功能的函数或服务。此外,验证从非特权应用程序传递到特权模式函数的参数,以便确认特权函数的运行将不超出准予所述应用程序的特权。举例而言,防止非特权模式应用程序使用特权函数来访问应用程序不具有访问权的存储器或其他资源。因此,防止非特权模式应用程序使用所述转换系统来访问其无权访问的存储区域或装置寄存器。
在一实施例中,非特权模式应用程序在执行之前以所述系统注册,(在运行时间或编译时间)且此时,识别对于非特权模式应用程序的一组限制或特权。举例而言,所述限制可基于一与非特权模式应用程序关联的允许列表。在转换系统运行期间,当非特权应用程序产生中断来请求特权函数时,系统运行以便验证所请求的特权函数为可信函数,且也核实所请求的特权函数将在准予非特权应用程序的如允许列表所界定的访问权内运行。在完成验证之后,以特权模式执行所述函数。因此,特权函数在与发出请求的非特权应用程序相同的任务或执行线程内运行,藉此避免任务建立、排程和调度程序潜伏期。
在一实施例中,提供一种用于提供一装置的操作模式之问转换的方法。所述操作模式包括特权模式和非特权模式。所述方法包括:以非特权模式执行应用程序,产生中断以便请求特权函数的服务,和转换到特权模式以便执行所述特权函数,其中所述特权函数是作为与所述应用程序相同的执行线程的一部分而执行。
在另一实施例中,提供一种用于提供一装置的操作模式之间转换的设备。所述操作模式包括特权模式和非特权模式。所述设备包括处理逻辑,其运行以便以非特权模式执行应用程序。所述设备还包括中断逻辑,其运行以便接收一请求特权函数的服务的中断。所述设备还包括转换逻辑,其运行以便转换到特权模式来执行所述特权函数,其中所述特权函数是作为与所述应用程序相同的执行线程的一部分而执行。
在另一实施例中,提供一种用于提供一装置的操作模式之间转换的设备。所述操作模式包括特权模式和非特权模式。所述设备包括用于以非特权模式执行应用程序的构件,和用于接收一请求特权函数的服务的中断的构件。所述设备还包括用于转换到特权模式来执行所述特权函数的构件,其中所述特权函数是作为与所述应用程序相同的执行线程的一部分而执行。
在另一实施例中,提供一种包括指令的计算机可读媒质,当一装置中的处理器执行所述指令时,所述指令运行以便提供所述装置的操作模式之间的转换。所述操作模式包括特权模式和非特权模式。所述计算机可读媒质包括用于以非特权模式执行应用程序的指令、用于产生一中断以便请求一特权函数的服务的指令,和用于转换到所述特权模式来执行所述特权函数的指令,其中所述特权函数是作为与所述应用程序相同的执行线程的一部分而执行。
在阅读下文所陈述的附图说明、具体实施方式和权利要求书之后,将更易了解本发明的其他方面、优点和特征。
附图说明
结合附图参看以下具体实施方式,将更易了解前述方面和本文中所描述的实施例的相应优点,在附图中:
图1展示一适合于实施一转换系统的一个或一个以上实施例的装置,所述转换系统用以提供如本文中所描述的装置的操作模式之间的转换;
图2展示一包括转换系统的一实施例的装置的功能方框图;且
图3展示说明用于装置中的转换系统的一实施例操作的流程图。
具体实施方式
以下具体实施方式描述一转换系统,其提供一装置的操作模式之间的转换。举例而言,所述系统运行以便提供一装置的非特权操作模式与特权操作模式之间的快速且有效的转换,藉此一非特权应用程序能够执行特权函数而不会产生新任务。因此,所述系统避免新任务建立、排程和调度程序潜伏期的额外开销。
在一个或一个以上实施例中,转换系统与在装置上执行的运行环境互动,所述运行环境是用来(例如)通过提供对于装置特定资源的一般调用来简化装置操作。此类运行环境中的一种为由美国加州圣地亚哥的高通公司(QUALCOMM)开发的无线二进制运行环境(BREW)软件平台。以下实施方式描述一执行例如BREW软件平台的运行环境的装置。然而,在一个或一个以上实施例中,所述转换系统适合与其他类型运行环境一起使用以便提供在多种装置中快速且有效的操作模式转换,所述多种装置包含操作系统或其他控制或监视程序。举例而言,所述装置可包含(但不限于)台式计算机、笔记本计算机、手提计算机和例如无线电话、传呼机、PDA、电子邮件装置、平板计算机的便携式装置,或其他类型计算装置。
图1展示一适合于实施一转换系统的一个或一个以上实施例的装置102,所述转换系统用以提供如本文中所描述的装置102的操作模式之间的转换。装置102可为家庭装置、办公装置或例如无线电话或PDA的个人装置或者任何其他类型计算装置的一部分。在操作期间,一个或一个以上应用程序在装置102上执行以便为装置102提供信息、功能和/或服务。举例而言,一种类型的应用程序可为查看器应用程序,其运行以便允许装置102显示电影、新闻或其他类型多媒体内容。
在一实施例中,装置102包含一正在装置102上执行的运行环境104,例如BREW运行环境。所述运行环境包含至少两种操作模式,即非特权模式(NP)和特权模式(P)。非特权操作模式是用来限制运行于装置上的应用程序的访问。举例而言,将以非特权模式运行的应用程序限制于选定的存储区域,且可拒绝其访问装置寄存器或其他资源。特权操作模式允许在此模式下运行的应用程序不受限制地访问存储器或装置资源。
当应用程序在装置102上执行时,其在运行环境下运行以便提供所需功能性。举例而言,应用程序106在非特权模式(NP)下运行于装置102上以便提供所需功能性。然而,应用程序106可要求仅在特权模式下可用的功能或系统服务。举例而言,应用程序106可能需要访问特权存储器或装置硬件资源。为了获得这些功能或服务,本文中所描述的转换系统提供一机制,所述机制允许应用程序106在适当验证之后将控制(如108所示)转换到特权模式函数110。所述函数110以特权模式运行以便执行所请求的功能或服务。函数110在与非特权应用程序106相同的任务或执行线程内运行。一旦已实施了以特权模式提供的功能或服务,转换系统便允许控制转换(如112所示)回非特权模式应用程序。
因此,转换系统提供向特权模式的快速且有效的转换而无需建立新任务和排程新任务以供运行环境执行,藉此消除排程器复杂性和相关调度程序潜伏期。
图2展示包括转换系统的一实施例的装置102的功能方框图。装置102包括耦接到内部数据总线204的处理逻辑模块202和装置资源226。代码存储器206、数据存储器208耦接到处理逻辑模块202。
在一个或一个以上实施例中,处理逻辑模块202包括一CPU、处理器、门阵列、硬件逻辑、存储元件、虚拟机、软件、I/O接口和/或硬件与软件的任何组合。因此,处理逻辑模块202通常包括用以执行机器可读指令的逻辑。
装置资源226包括运行以提供装置接口、大容量存储器、用户I/O的硬件和/或软件资源,和任何其他类型装置资源。举例而言,可经由一例如软盘、CDROM、闪存的本地存储系统或通过装置资源226而连接到装置102的其他本地存储器将指令载入装置102中。在另一实施例中,可从一例如网络服务器的网络资源或通过装置资源226而连接到装置102的任何其他类型网络资源将指令下载到装置102中。当处理逻辑模块202执行指令时,所述指令提供如本文中所描述的转换系统的一个或一个以上实施例。
在一实施例中,代码存储器206包括RAM、ROM、FLASH、EEROM或任何其他适宜类型的存储器,或其组合。代码存储器206分割为特权区域(P)210和非特权区域(NP)212。所述特权区域210包含程序代码,当所述程序代码被执行时,其对于存储器或装置102的其他系统具有无限制访问权。举例而言,特权代码区域210包括操作系统代码(OS)、用户接口代码(UI)、验证代码和第一及第二特权函数代码(FUNC 1)及(FUNC 2)。特权代码区域210中所展示的代码是可包含于装置102中的特权代码的典型类型。特权代码区域210也可能包含用于在装置102上执行的其他类型特权代码。
非特权代码区域212包含程序代码,当所述程序代码被执行时,其受到限制而仅访问选定的存储区域。举例而言,非特权代码区域212包括OS代码和应用程序代码(Appl)。在一实施例中,所述应用程序代码可为下载到装置102的代码、在装置制造时安装的代码,或从一本地存储器或系统添加到所述装置的代码。存储器管理单元(MMU)214也耦接到代码存储器206。MMU 214运行以便限制非特权程序代码的运作,从而使非特权代码对于代码存储器206的选定区域具有有限访问权。
在一实施例中,数据存储器208包括特权区域216和非特权区域218。所述特权区域226包括仅可由特权程序代码访问的数据区域。举例而言,特权数据区域216包括OS、UI、验证、FUNC 1和FUNC 2代码所使用的数据。非特权数据区域218包含可由非特权程序代码访问的数据区域。举例而言,非特权数据区域218包括由非特权OS和App1程序代码所使用的数据。存储器管理单元(MMU)220也耦接到数据存储器208。MMU 220运行以便限制对于非特权和特权数据区域的访问。举例而言,限制非特权应用程序访问特权数据区域216中的数据,或属于非特权数据区域218中其他非特权应用程序的数据。
处理逻辑模块202还包括模式逻辑模块222和中断逻辑模块224。模式逻辑模块222包括一运行以允许在装置102的操作模式之间进行模式变化的CPU、处理器、逻辑、装置寄存器、软件或硬件与软件的任何组合。举例而言,在一实施例中,模式逻辑模块222包括一寄存器,所述寄存器的位设置操作模式。举例而言,为了从特权模式切换到非特权模式,设置暂存器中选定的位,从而使得恢复非特权堆栈且以非特权模式继续进行程序执行。
中断逻辑模块224包括一CPU、处理器、逻辑、软件或硬件与软件的任何组合,其运行以允许处理逻辑模块202接收并处理中断。举例而言,中断逻辑模块224可接收由处理逻辑模块202执行的程序代码所产生的软件中断。在一实施例中,转换系统使用所述软件中断来允许非特权程序代码在相同任务和优先权内执行特权函数。在一实施例中,中断逻辑模块224处理软件中断、硬件中断、程序异常或任何其他类型中断作为转换系统操作的一部分。
应注意,所述装置102的配置仅为一种用于实施所描述的转换系统的适宜配置。也可能使用本发明范畴内的其他装置配置、功能元件或元件配置来实施转换系统的一个或一个以上实施例。
在转换系统运作期间,处理逻辑模块202执行要求特权函数(意即,FUNC 1)的服务的非特权应用程序代码(即,Appl)。应用程序产生一具有相关函数索引的软件中断。中断逻辑模块224处理所述中断,且处理逻辑模块202回应于所述中断而运行特权验证代码,此验证所请求的函数为可信函数且所请求的函数将不为非特权代码提供超出其权限的访问权。如果请求经验证有效,那么处理逻辑模块202执行所请求的特权函数。举例而言,Appl可产生一具有函数索引的软件中断,所述函数索引识别FUNC 1为待执行的所需特权函数。
在请求经验证有效之后,处理逻辑模块202执行特权函数FUNC 1。在FUNC 1完成时,处理逻辑模块202使用模式逻辑模块222返回非特权模式,并继续以非特权模式执行Appl。
在一实施例中,所描述的转换系统包括存储于计算机可读媒质上的程序指令,当处理逻辑模块202执行所述程序指令时,所述程序指令提供一如本文中所描述而运行的转换系统。在一个或一个以上实施例中,计算机可读媒质包括软盘、CD、存储卡、FLASH存储装置、RAM、ROM或任何其他类型存储装置。
图3展示说明用于一装置(例如装置102)中的转换系统的一实施例操作的流程图300。为明确起见,将参看图2中所展示的装置来描述流程图300。将假设所述装置正执行BREW运行环境,所述BREW运行环境运行以便建立一非特权执行线程302。所述执行线程302表示在装置上执行非特权应用程序。
一系统排程器(未图示)运行以便排程应用程序的执行,从而形成执行线程302。通常,排程器运行以便基于优先权来排程执行。因为本文中所描述的转换器系统允许特权模式函数在与发布调用请求的(invoking)非特权应用程序相同的执行线程内执行,所以不建立新任务,且因此简化排程器运作。
在线程302的执行期间,执行一非特权应用程序304。所述应用程序304可为查看器应用程序,其允许装置为装置用户显示各种多媒体内容。当应用程序304执行时,发生对于一特权函数的服务的要求。在方框306处,应用程序获得一与特权函数关联的索引。在方框308处,应用程序304产生一中断,所述中断运行以便请求装置的操作模式转换成特权模式310,从而使特权函数可执行。
中断308可为一软件中断或可由应用程序304产生的任何其他类型中断。中断包括一识别待执行的特权函数的索引。举例而言,中断可由图2中所展示的中断逻辑234处理。
在接收中断之后,程序执行流动到特权模式310,其中在方框312处发生向特权模式堆栈的切换。举例而言,在一实施例中,所述特权模式堆栈为与当处于特权模式中时使用的线302关联的存储。
在方框314处执行一测试来判定所述索引是否有效。举例而言,索引识别一待执行的特权函数。系统所信赖的每一特权函数均与一索引关联。314处的测试判定所接收的索引是否与一可信特权函数关联。举例而言,在一实施例中,搜索索引表来判定中断所传递的索引是否与可信函数关联。如果所述索引未识别可信函数,那么程序执行流动到316,在316中一非法访问常用处理程序处理错误。举例而言,常用处理程序316可将错误代码传回非特权应用程序304。
如果索引的确识别可信特权函数,那么程序流继续前进到方框318,在方框318中保存非特权寄存器(即,寄存器、存储器指针等),且恢复与特权模式关联的寄存器。一旦恢复了特权模式寄存器,程序便前进到方框320,在方框320中基于索引来判定所需特权函数。举例而言,基于索引来搜索特权函数表以便判定所需函数。
一旦判定了特权函数,便在方框322处调用所述特权函数。举例而言,特权函数可运行以便打开特定系统文件,所述系统文件含有供非特权应用程序304使用的数据。在一实施例中,从应用程序304将另外的参数传递到特权函数。举例而言,所述参数可进一步指示或界定非特权应用程序304正请求的服务类型。举例而言,在一实施例中,通过装置寄存器以[subsystem][method]的形式来传递所述参数,其中“subsystem”表示资源,且“method”表示将执行何种函数。
特权函数运行以便验证这些参数从而核实特权函数的执行将不会超出准予应用程序304的特权。举例而言,所述函数运行以便验证参数,从而使函数的执行将不会超出对应用程序304规定的存储限制。在一实施例中,图2中所展示的验证程序执行所述验证。验证程序检索一允许列表,所述允许列表识别对应用程序强加的权利、特权和限制。举例而言,允许列表可存储于位于特权数据区域226中的验证数据区域中(亦于图2中展示)。验证程序运行以便将所请求的函数的运作与关联于应用程序的所述允许列表进行比较。因此,验证有前后依存性,因为验证程序基于非特权应用程序传递的参数而知晓所述函数将企图做什么。
在一实施例中,如果参数无效或者如果参数将导致非法存储访问,那么特权函数不会执行,且将错误传回应用程序304。如果参数有效,那么特权函数执行以便为应用程序304提供所需服务。
在执行了函数之后,程序执行流动到方框324,在方框324中恢复非特权模式寄存器,包含恢复非特权模式堆栈。如路径326处所展示,程序执行返回非特权应用程序304。举例而言,可使用图2中所展示的模式逻辑232返回非特权模式。因此,转换系统运行以允许一非特权应用程序执行特权函数而不会产生新任务,藉此避免新任务建立、排程和调度程序潜伏期的额外开销。
应注意,程序流程图300仅说明一实施例,且在不背离本发明范畴的前提下可对程序元件作出变化、添加或重新配置。
因此,尽管本文已说明并描述一转换系统的方法和设备的一个或一个以上实施例,但应了解,在不背离实施例精神或本质特征的前提下可对所述实施例作出各种变化。因此,本文中的揭示内容和描述用来说明但不是限定随附的权利要求书中所陈述的本发明的范围。
Claims (24)
1.一种用于提供一装置的操作模式之间转换的方法,其中所述操作模式包括一特权模式和一非特权模式,且所述方法包括:
以所述非特权模式执行一应用程序;
产生一中断以便请求一特权函数的服务;和
转换到所述特权模式以便执行所述特权函数,其中所述特权函数是作为与所述应用程序相同的执行线程的一部分而执行。
2.根据权利要求1所述的方法,其中所述中断为一软件中断。
3.根据权利要求1所述的方法,其进一步包括验证所述特权函数为一可信函数。
4.根据权利要求1所述的方法,其进一步包括验证所述特权函数的所述执行将不会超出与所述应用程序关联的访问权利。
5.根据权利要求1所述的方法,其进一步包括当完成所述特权函数的所述执行时,转换到所述非特权模式以便执行所述应用程序。
6.根据权利要求1所述的方法,其中所述转换步骤包括切换到一特权模式堆栈。
7.根据权利要求1所述的方法,其中所述装置为一无线装置。
8.一种用于提供一装置的操作模式之间转换的设备,其中所述操作模式包括一特权模式和一非特权模式,所述设备包括:
处理逻辑,其运行以便以所述非特权模式执行一应用程序;
中断逻辑,其运行以便接收一请求一特权函数的服务的中断;和
转换逻辑,其运行以便转换到所述特权模式来执行所述特权函数,其中所述特权函数是作为与所述应用程序相同的执行线程的一部分而执行。
9.根据权利要求8所述的设备,其中所述中断为一软件中断。
10.根据权利要求8所述的设备,其进一步包括验证逻辑,所述验证逻辑运行以验证所述特权函数为一可信函数。
11.根据权利要求8所述的设备,其进一步包括验证逻辑,所述验证逻辑运行以验证所述特权函数的所述执行将不会超出与所述应用程序关联的访问权限。
12.根据权利要求8所述的设备,其中所述装置为一无线装置。
13.一种用于提供一装置的操作模式之间转换的设备,其中所述操作模式包括一特权模式和一非特权模式,所述设备包括:
用于以所述非特权模式执行一应用程序的构件;
用于接收一请求一特权函数的服务的中断的构件;和
用于转换到所述特权模式来执行所述特权函数的构件,其中所述特权函数是作为与所述应用程序相同的执行线程的一部分而执行。
14.根据权利要求13所述的设备,其中所述中断为一软件中断。
15.根据权利要求13所述的设备,其进一步包括用于验证所述特权函数为一可信函数的构件。
16.根据权利要求13所述的设备,其进一步包括用于验证所述特权函数的所述执行将不会超出与所述应用程序关联的访问权利的构件。
17.根据权利要求13所述的设备,其中所述装置为一无线装置。
18.一种包括指令的计算机可读媒质,当一装置中的一处理器执行所述指令时,所述指令运行以便提供所述装置的操作模式之间的转换,其中所述操作模式包括一特权模式和一非特权模式,且所述计算机可读媒质包括:
用于以所述非特权模式执行一应用程序的指令;
用于产生一中断以便请求一特权函数的服务的指令;和
用于转换到所述特权模式来执行所述特权函数的指令,其中所述特权函数是作为与所述应用程序相同的执行线程的一部分而执行。
19.根据权利要求18所述的计算机可读媒质,其中所述中断为一软件中断。
20.根据权利要求18所述的计算机可读媒质,其进一步包括用于验证所述特权函数为一可信函数的指令。
21.根据权利要求18所述的计算机可读媒质,其进一步包括用于验证所述特权函数的所述执行将不会超出与所述应用程序关联的访问权利的指令。
22.根据权利要求18所述的计算机可读媒质,其进一步包括用于当完成所述特权函数的所述执行时转换到所述非特权模式以便执行所述应用程序的指令。
23.根据权利要求18所述的计算机可读媒质,其中用于转换的所述指令包括用于切换到一特权模式堆栈的指令。
24.根据权利要求18所述的计算机可读媒质,其中所述装置为一无线装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/697,592 | 2003-10-29 | ||
US10/697,592 US7076637B2 (en) | 2003-10-29 | 2003-10-29 | System for providing transitions between operating modes of a device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1875347A true CN1875347A (zh) | 2006-12-06 |
CN100476740C CN100476740C (zh) | 2009-04-08 |
Family
ID=34550398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800320517A Active CN100476740C (zh) | 2003-10-29 | 2004-10-22 | 用于提供一装置的操作模式之间转换的设备和方法 |
Country Status (16)
Country | Link |
---|---|
US (1) | US7076637B2 (zh) |
EP (1) | EP1678613B1 (zh) |
JP (2) | JP4571644B2 (zh) |
KR (1) | KR100832664B1 (zh) |
CN (1) | CN100476740C (zh) |
AR (1) | AR046352A1 (zh) |
AT (1) | ATE475932T1 (zh) |
BR (1) | BRPI0416050A (zh) |
CA (1) | CA2543686A1 (zh) |
DE (1) | DE602004028389D1 (zh) |
IL (1) | IL175173A0 (zh) |
MY (1) | MY130960A (zh) |
PE (1) | PE20050852A1 (zh) |
RU (1) | RU2358309C2 (zh) |
TW (1) | TW200530921A (zh) |
WO (1) | WO2005045612A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054136A (zh) * | 2009-11-03 | 2011-05-11 | 联发科技股份有限公司 | 计算系统与计算方法 |
CN105138360A (zh) * | 2015-08-19 | 2015-12-09 | 惠州Tcl移动通信有限公司 | 一种可穿戴设备的系统函数调用方法及其可穿戴设备 |
CN108664772A (zh) * | 2018-04-27 | 2018-10-16 | 北京可信华泰信息技术有限公司 | 一种保证系统安全性的方法 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8526963B2 (en) * | 2003-10-30 | 2013-09-03 | Qualcomm Incorporated | Restrictive reuse for a wireless communication system |
US9585023B2 (en) | 2003-10-30 | 2017-02-28 | Qualcomm Incorporated | Layered reuse for a wireless communication system |
KR101037006B1 (ko) * | 2003-11-28 | 2011-05-25 | 파나소닉 주식회사 | 데이터 처리장치 |
US7680475B2 (en) | 2004-06-09 | 2010-03-16 | Qualcomm Incorporated | Dynamic ASBR scheduler |
US8059589B2 (en) * | 2004-06-09 | 2011-11-15 | Qualcomm Incorporated | Dynamic restrictive reuse scheduler |
US7669050B2 (en) * | 2004-06-24 | 2010-02-23 | International Business Machines Corporation | Method to enable user mode process to operate in a privileged execution mode |
US8032145B2 (en) | 2004-07-23 | 2011-10-04 | Qualcomm Incorporated | Restrictive reuse set management algorithm for equal grade of service on FL transmission |
US7548752B2 (en) * | 2004-12-22 | 2009-06-16 | Qualcomm Incorporated | Feedback to support restrictive reuse |
KR101456489B1 (ko) * | 2007-07-23 | 2014-10-31 | 삼성전자주식회사 | CLDC OSGi 환경에서 어플리케이션의 접속 권한을관리하는 방법 및 장치 |
US20100153693A1 (en) * | 2008-12-17 | 2010-06-17 | Microsoft Corporation | Code execution with automated domain switching |
JP5491102B2 (ja) * | 2009-08-27 | 2014-05-14 | ルネサスエレクトロニクス株式会社 | データプロセッサ |
GB2482701C (en) * | 2010-08-11 | 2018-12-26 | Advanced Risc Mach Ltd | Illegal mode change handling |
DE102012203521A1 (de) | 2011-03-28 | 2012-10-04 | International Business Machines Corp. | Architektur mit zwei Vertrauenswürdigkeitsstufen |
US8788863B2 (en) | 2011-08-10 | 2014-07-22 | Microsoft Corporation | System and method for restoring and/or continuing execution functionality to various processes based on predefined power classifications while transitioning a computing environment from connected standby state to execution state |
US8918885B2 (en) * | 2012-02-09 | 2014-12-23 | International Business Machines Corporation | Automatic discovery of system integrity exposures in system code |
GB2521607B (en) * | 2013-12-23 | 2016-03-23 | Nordic Semiconductor Asa | Integrated-Circuit Radio |
US9904580B2 (en) * | 2015-05-29 | 2018-02-27 | International Business Machines Corporation | Efficient critical thread scheduling for non-privileged thread requests |
US9785783B2 (en) * | 2015-07-23 | 2017-10-10 | Ca, Inc. | Executing privileged code in a process |
CN110168549B (zh) * | 2016-12-14 | 2022-11-11 | 皮沃塔尔软件公司 | 证书的分布式验证 |
US11171983B2 (en) * | 2018-06-29 | 2021-11-09 | Intel Corporation | Techniques to provide function-level isolation with capability-based security |
US11169837B2 (en) * | 2019-08-23 | 2021-11-09 | Red Hat, Inc. | Fast thread execution transition |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2936603B2 (ja) * | 1989-11-06 | 1999-08-23 | 日本電気株式会社 | メモリ管理装置 |
US5303378A (en) * | 1991-05-21 | 1994-04-12 | Compaq Computer Corporation | Reentrant protected mode kernel using virtual 8086 mode interrupt service routines |
JPH05324353A (ja) * | 1992-05-19 | 1993-12-07 | Nippon Telegr & Teleph Corp <Ntt> | 軽量プロセス制御方式 |
US5515538A (en) * | 1992-05-29 | 1996-05-07 | Sun Microsystems, Inc. | Apparatus and method for interrupt handling in a multi-threaded operating system kernel |
EP0610677A3 (en) * | 1993-02-12 | 1995-08-02 | Ibm | Communication device management module operating in two modes. |
US5649099A (en) * | 1993-06-04 | 1997-07-15 | Xerox Corporation | Method for delegating access rights through executable access control program without delegating access rights not in a specification to any intermediary nor comprising server security |
US5727211A (en) * | 1995-11-09 | 1998-03-10 | Chromatic Research, Inc. | System and method for fast context switching between tasks |
US6175916B1 (en) * | 1997-05-06 | 2001-01-16 | Microsoft Corporation | Common-thread inter-process function calls invoked by jumps to invalid addresses |
US7631160B2 (en) * | 2001-04-04 | 2009-12-08 | Advanced Micro Devices, Inc. | Method and apparatus for securing portions of memory |
JP2002342166A (ja) * | 2001-05-15 | 2002-11-29 | Fujitsu Ltd | 情報処理装置及びアクセスレベル制御方法 |
TWI236298B (en) * | 2001-08-13 | 2005-07-11 | Qualcomm Inc | Application level access privilege to a storage area on a computer device |
EP1329787B1 (en) * | 2002-01-16 | 2019-08-28 | Texas Instruments Incorporated | Secure mode indicator for smart phone or PDA |
EP1331539B1 (en) * | 2002-01-16 | 2016-09-28 | Texas Instruments France | Secure mode for processors supporting MMU and interrupts |
GB2396930B (en) * | 2002-11-18 | 2005-09-07 | Advanced Risc Mach Ltd | Apparatus and method for managing access to a memory |
GB2395313B (en) * | 2002-11-18 | 2005-11-23 | Advanced Risc Mach Ltd | Task following between multiple operating systems |
US7120794B2 (en) * | 2003-10-29 | 2006-10-10 | Qualcomm Inc. | System for invoking a privileged function in a device |
-
2003
- 2003-10-29 US US10/697,592 patent/US7076637B2/en active Active
-
2004
- 2004-10-22 DE DE602004028389T patent/DE602004028389D1/de active Active
- 2004-10-22 EP EP04795972A patent/EP1678613B1/en not_active Not-in-force
- 2004-10-22 CN CNB2004800320517A patent/CN100476740C/zh active Active
- 2004-10-22 RU RU2006118362/09A patent/RU2358309C2/ru not_active IP Right Cessation
- 2004-10-22 KR KR1020067010307A patent/KR100832664B1/ko active IP Right Grant
- 2004-10-22 JP JP2006538109A patent/JP4571644B2/ja not_active Expired - Fee Related
- 2004-10-22 CA CA002543686A patent/CA2543686A1/en not_active Abandoned
- 2004-10-22 WO PCT/US2004/034885 patent/WO2005045612A2/en active Application Filing
- 2004-10-22 AT AT04795972T patent/ATE475932T1/de not_active IP Right Cessation
- 2004-10-22 BR BRPI0416050-9A patent/BRPI0416050A/pt not_active IP Right Cessation
- 2004-10-26 PE PE2004001026A patent/PE20050852A1/es not_active Application Discontinuation
- 2004-10-26 MY MYPI20044398A patent/MY130960A/en unknown
- 2004-10-28 TW TW093132836A patent/TW200530921A/zh unknown
- 2004-10-29 AR ARP040103992A patent/AR046352A1/es unknown
-
2006
- 2006-04-25 IL IL175173A patent/IL175173A0/en unknown
-
2009
- 2009-09-03 JP JP2009203764A patent/JP5006366B2/ja active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054136A (zh) * | 2009-11-03 | 2011-05-11 | 联发科技股份有限公司 | 计算系统与计算方法 |
CN105138360A (zh) * | 2015-08-19 | 2015-12-09 | 惠州Tcl移动通信有限公司 | 一种可穿戴设备的系统函数调用方法及其可穿戴设备 |
CN108664772A (zh) * | 2018-04-27 | 2018-10-16 | 北京可信华泰信息技术有限公司 | 一种保证系统安全性的方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2010044768A (ja) | 2010-02-25 |
TW200530921A (en) | 2005-09-16 |
PE20050852A1 (es) | 2005-11-10 |
MY130960A (en) | 2007-07-31 |
EP1678613B1 (en) | 2010-07-28 |
DE602004028389D1 (de) | 2010-09-09 |
US20050097252A1 (en) | 2005-05-05 |
KR100832664B1 (ko) | 2008-05-27 |
US7076637B2 (en) | 2006-07-11 |
BRPI0416050A (pt) | 2007-01-02 |
IL175173A0 (en) | 2006-09-05 |
AR046352A1 (es) | 2005-12-07 |
EP1678613A2 (en) | 2006-07-12 |
JP5006366B2 (ja) | 2012-08-22 |
CA2543686A1 (en) | 2005-05-19 |
CN100476740C (zh) | 2009-04-08 |
JP2007510222A (ja) | 2007-04-19 |
EP1678613A4 (en) | 2008-03-26 |
RU2006118362A (ru) | 2007-12-10 |
WO2005045612A3 (en) | 2006-01-05 |
JP4571644B2 (ja) | 2010-10-27 |
KR20060096456A (ko) | 2006-09-11 |
WO2005045612A2 (en) | 2005-05-19 |
RU2358309C2 (ru) | 2009-06-10 |
ATE475932T1 (de) | 2010-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100476740C (zh) | 用于提供一装置的操作模式之间转换的设备和方法 | |
CN100596055C (zh) | 用于在一装置中调用一特权函数的系统 | |
Fraim | SCOMP: A solution to the multilevel security problem | |
Kaashoek et al. | Application performance and flexibility on exokernel systems | |
US20170286644A1 (en) | Protection Method and Device for Application Data | |
CN1808455A (zh) | 安全许可证管理 | |
Gold et al. | KVM/370 in retrospect | |
CN109409098B (zh) | 防止剪切板数据泄露的方法和装置 | |
CN1100299C (zh) | 面向对象系统中对被保护对象进行访问控制的系统和方法 | |
JP4853671B2 (ja) | アクセス権限判定システム、アクセス権限判定方法及びアクセス権限判定プログラム | |
Wobber et al. | Authorizing applications in singularity | |
Malenko et al. | Improving security and maintainability in modular embedded systems with hardware support: work-in-progress | |
Blackham et al. | To preempt or not to preempt, that is the question | |
JP4638505B2 (ja) | 電子デバイス内の安全なプログラム解釈方法 | |
Martinelli et al. | A runtime monitoring environment for mobile Java | |
CN116069467A (zh) | 基于electron启动关闭多个本地应用程序的实现方法及系统 | |
MXPA06004736A (es) | Sistema para invocar una funcion privilegiada en un dispositivo | |
MXPA06004670A (en) | System for providing transitions between operating modes of a device | |
JP2008521111A5 (zh) | ||
Law | A New Protection Model for Component-Based |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1097622 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1097622 Country of ref document: HK |