本发明专利技术涉及使用命名对象的标识符生成。生成进程的候选标识符,并且作出创建拥有名称的命名对象的尝试,该名称是候选标识符。响应于尝试成功以及命名对象被创建,候选标识符被用作进程的标识符。响应于尝试不成功以及命名对象未被创建,重复生成和尝试。
【技术实现步骤摘要】
使用命名对象的标识符生成
本专利技术涉及标识符生成,尤其是使用命名对象的标识符生成。
技术介绍
计算机通常并行地运行多个程序,每个程序可作为一个或多个进程来运行。通常期望保护特定的资源(例如,存储区域、设备等),使得它们只能由特定的进程来访问。然而,实现这样的保护不乏其问题。一个这样的问题是确定如何以允许进程彼此相区别的方式来标识不同的进程,而同时不使计算机的资源(例如,存储器、处理容量等)过载。
技术实现思路
提供本
技术实现思路
以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本
技术实现思路
并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。根据一个或多个方面,在设备处生成进程的候选标识符。作出创建具有名称的命名对象的尝试,该名称是候选标识符。如果命名对象被创建,则候选标识符被用作进程的标识符。然而,如果命名对象未被创建,则重复生成和尝试。根据一个或多个方面,接收对程序的进程的标识符的请求。生成进程的候选标识符,并且作出创建具有名称的命名对象的尝试,该名称是候选标识符。响应于成功创建命名对象的尝试,候选标识符作为进程的标识符被返回到程序。附图简述在全部附图中,使用相同的附图标记来指示相同的特征。图1是示出根据一个或多个实施例的实现使用命名对象的标识符生成的示例设备的框图。图2是示出根据一个或多个实施例的实现使用命名对象的标识符生成的另一个示例设备的框图。图3示出了根据一个或多个实施例的示例的基于命名对象的标识符生成系统。图4是示出了根据一个或多个实施例的用于实现使用命名对象的标识符生成的设备的示例过程的流程图。图5是示出了根据一个或多个实施例的用于实现使用命名对象的标识符生成的设备的另一示例过程的流程图。图6示出根据一个或多个实施例的可被配置成实现使用命名对象的标识符生成的示例计算设备。具体实施方式此处讨论使用命名对象的标识符生成。为设备上的进程生成候选标识符。随后作出创建命名对象的尝试,该命名对象将候选标识符作为该对象的名称。设备的操作系统防止多个命名对象拥有相同的名称。如果创建命名对象的尝试是成功的,则假设没有其他进程正在使用该候选标识符,并且该候选标识符被用作该进程的标识符。如果创建命名对象的尝试不成功,则假设另一个进程正在使用该候选标识符,并且生成另一个候选标识符。候选标识符的这种生成以及创建将候选标识符作为对象名称的命名对象的尝试可被重复一次或多次。图1是示出根据一个或多个实施例的实现使用命名对象的标识符生成的示例设备100的框图。设备100可以是各种各样不同种类的设备,诸如物理设备或虚拟设备。例如,设备100可以是物理设备,诸如台式计算机、服务器计算机、膝上型或上网本计算机、平板或笔记本计算机、移动站、娱乐设备、可通信地耦合到显示设备的机顶盒、电视机或其他显示设备、蜂窝式或其他无线电话、游戏控制台、车载计算机等等。设备100还可以是虚拟设备,诸如运行在物理设备上的虚拟机。虚拟机可在各种各样不同种类的物理设备(例如,上面列出的各种类型中的任一个)中的任一个上运行。设备100包括操作系统102和一个或多(x)个程序104。可在设备100上运行各种不同的程序,诸如娱乐程序、游戏程序、资源程序、实用程序、生产力程序等等。每个程序作为一个或多(y)个进程106来运行,该进程也被称为对应于程序。不同的程序104可具有不同数量的进程106。每个程序还包括基于命名对象的标识符模块108,该标识符模块108为程序的进程106生成标识符。这些标识符允许在设备100上运行的不同进程106彼此相区分,即使进程可由不同程序104、由同一程序104的不同实例、由同一程序104的同一实例、它们的组合等来生成。进程106的已生成标识符可用于如下的任何情形中:进程106期望拥有不为任何其他进程106并行使用的标识符。例如,进程106的标识符可被用作安全标识符,该安全标识符指示该进程被许可访问设备的一个或多个资源中的哪个。下面更详细地讨论进程106的这些标识符的生成。操作系统102包括命名对象管理模块112、访问控制模块114、进程管理模块116、以及基于命名对象的标识符生成模块118。虽然在图1中示出特定的模块112-118,但应当注意一个或多个模块112-118的功能可被组合成单个模块,和/或一个或多个模块的功能可被分解成多个模块。命名对象管理模块112管理设备100上的命名对象。该管理包括响应于来自程序104或操作系统102的请求来创建命名对象,以及删除由程序104或操作系统102释放的命名对象。命名对象是指具有一个或多个属性和/或方法的实体(例如,类的实例),属性和/或方法中的至少一个包括被称为对象名称的对象的标识符。如果设备100的另一个对象已经拥有同一名称,则命名对象管理模块112防止在设备100上创建命名对象。因此,在任何一个时刻设备100中只有一个命名对象可拥有特定的名称。然而,应当注意,一旦命名对象被删除,就可创建拥有与已删除对象相同名称的另一个对象。进程管理模块116管理进程106的运行,包括响应于用户运行程序的请求来创建进程106、响应于来自其他进程106的请求来创建进程106、响应于用户终止进程的请求来停止进程106的执行等等。访问控制模块114管理进程106对设备100的各种资源的访问。在一个或多个实施例中,每个进程106具有与那个进程106而非其他进程106相关联的安全标识符。该安全标识符可以是由基于命名对象的标识符生成模块108生成的进程的标识符。设备100包括各种不同的资源,诸如不同的存储设备或组件(或存储设备或组件的部分)、文件或目录、不同的输入设备或组件、不同的输出设备或组件等。可以限制特定进程106对特定资源的访问,并且访问控制模块114实施这些限制。每个进程106具有相关联的安全标识符,并且这些相关联的安全标识符由访问控制模块114用来确定进程106是否被许可访问资源。例如,每个资源可具有对应的访问控制列表,该列表标识哪些安全标识符被许可访问该资源,并且仅当进程106具有由对应于资源的访问控制列表所标识的相关联的安全标识符时,访问控制模块114才许可进程106访问该资源。在一个或多个实施例中,操作系统102也作为一个或多个进程来运行,该一个或多个进程可作为进程106来被包括。在这些实施例中,操作系统102的进程可具有由基于命名对象的安全标识符生成模块118所生成的相关联的标识符。模块118以与基于命名对象的标识符生成模块108相同的方式为操作系统的进程生成标识符,如下面更详细地讨论的。图2是示出根据一个或多个实施例的实现使用命名对象的标识符生成的另一个示例设备200的框图。设备200可以是各种各样不同类型的设备,与图1的设备100类似。设备200与图1的设备100相似,包括操作系统202、以及一个或多(x)个程序204,一个或多(x)个程序204的每个作为一个或多(y)个进程206运行。操作系统202包括与图1的命名对象管理模块112类似的命名对象管理模块212,与图1的访问控制模块114类似的访问控制模块214,与图1的进程管理模块116类似的进程管理模块216,以及基于命名对象的标识符生成模块218。基于命名对象的标识符生成模块218与本文档来自技高网...
【技术保护点】
一种方法,包括:在设备处生成进程的候选标识符(402);尝试创建命名对象(404),所述命名对象拥有名称,所述名称是所述候选标识符;响应于成功地尝试创建所述命名对象,使用所述候选标识符作为所述进程的标识符(408);以及响应于未成功地尝试创建所述命名对象,重复所述生成和尝试(402、404、406)。
【技术特征摘要】
2012.01.27 US 13/360,3291.一种用于使用命名对象的标识符生成的方法,包括:在设备处生成进程的候选标识符(402);尝试创建命名对象(404),所述命名对象拥有名称,所述名称是所述候选标识符;响应于所述尝试成功地创建了所述命名对象,使用所述候选标识符作为所述进程的标识符(408);以及响应于所述尝试未成功地创建所述命名对象,重复所述生成和尝试(402、404、406),其中所述候选标识符包括可变部分,所述可变部分是一组值中的值,该组值包括特定数量的值,所述特定数量的值是对可存在于所述设备上的进程的数量的限制。2.如权利要求1所述的方法,其特征在于,所述进程的所述标识符包括安全标识符,所述安全标识符指示所述进程被许可访问所述设备的一个或多个资源中的哪个。3.如权利要求1所述的方法,其特征在于,所述特定数量的值是基于所述设备的性能而变化的。4.如权利要求1所述的方法,其特征在于,所述进程是程序的进程,并且所述限制是对可存在于所述设备上的所述程序的进程的数量的限制。5.如权利要求1所述的方法,其特征在于,还...
【专利技术属性】
技术研发人员:D·B·江普,B·T·卡弗,D·C·勒布朗,
申请(专利权)人:微软公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。