CN1875347A - 用于提供装置的操作模式之间转换的系统 - Google Patents

用于提供装置的操作模式之间转换的系统 Download PDF

Info

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
Application number
CNA2004800320517A
Other languages
English (en)
Other versions
CN100476740C (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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN1875347A publication Critical patent/CN1875347A/zh
Application granted granted Critical
Publication of CN100476740C publication Critical patent/CN100476740C/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/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/53Monitoring 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
    • 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/22Microcontrol or microprogram arrangements
    • 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/468Specific access rights for resources, e.g. using capability register
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task 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所述的计算机可读媒质,其中所述装置为一无线装置。
CNB2004800320517A 2003-10-29 2004-10-22 用于提供一装置的操作模式之间转换的设备和方法 Active CN100476740C (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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