System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 操作系统的内存保护方法及存储器技术方案_技高网

操作系统的内存保护方法及存储器技术方案

技术编号:40392548 阅读:7 留言:0更新日期:2024-02-20 22:23
本发明专利技术涉及数据处理技术领域,具体涉及一种操作系统的内存保护方法及存储器,包括:步骤S1:针对操作系统中的应用程序运行时将要创建的处理线程,预先确定访问权限;步骤S2:依照访问权限构建处理线程对应于内存区域的权限映射表,以确定处理线程实际可使用的内存分区;步骤S3:运行处理线程,处理线程在运行时仅访问内存分区中的数据。有益效果在于:预先对处理线程配置了对应的访问权限,并在该处理线程运行时,依照访问权限配置对应于具体的数据类别的内存分区并建立映射,使得处理线程在切换时仅重新设置该线程所属分区对应权限表的特定区域访问权限实现了较好的内存保护效果,节省了功耗并提升实时性。

【技术实现步骤摘要】

本专利技术涉及数据处理,具体涉及一种操作系统的内存保护方法及存储器


技术介绍

1、在嵌入式系统中,内存用于暂时存放cpu中的运算数据,以及与硬盘等外部存储器交换的数据。当需要运行相应的应用程序时,操作系统会从存储器中调取相应的代码、数据等存放至内存中,以供应用运行时读取、执行、写入。为实现较好的嵌入式系统的安全性、稳定性和可靠性,通常还需要配置相应的内存保护机制对内存的访问、操作权限进行管理,避免错误访问。

2、现有技术中,已存在有较多的用于内存保护的技术方案,比如,中国专利cn201811619460.7公开了一种内存访问方法、内存访问控制器和片上系统,该方法包括:接收步骤,经由总线从内存访问模块接收内存访问请求,所述内存访问请求包括所述内存访问模块的标识、要访问的内存区域名;检测处理步骤,根据当前存储的内存访问请求以及预定的内存访问控制表,对所述内存访问请求进行检测,根据检测结果对所述内存访问请求进行相应的处理,并得到更新存储的内存访问请求,检测返回步骤,对所述更新存储的内存访问请求进行检测,根据检测结果将所述内存访问请求的访问结果传送给对应的内存访问模块。本专利技术可以有效地保护内存,避免敏感信息的泄漏,同时可以高效地访问内存。

3、但是,在实际实施过程中,专利技术人发现,该类技术方案由于依赖软件层对内存访问请求进行拦截,并对指定的页面的数据进行处理,确定可访问后再放行,其在线程切换时重新对整个内存保护单元进行设置导致时间消耗大,影响实时性。


技术实现思路>

1、针对现有技术中存在的上述问题,现提供一种操作系统的内存保护方法;另一方面,还提供用于实施该内存保护方法的存储器。

2、具体技术方案如下:

3、一种操作系统的内存保护方法,包括:

4、步骤s1:针对所述操作系统中的应用程序运行时将要创建的处理线程,预先确定访问权限;

5、步骤s2:依照所述访问权限构建所述处理线程对应于内存区域的权限映射表,以确定所述处理线程实际可使用的内存分区;

6、所述内存分区依照所述处理线程待访问的内存数据的数据类别进行确定,每个所述内存分区分别用于存放一个所述数据类别的内存数据;

7、步骤s3:运行所述处理线程,所述处理线程在运行时依照所述权限映射表仅访问特定的所述内存分区中的数据。

8、另一方面,所述步骤s1包括:

9、步骤s11:针对所述处理线程获取所述处理线程的所属应用;

10、步骤s12:获取所述所属应用的分类信息;

11、所述分类信息包括:不可信应用和可信应用;

12、步骤s13:依照所述分类信息确定所述处理线程的访问权限。

13、另一方面,所述访问权限包括多组数据类别权限,每组数据类别权限分别对应于一个数据类别,每组数据类别权限还分别包括任务访问权限和中断访问权限;

14、当所述处理线程通过任务运行时,基于所述任务访问权限确定所述处理线程对每个所述数据类别所对应的所述内存分区的实际访问权限;

15、当所述处理线程通过中断运行时,基于所述中断访问权限确定所述处理线程对每个所述数据类别所对应的所述内存分区的实际访问权限;

16、所述实际访问权限为:无权限或只读或执行或读写。

17、另一方面,所述数据类别包括:所述所属应用以外的代码,所述所属应用以外的数据、所述所属应用的私有数据、所述处理线程的代码、所述处理线程的数据、所述处理线程的栈、所述所属应用的其他线程的代码、所述其他线程的数据、所述其他线程的栈和外围设备接口。

18、另一方面,多个所述内存分区组成一个内存分区组,每个所述内存分区组分别针对一个所述所属应用的内存数据构建。

19、另一方面,于所述步骤s3之后还包括:

20、步骤s4:获取所述处理线程的运行状态,并在所述运行状态发生切换时,重新确定所述处理线程的访问权限,并调整所述内存分区。

21、另一方面,所述步骤s4包括:

22、步骤s41:获取所述运行状态并判断是否发生线程切换;

23、若是,转向步骤s42;

24、若否,返回所述步骤s41;

25、步骤s42:依照线程切换后所述处理线程需要访问的分区编号确定所述处理线程的更新应用类别;

26、所述更新应用类别包括:自所述可信应用切换至另一个所述可信应用、自所述不可信应用切换至另一个所述不可信应用、自所述可信应用切换至所述不可信应用、自所述不可信应用切换至所述可信应用;

27、步骤s43:依照所述更新应用类别确定待初始化分区,随后对所述待初始化分区进行初始化形成可用内存分区;

28、线程切换后的所述处理线程对所述可用内存分区进行访问以获取内存数据。

29、另一方面,于执行所述步骤s43的过程中还包括:

30、判断所述处理线程是否需要跨越所述内存分区组,并依照判断结果调整所述待初始化分区。

31、一种存储器,所述存储器中存储有计算机指令,所述计算机指令适用于在计算机设备中执行,当所述计算机设备执行所述计算机指令时,执行上述的内存保护方法。

32、上述技术方案具有如下优点或有益效果:

33、针对现有技术中的内存保护机制负载较大、时效性较差的问题,本方案中,围绕应用程序在运行时会创建的处理线程,预先配置了对应的访问权限,并在该处理线程运行时,依照访问权限配置对应于具体的数据类别的内存分区并建立映射,使得处理线程在切换时仅重新设置该线程所属分区对应权限表的特定区域访问权限实现了较好的内存保护效果,节省了功耗并提升实时性。

本文档来自技高网...

【技术保护点】

1.一种操作系统的内存保护方法,其特征在于,包括:

2.根据权利要求1所述的内存保护方法,其特征在于,所述步骤S1包括:

3.根据权利要求2所述的内存保护方法,其特征在于,所述访问权限包括多组数据类别权限,每组数据类别权限分别对应于一个数据类别,每组数据类别权限还分别包括任务访问权限和中断访问权限;

4.根据权利要求2所述的内存保护方法,其特征在于,所述数据类别包括:所述所属应用以外的代码,所述所属应用以外的数据、所述所属应用的私有数据、所述处理线程的代码、所述处理线程的数据、所述处理线程的栈、所述所属应用的其他线程的代码、所述其他线程的数据、所述其他线程的栈和外围设备接口。

5.根据权利要求2所述的内存保护方法,其特征在于,多个所述内存分区组成一个内存分区组,每个所述内存分区组分别针对一个所述所属应用的内存数据构建。

6.根据权利要求5所述的内存保护方法,其特征在于,于所述步骤S3之后还包括:

7.根据权利要求6所述的内存保护方法,其特征在于,所述步骤S4包括:

8.根据权利要求7所述的内存保护方法,其特征在于,于执行所述步骤S43的过程中还包括:

9.一种存储器,所述存储器中存储有计算机指令,所述计算机指令适用于在计算机设备中执行,其特征在于,当所述计算机设备执行所述计算机指令时,执行如权利要求1-8任意一项所述的内存保护方法。

...

【技术特征摘要】

1.一种操作系统的内存保护方法,其特征在于,包括:

2.根据权利要求1所述的内存保护方法,其特征在于,所述步骤s1包括:

3.根据权利要求2所述的内存保护方法,其特征在于,所述访问权限包括多组数据类别权限,每组数据类别权限分别对应于一个数据类别,每组数据类别权限还分别包括任务访问权限和中断访问权限;

4.根据权利要求2所述的内存保护方法,其特征在于,所述数据类别包括:所述所属应用以外的代码,所述所属应用以外的数据、所述所属应用的私有数据、所述处理线程的代码、所述处理线程的数据、所述处理线程的栈、所述所属应用的其他线程的代码、所述其他线程的数据、所述其他线程的栈和外围设备接口。

【专利技术属性】
技术研发人员:刘宏倩赵建森张晓先
申请(专利权)人:普华基础软件股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1