CN107924290A - 控制文件系统的电子设备及其操作方法 - Google Patents
控制文件系统的电子设备及其操作方法 Download PDFInfo
- Publication number
- CN107924290A CN107924290A CN201680047407.7A CN201680047407A CN107924290A CN 107924290 A CN107924290 A CN 107924290A CN 201680047407 A CN201680047407 A CN 201680047407A CN 107924290 A CN107924290 A CN 107924290A
- Authority
- CN
- China
- Prior art keywords
- file system
- file
- electronic equipment
- link
- page
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- 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/172—Caching, prefetching or hoarding of files
-
- 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/185—Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Telephone Function (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
公开了一种操作电子设备的方法,所述方法包括:挂载第一文件系统,并在所述第一文件系统上挂载第二文件系统,其中所述第一文件系统和所述第二文件系统被包括在多个可堆叠文件系统中;接收应用程序的文件的打开请求;响应于所述请求,在所述第一文件系统中生成与第一文件对应的第一文件对象,并且在所述第二文件系统中生成与第二文件对应的第二文件对象;以及配置所述第一文件对象和所述第二文件对象之间的链接。
Description
技术领域
本公开的各种实施例涉及一种电子设备及其操作方法。例如,用于控制在存储器中挂载(mount)的文件系统的电子设备及其操作方法。
背景技术
电子设备可以将文件数据配置在存储介质中,并通过操作系统的文件系统读写该文件数据。
根据各个方面,在设计电子设备文件系统时,可以通过可堆叠(stackable)层来设计一个或多个文件系统层。电子设备可以将用于操作文件数据的本地(native)文件系统挂载到存储器中,并且可以将可堆叠文件系统挂载到本地文件系统。将可堆叠文件系统挂载到本地文件系统的文件系统被称为分层文件系统。
可堆叠文件系统可以独立地挂载到存储器中或从存储器中卸载,并且可以执行特定功能或特定操作。
发明内容
[技术问题]
由于分层文件系统无法知道哪个文件系统在分层文件系统的较高层或较低层中被操作,所以分层文件系统在层之间传送文件数据时可能传送数据,而不是使用传送文件的地址的方案,并且分层文件系统使用由各层的文件系统分配存储器并管理数据的方案。
在分层文件系统中,相同的文件数据作为页缓存被分配给分层文件系统的多个文件系统中的每一个,使得系统存储器可能被浪费。
另外,当电子设备处于安全模式时,与加密有关的信息或未加密的数据可以保留在分层文件系统的多个文件系统中的一个或多个文件系统中。
由于多个可堆叠文件系统的每个文件系统是独立挂载或者卸载的,所以基于一个文件系统层无法知道哪个文件系统已经挂载在较高或较低的一侧。因此,即使文件对象是由同一进程的文件打开请求生成的,文件系统的文件对象也不能直接引用较低层以及较低文件系统的文件对象,因此无论何时搜索较低的对象,可能都需要执行复杂的操作(例如,文件查找)。
在本公开的各个实施例中,由应用程序打开的文件的列表被配置在可堆叠文件系统的重叠或独立挂载的多个文件系统中,使得可堆叠文件系统可以被有效地管理。
另外,根据本公开的各种实施例,可以一次管理存储在分层文件系统中的与加密有关的信息和数据。
另外,根据本公开的各种实施例,可以管理在可堆叠文件系统中重叠的文件数据。
[问题的解决方案]
根据本公开的实施例,提供了一种电子设备。该电子设备可以包括:非易失性存储设备,存储至少一个应用程序;易失性存储器;以及电连接到所述存储设备和所述存储器的处理器,其中所述存储设备存储指令,所述指令在被执行时使所述处理器:在所述存储器上挂载第一文件系统,在所述第一文件系统上挂载第二文件系统,接收针对应用程序的文件的打开请求,响应于所述请求,分别在所述第一文件系统和所述第二文件系统中生成与所述文件相对应的文件对象,以及配置所生成的文件对象之间的链接。
根据本公开的另一实施例,提供了一种电子设备。该电子设备可以包括:非易失性存储设备;易失性存储器;加密电路,被配置为在所述存储设备和所述存储器之间执行硬件方面的加密和/或解密操作;以及处理器,电连接到所述存储设备、所述存储器和所述加密电路,其中所述存储设备存储指令,所述指令在被执行时使所述处理器:将与所述存储设备接口的设备接口挂载在所述存储器中,在所述设备接口中挂载第一文件系统和加密文件系统,并且将所述加密电路中使用的与加密和/或解密有关的信息从所述加密文件系统传送到所述加密电路,并且所述加密电路基于所传送的信息对至少一个文件执行加密或解密操作。
根据本公开的另一实施例,提供了一种操作电子设备的方法。所述方法可以包括:挂载第一文件系统,并在所述第一文件系统上挂载第二文件系统;接收针对应用程序的文件的打开请求;响应于所述请求,分别在所述第一文件系统和所述第二文件系统中生成与所述文件相对应的文件对象;以及配置所生成的文件对象之间的链接。
根据本公开的另一实施例,提供了一种操作电子设备的方法。所述方法可以包括:挂载第一文件系统和加密文件系统;将所述加密电路中使用的与加密和/或解密有关的信息从所述加密文件系统传送到所述加密电路;以及由所述加密电路基于所传送的信息对至少一个文件执行加密或解密操作。
根据本公开的各种实施例,可以提供一种用于控制文件系统的电子设备及其操作方法。因此,根据本公开的各种实施例的电子设备可以被配置为在至少一个文件系统中配置通过相同请求打开的文件之间的链接,所述文件彼此独立地挂载,并且所述电子设备可以基于所配置的链接在多个文件系统中传送特定事件或执行特定功能。另外,本公开可以删除可堆叠文件系统中某些层可能保留的加密信息和未加密的数据,从而提高安全性。另外,本公开可以删除被重叠并存储在可堆叠文件系统中的文件缓存,从而提高了存储器使用效率。
在进行以下的具体实施方式之前,阐述贯穿本专利文档所使用的某些词语和短语的定义是有利的:术语“包含”和“包括”及其派生词意味着在没有限制的情况下的包含;术语“或”是非排除性的,意味着和/或;短语“与……相关联”和“与其相关联”以及其派生词可以意味着包括、被包括在内、与……互连、包含、被包含在内、连接到或与……连接、耦接到或与……耦接、可与……通信、与……协作、交织、并置、接近……、绑定到……或与……绑定、具有、具有……的属性等;以及术语“控制器”意味着可以控制至少一种操作的任何设备、系统或其一部分,这种设备可以实现为硬件、固件或软件、或它们中的至少两种的某种组合。应注意,与任何特定控制器相关联的功能可以是集中式或者分布式的,无论本地还是远程。贯穿本专利文档提供对于某些词语和短语的定义,本领域普通技术人员应该理解:在许多实例(如果不是大多数实例)中,这种定义适用于这样定义的词语和短语的现有以及将来使用。
附图说明
为了更加全面地理解本公开及其优点,现在结合附图来参考以下描述,在附图中类似的附图标记表示类似的组件:
图1示出了根据本公开的各种实施例的电子设备和网络的框图;
图2示出了根据各种实施例的电子设备的框图;
图3示出了根据本公开各种实施例的程序模块的框图;
图4示出了根据本公开的各种实施例的程序模块的配置的框图;
图5示出了根据本公开的各种实施例的电子设备的配置的框图;
图6示出了根据本公开的各种实施例的包括在存储器中的缓冲区的配置的框图;
图7示出了根据本公开的各种实施例的加密文件系统的操作的概念图;
图8示出了根据本公开各种实施例的加密模块的框图;
图9示出了根据本公开各种实施例的电子设备的加密/解密操作的流程图;
图10示出了根据本公开各种实施例的加密/解密操作的图;
图11和12示出了根据本公开的各种实施例的链接配置方法的概念图;
图13示出了根据本公开的各种实施例的链接配置操作的流程图;
图14示出了根据本公开的各种实施例的设置加密密钥的操作的流程图;
图15示出了根据本公开的各种实施例的删除安全信息的操作的流程图;以及
图16示出了根据本公开的各种实施例的由存储器系统回收存储器的操作的流程图。
具体实施方式
以下讨论的图1至图16和用于描述本专利文档中的本公开的原理的各种实施例仅仅是说明性的,而决不应以任何方式解释为限制本公开的范围。本领域技术人员将理解:可以以任何适当布置的电子设备来实现本公开的原理。
在下文中,将参考附图来描述本公开的各种实施例。然而应该理解的是并不旨在将本公开局限于这里公开的具体形式;相反,本公开应当被解释为覆盖本公开的实施例的各种修改、等同物和/或替代。在描述附图的过程中,可以将相似的附图标记用于表示相似的组成元件。
如本文所用,表述“具有”、“可以具有”、“包括”或“可以包括”表示存在对应特征(例如,数字、功能、操作或诸如组件的组成元件),而不排除一个或更多个附加特征。
在本公开中,表述“A或B”、“A或/和B中的至少一个”或“A或/和B中的一个或多个”可以包括所列出项目的所有可能组合。例如,表述“A或B”、“A和B中的至少一个”或“A或B中的至少一个”指的是以下所有情形:(1)包括至少一个A,(2)包括至少一个B,或者(3)包括至少一个A和至少一个B的全部。
在本公开各种实施例中使用的表述“第一”或“第二”可以修饰各种组件,而不管顺序和/或重要性如何,但不限制对应组件。例如,“第一用户设备”和“第二用户设备”指示不同的用户设备,而与顺序或重要性无关。例如,可以将第一元件称为第二元件,以及类似地可以将第二元件称为第一元件,而不脱离本公开的范围。
应当理解:当将一元件(例如,第一元件)称为(可操作或可通信地)“连接”或“耦接”到另一元件(例如,第二元件)时,该元件可以直接连接或直接耦接到该另一元件,或者可以在它们之间插入任何其他元件(例如,第三元件)。相反,可以理解:在将一元件(例如,第一元件)称为“直接连接”或“直接耦接”到另一元件(第二元件)时,则不存在插入在它们之间的元件(例如,第三元件)。
根据情况,在本公开中使用的表述“被配置为”可以与以下各项交换:例如,“适合于”、“具有...的能力”、“被设计用于”、“适于”、“制作用于”或“能够”。术语“被配置为”可能不一定意味着在硬件方面“被专门设计为”。备选地,在一些情况下,表述“被配置为...的设备”可以意味着该设备与其它设备或组件一起“能够...”。例如,短语“适于(或(被)配置为)执行A、B和C的处理器”可以意味着仅用于执行对应操作的专用处理器(例如,嵌入式处理器),或可以通过执行存储在存储器设备中的一个或多个软件程序来执行对应操作的通用处理器(例如,中央处理单元(CPU)或应用处理器(AP))。
本文所用的术语仅用于描述具体实施例的目的,而非意在限制其它实施例的范围。除非上下文另外清楚地指示,否则单数形式也意在包括复数形式。除非另行定义,否则本文所用的所有术语(包括技术术语和科学术语)具有与本公开所属技术领域的技术人员通常理解的含义相同的含义。除非本公开中清楚地定义,否则这样的术语(如在常用词典中定义的术语)可以被解释为具有与相关技术领域中的上下文含义等同的含义,而不应被解释为具有理想的或过分正式的含义。例如,即使本公开中定义的术语也不应被解释为排除本公开的实施例。
根据本公开各种实施例的电子设备可以包括以下至少一项:智能电话、平板个人计算机(PC)、移动电话、视频电话、电子书阅读器(e-book阅读器)、台式PC、膝上型PC、上网本计算机、工作站、服务器、个人数字助手(PDA)、便携式多媒体播放器(PMP)、MPEG-1音频层-3(MP3)播放器、移动医疗设备、相机和可穿戴设备。根据各种实施例,可穿戴设备可以包括以下至少一种:饰品类型(例如,手表、戒指、手环、脚环、项链、眼镜、隐形眼镜或头戴式设备(HMD))、衣料或服饰集成类型(例如,电子服饰)、身体附着类型(例如,皮肤贴或纹身)和生物植入类型(例如,可植入电路)。
根据一些实施例,电子设备可以是家用电器。家用电器可以包括例如电视、数字视频盘(DVD)播放器、音频设备、冰箱、空调、吸尘器、烤箱、微波率、洗衣机、空气净化器、机顶盒、家庭自动控制面板、安全控制面板、TV盒(例如,SamsungApple或Google)、游戏机(例如,和)、电子词典、电子钥匙、摄像机和电子相框中的至少一个。
根据另一实施例,电子设备可以包括以下至少一项:各种医疗设备(例如,各种便携式医疗测量设备(血糖监控设备、心率监控设备、血压测量设备、体温测量设备等)、磁共振血管造影(MRA)、磁共振成像(MRI)、计算机断层扫描(CT)机和超声波扫描机)、导航设备、全球定位系统(GPS)接收机、事件数据记录仪(EDR)、飞行数据记录仪(FDR)、车辆信息娱乐设备、船用电子设备(例如,船用导航设备和罗盘)、航空电子设备、安全设备、车辆头单元、工业或家用机器人、银行的自动柜员机(ATM)、商店的销售点或物联网(例如,灯泡、各种传感器、电表或燃气表、洒水器设备、火警、恒温器、街灯、烤面包机、运动器材、热水箱、加热器、锅炉等)。
根据一些实施例,电子设备可以包括家具或建筑物/结构的一部分、电子板、电子签名接收设备、投影仪、以及各种测量仪器(例如水表、电表、气表、和无线电波表)中的至少一个。在各种实施例中,电子设备可以是上述各种设备中的一个或多个的组合。根据一些实施例,电子设备还可以是柔性设备。另外,根据本公开实施例的电子设备不限于上述设备,并可以包括根据技术发展的新型电子设备。
下文中,将参考附图来描述根据各种实施例的电子设备。在本公开中,术语“用户”可指示使用电子设备的人或者使用电子设备的设备(例如,人工智能电子设备)。
将参考图1来描述根据各种实施例的网络环境100中的电子设备101。电子设备101可以包括总线110、处理器120、存储器130、输入/输出接口150、显示器160和通信接口170。在一些实施例中,电子设备101可以省略上述元件中的至少一个,或还可以包括其他元件。
总线110可以包括例如用于将元件110~170彼此相连并在这些元件之间传送通信(例如,控制消息和/或数据)的电路。
处理器120可以包括以下项中的一个或多个:中央处理单元(CPU)、应用处理器(AP)和通信处理器(CP)。例如,处理器120可以执行与电子设备101的至少一个其它组件的控制和/或通信相关的操作或数据处理。
存储器130可以包括易失性存储器和/或非易失性存储器。存储器130可以存储例如与电子设备101的至少一个其它元件相关的指令或数据。根据实施例,存储器130可以存储软件和/或程序140。程序140可以包括内核141、中间件143、应用编程接口(API)145和/或应用程序(或“应用”)147。内核141、中间件143、和API 145中的至少一些可以被称作操作系统(0S)。
内核141可以控制或管理用于执行由其它程序(例如,中间件143、API 145或应用程序147)所实现的操作或功能的系统资源(例如,总线110、处理器120或存储器130)。另外,内核141可以提供接口,其中中间件143、API 145或应用程序147可以通过所述接口访问电子设备101的各个元件以控制或管理系统资源。
中间件143例如可以用作中介,从而允许API 145或应用程序147与内核141通信以交换数据。
此外,中间件143可以根据优先级处理从应用程序147接收到的一个或更多个任务请求。例如,中间件143可以向应用程序147中的至少一个指派使用电子设备101的系统资源(例如,总线110、处理器120、存储器130等)的优先级。例如,通过根据分配的优先级来处理一个或多个任务请求,中间件143可以对该一个或多个任务请求执行调度或负载均衡。
API 145是应用147用来控制由内核141或中间件143提供的功能的接口,并且可以包括例如用于文件控制、窗口控制、图像处理或文本控制的至少一个接口或功能(例如,指令)。
输入/输出接口150可以用作例如可以向电子设备101的其他元件传送从用户或其他外部设备输入的指令或数据的接口。另外,输入/输出接口150可以向用户或另一外部设备输出从电子设备101的其他元件接收的指令或数据。
显示器160可以包括例如液晶显示器(LCD)、发光二极管(LED)显示器、有机发光二极管(OLED)显示器或微机电系统(MEMS)显示器、和电子纸显示器。例如,显示器160可以向用户显示各种类型的内容(例如,文本、图像、视频、图标或符号)。显示器160可包括触摸屏,并可接收例如通过使用电子笔或用户身体的一部分进行的触摸、手势、接近或悬停输入。
例如,通信接口170可以设置电子设备101和外部设备(例如,第一外部电子设备102、第二外部电子设备104或服务器106)之间的通信。例如,通信模块170可以通过无线或有线通信与网络162相连,以便与外部设备(例如,第二外部电子设备104或服务器106)进行通信。
例如,无线通信可使用以下至少一项作为蜂窝通信协议:长期演进(LTE)、高级LTE(LTE-A)、码分多址(CDMA)、宽带CDMA(WCDMA)、通用移动电信系统(UMTS)、WiBro(无线宽带)和全球移动通信系统(GSM)。此外,无线通信可以包括例如短距离通信164。短距离通信164可以例如包括以下至少一项:Wi-Fi、近场通信(NFC)、全球导航卫星系统(GNSS)等。根据使用区域、带宽等,GNSS可以包括以下至少一项:例如,全球定位系统(GPS)、全球导航卫星系统( )、北斗导航卫星系统(以下称为“北斗”)或欧洲基于全球卫星的导航系统(伽利略)等。下文中,在本公开中,“GPS”可以与“GNSS”互换使用。有线通信可以包括例如通用串行总线(USB)、高清多媒体接口(HDMI)、推荐标准232(RS-232)和普通老式电话服务(POTS)中的至少一个。网络162可包括诸如计算机网络(例如LAN或WAN)之类的通信网络、互联网和电话网络中的至少一种。
第一外部电子设备102和第二外部电子设备104中的每一个可以是与电子设备101相同或不同类型的电子设备。根据实施例,服务器106可以包括具有一个或多个服务器的组。根据各种实施例,可以在另一电子设备或多个电子设备(例如,电子设备102和104或服务器106)中执行电子设备101所执行的所有操作或部分操作。根据实施例,当电子设备101必须自动地或响应于请求来执行一些功能或服务时,电子设备101可向另一设备(例如,电子设备102和104或服务器106)请求执行与所述功能或服务相关的至少一些功能,而不是自身执行该功能或服务或附加地执行该功能或服务。另一电子设备(例如,电子设备102和104)或服务器106可以执行所请求的功能或附加功能,并可以向电子设备101传送执行结果。电子设备101可以处理接收到的结果本身,或者附加地对结果进行处理以提供请求的功能或服务。为此,例如,可以使用云计算、分布式计算或客户端-服务器计算技术。
图2是根据各个实施例的电子设备201的框图。电子设备201可以包括例如图1所示的电子设备101的整体或一部分。电子设备201可以包括至少一个处理器210(例如,应用处理器(AP))、通信模块220、用户标识模块224、存储器230、传感器模块240、输入设备250、显示器260、接口270、音频模块280、相机模块291、电源管理模块295、电池296、指示器297和电机298。
处理器210可以通过驱动操作系统或应用程序来控制与处理器210连接的多个硬件或软件组件,并且执行各种数据段的处理和计算。处理器210可以通过例如片上系统(SoC)来实现。根据实施例,处理器210还可以包括图形处理单元(GPU)和/或图像信号处理器。处理器210可以包括如图2所示的元件中的至少一些(例如,蜂窝模块221)。处理器210可以将从至少一个其他元件(例如,非易失性存储器)接收到的指令或数据加载到易失性存储器中,可以处理所加载的指令或数据,并且可以将各种数据存储在非易失性存储器中。
通信模块220可以具有与图1的通信接口170相同或相似的配置。通信模块220可以包括例如蜂窝模块221、Wi-Fi模块223、模块225、GNSS模块227(例如,GPS模块、模块、模块或模块)、NFC模块228和射频(RF)模块229。
蜂窝模块221可以通过例如通信网络提供语音呼叫、图像呼叫、文本消息服务或互联网服务。根据一个实施例,蜂窝模块221可以使用订户识别模块SIM(例如,SIM卡224)来识别和认证通信网络中的电子设备201。根据一个实施例,蜂窝模块221可以执行处理器210可以提供的功能中的至少一些功能。根据一个实施例,蜂窝模块221可以包括通信处理器(CP)。
Wi-Fi模块223、模块225、GNSS模块227或NFC模块228可以包括例如用于处理经对应模块发送和接收的数据的处理器。根据一些实施例,蜂窝模块221、Wi-Fi模块223、BT模块225、GNSS模块227和NFC模块228中的至少一些(例如,两个或更多个)可以被包括在一个集成芯片(IC)中或IC封装中。
RF模块229可以发射/接收例如通信信号(例如RF信号)。RF模块229可以包括例如收发机、功率放大模块(PAM)、频率滤波器、低噪放大器(LNA)或天线。根据本公开的另一实施例,蜂窝模块221、Wi-Fi模块223、BT模块225、GNSS模块227和NFC模块228中的至少一个可以通过单独的RF模块来发送/接收RF信号。
订户身份模块224可以包括例如包括订户身份模块和/或嵌入式SIM的卡,并可以包含独特标识信息(例如,集成电路卡标识符(ICCID))或订户信息(例如,国际移动订户标识(IMSI))。
存储器230(例如,存储器130)可以包括例如内部存储器232或者外部存储器234。嵌入式存储器232可以包括例如以下至少一项:易失性存储器(例如,动态随机存取存储器(DRAM)、静态RAM(SRAM)、同步动态DRAM(SDRAM)等)和非易失性存储器(例如,一次性可编程只读存储器(OTPROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存(例如,NAND闪存或NOR闪存)、硬盘驱动器或固态驱动器(SSD))。
外部存储器234还可以包括闪存驱动,例如,紧凑型闪存(CF)、安全数字(SD)、微型安全数字(Micro-SD)、迷你型安全数字(Mini-SD)、极限数字(xD)、存储棒等。外部存储器234可以通过各种接口与电子设备201功能连接和/或物理连接。
传感器模块240可以测量物理量或检测电子设备201的操作状态,并且可以将测量的或检测的信息转换为电信号。传感器模块240可以包括例如以下至少一项:手势传感器240A、陀螺仪传感器240B、气压传感器240C、磁传感器240D、加速度传感器240E、握持传感器240F、接近传感器240G、颜色传感器240H(例如,红、绿、蓝(RGB)传感器)、生物传感器240I、温度/湿度传感器240J、光传感器240K和紫外(UV)传感器240M。附加地或者备选地,传感器模块240可以包括例如电子鼻传感器、肌电图(EMG)传感器、脑电图(EEG)传感器、心电图(ECG)传感器、红外(IR)传感器、虹膜传感器和/或指纹传感器。传感器模块240还可以包括用于控制包括在其中的一个或多个传感器的控制电路。在一些实施例中,电子设备201还可以包括被配置为控制传感器模块240的处理器,作为处理器210的一部分或独立于处理器210,并可以在处理器210处于睡眠状态期间控制传感器模块240。
输入设备250可以包括例如触摸面板252、(数字)笔传感器254、按键256和超声输入单元258。触摸面板252可以使用例如电容方案、电阻方案、红外方案和超声方案中的至少一种。另外,触控面板252还可以包括控制电路。触摸面板252还可以包括触觉层,并向用户提供触觉反应。
(数字)笔传感器254可以包括例如识别片,该识别片是触摸面板的一部分或者与触摸面板分离。按键256可以包括例如物理按钮、光学键或键区。超声输入设备258可以通过麦克风(例如,麦克风288)来检测由输入工具产生的超声波,并识别与所检测到的超声波相对应的数据。
显示器260(例如,显示器160)可以包括面板262、全息设备264或投影仪266。面板262可以包括与图1示出的显示器160的配置相同或类似的配置。面板262可以被实现为例如柔性、透明或可穿戴的。面板262和触摸板252可以被实现为一个模块。全息设备264可以通过使用光的干涉在空气中显示三维图像。投影仪266可以通过将光投影到屏幕上来显示图像。该屏幕可以位于例如电子设备201的内部或外部。根据示例性实施例,显示器260还可以包括用于控制面板262、全息设备264或投影仪266的控制电路。
接口270可以包括例如高清多媒体接口(HDMI)272、通用串行总线(USB)274、光学接口276或D-超小型(D-sub)278。接口270可以被包括在例如图1所示的通信接口170中。附加地或备选地,接口270可以包括例如移动高清链接(MHL)接口、安全数字(SD)卡/多媒体卡(MMC)接口或红外数据协会(IrDA)标准接口。
音频模块280可以例如对声音和电信号进行双向转换。音频模块280的至少一些元件可以包括在例如图1所示的输入/输出接口150中。音频模块280可以处理通过例如扬声器282、听筒284、耳机286、麦克风288等输入或输出的声音信息。
相机模块291是可以拍摄静态图像和动态图像的设备。根据实施例,相机模块291可以包括一个或多个图像传感器(例如,前置传感器或后置传感器)、镜头、图像信号处理器(ISP)或闪光灯(例如,LED或氙灯)。
电力管理模块295可以管理例如电子设备201的电力。根据实施例,电源管理模块295可以包括电源管理集成电路(PMIC)、充电器集成电路(IC)或电池或燃料表。PMIC可以使用有线和/或无线充电方法。无线充电方法的示例可以包括例如磁谐振方法、磁感应方法、电磁波方法等。还可以包括用于无线充电的附加电路(例如,线圈环、谐振电路、整流器等)。电池表可以测量例如电池296的剩余量以及充电过程中的电压、电流或温度。电池296可以包括例如可再充电电池或太阳能电池。
指示器297可以指示电子设备201或电子设备201的一部分(例如,处理器210)的特定状态,例如,启动状态、消息状态、充电状态等。电机298可以将电信号转换成机械振动,并且可以产生振动、触觉效果等。尽管未示出,但是电子设备201可以包括用于支持移动电视(TV)的处理单元(例如,GPU)。用于支持移动TV的处理单元可以例如根据诸如数字多媒体广播(DMB)、数字视频广播(DVB)或的特定标准来处理媒体数据。
根据本公开的每个上述组成元件可以配置有一个或多个组件,且相应组成元件的名称可以基于电子设备的类型而改变。根据本公开各种实施例的电子设备可以包括上述元件中的至少一个。可以省略一些元件,或者还可以将其他附加元件包括在电子设备中。同样,根据各种实施例的电子设备的组件中的一些可以组合为一个实体,该实体可以执行与相关组件在组合之前的功能相同的功能。
图3是根据本公开的各种实施例的程序模块的框图。根据实施例,程序模块310(例如程序140)可包括用于控制与电子设备(例如电子设备101)相关的资源的操作系统(OS)和/或在操作系统中执行的各种应用(例如应用程序147)。操作系统可以是例如 等。
程序模块310可以包括内核320、中间件330、应用编程接口(API)360和/或应用370。程序模块310的至少一部分可以预先加载到电子设备上,或者可以从外部电子设备(例如,电子设备102或104或服务器106)下载。
内核320(例如,内核141)可以包括例如系统资源管理器321和/或设备驱动器323。系统资源管理器321可以控制、指派或收集系统资源。根据一个实施例,系统资源管理器321可以包括进程管理器、存储器管理器或文件系统管理器。设备驱动器323例如可以包括显示器驱动器、相机驱动器、驱动器、共享存储器驱动器、USB驱动器、键区驱动器、Wi-Fi驱动器、音频驱动器或进程间通信(IPC)驱动器。
中间件330可以提供应用370共同需要的功能,或者通过API 360向应用370提供各种功能,使得应用370可以高效地使用电子设备内的有限系统资源。根据实施例,中间件330(例如中间件143)可以包括例如以下至少一项:运行时间库335、应用管理器341、窗口管理器342、多媒体管理器343、资源管理器344、电源管理器345、数据库管理器346、包管理器347、连接管理器348、通知管理器349、位置管理器350、图形管理器351和安全管理器354。
运行时间库335可以包括例如由编译器用来在执行应用370期间通过编程语言来添加新功能的库模块。运行时间库335可执行输入/输出管理、存储器管理或用于算术功能的功能。
应用管理器341可以管理例如至少一个应用370的生命周期。窗口管理器342可以管理在屏幕上使用的图形用户界面(GUI)资源。多媒体管理器343可以识别再现各种媒体文件所需要的格式,并通过使用适合于对应格式的编解码器来对媒体文件进行编码或解码。资源管理器344可以管理至少一个应用370(诸如源代码、存储器和存储空间)的资源。
电源管理器345可以与例如基本输入/输出系统(BIOS)一同操作,以便管理电池或电源,并可以提供用于操作电子设备所需的电力信息。数据库管理器346可以产生、搜索和/或改变将被至少一个应用370使用的数据库。包管理器347可管理以包文件的形式分发的应用的安装或更新。
例如,连接管理器348可以管理例如Wi-Fi或的无线连接。通知管理器349可以用不打扰用户的方式来显示或通知诸如到来消息、约定、接近通知等的事件。位置管理器350可以管理电子设备的位置信息。图形管理器351可以管理将向用户提供的图形效果以及与图形效果相关的用户界面。安全管理器352可以提供系统安全或用户认证所需的所有安全功能。根据实施例,当电子设备(例如,电子设备101)具有电话呼叫功能时,中间件330还可以包括电话管理器,用于管理电子设备的语音呼叫功能或视频呼叫功能。
中间件330可以包括中间件模块,所述中间件模块构成上述元件的各种功能的组合。中间件330可以提供根据操作系统的类型而特殊化的模块,以便提供差异化的功能。另外,中间件330可动态移除现有元件中的一些,或可添加新元件。
API 360(例如API 145)例如是API编程功能的集合,并且可以根据OS而具有不同配置。例如,在或中,可以针对每个平台提供一个API集,在中,可以针对每个平台提供两个或更多个API集。
应用370(例如应用程序147)可包括例如可以执行以下功能的一个或多个应用:例如,主页371、拨号器372、SMS/MMS 373、即时消息(IM)374、浏览器375、相机376、闹钟377、联系人378、语音拨号器379、电子邮件380、日历381、媒体播放器382、相册383、时钟384、健康护理(例如测量运动量或血糖)或环境信息(例如大气压、湿度、温度信息等)。
根据实施例,应用370可以包括支持在电子设备(例如电子设备101)和外部电子设备(例如,电子设备102和104)之间交换信息的应用(为了便于描述,下文中称作“信息交换应用”)。信息交换应用可以包括例如用于将特定信息传送到外部电子设备的通知中继应用或用于管理外部电子设备的设备管理应用。
例如,通知中继应用可以包括向外部电子设备(例如,电子设备102和104)传送从电子设备101的其它应用(例如,SMS/MMS应用、电子邮件应用、健康管理应用或环境信息应用)产生的通知信息的功能。另外,通知中继应用可以从例如外部电子设备接收通知信息,并可以将接收到的通知信息提供给用户。
设备管理应用可以管理(例如,安装、删除或更新)例如与该电子设备通信的外部电子设备(例如,电子设备102或104)的至少一个功能(例如,接通/断开外部电子设备自身(或其一些组件)的功能、或调整显示器的亮度(或分辨率)的功能)、在外部电子设备中运行的应用、或由外部电子设备提供的服务(例如,呼叫服务和消息服务)。
根据实施例,应用370可以包括根据外部电子设备102和104的属性指定的应用(例如,移动医疗设备的健康护理应用等)。根据实施例,应用370可以包括从外部电子设备(例如,服务器106或者电子设备102和104)接收到的应用。根据实施例,应用370可包括预加载的应用或可从服务器下载的第三方应用。根据本公开上述实施例的程序模块310的元件名称可以根据0S的类型而改变。
根据本公开的各种示例实施例,程序模块310的至少一部分可以实现为软件、固件、硬件或其中的两个或更多个的组合。程序模块310中的至少一些可以由例如处理器(例如,处理器210)来实现(例如,执行)。程序模块310中的至少一些可以包括例如用于执行一个或多个功能的模块、程序、例程、指令集和/或进程。
图4是示出了根据本公开各种实施例的程序模块的配置的框图。
参考图4,程序模块400概念上可以划分为在虚拟内存中的用户地址空间中操作的应用程序420和在内核地址空间中操作的操作系统430。
应用程序420可以指在用户地址空间中操作的程序,即用户进程。
应用程序420可以包括多个处理器。例如,应用程序420可以包括第一进程421、第二进程422和第n进程429。进程421、422、429中的每一个可以具有其自己的单独的地址空间。应用程序420可以在其自己的地址空间中生成存储器空间(缓冲区),并且从内核的文件系统读取任意文件或者在文件系统中写入文件。
应用程序420可以对应于图3中的应用370、API 360和中间件330。
操作系统430可以对应于图3中的内核320。根据本公开的各种实施例,操作系统430可以包括系统调用接口440、虚拟文件系统450、第一可堆叠文件系统460、第二可堆叠文件系统470、本地文件系统480以及设备接口490。
另外,操作系统430还可以包括该文件系统之外的其他文件系统。
系统调用接口440对应于使得用户区域的应用程序420能够使用内核区域的操作系统430的功能的接口,并且可以提供使得至少一个进程能够访问硬件的功能。
虚拟文件系统450可以向应用程序420提供文件系统接口。例如,虚拟文件系统450使应用程序能够以相同的方法访问任何种类的文件系统。另外,虚拟文件系统450可以指实际文件系统之上的抽象层。
在操作系统430的运行时,第一可堆叠文件系统460可在另一文件系统的较高层挂载或卸载。第一可堆叠文件系统460可以执行至少一个功能或至少一个操作。第一可堆叠文件系统460可以是由虚拟文件系统450接口的最高层文件系统,并且可以挂载在第二可堆叠文件系统470或本地文件系统480的较高层。
在操作系统430的运行时,第二可堆叠文件系统470可在另一文件系统的较高层挂载或卸载。第二可堆叠文件系统470可以执行至少一个功能或至少一个操作。第二可堆叠文件系统470可以是第一可堆叠文件系统460的较低层文件系统,并且可以挂载在本地文件系统480的较高层。在本公开的各种实施例中,可以省略第二可堆叠文件系统470。另外,第三和第四可堆叠文件系统可以被配置在第二可堆叠文件系统的较低层中。因此,在本公开的各种实施例中,层的深度不限于特定的深度。
根据一个实施例,可堆叠文件系统460和470分别取决于各方面可以是各种类型的可堆叠文件系统。例如,一个可堆叠文件系统可以是用于压缩和释放文件数据的压缩文件系统,并且可以是用于加密/解密文件数据的加密文件系统。另外,可堆叠文件系统可以是用于根据电子设备的一个方面管理目录和文件的许可而不校正文件数据的权限管理文件系统。对可堆叠文件系统的描述是示例描述,可以挂载或者卸载与所述可堆叠文件系统具有不同方面的可堆叠文件系统。同时,根据一些方面,可堆叠文件系统可以具有或不具有层内的文件数据的页缓存。例如,第一可堆叠文件系统460可具有文件的页缓存,并操作和管理文件。用于管理目录授权的权限管理文件系统可以不管理文件的页缓存。
本地文件系统480可以直接访问诸如磁盘(存储设备)和网络之类的较低级别的介质。例如,本地文件系统480可以是用于直接访问存储设备540的存储设备驱动程序的文件系统。可以使用操作系统的FAT或者的Ext作为本地文件系统480,但是根据本公开的各种实施例的本地文件系统480不限于特定的文件系统。本地文件系统480也可以通过在操作系统430的运行时进行挂载来使用,并且将在说明书的其余部分中被描述为“最低层的文件系统”。另外,虽然图中未示出,但是本地文件系统通过内核内的通用块层来执行与磁盘的输入/输出。然后,在本地文件系统应当用实际磁盘(例如,存储设备)执行输入/输出(I/O)的时间点,本地文件系统可以向块设备驱动程序请求I/O。
在本说明书的描述中,根据它们之间的挂载关系,可堆叠文件系统460和470以及本地文件系统480中的至少一个可被表示为当前文件系统、较高文件系统、较低文件系统、最高文件系统以及最低文件系统。
在本说明书中,在电子设备的存储器中挂载并配置为重叠的多个文件系统可以表示为“整个文件系统”或“多个文件系统”。根据一个实施例,“整个文件系统”可以包括一个本地文件系统和至少一个可堆叠文件系统。根据另一个实施例,“整个文件系统”可以由至少一个可堆叠文件系统来配置。
设备接口490可以提供与至少一个设备的接口。例如,设备接口490可以提供与将在下面描述的存储设备的接口。根据一个实施例,设备接口490可以包括用于存储设备的设备驱动程序。
图5是示出了根据本公开各种实施例的电子设备的配置的框图。
参考图5,电子设备500可以包括处理器510、存储器520、DMA模块530和存储设备540。处理器510、存储器520、DMA模块530和存储设备540可以连接到系统总线550。
处理器510可以是处理器120和210,并且可以是处理器120和210的一部分。处理器510可以执行图4中的程序模块400的代码,然后执行与该代码对应的命令。处理器510可以指示DMA模块530在存储器520和存储设备540之间复制数据。
存储器520可以存储图4中描述的程序模块400的代码和数据。存储器520可以对应于图1和2中描述的易失性存储器。根据一个实施例,存储器520可以包括多个缓冲区。
直接存储器存取(DMA)模块530与用于在存储器区域之间以及在存储器520与I/O设备之间传输数据的模块相对应。例如,DMA模块530可以配置存储器520与存储设备540之间的通道以绕过处理器。DMA模块530可以位于应用处理器(AP)中的存储控制器中,或者不限于特定的位置。
存储设备540对应于数据存储设备,并且可以与图1和2中描述的非易失性存储器和记录介质相对应。本地文件系统480可以存储存储在存储设备540中的至少一个文件。
系统总线550可以是处理器510、存储器520、DMA模块530和存储设备540分别向另一组件发送数据和从另一组件接收数据的路径。
图6是示出根据本公开的各种实施例的包括在存储器520中的缓冲区的配置的框图。
参考图6,存储器520可以包括第一缓冲区610、第二缓冲区620、第三缓冲区630和第四缓冲区640。
第一缓冲区610可以是针对应用程序420中的文件生成的缓冲区。
第二缓冲区620可以是包括在第一可堆叠文件系统460中的文件的页缓存缓冲区。
第三缓冲区630可以是包括在第二可堆叠文件系统470中的文件的页缓存缓冲区。
第四缓冲区640可以是包括在本地文件系统480中的文件的页缓存缓冲区。
在图6中,在存储器520中省略了用于块层的虚拟文件系统450和缓冲区,并且存储器520中可以包括分别与块层相对应的虚拟文件系统450和缓冲区。
同时,根据文件系统策略或特定文件,可堆叠文件系统可以不管理文件数据的页缓存缓冲区。因此,存储器520可以不包括与特定可堆叠文件系统相对应的缓冲区。
图7是示出根据本公开的各种实施例的加密文件系统的操作的概念图。
参考图7,加密文件系统760与由虚拟文件系统450接口的最高文件系统相对应,并且可以挂载在本地文件系统480和第二可堆叠文件系统470的较高层。图7的加密文件系统760可以对应于图4的第一可堆叠文件系统460。
根据一个实施例,加密文件系统760可以是基于文件执行加密或解密操作的可堆叠文件系统。加密文件系统760可以基于加密信息来加密或解密至少一个文件。根据一个实施例,加密信息可以包括加密算法和加密密钥中的至少一个。图7示出将加密文件系统760挂载为由虚拟文件系统450接口的最高文件系统(第一可堆叠文件系统),可以将并非最高文件系统的加密文件系统760挂载为第二可堆叠文件系统或第三可堆叠文件系统。
当从较低文件系统读取和写入文件时,加密文件系统760可以基于保持在文件对象中的加密信息来执行加密或解密操作。根据一个实施例,加密信息可以包括加密算法和加密密钥中的至少一个。加密文件系统760可以从较低文件系统接收加密文件,并且解密所接收的加密文件。例如,本地文件系统480可以将加密文件传送到第二可堆叠文件系统470,并且第二可堆叠文件系统470可以将加密文件传送到加密文件系统760。根据一个实施例,根据文件系统的一些方面和种类,第二可堆叠文件系统470可以复制较低层的文件,并将所复制的文件传送到加密文件系统760。另外,第二可堆叠文件系统470可以不复制加密文件,并且可以将文件传送到加密文件系统760。根据一个实施例,根据文件系统的一些方面和种类,第二可堆叠文件系统470可以在文件系统层内缓存文件的页,并且可以不缓存页。根据一个实施例,第二可堆叠文件系统470可以具有加密的页缓存并且可以不具有加密的页缓存。
文件701(或文件对象)可以指文件系统层中当前管理的文件的数据结构。当文件被打开时,每个文件系统(可堆叠文件系统和本地文件系统)可以针对层内的对应文件生成文件701。根据一个实施例,文件701可以与由任意应用程序(进程)打开的文件的基于存储器的表达相对应。
每个文件的页缓存705和706可以通过文件701的地址空间703的数据结构来管理。另外,页缓存705和706可以对应于图6的第二缓冲区620。
根据一个实施例,可以针对加密文件系统760中的每个文件701管理文件的加密信息709。根据另一个例子,文件的加密信息709可以通过对多个文件进行分组来管理,因此可以被集中管理。
当在加密文件系统760中执行加密或解密操作时,加密文件系统760可以具有文件的未加密数据(即明文数据)作为文件701的页缓存705和706。较低文件系统(例如,本地文件系统)可以具有由加密文件系统760加密的数据作为文件702的页缓存707和708。另外,页缓存707和708可对应于图6的第四缓冲区640。
由于在每个文件系统层中生成并管理文件701和文件702,所以文件701和文件702是存储器中不同的文件和独立的对象。然而,文件701和文件702可以根据应用程序(用户进程)的相同文件的打开请求在相同的时间点生成。
根据本公开的各种实施例的电子设备101(例如,加密模块800)可以执行对文件进行加密或解密的操作。例如,包括在电子设备101中的文件系统可以通过加密模块800执行对文件进行加密或解密的操作。加密模块800可以通过软件、硬件、固件及其组合来配置。
图8是根据本公开各种实施例的加密模块的框图。
参考图8,加密模块800可以包括加密内核810和直接存储器存取(DMA)模块830。
加密内核810可以执行与数据加密或解密相关的一般操作。
DMA模块830在存储器520和存储设备540之间传输数据。DMA模块830可以对应于图5的DMA模块530。
根据一个实施例,加密模块800可以在使用DMA模块830的数据传输期间执行对数据进行加密或解密的操作。根据一个实施例,加密模块800可以包括三星电子有限公司的Flash Memory(FMP,闪存保护器)硬件。根据一个实施例,当为请求DMA传输的页设置了请求执行加密/解密的标志时,加密模块800可以基于所设置的标志在DMA传输期间对该页执行加密或解密的操作。根据一个实施例,加密模块800可以使用预先配置的加密信息来加密或解密页。
根据本公开的各种实施例,标志设置信息和加密信息可以通过软件传送到加密模块800。根据实施例,标志设置信息和加密信息可以根据文件系统请求通过设备接口490传送到加密模块800。
根据一个实施例,加密模块800可以包括在应用处理器中。例如,加密模块800可以包括在处理器(例如,处理器120和210)中。另外,加密模块800可以包括至少一个处理器和存储有固件的存储器。根据一个实施例,加密模块800可以由处理器的一部分或全部处理器以及存储有固件的存储器来实现。另外,加密模块800可以指加密电路。
参考图9,将描述根据本公开的各种实施例的通过电子设备101的加密模块800执行的加密或解密操作。
图9是示出根据本公开的各种实施例的电子设备101的加密/解密操作的流程图。
参考图9,在操作910中,电子设备101(例如,程序模块400或处理器510)可以对存储在存储设备540中的文件执行文件输入/输出。
例如,电子设备101的用户进程可以向文件系统请求文件输入/输出。文件系统可以响应于该请求向存储设备540请求输入/输出。
在操作930中,当请求输入/输出的文件需要被加密或解密时,文件系统可以将加密信息传送到设备接口490(例如,存储设备接口),以便将加密信息从加密文件系统760传送到加密模块800。
根据一个实施例,文件系统可以通过设备接口490将文件加密/解密所需的加密信息传送给加密模块800。例如,由可堆叠文件系统配置的分层文件系统可以将第一可堆叠文件系统460具有的文件的加密信息传送(设置)到最低文件系统。根据一个实施例,最低文件系统可以通过设备接口490将由系统本身拥有(设置)的加密信息传送到加密模块800。
在操作950中,加密模块800可以基于传送的加密信息来执行加密或解密操作。例如,加密模块800可以基于传送的加密信息对文件进行加密,并对加密的文件进行解密。
图10是示出根据本公开的各种实施例的加密/解密操作的示例的图。
参考图10,当接收到关于加密文件的输入/输出时,电子设备101可以根据层间复制传送方案,通过第二可堆叠文件系统470(其是第一可堆叠文件系统460的较低文件系统),将第一可堆叠文件系统460的加密信息1005传送到本地文件系统480。根据一个实施例,第二可堆叠文件系统470和本地文件系统480可以分别具有加密信息1005。根据一个实施例,设备接口490可以从作为最低文件系统的本地文件系统480接收加密信息1005,并且可以将加密信息1005传送到加密模块800。加密信息1005可以是文件加密密钥的信息结构(例如crypt_stat(key))。
加密模块800可以基于传送的加密信息来解密存储在存储设备540中的加密文件。根据一个实施例,操作系统430可以从加密模块800接收解密文件。本地文件系统480可以接收解密文件并将接收到的解密文件传送到第二可堆叠文件系统470,并且第二可堆叠文件系统470可以将传送的解密文件传送到第一可堆叠文件系统460。根据一个实施例,本地文件系统480和第二可堆叠文件系统470可以复制和传送解密文件。根据一个实施例,本地文件系统480和第二可堆叠文件系统470可以分别具有明文数据,所述明文数据是解密文件的文件对象。根据一个实施例,本地文件系统480可以存储解密文件的文件1003。根据一个实施例,与文件1003相对应的解密页1015和1016中的至少一个可以存储在本地文件系统480中。解密文件的页缓存1015和1016可以通过文件1003的地址空间1008的数据结构来存储。另外,第二可堆叠文件系统470可以存储解密文件的文件1002。与解密文件的文件1002相对应的解密文件的页缓存1013和1014中的至少一个可以存储在第二可堆叠文件系统470中。解密文件的页缓存1013和1014可以通过文件1002的地址空间1007的数据结构来存储。
根据一个实施例,可以在每个文件系统层内生成和管理在第一可堆叠文件系统460、本地文件系统480和第二可堆叠文件系统470中存储的文件1001、1002和1003。文件1001、1002和1003可以是存储器中的不同文件和独立对象。文件1001、1002和1003可以根据相同应用程序(用户进程)的文件打开请求来生成。第二可堆叠文件系统470可以不在所述层内存储与文件1002相对应的页缓存1013和1014。在这种情况下,较高层的页缓存1011和1012的未加密的数据可被复制为较低层的页缓存1015和1016。根据一个实施例,第二可堆叠文件系统470可以不挂载在多个文件系统层中,并且可以被省略。在这种情况下,第一可堆叠文件系统460可以挂载在本地文件系统之上的较高层中。
根据一个实施例,第一可堆叠文件系统460可以将加密并存储在存储设备540中的文件传送到第二可堆叠文件系统470,并且第二可堆叠文件系统470可将该文件传送到本地文件系统480。根据一个实施例,第二可堆叠文件系统470和本地文件系统480可以复制并传送待加密的文件。根据一个实施例,本地文件系统480和第二可堆叠文件系统470中的至少一个可以具有明文数据,所述明文数据是未加密的文件的文件对象。根据一个实施例,本地文件系统480可以存储未加密的文件的文件1003。与文件1003相对应的未加密文件的页缓存1015和1016中的至少一个可以存储在本地文件系统480中。可以通过文件1003的地址空间1008的数据结构来存储未加密的页缓存1015和1016。另外,第二可堆叠文件系统470可以存储未加密的文件的文件1002。可以在第二可堆叠文件系统470中存储与文件1002相对应的未加密文件的页缓存1013和1014中的至少一个。未加密的页缓存1013和1014可以通过文件1002的地址空间1007的数据结构来存储未加密的页缓存1013和1014。根据一个实施例,可以在每个文件系统层内生成和管理在第一可堆叠文件系统460、本地文件系统480和第二可堆叠文件系统470中存储的文件1001、1002和1003。文件1001、1002和1003可以是存储器中的不同文件和独立对象。文件1001、1002和1003可以根据相同应用程序(用户进程)的文件打开请求来生成。
加密模块800可以通过设备接口490接收待加密的文件,并且可以基于加密信息1005对文件进行加密。根据一个实施例,加密模块800可以将加密的文件传送到存储设备540。
如上所述,加密文件系统760可以根据通过加密模块800执行的加密/解密操作,复制并传送较低层的所有文件系统(即,直到本地文件系统480)的加密信息。另外,根据电子设备101的安全性的需要,加密文件系统760可以删除在层之间传送的加密信息和明文文件数据。
根据各种实施例,电子设备101可以配置将多个文件对象彼此连接的链接。另外,文件对象被挂载在多个文件系统中,并且由相同进程(应用程序)的文件打开请求生成。电子设备101可以基于所配置的链接对较低文件系统的文件对象执行特定操作,或者可以将至少一个事件传送到多个其他文件系统。另外,根据本公开的各种实施例的电子设备101可以基于所配置的链接将加密信息传送到加密文件系统760的较低文件系统,并且可以基于该链接删除保留在加密文件系统760的较低文件系统中的加密信息和明文数据。在下文中,将对此进行更详细的描述。
在根据本公开的各种实施例的电子设备101中包括的程序模块400可以配置链接,所述链接连接挂载在多个可堆叠文件系统的多个文件系统中的文件对象,并且程序模块400可以基于所配置的链接对较低文件系统请求至少一个操作,或者将至少一个事件传送到多个文件系统。
图11和12是根据本公开的各种实施例的链接配置方法的概念图。
参考图11,作为示例,电子设备101可以添加用于配置文件对象的向上链接或向下链接的列表结构,这些文件对象挂载在多个可堆叠文件系统的多个文件系统中。向上链接1101、1102和1103可以对应于指示如下文件对象的链接,该文件对象是挂载在相对于当前文件系统引用的直接较高层中的文件系统的文件对象。向下链接1104、1105和1106可以与指示如下文件对象的链接相对应,所述文件对象是相对于当前文件系统引用的直接较低层中的文件系统的文件对象。例如,可以如下描述所添加的列表结构。另外,在可堆叠文件系统上,最高文件可以将file->fstack_list.prev的值与NULL区分开,并且最低文件可以将file->fstack_list.next的值与NULL区分开。
struct file{
…
struct list_head fstack_list:
};
struct list_head{
struct list_head*next,*prev;
};
同时,可以在文件的打开和关闭时间点进行管理作为结构而生成的对象。例如,电子设备101可以在文件的打开时间点时,配置在当前层中生成的文件对象与从较高文件系统接收的较高文件对象之间的向上链接。另外,电子设备101可以配置在当前层中生成的文件对象与通过查找找到较低文件系统的文件的较低文件对象之间的向下链接。根据另一个实施例,多个文件系统可以仅维持与相对于当前文件系统而言的直接较低文件对象的向下链接。另外,根据本公开的各种实施例的预定可堆叠文件系统当传送诸如加密信息设置和页缓存清理之类的事件时,可以使用所添加的结构(例如,fstack_list)反复地调用事件处理函数(例如,密钥设置、清除和页缓存清理),直到“next”为NULL值。
参考图12,根据另一个实施例,可堆叠文件系统可以仅维持向下链接,该向下链接连接挂载在多个可堆叠文件系统的多个文件系统中的文件对象。例如,预定可堆叠文件系统可以注册如下所示的get_lower_file操作的函数,并且可以为每个可堆叠文件系统维护向下链接。
因此,当文件具有get_lower_file函数时,电子设备101可以调用get_lower_file,引用lower_file,并调用特定的函数(例如,密钥设置、清除和页缓存清理)。该操作可以反复执行,直到没有文件的get_lower_file函数、或者返回值对应于NULL为止。
根据本公开的各种实施例的预定可堆叠文件系统可以使用针对较低文件的链接反复地调用执行特定操作的文件操作(例如,密钥设置、清除和页缓存清理),以用于加密信息设置和页缓存清理的操作。例如,预定可堆叠文件系统可以调用特定的文件操作,直到较低文件中没有链接(get_lower_file函数返回NULL)为止。也就是说,尽管每个文件系统不能识别较低文件系统层是什么,但是文件系统可以知道向下链接的较低文件对象,并且可以通过调用相应文件的IOCTL等函数操作来执行所需的功能。
图13是示出根据本公开的各种实施例的链接配置操作的流程图。
参照图13,在操作1310中,在电子设备101(例如,程序模块400或处理器510)中包括的预定文件系统可以根据文件打开的请求来生成文件对象。所述文件系统可以是预定虚拟文件系统的较低层的文件系统。在操作1310中,当前文件系统可以作为打开因子(factor)而获得较高文件对象。
在操作1330中,当前文件系统可以通过由较低层(文件系统或存储设备)执行的查找来识别是否可以在较低层中打开文件,然后获得与较低层的文件有关的信息(例如,inode)。
在操作1350中,当前文件系统可以作为在操作1330中获得的较低层文件的信息,对较低文件系统调用文件打开,并且可以接收较低文件系统响应于该调用而返回的文件对象地址。在操作1350中,当前文件系统可以将在操作1310中生成的当前层的文件对象地址传送给较低文件系统文件被打开时的因子。在操作1350中,当较低层不是文件系统而是存储设备时,较低文件打开不能被调用。
在操作1370中,当前文件系统可以基于在操作1310和1350中获得的较高层的文件地址和较低层的文件地址的信息,在当前文件系统的文件对象的列表数据中配置向上链接(第一链接)和向下链接(第二链接)。在列表数据中配置链接的链接配置时间点不限于特定时间点,并且可以在操作1310和1350中配置向上链接和向下链接。根据一个实施例,当前文件系统可以不配置向上链接并且可以只配置向下链接。
在操作1370中,在电子设备101中包括的一个文件系统可以配置相对于较高文件系统的文件对象和较低文件系统的文件对象的链接。
在操作1390中,文件系统可以基于所配置的链接执行操作。
根据一个实施例,文件系统可以基于所配置的链接执行各种操作。
根据一个实施例,文件系统可以访问另一文件系统的相邻文件,然后执行使文件的数据无效的操作。
根据一个实施例,文件系统可以访问另一文件系统的相邻文件,然后识别文件的不可缓存配置,并执行使文件的数据无效的操作。
根据一个实施例,当文件系统对应于加密文件系统时,加密文件系统可以配置文件的加密信息,访问较低文件系统的至少一个文件,然后配置相同的加密信息。另一方面,加密文件系统可以删除预先配置的加密信息。根据一个实施例,在当前文件系统对应于加密文件系统时,文件系统可以通过访问所有较低文件系统来执行不可缓存配置。
图14是示出根据本公开的各种实施例的设置加密密钥的操作的流程图。
参照图14,在操作1410中,在电子设备101(例如,程序模块400或处理器510)中操作的加密文件系统760可以配置文件的加密信息(加密密钥和加密算法)。在实施例中,可以在加密文件系统层内生成加密信息。或者,可以由用户区域的应用程序传送加密信息。在实施例中,加密信息配置可以与加密文件系统的文件打开时间点相关联并配置,但可以在文件打开后配置。
在操作1430中,当配置加密信息时,加密文件系统760可以基于预先配置的链接信息将加密信息传送到较低的文件系统。在实施例中,加密信息可以被传送到直至最低文件系统层(例如,本地文件系统)。在实施例中,加密信息可以与加密信息设置事件一起传送。在实施例中,加密信息和加密信息设置事件可以被传送到直至最低文件系统层(例如,本地文件系统)。在操作1450中,每个文件系统可以基于传送的加密信息将加密信息配置到层内的文件。根据一个实施例,每个文件系统可以包括用于处理加密信息设置事件的事件处理程序。根据一个实施例,每个文件系统可以调用定义为设置加密信息的文件操作功能(例如,IOCTL功能),然后将加密信息配置到该层内的文件。
电子设备101可以在用户地址空间的应用程序420的级别中将通用操作模式与安全性得到增强的安全操作模式区分开。电子设备101在安全操作模式下还挂载加密文件系统760。当安全操作模式下的处理需要文件输入/输出时,电子设备101可对文件进行加密,然后将加密的文件存储到存储设备540。根据一个实施例,电子设备101可以在进入安全操作模式时挂载加密文件系统760,并且可以在安全操作模式终止时卸载加密文件系统760。根据另一个实施例,虽然安全操作模式被终止,但是电子设备可以不卸载加密文件系统760。电子设备101可以从安全操作模式所使用的存储设备540的存储区域中分离和使用由一般操作模式使用的存储设备540的存储区域(例如,分区和挂载点)。
如上所述,加密文件系统760可能已经根据需要(例如,当使用图8中的加密模块800对数据进行加密时)将加密信息或文件的未加密数据传送到较低文件系统。当电子设备101返回到一般操作模式时,在安全模式下使用的存储器520中的较低文件系统使用的加密信息或文件的未加密的数据可能保留。因此,在安全性较弱的一般操作模式下,可能会泄露需要针对恶意企图进行保护的敏感数据。
图15是示出了根据本公开的各种实施例的删除安全信息的操作的流程图。
参照图15,在操作1510中,电子设备101(例如,程序模块400或处理器510)可以从用户接收安全模式终止的输入。例如,用户可以使用用户界面(UI)来终止对电子设备的安全模式的驱动,并将电子设备改变为一般模式。在一个实施例中,当电子设备的安全模式被终止时,第一可堆叠文件系统(例如,加密文件系统)被卸载,或者可以执行关闭第一可堆叠文件系统的已打开文件的操作。在操作1530中,电子设备101可以基于所配置的链接信息,将用于删除安全信息的信息从至少一个较高文件系统传送到所有文件系统的较低文件系统。根据一个实施例,用于删除安全信息的信息可以包括以下中的至少一项:与明文数据对应的页缓存、用于删除至少一个加密信息的安全信息删除事件、和关于删除安全信息的删除操作的信息。在操作1550中,所有文件系统中的至少一个文件系统可以基于所传送的安全信息删除事件来删除存储在每个文件系统中的安全信息。另外,所有文件系统的至少一个文件系统可以基于所传送的用于删除安全信息的信息来执行删除存储在每个文件系统中的安全信息的操作。根据一个实施例,安全信息可以包括以下中的至少一项:与明文数据对应的页缓存、和加密信息。根据一个实施例,多个文件系统中的至少一个文件系统可以包括用于处理安全信息删除事件的事件处理程序。根据一个实施例,多个文件系统中的至少一个文件系统可以通过调用定义的文件操作功能(例如,IOCTL功能)来删除该层内的安全信息,以便删除安全信息。
如上所述,根据本公开的各种实施例的电子设备101可以配置链接,该链接连接挂载在多个文件系统中的相同文件。电子设备101可以基于所配置的链接将特定事件传送到包括在多个可堆叠文件系统中的多个文件系统。
因此,根据本公开的各种实施例的电子设备101可以基于所配置的链接一次性无效或删除以下中的至少一项:存储在多个文件系统中的与明文数据对应的页缓存、和包括加密密钥在内的加密信息。根据一个实施例,与明文数据对应的页可以包括存储在文件系统中的页缓存。根据一个实施例,当执行文件关闭输入或者特定命令(例如,通过系统调用执行的特定命令)时,电子设备101可以基于所配置的链接一次性无效或者删除以下中的至少一项:存储在多个文件系统中的与明文数据对应的页缓存、和包括加密密钥在内的加密信息。根据本公开的各种实施例的电子设备101可以针对特定事件高效地将事件传送到多文件系统的多个文件系统。根据本公开的各种实施例的电子设备101可以一次性删除以下中的至少一项:存储在多文件系统的多个文件系统中的加密信息和明文数据。例如,电子设备101可以将页缓存删除事件传送到多个当前挂载的文件系统,从而可以释放存储器中的未加密的明文数据。
当在多个文件系统被重叠并挂载的可堆叠文件系统中,确定了与文件数据对应的页缓存被重叠在多个文件系统中时,根据本公开的各种实施例的电子设备101可以配置文件模式,以回收被重叠并分配给多个文件系统的页缓存。电子设备101可以通过针对所配置的文件模式回收被重叠并分配给多个文件系统的页缓存,来有效地管理所包括的存储器的使用。
根据本公开的各种实施例的电子设备101可以为每个文件系统中的文件设置特定的文件模式。因此,电子设备101可以将不可缓存标志配置为文件系统的文件模式。在该文件模式下,不可缓存标志对应于如下标志,该标志表示是否允许回收存储器,即,作为文件输入/输出的结果,缓存文件的数据(即,文件的页缓存)在存储器520中是否被释放(回收)。在本公开的各种实施例中,文件模式不限于被称为“不可缓存”的特定名称。
另外,当虚拟文件系统通过应用程序(用户进程)执行读取操作时,电子设备101可以在多个文件系统中执行读取操作。在这种情况下,电子设备101确定文件模式,并且当所确定的文件模式是不可缓存时,可以使与该文件对应的页无效。该无效化操作可以是如下操作:在相应文件的地址空间中移除页缓存、或者在存储器最近使用(LRU)列表的后端注册对应的页缓存。操作系统的存储器管理器可以基于LRU列表快速地回收分配给与不可缓存文件对应的页缓存的存储器。这里,回收存储器可以指删除与不可缓存文件对应的页缓存。
图16是示出根据本公开的各种实施例的由存储器系统回收存储器的操作的流程图。
参照图16,在操作1610中,根据本公开的各种实施例的电子设备101(例如,程序模块400或处理器510)可以将不可缓存标志配置给至少一个文件系统。例如,当在预定文件系统(例如,加密文件系统)中打开文件时,电子设备101可以根据所配置的向下链接将不可缓存标志配置给较低文件。在实施例中,加密文件系统760可以在打开文件时根据向下链接将不可缓存标志配置给直至文件系统层的最低文件系统(例如本地文件系统)。
在操作1630中,电子设备101可以基于预先配置的不可缓存标志,来确定包括在可堆叠文件系统的多个文件系统中的文件对象的文件模式。在操作1650中,电子设备101可以使与所确定的文件模式是不可缓存模式的文件对象对应的页无效。
这里,无效化操作可以是如下操作:从文件中移除相应页(存储器)并将已经分配给该相应页的存储器返回给操作系统。根据操作系统的存储器管理方法,无效化操作可以对应于“回收存储器”或“从存储器移除数据”的操作。
例如,电子设备101可以在执行特定操作时确定多个文件系统的文件模式是否是不可缓存,并且可以基于该确定使不可缓存的文件的页无效。另外,在电子设备101中,当虚拟文件系统通过应用(用户进程)执行文件读取操作时,每个文件系统可以执行读取操作,并且将读取页注册在相应文件的地址空间中。当主存储器不足时,电子设备101可以管理LRU列表以回收分配给页缓存的存储器。
根据一个实施例,电子设备101可以在LRU列表的前端注册LRU页面,并且将所确定的文件模式是不可缓存模式的文件的页注册到LRU列表的后部。因此,当电子设备101的存储器(例如,系统存储器)不足时,电子设备101可以优先回收在注册于LRU列表后部的页中分配的存储器。因此,当系统存储器不足时,电子设备101可优先删除注册于LRU列表的后部的页。
根据一个实施例,电子设备101可以删除被重叠并存储在可堆叠文件系统的多个文件系统中的页缓存。
如上所述,根据本公开的各种实施例的电子设备101可以配置彼此独立挂载的至少一个可堆叠文件系统与本地文件系统之间的链接,并且可以基于所配置的链接在多个文件系统的文件之间传送特定事件或执行特定操作。
进一步地,本公开可以删除可堆叠文件系统中某些层可能保留的加密信息和未加密的数据,从而提高安全性。
进一步地,本公开可以删除被重叠并存储在可堆叠文件系统中的文件缓存,从而提高了存储器使用效率。
电子设备101的描述可以不限于特定的操作系统,并且可以应用于各种操作系统。因此,说明书中使用的用于一个操作系统的特定术语可以指对应于另一个操作系统的另一个术语。例如,在操作系统中,作为用于管理存储器的单元的术语“页”、作为缓存存储器中的数据的缓冲区的“页缓存”、以及在存储器中缓存文件系统中的文件的数据的“文件的页缓存”,根据操作系统不同可以被描述为另一个术语。
电子设备101的描述可以不限于特定的文件系统,并且可以应用于各种文件系统。因此,说明书中使用的用于一个文件系统的特定术语可以指对应于另一个文件系统的另一个术语。根据本公开的电子设备的每个组件可以由一个或多个组件来实现,且相应组件的名称可以根据电子设备的类型而改变。在各种实施例中,电子设备可以包括上述元件中的至少一个元件。电子设备可以省略上述元件中的一些,或电子设备还可以包括附加元件。另外,根据本公开各种实施例的电子设备的组件中的一些可以被组合以形成单个实体,且由此可以等同地执行相应元件在组合之前的功能。
本文所使用的术语“模块”可以例如意味着包括硬件、软件和固件之一或者其中两个或更多个的组合在内的单元。“模块”可以与例如术语“单元”、“逻辑”、“逻辑块”、“组件”或“电路”互换使用。“模块”可以是集成组件元件的最小单元或其一部分。“模块”可以是用于执行一个或多个功能的最小单元或其一部分。“模块”可以机械或电学地实现。例如,根据本公开的“模块”可以包括以下至少一项:已知的或将来研发的专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)和用于执行操作的可编程逻辑器件。
根据各种实施例,可以通过以编程模块形式存储在计算机可读存储介质中的命令,来实现根据本公开的设备的至少一部分(例如,其模块或功能)或方法的至少一部分(例如,操作)。指令在由处理器(例如,处理器120)执行时,可以使一个或多个处理器执行与该指令相对应的功能。计算机可读存储介质可以是例如存储器130。
计算机可读记录介质可以包括硬盘、软盘、磁介质(例如,磁带)、光学介质(例如,紧凑盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光介质(例如,光磁软盘)、硬件设备(例如,只读存储器(ROM)、随机存取存储器(RAM)、闪存)等。此外,程序指令可以包括能够在计算机中使用译码器执行的高级语言代码以及由编译器产生的机器代码。上述硬件设备可以被配置为作为一个或更多个软件模块进行操作以执行本公开的操作,反之亦然。
根据本公开的各种实施例的模块或编程模块可以包括上述组件中的一个或多个,或还可以包括其他附加组件,或可以省略上述组件中的一些。根据本公开各种实施例的由模块、编程模块或其他组成元件执行的操作可以依次地、并行地、重复地或启发式地执行。另外,可以根据另一顺序来执行或者可以省略一些操作,或者可以增加其他操作。
尽管用示例性实施例描述了本公开,然而可以向本领域技术人员建议多种变化和修改。本公开意在包括落在所附权利要求范围内的这些改变和修改。
Claims (14)
1.一种电子设备,包括:
非易失性存储设备,被配置为存储至少一个应用程序;
易失性存储器;以及
电连接到存储设备介质和所述存储器的处理器,
其中所述存储设备存储指令,所述指令在被执行时使所述处理器:
在所述存储器上挂载第一文件系统,
在所述第一文件系统上挂载第二文件系统,其中多个文件系统包括所述第一文件系统和所述第二文件系统,
接收针对应用程序的文件的打开请求,
响应于所述打开请求,分别在所述第一文件系统和所述第二文件系统中生成与所述文件相对应的文件对象,以及
配置所生成的文件对象之间的链接。
2.根据权利要求1所述的电子设备,其中所述存储设备存储指令,所述指令在被执行时使所述处理器基于所配置的所述链接向所述多个文件系统中的至少一个文件系统传送特定事件或执行特定操作。
3.根据权利要求2所述的电子设备,其中所述存储设备存储指令,所述指令在被执行时使所述处理器基于所配置的所述链接传送安全信息删除事件或者执行安全信息删除操作,以删除包括明文数据或加密信息中的至少一项在内的安全信息,所述安全信息存储在所述多个文件系统的至少一个文件系统中。
4.根据权利要求2所述的电子设备,其中所述存储设备存储指令,所述指令在被执行时使所述处理器基于所配置的所述链接向所述多个文件系统中的至少一个文件系统传送页缓存删除事件或者执行删除页缓存的操作,以删除与所述文件对象对应的页缓存。
5.根据权利要求1所述的电子设备,其中所述存储设备存储指令,所述指令在被执行时使所述处理器在所述多个文件系统中配置向上链接或向下链接中的至少一个链接,所述向上链接与较高层中的文件系统的文件对象相对应,所述较高层中的文件系统挂载在包括所述文件对象在内的当前层的文件系统的上侧,所述向下链接与较低层中的文件系统的文件对象相对应,所述较低层中的文件系统挂载在包括所述文件对象在内的当前层的文件系统的下侧的较低层中。
6.根据权利要求1所述的电子设备,其中所述存储设备存储指令,所述指令在被执行时使所述处理器针对所述多个文件系统中的至少一个文件系统配置不可缓存标志,所述不可缓存标志用于使与至少一个文件对应的页缓存无效。
7.根据权利要求6所述的电子设备,其中所述存储设备存储指令,所述指令在被执行时使所述处理器确定所述多个文件系统的至少一个文件对象的文件模式,并且使与文件对象当中所确定的文件模式是不可缓存模式的文件对象相对应的页无效。
8.一种操作被配置为挂载多个文件系统的电子设备的方法,所述方法包括:
挂载所述多个文件系统中的第一文件系统;
在所述第一文件系统上挂载所述多个文件系统中的第二文件系统;
接收针对应用程序的文件的打开请求;
响应于接收到所述请求,在所述第一文件系统中生成与第一文件对应的第一文件对象,并且在所述第二文件系统中生成与第二文件对应的第二文件对象;以及
配置所述第一文件对象和所述第二文件对象之间的链接。
9.根据权利要求8所述的方法,还包括:
基于所配置的所述链接向所述多个文件系统中的至少一个文件系统传送特定事件或执行特定操作。
10.根据权利要求9所述的方法,其中传送所述特定事件或者执行所述特定操作包括基于所配置的所述链接传送安全信息删除事件或者执行安全信息删除操作,以删除包括明文数据或加密信息中的至少一项在内的安全信息,其中所述安全信息存储在所述多个文件系统的至少一个文件系统中。
11.根据权利要求9所述的方法,其中基于所配置的所述链接传送所述特定事件或执行所述特定操作包括:传送页缓存删除事件或者执行删除页缓存的操作,以删除与所述多个文件系统中的至少一个文件系统的文件对象对应的页缓存。
12.根据权利要求8所述的方法,其中配置所述第一文件对象与所述第二文件对象之间的链接包括:在包括所述第一文件系统和所述第二文件系统在内的所述多个文件系统中配置向上链接或向下链接中的至少一个链接,所述向上链接与较高层中的文件系统的文件对象相对应,所述较高层中的文件系统挂载在包括所述文件对象在内的当前层的文件系统的上侧,所述向下链接与较低层中的文件系统的文件对象相对应,所述较低层中的文件系统挂载在包括所述文件对象在内的当前层的文件系统的下侧。
13.根据权利要求8所述的方法,还包括:
针对所述多个文件系统中的至少一个文件系统配置不可缓存标志,所述不可缓存标志用于使与至少一个文件对应的页缓存无效。
14.根据权利要求13所述的方法,还包括:
确定所述多个文件系统的至少一个文件对象的文件模式,并且使与所确定的文件模式是不可缓存模式的至少一个文件对象相对应的页无效。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150114094A KR20170019799A (ko) | 2015-08-12 | 2015-08-12 | 파일 시스템을 제어하는 전자 장치 및 그 동작 방법 |
KR10-2015-0114094 | 2015-08-12 | ||
PCT/KR2016/007718 WO2017026679A1 (en) | 2015-08-12 | 2016-07-15 | Electronic device for controlling file system and operating method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107924290A true CN107924290A (zh) | 2018-04-17 |
Family
ID=57983285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680047407.7A Pending CN107924290A (zh) | 2015-08-12 | 2016-07-15 | 控制文件系统的电子设备及其操作方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20170046524A1 (zh) |
EP (1) | EP3335106A4 (zh) |
KR (1) | KR20170019799A (zh) |
CN (1) | CN107924290A (zh) |
WO (1) | WO2017026679A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113076170A (zh) * | 2021-06-03 | 2021-07-06 | 统信软件技术有限公司 | 一种远程协助方法、系统、装置、计算设备及存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11790762B2 (en) * | 2016-04-19 | 2023-10-17 | Navio International, Inc. | Edge intelligence powered security solutions and other applications for a smart city |
WO2020131497A1 (en) | 2018-12-21 | 2020-06-25 | Navio International, Inc. | Edge intelligence powered security solutions and other applications for a smart city |
US10402335B2 (en) | 2017-03-31 | 2019-09-03 | Intel Corporation | Method and apparatus for persistently caching storage data in a page cache |
KR20220125557A (ko) * | 2021-03-05 | 2022-09-14 | 삼성전자주식회사 | 보안 데이터 처리 방법 및 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101027668A (zh) * | 2004-07-21 | 2007-08-29 | 海滩无极限有限公司 | 基于块映射表缓冲存储和虚拟文件系统的可堆叠文件系统模块的分布式存储结构 |
US20090030935A1 (en) * | 2007-07-26 | 2009-01-29 | Hewlett-Packard Development Company, L.P. | Efficient Stacked File System And Method |
TW201104470A (en) * | 2009-07-29 | 2011-02-01 | Tomtom Int Bv | Data storage system and method |
US20120210068A1 (en) * | 2011-02-15 | 2012-08-16 | Fusion-Io, Inc. | Systems and methods for a multi-level cache |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040015522A1 (en) * | 2002-06-13 | 2004-01-22 | International Business Machines Corporation | Apparatus, system and method of providing a stackable private write file system |
US8930424B2 (en) * | 2009-07-10 | 2015-01-06 | Tomtom International B.V. | Data storage system and method for protecting the system in case of power-failure |
-
2015
- 2015-08-12 KR KR1020150114094A patent/KR20170019799A/ko unknown
-
2016
- 2016-07-15 WO PCT/KR2016/007718 patent/WO2017026679A1/en active Application Filing
- 2016-07-15 CN CN201680047407.7A patent/CN107924290A/zh active Pending
- 2016-07-15 EP EP16835320.9A patent/EP3335106A4/en not_active Ceased
- 2016-08-12 US US15/236,351 patent/US20170046524A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101027668A (zh) * | 2004-07-21 | 2007-08-29 | 海滩无极限有限公司 | 基于块映射表缓冲存储和虚拟文件系统的可堆叠文件系统模块的分布式存储结构 |
US20090030935A1 (en) * | 2007-07-26 | 2009-01-29 | Hewlett-Packard Development Company, L.P. | Efficient Stacked File System And Method |
TW201104470A (en) * | 2009-07-29 | 2011-02-01 | Tomtom Int Bv | Data storage system and method |
US20120210068A1 (en) * | 2011-02-15 | 2012-08-16 | Fusion-Io, Inc. | Systems and methods for a multi-level cache |
Non-Patent Citations (2)
Title |
---|
JOHN SHELBY HEIDEMANN: "Stackable design of file systems", 《HTTPS://WWW.ISI.EDU/~JOHNH/PAPERS/HEIDEMANN95E.PDF》 * |
JOSEF SIPEK ET AL.: "Kernel Support for Stackable File Systems", 《《HTTP://OLS.108.REDHAT.COM/2007/REPRINTS/SIPEK-REPRINT.PDF》》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113076170A (zh) * | 2021-06-03 | 2021-07-06 | 统信软件技术有限公司 | 一种远程协助方法、系统、装置、计算设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3335106A1 (en) | 2018-06-20 |
KR20170019799A (ko) | 2017-02-22 |
US20170046524A1 (en) | 2017-02-16 |
WO2017026679A1 (en) | 2017-02-16 |
EP3335106A4 (en) | 2018-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853503B2 (en) | Selective encoding method and electronic device using same | |
CN107924288A (zh) | 电子设备及其使用语音识别来执行功能的方法 | |
CN107924290A (zh) | 控制文件系统的电子设备及其操作方法 | |
CN107257954A (zh) | 用于提供屏幕镜像服务的设备和方法 | |
CN109154931A (zh) | 显示内容的方法和适用于该方法的电子设备 | |
CN108513165A (zh) | 共享内容的方法和支持该方法的电子设备 | |
CN108228894A (zh) | 查看最近使用文件的方法、装置及终端 | |
CN110168471A (zh) | 电子设备以及用于显示其运行的应用的历史的方法 | |
CN106990912A (zh) | 控制sim卡和sd卡的方法以及实现该卡的电子设备 | |
CN106354451A (zh) | 用于操作电子设备的方法和电子设备 | |
CN107665485A (zh) | 用于显示图形对象的电子装置和计算机可读记录介质 | |
US10216404B2 (en) | Method of securing image data and electronic device adapted to the same | |
CN107851416A (zh) | 电子设备的显示方法和装置 | |
CN107925749A (zh) | 用于调整电子设备的分辨率的方法和设备 | |
CN107408120A (zh) | 电子设备及其图像显示方法 | |
CN105426069B (zh) | 用于产生预览数据的方法和电子设备 | |
CN108700995A (zh) | 电子设备和用于切换和对齐其应用的方法 | |
CN107005807A (zh) | 控制方法及其电子装置 | |
CN108230014A (zh) | 电子装置及使用电子装置显示网页的方法 | |
CN108475329A (zh) | 电子设备及其操作方法 | |
EP3101585A1 (en) | Electronic device and method for encrypting content | |
CN106030601A (zh) | 用于利用轻量级容器对运行时的安卓应用创建沙盒的方法和设备 | |
CN106250770B (zh) | 用于对内容加密的电子设备和方法 | |
CN105556534B (zh) | 用于在发生拒绝时建议响应指南的电子设备和方法 | |
CN107787026A (zh) | 用于识别位置的方法和实现该方法的电子装置 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180417 |
|
WD01 | Invention patent application deemed withdrawn after publication |