一种基于嵌入式实时操作系统实现轻量级安全容器的设计方法技术方案

技术编号:33536213 阅读:17 留言:0更新日期:2022-05-19 02:17
本发明专利技术公开了一种基于嵌入式实时操作系统实现轻量级安全容器的设计方法,包括创建安全容器,指定安全容器所在路径和名称;使用文件路径映射和配额对安全容器进行配置,设置安全容器可以使用的资源数量和访问权限,对宿主共享库映射目录进行配置;启动安全容器,提供外部可以访问的端口;在安全容器内执行应用程序,应用程序的权限、行为被控制,使用优先级上限限制容器CPU使用时间;根据运行结果,可以使安全容器退出。本发明专利技术实现了对容器功能、容器管理的多方面支持后,还突破性的解决了当前容器使用场景存在的多个问题,并且其在安全性、资源占用、系统适应性等多方面都具有优势,并结合操作系统本身具有的实时性,更加符合工业控制领域对应用安全性的使用需求。控制领域对应用安全性的使用需求。

【技术实现步骤摘要】
一种基于嵌入式实时操作系统实现轻量级安全容器的设计方法


[0001]本专利技术涉及嵌入式实时操作系统
,具体为一种基于嵌入式实时操作系统实现轻量级安全容器的设计方法。

技术介绍

[0002]目前,市面常见的安全容器方案为Docker或LXC,其存在以下不足:1、系统占用资源过于庞大,众多资料显示Docker运行实际占用的内存过大,如果需要流畅运行,系统环境需要约1GB内存左右。这非常不适合嵌入式领域使用,嵌入式领域的设备其内存通常都极小,十几MB、几十MB等都是非常常见的。2、当前容器方案不能很好的支持一个容器运行多个进程,虽然有很多方案给出了如何在一个容器内运行多个进程,但都非天生支持的策略。其在使用上带来了众多的不便性与不确定性。3、当前的容器方案难以有效解决某个容器运行异常或对CPU的非法占用,导致的其他容器运行状态受阻的情况。4、系统的实时性不足,由于Linux本身为非实时操作系统,实时性难以满足众多工业控制领域对安全容器应用的实际需求。

技术实现思路

[0003]本专利技术提供了一种基于嵌入式实时操作系统实现轻量级安全容器的设计方法,目的在于与传统领域Linux中使用的LXC、Docker容器不同,本容器采用了更加新颖的容器开发设计方法,在实现当前容器的基础功能之上,解决了嵌入式领域使用容器当前存在的几个问题,同时仍然具有实时的系统响应能力。
[0004]为实现上述技术目的,达到上述技术效果,本专利技术是通过以下技术方案实现:本专利技术一种基于嵌入式实时操作系统实现轻量级安全容器的设计方法,具体包括以下步骤,步骤S1,创建安全容器,预设所述安全容器所在路径和名称;步骤S2,确定文件路径的映射和配额,对所述安全容器进行配置,设置安全容器使用的资源数量和访问权限,对宿主共享库映射目录进行配置;步骤S3,启动所述安全容器,并确定外部可访问的端口;步骤S4,在所述安全容器内执行应用程序,控制所述应用程序的权限和行为,使用优先级上限限制安全容器 的CPU 使用时间;步骤S5,根据运行结果,可以使安全容器退出。
[0005]基于嵌入式操作系统实现安全容器的功能,对嵌入式操作系统的内核和组件进行修改,通过引入所述安全容器有关的编译宏对代码进行控制,通过嵌入式操作系统句柄容器化,及使嵌入式操作系统对象ID与所述安全容器ID绑定使资源得到隔离,并增加文件系统、资源等配额限制,使嵌入式操作系统支持安全容器的功能;所述安全容器内设有多个进程的运行方式,支持在多个安全容器环境内新建进程,同一安全容器内的多个进程共享同
一个安全容器的资源和环境,以及不同所述安全容器使用不同的系统页表,同一个安全容器内的进程共享一个页表,在所述安全容器内创建进程。
[0006]上述安全容器的功能包括文件存储隔离、设备隔离、环境变量隔离、posix命名空间隔离、IPC隔离、AF_UNIX隔离和系统log隔离,并提供所述安全容器所需的打包部署功能,所述打包部署功能包括安全容器镜像打包、安全容器安装部署和安全容器升级;使用所述文件路径映射和配额的方式作为安全容器的根文件系统,用于提升文件访问速度;所述文件路径映射的方式允许复用基础库,用于减少对磁盘的占用。
[0007]步骤S2中,对所述安全容器进行配置包括安全容器名字配置、CPU运行时间的配置、内存配置、内核对象配置、磁盘空间配置、文件路径映射配置、文件权限配置和shell命令权限配置;所述安全容器的CPU 的使用时间受配置文件中所配置的优先级上限限制,使得基于嵌入式实时操作系统实现轻量级安全容器的设计。
[0008]上述安全容器的名字配置为hostname;所述安全容器的CPU运行时间的配置通过限制创建线程时,使用的最高优先级和创建互斥量mutex时,使用的最高天花板优先级来实现;所述内存配置最多使用32MB的内存;所述内核对象配置适用于mutex、msgqueue、semaphore类型的内核对象;所述磁盘空间配置支持tpsfs和yaffs类型的磁盘空间,并支持至少163840MB的磁盘空间;所述文件路径映射配置支持所述安全容器的root目录被映射到安全容器文件系统的root目录,用于实现安全容器的文件存储隔离;所述shell命令权限配置ls=x配置项和shutdown=no配置项,所述ls=x配置项表示安全容器通过system或popen函数执行ls命令,shutdown=no配置项表示安全容器不可以执行shutdown命令;所述shell命令权限配置来自于安全容器配置文件,配置文件为INI格式,配置文件储存在安全容器文件系统的根目录,并且安全容器运行时不能修改安全容器配置文件。
[0009]本专利技术还包括MIPS、AARCH64架构,所述安全容器将内核进行两次映射操作;其中,第一次所述映射是按照内核态访问的权限进行映射,在所述系统TEXT段内核态设有只读与可执行权限,在所述系统DATA段内核态设有可读写权限,系统TEXT段和系统DATA段在用户态均设置不可访问权限;第二次所述映射是按照用户态访问的权限进行映射,在所述系统TEXT段用户态设有用于内核提供的部分产生系统调用接口页面的可执行权限,在所述系统DATA段用户态设有用于内核提供的具有只读权限的全局变量页面的只读权限。
[0010]7.根据权利要求1所述的一种基于嵌入式实时操作系统实现轻量级安全容器的设计方法,其特征在于:所述安全容器的镜像为安全容器的配置文件和文件系统树的zip包,包括安全容器安装、安全容器删除、安全容器打包和安全容器升级;所述安全容器安装使用unzip命令解压容器镜像zip包到一个path,进行所述安全容器的安装;所述安全容器删除为安全容器退出后,使用mkfspath命令格式化安全容器的磁盘分区或rm命令删除所述安全容器的根目录;所述安全容器打包为使用zip命令将所述安全容器的文件系统树打成一个安全容器镜像zip包;所述安全容器升级为使用unzip命令解压所述安全容器补丁镜像zip包到一个其他所述安全容器所在的path进行所述安全容器的升级。
[0011]与现有技术相比,本专利技术的有益效果是:本专利技术使用容器的硬件成本低,在嵌入式领域常用的低算力,小内存设备(如ARM9@300MHz+16MBRAM)上也可以支持安全容器的方案;在实现容器功能的同时,保有实时操作系统的实时性。经测量,使用容器后的操作系统实时性为:高优先级任务响应6us、信号量激活响应11us、RMS周期抖动10us;容器的使用、维护管理方式更加直观、便捷,采用的容器配置方法更加简单;掉电安全,所采用的TPSFS文件系统,支持掉电安全策略,简化硬件设计。基于上述本专利技术实现了对容器功能、容器管理的多方面支持后,还突破性的解决了当前容器使用场景存在的多个问题,并且其在安全性、资源占用、系统适应性等多方面都具有优势,并结合操作系统本身具有的实时性,更加符合工业控制领域对应用安全性的使用需求。
附图说明
[0012]图1为本专利技术实施例中实现轻量级安全容器的设计方法的流程框图;图2为本专利技术实施例中安全容器框架结构示本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于嵌入式实时操作系统实现轻量级安全容器的设计方法,其特征在于:具体包括以下步骤,步骤S1,创建安全容器,预设所述安全容器所在路径和名称;步骤S2,确定文件路径的映射和配额,对所述安全容器进行配置,设置安全容器使用的资源数量和访问权限,对宿主共享库映射目录进行配置;步骤S3,启动所述安全容器,并确定外部可访问的端口;步骤S4,在所述安全容器内执行应用程序,控制所述应用程序的权限和行为,使用优先级上限限制安全容器的CPU 使用时间;步骤S5,根据安全容器内的程序执行结果及用户操作,可以使安全容器退出。2.根据权利要求1所述的一种基于嵌入式实时操作系统实现轻量级安全容器的设计方法,其特征在于:基于嵌入式操作系统实现安全容器的功能,对嵌入式操作系统的内核和组件进行修改,通过引入所述安全容器有关的编译宏对代码进行控制,通过嵌入式操作系统句柄容器化,及使嵌入式操作系统对象ID与所述安全容器ID绑定使资源得到隔离,并增加文件系统、资源等配额限制,使嵌入式操作系统支持安全容器的功能;所述安全容器内设有多个进程的运行方式,支持在多个安全容器环境内新建进程,同一安全容器内的多个进程共享同一个安全容器的资源和环境,以及不同所述安全容器使用不同的系统页表,同一个安全容器内的进程共享一个页表,在所述安全容器内创建进程。3.根据权利要求2所述的一种基于嵌入式实时操作系统实现轻量级安全容器的设计方法,其特征在于:所述安全容器的功能包括文件存储隔离、设备隔离、环境变量隔离、posix命名空间隔离、IPC隔离、AF_UNIX隔离和系统log隔离,并提供所述安全容器所需的打包部署功能,所述打包部署功能包括安全容器镜像打包、安全容器安装部署和安全容器升级;使用所述文件路径映射和配额的方式作为安全容器的根文件系统,用于提升文件访问速度;所述文件路径映射的方式允许复用基础库,用于减少对磁盘的占用。4.根据权利要求1所述的一种基于嵌入式实时操作系统实现轻量级安全容器的设计方法,其特征在于:步骤S2中,对所述安全容器进行配置包括安全容器名字配置、CPU运行时间的配置、内存配置、内核对象配置、磁盘空间配置、文件路径映射配置、文件权限配置和shell命令权限配置;所述安全容器的CPU 的使用时间受配置文件中所配置的优先级上限限制,使得基于嵌入式实时操作系统实现轻量级安全容器的设计。5.根据权利要求4所述的一种基于嵌入式实时操作系统实现轻量级安全容器的设计方法,其特征在于:所述安全容器的名字配置为hostname;所述安全容器的CPU运行时间的配...

【专利技术属性】
技术研发人员:焦进星徐贵洲李孝成韩辉王翾
申请(专利权)人:南京翼辉信息技术有限公司
类型:发明
国别省市:

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

1