CN116775324A - 共享内存的权限管控方法和装置 - Google Patents
共享内存的权限管控方法和装置 Download PDFInfo
- Publication number
- CN116775324A CN116775324A CN202210228725.0A CN202210228725A CN116775324A CN 116775324 A CN116775324 A CN 116775324A CN 202210228725 A CN202210228725 A CN 202210228725A CN 116775324 A CN116775324 A CN 116775324A
- Authority
- CN
- China
- Prior art keywords
- shared memory
- memory group
- access
- business process
- management
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 515
- 230000008569 process Effects 0.000 claims abstract description 464
- 238000013507 mapping Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008447 perception Effects 0.000 description 7
- 238000007499 fusion processing Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 6
- 229910044991 metal oxide Inorganic materials 0.000 description 5
- 150000004706 metal oxides Chemical class 0.000 description 5
- 238000011144 upstream manufacturing Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 229910000577 Silicon-germanium Inorganic materials 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 1
- LEVVHYCKPQWKOP-UHFFFAOYSA-N [Si].[Ge] Chemical compound [Si].[Ge] LEVVHYCKPQWKOP-UHFFFAOYSA-N 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- 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
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)
Abstract
本申请提供了一种共享内存的权限管控方法,应用于第一电子设备,包括:在第一电子设备启动时,读取预先烧写在第一电子设备中的存储器中的管理权限列表和访问权限列表;根据管理权限列表向管理进程配置管理至少一个共享内存组的权限;控制管理进程根据访问权限列表将多个业务进程划分至至少一个共享内存组中;其中,第一共享内存组中的多个业务进程共享基于第一共享内存组申请的共享内存,第一共享内存组为至少一个共享内存组中的任一个共享内存组。本申请确保了共享内存中的共享数据的安全性和可靠性。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种共享内存的权限管控方法和装置。
背景技术
为了实现多进程之间的内存共享,以提高数据传输效率,并降低通信开销和内存占用率,共享内存技术应运而生。
在现有的共享内存技术中,操作系统会分配一块共享内存给多个进程,多个进程可以将共享数据存储在共享内存中。多个进程中的每个进程均具有一块虚拟内存,不同的进程可以将共享内存中相同的物理内存地址映射至各自的虚拟内存中的虚拟内存地址上。这样,不同的进程可以通过各自映射的虚拟内存地址访问在相同的物理内存地址中存储的共享数据。
然而,在现有的共享内存技术中,由于进程可以自行设置对共享内存的访问权限,因此,本不该具有访问权限的进程能够通过自行设置,使其具有访问共享内存的权限。这样,会出现本不该具有访问权限的进程泄露和篡改共享数据的问题,降低了共享数据的安全性和可靠性。
发明内容
本申请提供一种共享内存的权限管控方法和装置,用于解决共享数据安全性低和可靠性低的问题。
第一方面,本申请提供一种共享内存的权限管控方法,应用于第一电子设备,包括:在所述第一电子设备启动时,读取预先烧写在所述第一电子设备中的存储器中的管理权限列表和访问权限列表;根据所述管理权限列表向管理进程配置管理至少一个共享内存组的权限;控制所述管理进程根据所述访问权限列表将多个业务进程划分至所述至少一个共享内存组中;其中,第一共享内存组中的多个业务进程共享基于所述第一共享内存组申请的共享内存,所述第一共享内存组为所述至少一个共享内存组中的任一个共享内存组。
由于第一共享内存组中的多个业务进程共享基于第一共享内存组申请的共享内存,即内存的共享以共享内存组为单元,加入了共享内存组的业务进程才具有访问基于共享内存组申请的共享内存的权限。又由于将多个业务进程划分至至少一个共享内存组的过程由管理进程执行,且管理进程是配置了管理至少一个共享内存组的权限的管理进程,即具有管理权限的管理进程(即可信的管理进程)才能够将多个业务进程划分至至少一个共享内存组中,使得每个业务进程具有访问基于各自所属的共享内存组申请的共享内存的权限,相比于现有技术,业务进程无法通过自行设置获得对共享内存的访问权限,避免没有访问权限的业务进程访问共享内存的情况出现,确保了共享内存中存储的共享数据的安全性和可靠性。
在一种可能的实现方式中,所述访问权限列表还用于指示所述多个业务进程中的每个业务进程对各自所属的共享内存组的访问权限的类型;所述方法还包括:控制所述管理进程根据所述访问权限列表指示的所述每个业务进程对各自所属的共享内存组的访问权限的类型,设置所述每个业务进程对基于各自所属的共享内存组申请的共享内存的访问权限的类型。
通过设置每个业务进程对基于各自所属的共享内存组申请的共享内存的访问权限的类型,限定并细化了每个业务进程访问基于各自所属的共享内存组申请的共享内存的具体范围,进一步确保了共享数据的安全性和可靠性。另外,由于设置每个业务进程对基于各自所属的共享内存组申请的共享内存的访问权限的类型的过程由管理进程执行,且管理进程具有管理权限,业务进程无法自行设置对共享内存的访问权限的类型,进一步确保了访问共享内存的安全性和可靠性,进而进一步确保了共享数据的安全性和可靠性。
在一种可能的实现方式中,所述方法还包括:接收第一业务进程发起的基于第二共享内存组的共享内存申请请求,其中,所述第一业务进程为所述多个业务进程中的任一个,所述第二共享内存组为所述至少一个共享内存组中的任一个;根据所述第二共享内存组中的每个业务进程对基于所述第二共享内存组申请的共享内存的访问权限的类型,验证所述第一业务进程是否具有基于所述第二共享内存组申请共享内存的权限;若是,则为所述第一业务进程分配物理内存空间和虚拟内存空间;将所述物理内存空间和所述虚拟内存空间的映射关系,复制至所述第二共享内存组中的每个业务进程基于所述第二共享内存组的页表中。
通过验证第一业务进程是否具有基于第二共享内存组申请共享内存的权限,可以确保内存申请的安全性。另外,通过为第一业务进程分配物理内存空间和虚拟内存空间,实现了共享内存的分配。此外,通过将物理内存空间和虚拟内存空间的映射关系复制至第二共享内存组中的每个业务进程基于第二共享内存组的页表中,实现了共享内存在第二共享内存组中的业务进程之间的共享。
在一种可能的实现方式中,所述方法还包括:根据所述第二共享内存组中的每个业务进程对基于所述第二共享内存组申请的共享内存的访问权限的类型,设置所述第二共享内存组中的每个业务进程对各自基于所述第二共享内存组的页表的访问权限的类型。
通过设置第二共享内存组中的每个业务进程对各自基于第二共享内存组的页表的访问权限的类型,限定并细化了第二共享内存组中的每个业务进程访问基于第二共享内存组申请的共享内存的具体范围,确保了共享数据的安全性和可靠性。
在一种可能的实现方式中,所述在所述第一电子设备启动时,读取预先烧写在所述第一电子设备中的存储器中的管理权限列表和访问权限列表包括:在所述第一电子设备启动时,读取预先烧写在所述第一电子设备中的存储器中的配置数据包和第一签名,其中,所述配置数据包包括所述管理权限列表和所述访问权限列表;根据所述第一签名,验证所述配置数据包的安全性;若验证所述配置数据包安全,则从所述配置数据包中获得所述管理权限列表和所述访问权限列表。
通过验证配置数据包的安全性,可以验证配置数据包是否被篡改。另外,在验证配置数据包安全后,方可从配置数据包中获得管理权限列表和访问权限列表,确保了获得的管理权限列表和访问权限列表是安全性的。
在一种可能的实现方式中,所述方法还包括:响应于所述第一业务进程发起的基于所述第二共享内存组的访问请求,根据所述第二共享内存组中的每个业务进程对各自基于所述第二共享内存组的页表的访问权限的类型,验证所述访问请求是否合法;若合法,则根据所述访问请求访问所述第一业务进程基于所述第二共享内存组的页表。
在验证访问请求合法后,根据访问请求访问第一业务进程基于第二共享内存组的页表 (即基于第二共享内存组申请的共享内存),确保了访问共享内存的安全性和可靠性,进而确保了共享内存中存储的共享数据的安全性和可靠性。
第二方面,本申请提供一种共享内存的权限管控装置,应用于第一电子设备,包括:读取模块,用于在所述第一电子设备启动时,读取预先烧写在所述第一电子设备中的存储器中的管理权限列表和访问权限列表;配置模块,用于根据所述管理权限列表向管理进程配置管理至少一个共享内存组的权限;控制模块,用于控制所述管理进程根据所述访问权限列表将多个业务进程划分至所述至少一个共享内存组中;其中,第一共享内存组中的多个业务进程共享基于所述第一共享内存组申请的共享内存,所述第一共享内存组为所述至少一个共享内存组中的任一个共享内存组。
在一种可能的实现方式中,所述访问权限列表还用于指示所述多个业务进程中的每个业务进程对各自所属的共享内存组的访问权限的类型;所述控制模块,还用于控制所述管理进程根据所述访问权限列表指示的所述每个业务进程对各自所属的共享内存组的访问权限的类型,设置所述每个业务进程对基于各自所属的共享内存组申请的共享内存的访问权限的类型。
在一种可能的实现方式中,所述控制模块,还用于接收第一业务进程发起的基于第二共享内存组的共享内存申请请求,其中,所述第一业务进程为所述多个业务进程中的任一个,所述第二共享内存组为所述至少一个共享内存组中的任一个;根据所述第二共享内存组中的每个业务进程对基于所述第二共享内存组申请的共享内存的访问权限的类型,验证所述第一业务进程是否具有基于所述第二共享内存组申请共享内存的权限;若是,则为所述第一业务进程分配物理内存空间和虚拟内存空间;将所述物理内存空间和所述虚拟内存空间的映射关系,复制至所述第二共享内存组中的每个业务进程基于所述第二共享内存组的页表中。
在一种可能的实现方式中,所述控制模块,还用于根据所述第二共享内存组中的每个业务进程对基于所述第二共享内存组申请的共享内存的访问权限的类型,设置所述第二共享内存组中的每个业务进程对各自基于所述第二共享内存组的页表的访问权限的类型。
在一种可能的实现方式中,所述读取模块,具体用于在所述第一电子设备启动时,读取预先烧写在所述第一电子设备中的存储器中的配置数据包和第一签名,其中,所述配置数据包包括所述管理权限列表和所述访问权限列表;根据所述第一签名,验证所述配置数据包的安全性;若验证所述配置数据包安全,则从所述配置数据包中获得所述管理权限列表和所述访问权限列表。
在一种可能的实现方式中,所述控制模块,还用于响应于所述第一业务进程发起的基于所述第二共享内存组的访问请求,根据所述第二共享内存组中的每个业务进程对各自基于所述第二共享内存组的页表的访问权限的类型,验证所述访问请求是否合法;若合法,则根据所述访问请求访问所述第一业务进程基于所述第二共享内存组的页表。
第三方面,本申请提供一种共享内存的权限管控装置,应用于第一电子设备,其特征在于,包括:处理器和传输接口,所述处理器被配置为调用存储在存储器中的程序以实现如第一方面中任一项所述的方法。
第四方面,本申请提供一种计算机可读存储介质,包括计算机程序,所述计算机程序在处理器上被执行时,使得所述处理器执行第一方面中任一项所述的方法。
第五方面,本申请提供一种计算机程序,当所述计算机程序被计算机或处理器执行时,使得所述计算机或所述处理器执行第一方面中任一项所述的方法。
附图说明
图1为本申请提供的自动驾驶领域的场景示意图;
图2为本申请提供的各个业务进程对共享数据的访问权限的类型
图3为本申请提供的管理进程启动子流程的示意图;
图4为本申请提供的共享内存组的权限配置子流程的示意图;
图5为本申请提供的内存申请子流程的示意图;
图6为本申请提供的内存访问子流程的示意图;
图7为本申请提供的共享内存的权限管控装置的结构示意图;
图8为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了解决上述技术问题,本申请提供了一种共享内存的权限管控方法,该方法根据管理权限列表向管理进程配置管理至少一个共享内存组的权限,以及控制管理进程根据访问权限列表将多个业务进程划分至少一个共享内存组中。其中,第一共享内存组中的多个业务进程共享基于第一共享内存组申请的共享内存,第一共享内存组为至少一个共享内存组中的任一个共享内存组,管理权限列表用于指示管理进程对至少一个共享内存组的管理权限的类型,访问权限列表用于指示多个业务进程中的每个业务进程所属的共享内存组。
由于第一共享内存组中的多个业务进程共享基于第一共享内存组申请的共享内存,即内存的共享以共享内存组为单元,加入了共享内存组的业务进程才具有访问基于共享内存组申请的共享内存的权限。又由于将多个业务进程划分至至少一个共享内存组的过程由管理进程执行,且管理进程是配置了管理至少一个共享内存组的权限的管理进程,即具有管理权限的管理进程(即可信的管理进程)才能够将多个业务进程划分至至少一个共享内存组中,使得每个业务进程具有访问基于各自所属的共享内存组申请的共享内存的权限,相比于现有技术,业务进程无法通过自行设置获得对共享内存的访问权限,避免没有访问权限的业务进程访问共享内存的情况出现,确保了共享内存中存储的共享数据的安全性和可靠性。
下面,对共享内存的权限管控方法的具体实现方式进行说明。
共享内存的权限管控方法涉及两个执行主体,分别为第一电子设备和第二电子设备。其中:
第一电子设备可以为应用在特定行业的电子设备。例如,第一电子设备可以为应用在自动驾驶领域的自动驾驶设备。再例如,第一电子设备还可以为应用在半导体领域的生产设备。第一电子设备中的系统例如可以为嵌入式系统。
第二电子设备可以为第一电子设备的后台制造设备。
共享内存的权限管控方法可以包括三个主要流程,分别为:数据打包流程、系统启动流程和业务进程流动流程,其中:
数据打包流程由第二电子设备执行。该流程至少实现以下三个目的:
第一个目的:确定管理进程对至少一个共享内存组的管理权限的类型。
第二个目的:确定第一电子设备的整个系统中需要创建的共享内存组,确定多个业务进程中的每个业务进程所属的共享内存组和每个业务进程对各自所属的共享内存组的访问权限的类型。
第三个目的:数据烧录。
管理进程和多个业务进程为第一电子设备中的进程。管理进程指具有管理共享内存组的权限的进程。管理进程包括但不限于第一电子设备中的根进程。根据第一电子设备所应用的行业确定业务进程。例如,若第一电子设备应用的行业为自动驾驶领域,则业务进程包括但不限于感知进程、融合进程、定位进程、规控进程等与自动驾驶相关的业务进程。
第二电子设备可以通过设置管理权限列表实现第一个目的。管理权限列表用于指示管理进程对至少一个共享内存组的管理权限的类型。对至少一个共享内存组的管理权限的类型包括但不限于:创建/删除共享内存组、向共享内存组中加入业务进程、从共享内存组中删除业务进程、设置每个业务进程对基于各自所属的共享内存组申请的共享内存的访问权限的类型。
管理权限列表例如可以如表1所示:
表1
显然,通过管理权限列表限定了管理进程对共享内存组的管理权限。
第二电子设备可以通过设置访问权限列表实现第二个目的。访问权限列表用于指示多个业务进程中的每个业务进程所属的共享内存组、每个业务进程对各自所属的共享内存组的访问权限的类型和需要创建的共享内存组。业务进程对各自所属的共享内存组的访问权限的类型包括但不限于:申请共享内存、读共享内存、写共享内存等。
若业务进程对其所属的共享内存组的访问权限的类型为申请共享内存,则该业务进程能够基于其所属的共享内存组申请共享内存,并对申请的共享内存具有读和写的权限。
若业务进程对其所属的共享内存组的访问权限的类型为写共享内存,则该业务进程对基于其所属的共享内存组申请的共享内存具有读和写的权限。
若业务进程对其所属的共享内存组的访问权限的类型为读共享内存,则该业务进程对基于其所属的共享内存组申请的共享内存具有读的权限。
需要说明的是,基于共享内存组申请的共享内存指该共享内存组中具有申请共享内存的业务进程基于该共享内存组所申请的共享内存。
需要构建的共享内存组的数量为至少一个。每个共享内存组中的业务进程的数量为多个。同一个业务进程可以属于至少一个共享内存组。在同一个业务进程属于多个共享内存组的情况下,该业务进程对其所属的不同的共享内存组的访问权限的类型可以相同,也可以不同,本申请对此不作特殊限定。
访问权限列表例如可以如表2所示:
业务进程的名称 | 所属的共享内存组的组名 | 访问权限的类型 |
业务进程1 | 共享内存组1 | 申请共享内存 |
业务进程2 | 共享内存组1 | 读共享内存 |
业务进程2 | 共享内存组2 | 申请共享内存 |
业务进程3 | 共享内存组2 | 读共享内存 |
表2
表2中示出了每个业务进程所属的共享内存组,以及每个业务进程对各自所属的共享内存组的访问权限的类型。
显然,通过设置访问权限列表,可以确定每个业务进程所属的共享内存组、每个业务进程对各自所属的共享内存组的访问权限的类型,以及需要构建的共享内存组的数量。
构建访问权限列表的过程如下所述:
首先,可以根据每个业务进程对共享数据的访问范围,确定每个业务进程对共享数据的访问权限的类型。业务进程对共享数据的访问范围包括但不限于产生共享数据、读共享数据、写共享数据、禁止使用共享数据。若业务进程对共享数据的访问范围为产生共享数据,则由于业务进程产生的共享数据需要被其他业务进程使用,因此,业务进程对共享数据的访问权限的类型为产生共享数据、读共享数据和写共享数据。若业务进程对共享数据的访问范围为写共享数据,则业务进程对共享数据的访问权限的类型为写共享数据。若业务进程对共享数据的访问范围为读共享数据,则业务进程对共享数据的访问权限的类型为读共享数据。若业务进程对共享数据的访问范围为禁止使用共享数据,则业务进程对共享数据的访问权限的类型为无访问权限。
例如,一般由上游业务进程产生共享数据,下游业务进程使用共享数据。如果上游业务进程为多个时,上游的其他业务进程可能也需要具有共享数据的读或者写权限。另外,还需将一些业务进程与共享数据进行隔离,以避免共享数据被篡改。这样,可以根据上下游业务进程的交互特征,并以业务进程对共享数据的访问范围为依据,设定上下游业务进程对共享数据的访问权限的类型。
然后,根据每个业务进程对共享数据的访问权限的类型,确定每个业务进程各自所属的共享内存组和每个业务进程对各自所属的共享内存组的访问权限的类型。
具体的,将访问同一共享数据的业务进程划分为一组,以得到至少一个共享内存组,每个共享内存组对应一种共享数据,一个共享内存组中的每个业务进程对该共享内存组对应的共享数据具有访问权限。需要说明的是,由于一个业务进程可能同时对不同的共享数据具有访问权限,因此同一个业务进程可能属于多个共享内存组。
根据业务进程对其所属的共享内存组所对应的共享数据的访问权限的类型设置业务进程对其所属的共享内存组的访问权限的类型。若业务进程对其所属的共享内存组所对应的共享数据的访问权限的类型为产生共享数据、读共享数据和写共享数据,则业务进程对其所属的共享内存组的访问权限的类型为申请共享内存,这样业务进程就可以基于其所属的共享内存组申请共享内存,并将产生的共享数据写入申请的共享内存中。若业务进程对其所属的共享内存组所对应的共享数据的访问权限为读共享数据,则业务进程对其所属的共享内存组的访问权限的类型为读共享内存。若业务进程对其所属的共享内存组所对应的共享数据的访问权限的类型为写共享数据,则业务进程对其所属的共享内存组的访问权限的类型为写共享内存。需要说明的是,在同一个业务进程属于多个共享内存组的情况下,同一个业务进程对不同的共享内存组的访问权限的类型可以相同,也可以不同,本申请对此不作特殊限定。
最后,根据每个业务进程所属的共享内存组和每个业务进程对各自所属的共享内存组的访问权限的类型,构建访问权限列表。
下面,以自动驾驶领域为例,对构建访问权限列表和管理权限列表的过程进行说明。
如图1所示,自动驾驶领域通常可以包括自动驾驶业务进程、非自动驾驶业务进程和根进程。其中,自动驾驶业务进程包括感知进程、融合进程、定位进程、规控进程。非自动驾驶业务进程可以包括0TA进程、故障管理进程、诊断进程。
自动驾驶业务进程的数据流如下:
传感器获得图像数据和激光数据,将图像数据和激光数据发送至感知进程。感知进程对图像数据和激光数据进行处理后,将得到的感知数据共享至融合进程和定位进程。融合进程和定位进程对感知数据进行处理后,将得到的融合数据和定位数据共享至规控进程。
非自动驾驶业务进程不参与自动驾驶业务,但是可能需要与自动驾驶系统的外部系统交互,例如,0TA进程需要与云服务交互。
基于此,将根进程作为管理进程,并通过构建如表1所示的管理权限列表,设定根进城对至少一个共享内存组的管理权限的类型。
根据各个业务进程对共享数据的访问范围确定各个业务进程对共享数据的访问权限的类型。由上可知,共享数据包括:感知数据、融合数据、定位数据。结合上述各个业务进程对共享数据的访问范围(由数据流确定),确定各个业务进程对共享数据的访问权限的类型(如图2所示)。在图2中,各个业务进程对共享数据的访问权限的分配如表3所示。
表3
需要说明的是,由于非自动驾驶业务进程需要与外部服务直接通信,存在外部恶意攻击的可能,属于风险进程,因此,不对非自动驾驶业务进程授予访问共享数据的权限。如表3所示,非自动驾驶业务进程没有访问共享数据的权限。
根据表3,确定每个业务进程所属的共享内存组和每个业务进程对各自所属的共享内存组的访问权限的类型。具体的如表4示出的访问权限列表所示:
进程名称 | 所属的共享内存组组名 | 访问权限的类型 |
感知进程 | 共享内存组1(对应感知数据) | 申请共享内存 |
融合进程 | 共享内存组1(对应感知数据) | 读共享内存 |
定位进程 | 共享内存组1(对应感知数据) | 读共享内存 |
融合进程 | 共享内存组2(对应融合数据) | 申请共享内存 |
规控进程 | 共享内存组2(对应融合数据) | 读共享内存 |
定位进程 | 共享内存组3(对应定位数据) | 申请共享内存 |
规控进程 | 共享内存组3(对应定位数据) | 读共享内存 |
表4
需要说明的是,在表4中示出的共享内存组中,每个共享内存组后面的括号中指示了共享内存组对应的共享数据。在共享内存组中,该共享内存组中的每个业务进程均对基于该共享内存组申请的共享内存具体访问权限,具体的访问权限的类型由业务进程对其所属的共享内存组的访问权限的类型确定。共享内存组对应的共享数据存储在基于共享内存组申请的共享内存中,基于共享内存组申请的共享内存指该共享内存组中具有申请共享内存权限的业务进程基于该共享内存组所申请的共享内存。
显然,通过构建管理权限列表,限定了只有被赋予了管理权限的管理进程才能够管理至少一个共享内存组。通过管理权限列表所指示的对至少一个共享内存组的管理权限的类型,限定了管理进程对至少一个共享内存组的具体管理范围,进而确保了对至少一个共享内存组的管理的安全性和可靠性,从而确保了共享内存中存储的共享数据的安全性和可靠性。另外,通过构建访问权限列表,可以限定每个业务进程所属的共享内存组和每个业务进程对各自所属的共享内存组的访问权限的类型,即详细的限定每个业务进程对基于各自所属共享内存组申请的共享内存的访问范围,确保了共享数据的安全性和可靠性。
在构建管理权限列表和访问权限列表后,第二电子设备将管理权限列表和访问权限列表烧写到第一电子设备的存储器中。这样,在第一电子设备启动后,第一电子设备可以从第一电子设备的存储器中获得管理权限列表和访问权限列表,以便于根据管理权限列表向管理进程配置管理至少一个共享内存组的权限,以及便于配置了管理权限的管理进程根据访问权限列表管理至少一个共享内存组,以在实现内存共享的基础上,确保共享内存中共享数据的安全性和可靠性。
为了确保管理权限列表和访问权限列表的安全性,第二电子设备还可以将管理权限列表和访问权限列表打包为配置数据包,并对配置数据包进行签名,以得到第一签名,以及将配置数据包和第一签名烧写到第一电子设备的存储器中。这样,在第一电子设备启动后,第一电子设备先可以根据第一签名验证配置数据包的安全性,若配置数据包安全,则从配置数据包中获得管理权限列表和访问权限列表。由于将配置数据包和第一签名烧写到第一电子设备的存储器中,因此,在读配置数据包之前,可以根据第一签名验证配置数据包的安全性,并在验证安全后,读配置数据包,确保了从配置数据包中获得的管理权限列表和访问权限列表是安全可靠的。
系统启动流程由第一电子设备执行。系统启动流程的主要目的是配置管理进程管理至少一个共享内存组的权限、将多个业务进程划分至至少一个共享内存组中和设置每个业务进程对基于各自所属的共享内存组申请的共享内存的访问权限的类型。
系统启动流程主要可以划分为两个子流程,分别为:管理进程启动子流程和共享内存组的权限配置子流程。具体的:
管理进程启动子流程的执行流程如下所示:
在一种可能的实现方式中,在第一电子设备启动时,第一电子设备读取预先烧写在第一电子设备中的存储器中的管理权限列表和访问权限列表,以及根据管理权限列表向管理进程配置管理至少一个共享内存组的权限。通过向管理进程配置对至少一个共享内存组的管理权限,以将对至少一个共享内存组的管理授予特定的管理进程,以确保仅有授权的管理进程才可实现对至少一个共享内存组的管理,从而确保对至少一个共享内存组管理的安全性。
在另一种可能的实现方式中,在第一电子设备启动时,第一电子设备读取预先烧写在第一电子设备中的存储器中的配置数据包和第一签名,其中,配置数据包包括管理权限列表和访问权限列表,并根据第一签名,验证配置数据包的安全性,以及若验证配置数据包安全,则从配置数据包中获得管理权限列表和访问权限列表,并根据管理权限列表向管理进程配置管理至少一个共享内存组的权限。
需要说明的是,BSBC、BootLoader、UEFI是业界常用的逐级校验过程。下面,以BSBC、 BootLoader、UEFI逐级校验为例,对管理进程启动子流程进行说明。
如图3所示,第一电子设备首先通过BSBC、BootLoader、UEFI对配置数据包进行逐级校验,若逐级校验合格,则第一电子设备从配置数据包中获得管理权限列表和访问权限列表,以及根据管理权限列表向管理进程配置管理至少一个共享内存组的权限。
需要说明的是,通过向管理进程配置管理至少一个共享内存组的权限,可以使管理进程具有构建/删除共享内存组、向共享内存组中加入业务进程、从共享内存组中删除业务进程、设置每个业务进程对基于各自所属的共享内存组申请的共享内存的访问权限的类型等。
需要说明的是,在图3中还示出了访问权限列表,该访问权限列表用于共享内存组的权限配置。
显然,根据第一签名验证配置数据包的安全性,可以确保配置数据包中的管理权限列表和访问权限列表的安全性。
共享内存组的权限配置子流程的执行过程如下所示:
首先,第一电子设备控制管理进程根据访问权限列表将多个业务进程划分至至少一个共享内存组中,然后,第一电子设备控制管理进程根据访问权限列表指示的每个业务进程对各自所属的共享内存组的访问权限的类型,设置每个业务进程对基于各自所属的共享内存组申请的共享内存的访问权限的类型。
需要说明的是,共享内存组中的多个业务进程共享基于该共享内存组申请的共享内存。
需要说明的是,每个业务进程对基于各自所属的共享内存组申请的共享内存的访问权限的类型为每个业务进程对各自所属的共享内存组的访问权限的类型。
下面以图4为例,对共享内存组的权限配置子流程进行详细说明。具体过程如下:
第一电子设备控制管理进程根据访问权限列表构建至少一个共享内存组,并根据访问权限列表所指示的多个业务进程中的每个业务进程所属的共享内存组,将多个业务进程中的每个业务进程加入至少一个共享内存组中各自所属的共享内存组,以及根据访问权限列表所指示的每个业务进程对各自所属的共享内存组的访问权限的类型,设置每个业务进程对基于各自所属的共享内存组申请共享内存的访问权限的类型。
显然,由于共享内存组中的多个业务进程共享基于该共享内存组申请的共享内存,即内存的共享以共享内存组为单元,加入了共享内存组的业务进程才具有访问基于共享内存组申请的共享内存的权限。又由于将多个业务进程划分至至少一个共享内存组的过程由管理进程执行,且管理进程是配置了管理至少一个共享内存组的权限的管理进程,即具有管理权限的管理进程(即可信的管理进程)才能够将多个业务进程划分至至少一个共享内存组中,使得每个业务进程具有访问基于各自所属的共享内存组申请的共享内存的权限,相比于现有技术,业务进程无法通过自行设置获得对共享内存的访问权限,避免没有访问权限的业务进程访问共享内存的情况出现,确保了共享内存中存储的共享数据的安全性和可靠性。另外,通过设置每个业务进程对基于各自所属的共享内存组申请的共享内存的访问权限的类型,限定并细化了每个业务进程访问基于各自所属的共享内存组申请的共享内存的具体范围,进一步确保了共享数据的安全性和可靠性。此外,由于设置每个业务进程对基于各自所属的共享内存组申请的共享内存的访问权限的类型的过程由管理进程执行,且管理进程具有管理权限,业务进程无法自行设置对共享内存的访问权限的类型,进一步确保了访问共享内存的安全性和可靠性,进而进一步确保了共享数据的安全性和可靠性。
业务进程流动流程由第一电子设备执行。业务进程流动流程主要可以划分为两个子流程,分别为内存申请子流程和内存访问子流程。
内存申请子流程的目的是:为共享内存组中具有申请共享内存权限的业务进程申请基于该共享内存组的共享内存,以及将申请的共享内存共享至共享内存组中的每个业务进程,以及设置共享内存组中的每个业务进程对申请的共享内存的访问权限的类型。
下面,以第二共享内存组,第一业务进程为例,对内存申请子流程进行说明。需要说明的是,第二共享内存组为至少一个共享内存组中的任一个,第一业务进程为第一电子设备中的多个业务进程中的任一个。
如图5所示,内存申请子流程的过程如下所示:
501.第一电子设备接收第一业务进程发起的基于第二共享内存组的共享内存申请请求。
502.第一电子设备验证第一业务进程是否具有基于第二共享内存组申请共享内存的权限。若否,则申请失败,若是,在执行步骤503.
验证流程如下所示:
根据第二共享内存组中的每个业务进程对基于第二共享内存组申请的共享内存的访问权限的类型,验证第一业务进程是否具有基于所述第二共享内存组申请共享内存的权限。
具体的,若第二共享内存组中存在第一业务进程,且第一业务进程对基于第二共享内存组申请的共享内存的访问权限的类型为申请共享内存,则第一业务进程具有基于第二共享内存组申请共享内存的权限。
若第二共享内存组中不存在第一业务进程或者第一业务进程对基于第二共享内存组申请的共享内存的访问权限的类型不是申请共享内存,则第一业务进程不具有基于第二共享内存组申请共享内存的权限。
通过验证第一业务进程是否具有基于第二共享内存组申请共享内存的权限,可以确保内存申请的安全性。
503.第一电子设备为第一业务进程分配物理内存空间和虚拟内存空间。即为第一业务进程分配基于第二共享内存组的共享内存。通过为第一业务进程分配物理内存空间和虚拟内存空间,实现了共享内存的分配。
504.第一电子设备将物理内存空间和虚拟内存空间的映射关系,复制至第二共享内存组中的每个业务进程基于第二共享内存组的页表中。
需要说明的是,物理内存空间和虚拟内存空间的映射关系指物理内存空间中的物理内存地址与虚拟内存空间中的虚拟内存地址之间的映射关系。
通过将物理内存空间和虚拟内存空间的映射关系复制至第二共享内存组中的每个业务进程基于第二共享内存组的页表中,实现了共享内存在第二共享内存组中的业务进程之间的共享。另外,由于第二共享内存组中的每个业务进程基于第二共享内存组的页表中复制的映射关系是相同的,因此不同的业务进程可以通过相同的虚拟内存地址访问同一物理内存地址中存储的共享数据。
505.第一电子设备设置第二共享内存组中的每个业务进程对各自基于第二共享内存组的页表的访问权限的类型。
具体的,将第二共享内存组中的每个业务进程对基于第二共享内存组申请的共享内存的访问权限的类型,设置为第二共享内存组中的每个业务进程对各自基于第二共享内存组的页表的访问权限的类型。
需要说明的是,在业务进程属于多个共享内存组的情况下,该业务进程具有多个页表,多个页表与业务进程所属的多个共享内存组一一对应。
通过设置第二共享内存组中的每个业务进程对各自基于第二共享内存组的页表的访问权限的类型,限定并细化了第二共享内存组中的每个业务进程访问基于第二共享内存组申请的共享内存的具体范围,确保了共享数据的安全性和可靠性。
下面,以第二共享内存组、第一业务进程为例对内存访问子流程进行说明,第二共享内存组和第一业务进程已经在上文中进行了说明,此处不再赘述。
如图6所示,内存访问子流程的执行流程如下所述:
601.第一电子设备响应于第一业务进程发起的基于第二共享内存组的访问请求,验证访问请求是否合法。
验证过程例如为:根据第二共享内存组中的每个业务进程对各自基于第二共享内存组的页表的访问权限的类型,验证访问请求是否合法。
具体的,若第二共享内存组中包括第一业务进程,且第一业务进程对第一业务进程基于第二共享内存组的页表的访问权限的类型与访问请求的类型匹配,则确定访问请求是合法的。
若第二共享内存组中不包括第一业务进程,或者第一业务进程对第一业务进程基于第二共享内存组的页表的访问权限的类型不与访问请求的类型匹配,则确定访问请求是不合法的。
例如,在访问请求为写共享内存的前提下,若第一业务进程对其基于第二共享内存组的页表的访问权限的类型为申请共享内存或者写共享内存,则确定访问请求合法。若第一业务进程不在第二共享内存组中,或者第一业务进程对其基于第二共享内存组的页表的访问权限为读共享内存,则确定访问请求是不合法的。
602.若合法,则第一电子设备根据访问请求访问第一业务进程基于第二共享内存组的页表。
603.若不合法,则拒绝访问。
显然,在验证访问请求合法后,根据访问请求访问第一业务进程基于第二共享内存组的页表(即基于第二共享内存组申请的共享内存),确保了访问共享内存的安全性和可靠性,进而确保了共享内存中存储的共享数据的安全性和可靠性。
本申请还提供了一种共享内存的权限管控装置,应用于第一电子设备,如图7所示,该装置700可以包括:读取模块701,用于在所述第一电子设备启动时,读取预先烧写在所述第一电子设备中的存储器中的管理权限列表和访问权限列表;配置模块702,用于根据所述管理权限列表向管理进程配置管理至少一个共享内存组的权限;控制模块703,用于控制所述管理进程根据所述访问权限列表将多个业务进程划分至所述至少一个共享内存组中;其中,第一共享内存组中的多个业务进程共享基于所述第一共享内存组申请的共享内存,所述第一共享内存组为所述至少一个共享内存组中的任一个共享内存组。
在一种可能的实现方式中,所述访问权限列表还用于指示所述多个业务进程中的每个业务进程对各自所属的共享内存组的访问权限的类型;所述控制模块703,还用于控制所述管理进程根据所述访问权限列表指示的所述每个业务进程对各自所属的共享内存组的访问权限的类型,设置所述每个业务进程对基于各自所属的共享内存组申请的共享内存的访问权限的类型。
在一种可能的实现方式中,所述控制模块703,还用于接收第一业务进程发起的基于第二共享内存组的共享内存申请请求,其中,所述第一业务进程为所述多个业务进程中的任一个,所述第二共享内存组为所述至少一个共享内存组中的任一个;根据所述第二共享内存组中的每个业务进程对基于所述第二共享内存组申请的共享内存的访问权限的类型,验证所述第一业务进程是否具有基于所述第二共享内存组申请共享内存的权限;若是,则为所述第一业务进程分配物理内存空间和虚拟内存空间;将所述物理内存空间和所述虚拟内存空间的映射关系,复制至所述第二共享内存组中的每个业务进程基于所述第二共享内存组的页表中。
在一种可能的实现方式中,所述控制模块703,还用于根据所述第二共享内存组中的每个业务进程对基于所述第二共享内存组申请的共享内存的访问权限的类型,设置所述第二共享内存组中的每个业务进程对各自基于所述第二共享内存组的页表的访问权限的类型。
在一种可能的实现方式中,所述读取模块701,具体用于在所述第一电子设备启动时,读取预先烧写在所述第一电子设备中的存储器中的配置数据包和第一签名,其中,所述配置数据包包括所述管理权限列表和所述访问权限列表;根据所述第一签名,验证所述配置数据包的安全性;若验证所述配置数据包安全,则从所述配置数据包中获得所述管理权限列表和所述访问权限列表。
在一种可能的实现方式中,所述控制模块703,还用于响应于所述第一业务进程发起的基于所述第二共享内存组的访问请求,根据所述第二共享内存组中的每个业务进程对各自基于所述第二共享内存组的页表的访问权限的类型,验证所述访问请求是否合法;若合法,则根据所述访问请求访问所述第一业务进程基于所述第二共享内存组的页表。
本申请还提供了一种共享内存的权限管控装置,应用于第一电子设备,包括:处理器和传输接口,所述处理器被配置为调用存储在存储器中的程序以实现上文中所述的方法实施例。
本申请的上述装置的实现原理和技术效果已经在上文中进行了说明,此处不再赘述。
本申请还提供一种计算机可读存储介质,计算机存储介质中存储有计算机程序,所述计算机程序在处理器上被执行时,使得所述处理器执行上述任一种方法实施例的技术方案。
本申请还提供一种计算机程序产品,当所述计算机程序被计算机执行时,使计算机执行上述任一种方法实施例的技术方案。
本申请还提供一种电子设备,包括上述任一种装置实施例的技术方案。
本申请还提供一种电子设备,如图8所示,该电子设备800包括处理器801,收发器802以及通信线路803。
其中,处理器801用于执行如图3、图4、图5或图6所示的方法实施例中的任一步骤。
进一步的,该电子设备800还可以包括存储器804。其中,处理器801,存储器804 以及收发器802之间可以通过通信线路803连接。
其中,处理器801是CPU、通用处理器网络处理器(network processor,NP)、数字信号处理器(digital signal processing,DSP)、微处理器、微控制器、可编程逻辑器件(programmable logic device,PLD)或它们的任意组合。处理器801还可以是其它具有处理功能的装置,例如电路、器件或软件模块,不予限制。
收发器802,用于与其他设备或其它通信网络进行通信,其它通信网络可以为以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN) 等。收发器802可以是模块、电路、收发器或者任何能够实现通信的装置。
收发器802主要用于码流的收发,可以包括发射器和接收器,分别进行码流的发送和接收;除码流收发之外的操作由处理器实现,如信息处理,计算等。
通信线路803,用于在电子设备800所包括的各部件之间传送信息。
在一种设计中,可以将处理器看做逻辑电路,收发器看做接口电路。
存储器804,用于存储指令。其中,指令可以是计算机程序。
存储器804可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM, EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM, ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。存储器804还可以是只读光盘 (compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或其他磁存储设备等。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
需要指出的是,存储器804可以独立于处理器801存在,也可以和处理器801集成在一起。存储器804可以用于存储指令或者程序代码或者一些数据等。存储器804可以位于电子设备800内,也可以位于电子设备800外,不予限制。处理器801,用于执行存储器 804中存储的指令,以实现本申请上述实施例提供的方法。
在一种示例中,处理器801可以包括一个或多个CPU,例如图8中的CPU0和CPU1。
可选地,电子设备800包括多个处理器,例如,除图8中的处理器801之外,还可以包括处理器807。
可选地,电子设备800还包括输出设备805和输入设备806。输入设备806是键盘、鼠标、麦克风或操作杆等设备,输出设备805是显示屏、扬声器(speaker)等设备。
电子设备800可以是芯片系统或有图8中类似结构的设备。其中,芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。本申请的各实施例之间涉及的动作、术语等均可以相互参考,不予限制。本申请的实施例中各个设备之间交互的消息名称或消息中的参数名称等只是一个示例,具体实现中也可以采用其他的名称,不予限制。此外,图8中示出的组成结构并不构成对该电子设备800的限定,除图8所示部件之外,该电子设备800 可以包括比图8所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本申请中描述的处理器和收发器可实现在集成电路(integrated circuit,IC)、模拟IC、射频集成电路、混合信号IC、专用集成电路(application specific integratedcircuit,ASIC)、印刷电路板(printed circuit board,PCB)、电子设备等上。该处理器和收发器也可以用各种IC工艺技术来制造,例如互补金属氧化物半导体(complementary metaloxide semiconductor,CMOS)、N型金属氧化物半导体(nMetal-oxide-semiconductor,NMOS)、 P型金属氧化物半导体(positive channel metal oxide semiconductor,PMOS)、双极结型晶体管(Bipolar Junction Transistor,BJT)、双极CMOS(BiCMOS)、硅锗(SiGe)、砷化镓 (GaAs)等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种共享内存的权限管控方法,应用于第一电子设备,其特征在于,包括:
在所述第一电子设备启动时,读取预先烧写在所述第一电子设备中的存储器中的管理权限列表和访问权限列表;
根据所述管理权限列表向管理进程配置管理至少一个共享内存组的权限;
控制所述管理进程根据所述访问权限列表将多个业务进程划分至所述至少一个共享内存组中;
其中,第一共享内存组中的多个业务进程共享基于所述第一共享内存组申请的共享内存,所述第一共享内存组为所述至少一个共享内存组中的任一个共享内存组。
2.根据权利要求1所述的方法,其特征在于,所述访问权限列表还用于指示所述多个业务进程中的每个业务进程对各自所属的共享内存组的访问权限的类型;
所述方法还包括:
控制所述管理进程根据所述访问权限列表指示的所述每个业务进程对各自所属的共享内存组的访问权限的类型,设置所述每个业务进程对基于各自所属的共享内存组申请的共享内存的访问权限的类型。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收第一业务进程发起的基于第二共享内存组的共享内存申请请求,其中,所述第一业务进程为所述多个业务进程中的任一个,所述第二共享内存组为所述至少一个共享内存组中的任一个;
根据所述第二共享内存组中的每个业务进程对基于所述第二共享内存组申请的共享内存的访问权限的类型,验证所述第一业务进程是否具有基于所述第二共享内存组申请共享内存的权限;
若是,则为所述第一业务进程分配物理内存空间和虚拟内存空间;
将所述物理内存空间和所述虚拟内存空间的映射关系,复制至所述第二共享内存组中的每个业务进程基于所述第二共享内存组的页表中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据所述第二共享内存组中的每个业务进程对基于所述第二共享内存组申请的共享内存的访问权限的类型,设置所述第二共享内存组中的每个业务进程对各自基于所述第二共享内存组的页表的访问权限的类型。
5.根据权利要求1~4中任一项所述的方法,其特征在于,所述在所述第一电子设备启动时,读取预先烧写在所述第一电子设备中的存储器中的管理权限列表和访问权限列表包括:
在所述第一电子设备启动时,读取预先烧写在所述第一电子设备中的存储器中的配置数据包和第一签名,其中,所述配置数据包包括所述管理权限列表和所述访问权限列表;
根据所述第一签名,验证所述配置数据包的安全性;
若验证所述配置数据包安全,则从所述配置数据包中获得所述管理权限列表和所述访问权限列表。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
响应于所述第一业务进程发起的基于所述第二共享内存组的访问请求,根据所述第二共享内存组中的每个业务进程对各自基于所述第二共享内存组的页表的访问权限的类型,验证所述访问请求是否合法;
若合法,则根据所述访问请求访问所述第一业务进程基于所述第二共享内存组的页表。
7.一种共享内存的权限管控装置,应用于第一电子设备,其特征在于,包括:
读取模块,用于在所述第一电子设备启动时,读取预先烧写在所述第一电子设备中的存储器中的管理权限列表和访问权限列表;
配置模块,用于根据所述管理权限列表向管理进程配置管理至少一个共享内存组的权限;
控制模块,用于控制所述管理进程根据所述访问权限列表将多个业务进程划分至所述至少一个共享内存组中;
其中,第一共享内存组中的多个业务进程共享基于所述第一共享内存组申请的共享内存,所述第一共享内存组为所述至少一个共享内存组中的任一个共享内存组。
8.根据权利要求7所述的装置,其特征在于,所述访问权限列表还用于指示所述多个业务进程中的每个业务进程对各自所属的共享内存组的访问权限的类型;
所述控制模块,还用于控制所述管理进程根据所述访问权限列表指示的所述每个业务进程对各自所属的共享内存组的访问权限的类型,设置所述每个业务进程对基于各自所属的共享内存组申请的共享内存的访问权限的类型。
9.根据权利要求8所述的装置,其特征在于,所述控制模块,还用于接收第一业务进程发起的基于第二共享内存组的共享内存申请请求,其中,所述第一业务进程为所述多个业务进程中的任一个,所述第二共享内存组为所述至少一个共享内存组中的任一个;根据所述第二共享内存组中的每个业务进程对基于所述第二共享内存组申请的共享内存的访问权限的类型,验证所述第一业务进程是否具有基于所述第二共享内存组申请共享内存的权限;若是,则为所述第一业务进程分配物理内存空间和虚拟内存空间;将所述物理内存空间和所述虚拟内存空间的映射关系,复制至所述第二共享内存组中的每个业务进程基于所述第二共享内存组的页表中。
10.根据权利要求9所述的装置,其特征在于,所述控制模块,还用于根据所述第二共享内存组中的每个业务进程对基于所述第二共享内存组申请的共享内存的访问权限的类型,设置所述第二共享内存组中的每个业务进程对各自基于所述第二共享内存组的页表的访问权限的类型。
11.根据权利要求7~10中任一项所述的装置,其特征在于,所述读取模块,具体用于在所述第一电子设备启动时,读取预先烧写在所述第一电子设备中的存储器中的配置数据包和第一签名,其中,所述配置数据包包括所述管理权限列表和所述访问权限列表;根据所述第一签名,验证所述配置数据包的安全性;若验证所述配置数据包安全,则从所述配置数据包中获得所述管理权限列表和所述访问权限列表。
12.根据权利要求10所述的装置,其特征在于,所述控制模块,还用于响应于所述第一业务进程发起的基于所述第二共享内存组的访问请求,根据所述第二共享内存组中的每个业务进程对各自基于所述第二共享内存组的页表的访问权限的类型,验证所述访问请求是否合法;若合法,则根据所述访问请求访问所述第一业务进程基于所述第二共享内存组的页表。
13.一种共享内存的权限管控装置,应用于第一电子设备,其特征在于,包括:处理器和传输接口,所述处理器被配置为调用存储在存储器中的程序以实现如权利要求1~6中任一项所述的方法。
14.一种计算机可读存储介质,包括计算机程序,所述计算机程序在处理器上被执行时,使得所述处理器执行权利要求1~6中任一项所述的方法。
15.一种计算机程序,当所述计算机程序被计算机或处理器执行时,使得所述计算机或所述处理器执行权利要求1~6中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210228725.0A CN116775324A (zh) | 2022-03-08 | 2022-03-08 | 共享内存的权限管控方法和装置 |
PCT/CN2023/074609 WO2023169114A1 (zh) | 2022-03-08 | 2023-02-06 | 共享内存的权限管控方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210228725.0A CN116775324A (zh) | 2022-03-08 | 2022-03-08 | 共享内存的权限管控方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116775324A true CN116775324A (zh) | 2023-09-19 |
Family
ID=87937134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210228725.0A Pending CN116775324A (zh) | 2022-03-08 | 2022-03-08 | 共享内存的权限管控方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116775324A (zh) |
WO (1) | WO2023169114A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000066956A (ja) * | 1998-08-17 | 2000-03-03 | Nec Corp | 共有メモリのアクセス権設定・検証方式 |
US10324659B2 (en) * | 2017-05-24 | 2019-06-18 | International Business Machines Corporation | Detection of over-access of memory shared among multiple processes |
CN110990331B (zh) * | 2019-12-03 | 2023-09-05 | 飞腾信息技术有限公司 | 片上系统密钥管理方法、装置、设备及可读存储介质 |
CN113849428A (zh) * | 2020-06-28 | 2021-12-28 | 华为技术有限公司 | 共享内存权限配置方法,内存单元和系统 |
CN113467844A (zh) * | 2021-06-25 | 2021-10-01 | 厦门码灵半导体技术有限公司 | 适用于工业级应用场景的嵌入式系统的控制方法、嵌入式系统和计算机可读存储介质 |
-
2022
- 2022-03-08 CN CN202210228725.0A patent/CN116775324A/zh active Pending
-
2023
- 2023-02-06 WO PCT/CN2023/074609 patent/WO2023169114A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023169114A1 (zh) | 2023-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5516821B2 (ja) | 仮想化及び認証を用いた電子ネットワークにおける複数のクライアントの遠隔保守のためのシステム及び方法 | |
AU2014321545B2 (en) | Virtual machine manager facilitated selective code integrity enforcement | |
CN111324446A (zh) | 多址接入边缘计算节点及部署一套分布式记账应用的方法 | |
CN110546979B (zh) | 在服务与应用之间的多级分布式访问控制 | |
JP2006523347A (ja) | 周辺装置アクセス保護を有するデータ処理システムおよびその方法 | |
CN110348204A (zh) | 一种代码保护系统、认证方法、装置、芯片及电子设备 | |
US10831915B2 (en) | Method and system for isolating application data access | |
US10104526B2 (en) | Method and apparatus for issuing a credential for an incident area network | |
US20170201550A1 (en) | Credential storage across multiple devices | |
WO2021032132A1 (zh) | 车载系统安全保护方法及设备 | |
US20140372665A1 (en) | Non-volatile memory operations | |
DE102022108625A1 (de) | Mehrere physische anforderungsschnittstellen für sicherheitsprozessoren | |
CN114969713A (zh) | 设备验证方法、设备及系统 | |
CN111970254A (zh) | 访问控制及配置方法、装置、电子设备和存储介质 | |
CN116775324A (zh) | 共享内存的权限管控方法和装置 | |
US20210367922A1 (en) | System on chip firewall memory architecture | |
CN113055886B (zh) | 边缘计算网络中的终端认证方法、系统、服务器及介质 | |
CN113949632A (zh) | 一种区块链的节点动态配置方法及装置 | |
CN103957210A (zh) | 智能卡及其安全控制方法、装置和系统 | |
US20200278982A1 (en) | Sgx based flow control for distributed ledgers | |
TWI777105B (zh) | 身份確認時取得附加資料以執行對應作業之系統及方法 | |
US20240134576A1 (en) | Secure, distributed raid storage systems and methods | |
US20240064148A1 (en) | System and method for managing privileged account access | |
CN107612873B (zh) | 一种访问及证书下发方法、装置 | |
JP2022097844A (ja) | セキュアエレメント,セキュアエレメントにおける特権の割り当て管理方法およびicチップ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |