CN117591489B - 基于多系统隔离的虚拟文件共享系统 - Google Patents
基于多系统隔离的虚拟文件共享系统 Download PDFInfo
- Publication number
- CN117591489B CN117591489B CN202410057014.0A CN202410057014A CN117591489B CN 117591489 B CN117591489 B CN 117591489B CN 202410057014 A CN202410057014 A CN 202410057014A CN 117591489 B CN117591489 B CN 117591489B
- Authority
- CN
- China
- Prior art keywords
- file
- shared
- virtual file
- system domain
- node
- 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.)
- Active
Links
- 238000002955 isolation Methods 0.000 title claims abstract description 25
- 230000015654 memory Effects 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 12
- 230000004048 modification Effects 0.000 claims description 24
- 238000012986 modification Methods 0.000 claims description 24
- 238000013507 mapping Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 17
- 238000004088 simulation Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 7
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 230000006978 adaptation Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/188—Virtual file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种基于多系统隔离的虚拟文件共享系统,通过在各系统域建立共享虚拟文件树,有选择的映射到其它系统域。利用共享虚拟文件树的节点实现共享文件的管理,并通过文件处理器和文件模拟器将虚拟文件和操作利用共享内存实现主系统域和从系统域之间,从系统域和从系统域之间的文件共享。可以将相关内核对象、设备、文件模拟为虚拟文件方便不同系统之间操作,可以摆脱共享文件对于硬件或者虚拟设备的依赖,同时,还可利用节点中的内核对象设备和文件系统信息进行转换,实现了在多个隔离系统之间的文件共享。
Description
技术领域
本发明涉及操作系统技术领域,尤其涉及一种基于多系统隔离的虚拟文件共享系统。
背景技术
近年来随着CPU多核技术发展,在一个CPU上隔离出不同核及硬件资源运行不同操作系统越来越广泛,为了保证实时性能,Linux+实时操作系统(real time operationsystem,rtos)广泛应用于多核技术中。
在多隔离系统中,需要进行文件共享。然而由于每个操作系统之间存在多个不同的硬件和虚拟硬件,并且每个操作系统在内核线程、信号量等内核处理内容也不相同。而在常见的文件共享过程中,不仅需要硬件或者虚拟设备之间交互,而且也需要多个rtos操作系统中具有相同的文件系统。但多个隔离系统之间不能提供共享文件提供的内核对象、文件系统也完全不同,基于上述条件,多核多系统之间文件共享实现很复杂,且没有通用方案,如果按照现有方式强行进行文件共享,也会使得共享文件的隔离操作产生极高的风险。
发明内容
本发明实施例提供了一种基于多系统隔离的虚拟文件共享系统、以解决现有术中针对多个隔离操作系统之间文件共享较难实现的技术问题。
本发明实施例提供了一种基于多系统隔离的虚拟文件共享系统,包括:
主系统域,所述主系统域设置于主Linux系统中;
从系统域,所述从系统域设置于从Linux系统或者从guest rtos系统中;
所述主系统域包括:
主共享虚拟文件管理器,其基于主系统域的共享虚拟文件信息和从系统域的共享虚拟文件信息维护共享虚拟文件树,所述共享虚拟文件树用于定义共享文件依存的系统信息和共享文件信息,并将实时维护的共享虚拟文件树信息映射到从系统域;
共享文件模拟器,用于根据共享虚拟文件树节点信息生成主系统域文件处理接口对应的模拟文件,并根据主系统域对文件的操作生成操作修改数据,并将所述操作修改数据发送至共享虚拟文件处理器;
主共享虚拟文件处理器,所述共享虚拟文件处理器负责获取共享内存中从系统域写入的共享文件的数据包和命令包,并对所述数据包和命令包进行解析处理发送至共享文件模拟器;
以及接收共享文件模拟器发送的操作修改数据,封装为数据包和命令包,通过共享内存发送给其它系统域共享虚拟文件系统;
所述从系统域包括:
从系统域共享虚拟文件处理器,用于根据从系统域的系统中文件处理信息生成节点信息,将生成的节点信息通过共享内存发送至主系统域;并将通过主系统域共享虚拟文件管理器映射的共享虚拟文件节点信息添加到对应从系统域共享虚拟文件树中;
以及,获取共享内存中其它系统域写入的共享文件的数据包和命令包,并对所述数据包和命令包进行解析处理发送至从系统域文件模拟器,并接收从系统域文件模拟器发送的数据,并封装为数据包和命令包,通过共享内存发送给其它系统域共享虚拟文件系统;
从系统域文件模拟器,用于根据共享虚拟文件树节点信息生成从系统域文件处理接口对应的模拟文件,并根据从系统域对文件的操作生成操作修改数据,并将所述操作修改数据发送至从系统域共享虚拟文件处理器。
进一步的,所述基于从系统域的共享虚拟文件信息维护共享虚拟文件树,包括:
所述主共享虚拟文件管理器为所述主系统域在共享虚拟文件树创建主系统域虚拟文件树节点;从共享内存中读取从系统域中的共享虚拟文件树节点信息,并在所述共享虚拟文件树创建对应的共享虚拟文件树节点。
进一步的,所述基于从系统域的共享虚拟文件信息维护共享虚拟文件树,包括:
所述主共享虚拟文件管理器为所述主系统域在共享虚拟文件树创建主系统域虚拟文件树节点;从共享内存中读取从系统域中的共享虚拟文件树节点信息,并在所述共享虚拟文件树创建对应的共享虚拟文件树节点。
进一步的,所述将实时维护的共享虚拟文件树信息映射到从系统域,包括:
映射挂载主系统域共享虚拟文件节点到从系统域共享虚拟文件节点;
映射挂载一个从系统域共享虚拟文件节点到另一个从系统域共享虚拟文件节点。
进一步的,所述主系统域和从系统域写入共享内存命令包和数据包后触发对应系统域中断,由需要对应响应的主系统域或从系统域的共享虚拟文件处理器直接读取。
进一步的,所述从系统域文件模拟器和共享虚拟文件处理器用于将每个模拟文件信息通过树结构方式保存在内存。
进一步的,所述从系统域和组系统域中都设有一个根节点,所述根节点挂载对应的内核对象、设备、和文件节点。
进一步的,所述内核对象节点用于挂载内核线程、信号量和信息队列;
所述设备节点用于挂载gpio、uart、i2c和adc硬件设备及uio、kvm、random虚拟设备;
所述文件节点挂载文件系统。
进一步的,所述内核对象、设备、文件节点对应设有适配节点对象函数。
进一步的,所述共享虚拟文件树节点包括:
系统映射结构、节点权限结构、节点结构定义结构、节点数目结构和节点
指向结构。
更进一步的,所述节点权限结构标记如下文件共享类型:
普通模式、共享模式、特权共享模式、只读模式、读写模式、控制模式、创建模式和删除模式。
本发明实施例提供的基于多系统隔离的虚拟文件共享系统,通过利用共享内存方式,在主系统域,利用主共享虚拟文件系统可以挂载所有从系统域从共享虚拟文件系统节点信息,把多核soc上对应系统域的相关内核对象、设备、文件等动态链接到共享虚拟文件树节点上,然后依据共享虚拟文件树提供的节点通过文件模拟器提供模拟文件。根据节点中的相关内核对象、设备、文件等节点内容,生成数据包通过共享内存发送给其它系统域。其它系统域可根据自身的内核对象、设备和文件的节点内容,将数据包对应解析,得到共享文件,并可利用上述方式将本系统域修改的文件再次生成模拟文件供其它系统域共享使用。可以摆脱共享文件对于硬件或者虚拟设备的依赖,同时,还可利用节点中的内核对象设备和文件系统信息进行转换,实现了在多个隔离系统之间的文件共享。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明实施例提供的基于多系统隔离的虚拟文件共享系统的结构示意图;
图2是本发明实施例提供的基于多系统隔离的虚拟文件共享系统中根挂载节点挂载的示意图;
图3是本发明实施例提供的基于多系统隔离的虚拟文件共享系统中主系统域和从系统域共享虚拟文件时序示意图;
图4是本发明实施例提供的基于多系统隔离的虚拟文件共享系统中从系统域和从系统域共享虚拟文件时序示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1是本发明实施例提供的基于多系统隔离的虚拟文件共享系统的结构示意图,参见图1,所述基于多系统隔离的虚拟文件共享系统,虚拟共享文件系统可以作为一个文件系统节点,挂载到linux与rtos系统的虚拟文件系统上。示例性的,可以包括:主系统域,所述主系统域设置于主Linux系统中;从系统域,所述从系统域设置于从Linux系统或者从guest rtos系统中;所述主系统域包括:主共享虚拟文件管理器,用于基于主系统域的共享虚拟文件信息和从系统域的共享虚拟文件信息维护共享虚拟文件树,所述共享虚拟文件树用于定义共享文件依存的系统信息和共享文件信息,并将实时维护的共享虚拟文件树信息映射到从系统域;共享文件模拟器,用于根据共享虚拟文件树节点信息生成主系统域文件处理接口对应的模拟文件,并根据主系统域对文件的操作生成操作修改数据,并将所述操作修改数据发送至共享虚拟文件处理器;主共享虚拟文件处理器,所述共享虚拟文件处理器负责获取共享内存中从系统域写入的共享文件的数据包和命令包,并对所述数据包和命令包进行解析处理发送至共享文件模拟器;以及接收共享文件模拟器发送的操作修改数据,封装为数据包和命令包,通过共享内存发送给其它系统域共享虚拟文件系统;所述从系统域包括:从系统域共享虚拟文件处理器,用于根据从系统域的系统中文件处理信息生成节点信息,将生成的节点信息通过共享内存发送至主系统域;并将通过主系统域共享虚拟文件管理器映射的共享虚拟文件节点信息添加到对应从系统域共享虚拟文件树中;以及,获取共享内存中从系统域写入的共享文件的数据包和命令包,并对所述数据包和命令包进行解析处理发送至从系统域文件模拟器,并接收从系统域文件模拟器发送的数据,并封装为数据包和命令包,通过共享内存发送给其它系统域共享虚拟文件系统;从系统域文件模拟器,用于根据共享虚拟文件树节点信息生成从系统域文件处理接口对应的模拟文件,并根据从系统域对文件的操作生成操作修改数据,并将所述操作修改数据发送至从系统域共享虚拟文件处理器。
在本实施例中,所述隔离系统可以是采用同一多核CPU上隔离不同硬件资源运行多个不同操作系统。其中,包括:主系统,可以为Linux系统,从系统,可以是Guest rtos系统,也可以是从属的Linux系统。其中,所述的从系统可以为多个。
在多核多系统基础上,共享虚拟文件系统运行在每个硬件资源隔离的操作系统域中,通过ivshmem共享内存方法,提供多操作系统域之间共享虚拟文件的挂载、卸载、读写、创建、控制等操作。
在多个隔离系统进行文件共享时,主系统域设有主共享虚拟文件管理器,主共享虚拟文件管理器可对多个隔离系统之间的共享文件进行有效管理。具体的,其基于主系统域的共享虚拟文件信息和从系统域获取的共享虚拟文件节点信息维护共享虚拟文件树,所述共享虚拟文件树用于定义共享文件依存的系统信息和共享文件信息,并将实时维护的共享虚拟文件树信息映射到从系统域。从系统域也对应设有自身的共享虚拟文件树,基于自身共享虚拟文件信息和主系统域映射的信息进行维护。
具体的,所述共享虚拟文件树采用树形结构,通过树形结构中的每个节点方便对每个共享文件进行定义和说明。在本实施例中,所述共享虚拟文件树节点可以包括:系统映射结构、节点权限结构、节点结构定义结构、节点数目结构和节点指向结构。
可选的,所述基于从系统域的共享虚拟文件信息维护共享虚拟文件树,包括:所述主共享虚拟文件管理器为所述主系统域在共享虚拟文件树创建主系统域虚拟文件树节点;从共享内存中读取从系统域中的共享虚拟文件树节点信息,并在所述共享虚拟文件树创建对应的共享虚拟文件树节点。
以及,所述将实时维护的共享虚拟文件树信息映射到从系统域,包括:映射挂载主系统域共享虚拟文件节点到从系统域共享虚拟文件节点;映射挂载一个从系统域共享虚拟文件节点到另一个从系统域共享虚拟文件节点。
在本实施例中,主共享虚拟文件管理器在主系统域添加需要到共享虚拟文件系统的内核对象、设备、文件等到共享虚拟文件树节点且通过共享内存添加其它从系统域的共享虚拟文件系统节点到共享虚拟文件树。同时共享虚拟文件管理器负责映射挂载不同系统域共享虚拟文件系统的对应节点挂载到不同系统域的共享虚拟文件系统。例如映射挂载主系统域共享虚拟文件节点到从系统域共享虚拟文件节点,映射挂载一个从系统域共享虚拟文件节点到另一个从系统域共享虚拟文件节点。通过上述方式,使得每个需要共享文件的系统都通过主系统域得到对应的共享虚拟文件节点。
在主系统域中,还包括:共享文件模拟器,用于根据共享虚拟文件树节点信息生成主系统域文件处理接口对应的模拟文件,并根据主系统域对文件的操作生成操作修改数据,并将所述操作修改数据发送至共享虚拟文件处理器;主共享虚拟文件处理器,所述主共享虚拟文件处理器负责获取共享内存中从系统域写入的共享文件的数据包和命令包,并对所述数据包和命令包进行解析处理发送至共享文件模拟器;以及接收共享文件模拟器发送的操作修改数据,封装为数据包和命令包,通过共享内存发送给其它系统域共享虚拟文件系统。利用共享虚拟文件处理器从共享内存中获取到从系统域利用从系统域共享虚拟文件处理器对共享文件处理后的数据包和命令包。并利用共享文件模拟器利用主Linux系统的相应的内核、设备和文件系统将数据包和命令包解析并生成主Linux系统能够处理的共享模拟文件。并可根据模拟文件的操作封装为数据包和命令包,并通过共享内存发送给其它系统域共享虚拟文件系统,所述其它系统域包括主系统域及其它从系统域。
主系统域通过共享内存获取从系统域从共享虚拟文件系统数据,并挂载到主系统域共享虚拟文件树,然后通过共享文件模拟器创建模拟文件。从系统域依据共享虚拟文件权限和主系统域映射来获取其它系统域共享虚拟文件树节点信息来创建对应模拟文件。
相应的,所述从系统域对应设置有:
从系统域共享虚拟文件处理器,用于根据从系统域的系统中文件处理信息生成节点信息,将生成的节点信息通过共享内存发送至主系统域;并将通过主系统域共享虚拟文件管理器映射的共享虚拟文件节点信息添加到对应从系统域共享虚拟文件树中;
以及,获取共享内存中从系统域写入的共享文件的数据包和命令包,并对所述数据包和命令包进行解析处理发送至从系统域文件模拟器,并接收从系统域文件模拟器发送的数据,并封装为数据包和命令包,通过共享内存发送给其它系统域共享虚拟文件系统;
从系统域文件模拟器,用于根据共享虚拟文件树节点信息生成从系统域文件处理接口对应的模拟文件,并根据从系统域对文件的操作生成操作修改数据,并将所述操作修改数据发送至从系统域共享虚拟文件处理器。
从系统域共享虚拟文件处理器在从系统域添加需要到从共享虚拟文件系统的内核对象、设备、文件等节点且通过主系统域共享虚拟文件管理器映射的共享虚拟文件节点也会添加到对应的从共享虚拟文件树,然后添加到共享虚拟文件节点。
从系统域共享虚拟文件处理器负责获取其它系统域共享虚拟文件系统写入ivshmem共享内存的数据包和命令包,解析处理后发送给文件模拟器;同时接收来自文件模拟器的数据,处理后封装为数据包和命令包通过ivshmem共享内存发送给其它系统域共享虚拟文件系统。
主系统域和从系统域文件模拟器功能一致,每个操作系统拥有自己的文件模拟器,能够适配于自身的操作系统。
可选的,所述主系统域和从系统域写入共享内存命令包和数据包后触发对应系统域中断,由需要对应响应的主系统域或从系统域的共享虚拟文件处理器直接读取,读取共享内存对应的共享虚拟文件数据包,依据数据包处理相关内核对象、设备、文件等节点然后发送相关数据给文件模拟器。利用中断机制,可在存在共享文件需要共享或者在修改时,利用中断机制使得其它操作系统能够第一时间获取对应的文件信息。
可选的,所述从系统域文件模拟器和共享虚拟文件处理器可用于将每个模拟文件信息通过树结构方式保存在内存。示例性的,所述从系统域和主系统域中都设有一个根节点,所述根节点挂载对应的内核对象、设备、和文件节点。图2是本发明实施例提供的基于多系统隔离的虚拟文件共享系统中根挂载节点挂载的示意图,参见图2,每个内核对象、设备、文件等节点又挂载对应类的节点,节点解释如下:内核对象节点挂载内核线程、信号量、信息队列等内核对象、设备节点例如:挂载gpio、uart、i2c、adc、spi、i2s、dma、pwm、看门狗、timer和emmc等硬件设备及uio、kvm、random、vfio、vcs和vcsa等虚拟设备以及文件节点挂载文件系统,可以用来操作对应文件。利用节点可以将文件从文件、操作系统和硬件级别分别抽离出来。利用节点可剥离文件对于系统、设备和文件系统的依赖,便于在多个隔离系统之间共享文件。并可在同一种linux与rtos只需维护一套通用系统,有效减少工作量,统一管理零散的内核对象、设备、文件等对象。所述内核对象、设备、文件节点对应设有适配节点对象函数。内核对象、设备、文件等节点结构体内容都不一样,需要适配对应节点对象。例如设备节点结构体里面每个节点对象设备结构体又不一样。比如gpio设备与uart设备又不一样,线程对象与文件又不一样。每个节点对象都要实现对应操作函数,示例性的,可以在基础节点结构体上修改对应节点结构体,可在结构体中设定函数的指针,便于根据指针指向对应的操作函数。
进一步的,所述节点权限结构标记如下文件共享类型:普通模式、共享模式、特权共享模式、只读模式、读写模式、控制模式、创建模式和删除模式。普通模式,共享虚拟文件的权限可以由共享虚拟文件发起方对应的从系统域设定,也可通过主系统域利用共享虚拟文件树中节点权限信息设定。可以针对不同的从系统域灵活设定不同的权限。具体的,共享模式对应共享虚拟文件可以挂载到其它系统域,特权共享模式对应共享虚拟文件只能挂载到特定系统域,只读模式对应共享虚拟文件在挂载到其它系统域后只读,读写模式对应共享虚拟文件在挂载到其它系统域后可读可写,控制模式对应共享虚拟文件在挂载到其它系统域后可被控制,创建模式对应共享虚拟文件在挂载到其它域后可创建和修改文件名,删除模式对应共享虚拟文件在挂载到其它域后可删除,不同模式可以组合使用,如读写模式和控制模式组合后,对应共享虚拟文件可读可写可控制。利用上述方式,可灵活设置共享文件在不同系统之间的操作权限。
下面结合本实施例提供的基于多系统隔离的虚拟文件共享系统的工作过程对其进行进一步的说明。图3是本发明实施例提供的基于多系统隔离的虚拟文件共享系统中主系统域和从系统域共享虚拟文件时序示意图,图4是本发明实施例提供的基于多系统隔离的虚拟文件共享系统中从系统域和从系统域共享虚拟文件时序示意图。参见图3和图4,在本实施例中,在主系统域,设置有共享虚拟文件树,可在初始化设置,其它从系统域也通过初始化设置在自身系统域也设置对应的共享虚拟文件树,主系统域利用主共享虚拟文件管理器,对共享虚拟文件树进行管理。具体的,可以根据共享内存中的共享信息对应创建共享虚拟文件树节点,以及根据自身的共享文件信息更新共享虚拟文件树节点。并将更新后的共享虚拟文件树节点信息映射到其它从系统域的共享虚拟文件树中。使得从系统域的共享虚拟文件树根据映射信息更新自身的共享虚拟文件树。并且还可根据从系统域创建和更新节点信息,对主系统域的共享虚拟文件树进行更新,并传递给其它从系统域。
参考图3,在需要从主系统域向从系统域共享文件时,在创建、读写、删除和控制模拟文件时,利用主系统域的文件系统实现上述操作,并将上述信息传输至共享文件模拟器,共享文件模拟器将上述操作后的文件和操作生成文件信息和操作信息,并将文件信息和操作信息传输给主共享虚拟文件处理器,主共享虚拟文件处理器将上述信息封装为数据包和命令包,上传至共享内存中,从系统域共享虚拟文件处理器在共享内存中接收到共享虚拟文件数据包后触发中断。从系统域中共享虚拟文件处理器从共享内存中获取享文件的数据包和命令包,并进行解析处理,得到操作数据和文件数据,并将操作数据和文件数据传递给从系统域文件模拟器,从系统域文件模拟器利用从系统域的文件系统的文件处理接口模拟文件。利用上述方式可完成主系统域的文件共享至从系统域。
在从系统域利用文件系统对文件进行操作时,从系统域共享文件模拟器将上述操作后的文件和操作生成文件信息和操作信息,并将文件信息和操作信息传输给从系统域共享虚拟文件处理器。从系统域共享虚拟文件处理器装为数据包和命令包,上传至共享内存中。主系统域的主共享虚拟文件处理器解析数据包和命令包,并将解析结果传递至共享文件模拟器模拟文件,并传递至主系统域的文件系统。可利用上述方式可完成从系统域的文件共享至主系统域。
参见图4,图4示出了从系统域和从系统域共享虚拟文件时序示意图。该方法域上述主系统域向从系统域共享虚拟文件的流程近似。在从系统域彼此共享文件前,从系统域根据共享文件先更新自身的共享虚拟文件树节点,并传递至主系统域共享虚拟文件树节点进行更新,以对需要共享的其它从系统域映射。在从系统域利用文件系统对文件进行操作时,从系统域共享文件模拟器将上述操作后的文件和操作生成文件信息和操作信息,并将文件信息和操作信息传输给从系统域共享虚拟文件处理器。从系统域共享虚拟文件处理器装为数据包和命令包,上传至共享内存中。另一从系统域的共享虚拟文件处理器解析数据包和命令包,并将解析结果传递至该从系统域的共享文件模拟器模拟文件,并传递至该从系统系统域的文件系统。可以采用上述方式完成从系统域向其它从系统域共享文件。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其它等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种基于多系统隔离的虚拟文件共享系统,其特征在于,包括:
主系统域,所述主系统域设置于主Linux系统中;
从系统域,所述从系统域设置于从Linux系统或者从guest rtos系统中;
所述主系统域包括:
主共享虚拟文件管理器,其基于主系统域的共享虚拟文件信息和从系统域获取的共享虚拟文件节点信息维护共享虚拟文件树,所述共享虚拟文件树用于定义共享文件依存的系统信息和共享文件信息,并将实时维护的共享虚拟文件树信息映射到从系统域;共享文件模拟器,用于根据共享虚拟文件树节点信息生成主系统域文件处理接口对应的模拟文件,并根据主系统域对文件的操作生成操作修改数据,并将所述操作修改数据发送至共享虚拟文件处理器;
共享虚拟文件处理器,所述共享虚拟文件处理器负责获取共享内存中从系统域写入的共享文件的数据包和命令包,并对所述数据包和命令包进行解析处理发送至共享文件模拟器;
以及接收共享文件模拟器发送的操作修改数据,封装为数据包和命令包,通过共享内存发送给其它系统域共享虚拟文件系统;
所述从系统域包括:
从系统域共享虚拟文件处理器,用于根据从系统域的系统中文件处理信息生成节点信息,将生成的节点信息通过共享内存发送至主系统域;并将通过主共享虚拟文件管理器映射的共享虚拟文件节点信息添加到对应从系统域共享虚拟文件树中;
以及,获取共享内存中其它系统域写入的共享文件的数据包和命令包,并对所述数据包和命令包进行解析处理发送至从系统域文件模拟器,并接收从系统域文件模拟器发送的数据,并封装为数据包和命令包,通过共享内存发送给其它系统域共享虚拟文件系统;
从系统域文件模拟器,用于根据共享虚拟文件树节点信息生成从系统域文件处理接口对应的模拟文件,并根据从系统域对文件的操作生成操作修改数据,并将所述操作修改数据发送至从系统域共享虚拟文件处理器。
2.根据权利要求1所述的系统,其特征在于,所述基于主系统域的共享虚拟文件信息和从系统域获取的共享虚拟文件节点信息维护共享虚拟文件树,包括:
所述主共享虚拟文件管理器为所述主系统域在共享虚拟文件树创建主系统域虚拟文件树节点;从共享内存中读取从系统域中的共享虚拟文件树节点信息,并在所述共享虚拟文件树创建对应的共享虚拟文件树节点。
3.根据权利要求2所述的系统,其特征在于,所述将实时维护的共享虚拟文件树信息映射到从系统域,包括:
映射挂载主系统域共享虚拟文件节点到从系统域共享虚拟文件节点;
映射挂载一个从系统域共享虚拟文件节点到另一个从系统域共享虚拟文件节点。
4.根据权利要求3所述的系统,其特征在于,主系统域和从系统域写入共享内存命令包和数据包后触发对应系统域中断,由需要对应响应的主系统域或从系统域的共享虚拟文件处理器直接读取。
5.根据权利要求3所述的系统,其特征在于,所述从系统域文件模拟器和从系统域共享虚拟文件处理器用于将每个模拟文件信息通过树结构方式保存在内存。
6.根据权利要求5所述的系统,其特征在于,所述从系统域和主系统域中都设有一个根节点,所述根节点挂载对应的内核对象、设备、和文件节点。
7.根据权利要求6所述的系统,其特征在于,内核对象节点用于挂载内核线程、信号量和信息队列;
设备节点用于挂载gpio、uart、i2c和adc硬件设备及uio、kvm、random虚拟设备,所述文件节点挂载文件系统。
8.根据权利要求7所述的系统,其特征在于,所述内核对象、设备、文件节点对应设有适配节点对象函数。
9.根据权利要求7所述的系统,其特征在于,所述共享虚拟文件树节点包括:
系统映射结构、节点权限结构、节点结构定义结构、节点数目结构和节点指向结构。
10.根据权利要求9所述的系统,其特征在于,所述节点权限结构标记如下文件共享类型:
普通模式、共享模式、特权共享模式、只读模式、读写模式、控制模式、创建模式和删除模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410057014.0A CN117591489B (zh) | 2024-01-16 | 2024-01-16 | 基于多系统隔离的虚拟文件共享系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410057014.0A CN117591489B (zh) | 2024-01-16 | 2024-01-16 | 基于多系统隔离的虚拟文件共享系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117591489A CN117591489A (zh) | 2024-02-23 |
CN117591489B true CN117591489B (zh) | 2024-06-07 |
Family
ID=89922213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410057014.0A Active CN117591489B (zh) | 2024-01-16 | 2024-01-16 | 基于多系统隔离的虚拟文件共享系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117591489B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117891565B (zh) * | 2024-03-14 | 2024-05-17 | 麒麟软件有限公司 | 基于多系统隔离的显示虚拟共享系统 |
CN118093274B (zh) * | 2024-04-23 | 2024-07-09 | 麒麟软件有限公司 | 一种硬件隔离多系统的备份系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987858A (zh) * | 2005-12-19 | 2007-06-27 | 国际商业机器公司 | 在计算机间共享计算机数据的方法和设备 |
CN102682129A (zh) * | 2012-05-17 | 2012-09-19 | 北京像素软件科技股份有限公司 | 一种基于虚拟文件系统的数据读取方法 |
CN103399812A (zh) * | 2013-07-22 | 2013-11-20 | 西安电子科技大学 | 基于Xen硬件虚拟化的磁盘文件操作监控系统及监控方法 |
CN105447203A (zh) * | 2015-12-31 | 2016-03-30 | 杭州华为数字技术有限公司 | 一种共享文件的访问方法、系统及相关设备 |
CN112764877A (zh) * | 2021-01-06 | 2021-05-07 | 北京睿芯高通量科技有限公司 | 一种用于硬件加速设备与docker内进程通信的方法与系统 |
CN114327944A (zh) * | 2021-12-24 | 2022-04-12 | 科东(广州)软件科技有限公司 | 一种多系统共享内存的方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11748301B2 (en) * | 2021-10-20 | 2023-09-05 | EMC IP Holding Company LLC | Global tracking of virtual inode numbers in snap-based filesystems |
-
2024
- 2024-01-16 CN CN202410057014.0A patent/CN117591489B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987858A (zh) * | 2005-12-19 | 2007-06-27 | 国际商业机器公司 | 在计算机间共享计算机数据的方法和设备 |
CN102682129A (zh) * | 2012-05-17 | 2012-09-19 | 北京像素软件科技股份有限公司 | 一种基于虚拟文件系统的数据读取方法 |
CN103399812A (zh) * | 2013-07-22 | 2013-11-20 | 西安电子科技大学 | 基于Xen硬件虚拟化的磁盘文件操作监控系统及监控方法 |
CN105447203A (zh) * | 2015-12-31 | 2016-03-30 | 杭州华为数字技术有限公司 | 一种共享文件的访问方法、系统及相关设备 |
CN112764877A (zh) * | 2021-01-06 | 2021-05-07 | 北京睿芯高通量科技有限公司 | 一种用于硬件加速设备与docker内进程通信的方法与系统 |
CN114327944A (zh) * | 2021-12-24 | 2022-04-12 | 科东(广州)软件科技有限公司 | 一种多系统共享内存的方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117591489A (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117591489B (zh) | 基于多系统隔离的虚拟文件共享系统 | |
WO2021051914A1 (zh) | 基于gpu资源的数据处理方法、电子设备及系统 | |
DE102022102788A1 (de) | Konfigurierbare vorrichtungsschnittstelle | |
Rusling | The linux kernel | |
DE112020006859T5 (de) | Beibehaltung von speicher-namensraum-identifizierern für die migration von virtualisierten ausführungsumgebungen im laufenden betrieb | |
US7661006B2 (en) | Method and apparatus for self-healing symmetric multi-processor system interconnects | |
US20190042329A1 (en) | System with programmable multi-context accelerator circuitry | |
CN103034524B (zh) | 半虚拟化的虚拟gpu | |
Burgio et al. | A software stack for next-generation automotive systems on many-core heterogeneous platforms | |
US20140297775A1 (en) | Method and system for providing remote direct memory access to virtual machines | |
US8065441B2 (en) | Method and apparatus for supporting universal serial bus devices in a virtualized environment | |
US9418181B2 (en) | Simulated input/output devices | |
CN117407123B (zh) | 基于多系统隔离的usb设备虚拟共享系统 | |
CN108932154A (zh) | 一种分布式虚拟机管理器 | |
Ahn et al. | Dcs: a fast and scalable device-centric server architecture | |
Sinha et al. | Towards an integrated vehicle management system in DriveOS | |
US20230176934A1 (en) | Object linearization for communications | |
CN114691286A (zh) | 服务器系统、虚拟机创建方法及装置 | |
CN113934504A (zh) | 一种系统以及中断处理方法 | |
Markussen et al. | Smartio: Zero-overhead device sharing through pcie networking | |
CN116954830B (zh) | jailhouse下使虚拟机实现msi/x中断的方法 | |
CN115202808A (zh) | 一种用于虚拟化环境中片上系统的dma方法及系统 | |
Secco et al. | Message passing on InfiniBand RDMA for parallel run-time supports | |
Krishnaveni et al. | Comparing and evaluating the performance of inter process communication models in Linux environment | |
Trams et al. | Memory Management in a combined VIA/SCI Hardware |
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 | ||
GR01 | Patent grant |