CN113448740A - 操作系统的电源管理方法及装置 - Google Patents

操作系统的电源管理方法及装置 Download PDF

Info

Publication number
CN113448740A
CN113448740A CN202111017886.7A CN202111017886A CN113448740A CN 113448740 A CN113448740 A CN 113448740A CN 202111017886 A CN202111017886 A CN 202111017886A CN 113448740 A CN113448740 A CN 113448740A
Authority
CN
China
Prior art keywords
operating system
file
management service
management
power
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.)
Granted
Application number
CN202111017886.7A
Other languages
English (en)
Other versions
CN113448740B (zh
Inventor
刘成城
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing Jingling Information System Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingling Information System Technology Co Ltd filed Critical Beijing Jingling Information System Technology Co Ltd
Priority to CN202111017886.7A priority Critical patent/CN113448740B/zh
Publication of CN113448740A publication Critical patent/CN113448740A/zh
Application granted granted Critical
Publication of CN113448740B publication Critical patent/CN113448740B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Power Sources (AREA)

Abstract

本发明提供一种操作系统的电源管理方法及装置,第一操作系统包括容器,容器配置成可运行与第一操作系统共享内核的第二操作系统;方法包括:在系统文件目录中设置透明文件系统,透明文件系统安装或挂载到系统电源文件目录;创建与透明文件系统对应的管理服务进程;响应于第一操作系统和/或第二操作系统的电源调用请求,通过透明文件系统向系统电源文件目录中对应的文件发送电源资源调用请求;通过管理服务进程协调并响应调用请求,实现电源资源管理。通过安装相对于系统文件不可见的透明文件系统以及对应透明文件系统创建管理服务进程,通过管理服务进程协调并响应电源资源调用请求,实现更为精细化的电源访问控制。

Description

操作系统的电源管理方法及装置
技术领域
本发明涉及计算机基础软件技术领域,尤其涉及一种操作系统的电源管理方法及装置。
背景技术
在传统的虚拟机方案中,位于虚拟机中的操作系统面向的硬件均为宿主机运行的虚拟机软件虚拟出来的,因此宿主操作系统和虚拟机冲的操作系统对各自面向的硬件资源的调用不会产生冲突。
随着容器化等技术的发展,在Linux系统上以容器的方式运行Android系统实现Android应用程序兼容等由于具有性能好、开发方便等优势越发的流行。
发明内容
本发明的实施例提供一种操作系统的电源管理方法,第一操作系统包括容器,所述容器配置成可运行与所述第一操作系统共享内核的第二操作系统;所述方法包括:
在系统文件目录中设置透明文件系统,所述透明文件系统安装或挂载到系统电源文件目录;
创建与所述透明文件系统对应的管理服务进程;
响应于第一操作系统和/或第二操作系统的电源调用请求,通过所述透明文件系统向所述系统电源文件目录中对应的文件发送电源资源调用请求;
通过所述管理服务进程协调并响应所述调用请求,实现电源资源管理。
在本发明的一些实施例中,所述在系统文件目录中设置透明文件系统,具体包括:在所述第一操作系统的系统文件目录中设置透明文件系统实例,和/或在所述第二操作系统的系统文件目录中设置透明文件系统实例。
在本发明的一些实施例中,所述创建与所述透明文件系统对应的管理服务进程,具体包括:
对应透明文件系统实例创建与透明文件系统实例数量一致的所述管理服务进程;其中,在管理服务进程数量大于1的状态下,各管理服务进程之间建立通信连接;
将透明文件系统实例与管理服务进程一一对应,并将对应的透明文件系统实例与管理服务进程之间建立通信连接;
将所述管理服务进程与第一操作系统内核建立通信连接。
在本发明的一些实施例中,所述创建与所述透明文件系统对应的管理服务进程,具体包括:
在第一操作系统或者第二操作系统的系统文件目录中设置所述透明文件系统实例的状态下,在所述透明文件系统实例所在的操作系统中创建一个管理服务进程;
将所述管理服务进程与对应的透明文件系统之间建立通信连接;
将所述管理服务进程与其所在的操作系统外的操作系统之间建立通信连接;
将所述管理服务进程与第一操作系统内核建立通信连接。
在本发明的一些实施例中,所述通过所述透明文件系统向所述系统电源文件目录中对应的文件发送电源资源调用请求,具体包括:
将所述电源资源调用请求,转换为对对应的所述透明文件系统实例的标准的文件操作动作指令;
将所述文件操作动作指令发送至第一操作系统内核。
在本发明的一些实施例中,所述通过所述管理服务进程协调并响应所述调用请求,实现电源资源管理,具体包括:
通过所述第一操作系统内核接收所述文件操作动作指令;
将所述文件操作动作指令发送至相应的管理服务进程;
通过所述管理服务进程进行文件操作动作指令协调,调用第一操作系统内核相应资源,响应所述文件操作动作指令,实现电源资源管理。
在本发明的一些实施例中,所述通过管理服务进程进行文件操作动作指令协调,调用第一操作系统内核相应资源,响应所述文件操作动作指令,实现电源资源管理,具体包括:
在所述管理服务进程数量等于1的状态下,管理服务进程根据各文件操作动作指令,按照第一协调规则进行资源协调,得到第一协调结果,根据第一协调结果调用第一操作系统内核相应资源响应各所述文件操作动作指令,实现电源资源管理;
在所述管理服务进程数量大于1的状态下,各管理服务进程之间按照第二协调规则进行资源协调通信,得到第二协调结果,根据第二协调结果调用第一操作系统内核相应资源响应各所述文件操作动作指令,实现电源资源管理。
在本发明的一些实施例中,所述透明文件系统实例中设置电源资源调用接口;所述通过所述管理服务进程协调并响应所述调用请求,实现电源资源管理,具体包括:根据第一操作系统内核的电源管理状态,通过所述管理服务进程对透明文件系统实例发送的电源资源调用接口调用请求,进行协调确认,并通过对电源资源调用接口执行相应操作,响应所述调用请求,实现电源资源管理。
本发明的实施例还提供一种操作系统的电源管理装置,第一操作系统包括容器,所述容器配置成可运行与所述第一操作系统共享内核的第二操作系统;所述装置包括:
透明文件系统设置单元,用于在系统文件目录中设置透明文件系统,所述透明文件系统安装或挂载到系统电源文件目录;
管理服务进程创建单元,用于创建与所述透明文件系统对应的管理服务进程;
电源资源调用请求单元,用于响应于第一操作系统和/或第二操作系统的电源调用请求,通过所述透明文件系统向所述系统电源文件目录中对应的文件发送电源资源调用请求;
调用请求响应单元,用于通过所述管理服务进程协调并响应所述调用请求,实现电源资源管理。
本发明的实施例还提供一种计算机程序产品,包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行根据如上述任一种所述操作系统的电源管理方法的步骤。
本发明的实施例还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如前述任一实施例的操作系统的电源管理方法的步骤。
本发明提供的操作系统的电源管理方法及装置,通过安装相对于系统文件不可见的透明文件系统以及对应透明文件系统创建管理服务进程,通过管理服务进程协调并响应电源资源调用请求,实现第一操作系统与第二操作系统中更为精细化的电源访问控制,解决了宿主机操作系统和容器中的操作系统面向硬件资源调用时产生冲突的问题。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的操作系统的电源管理方法流程示意图;
图2是图1中步骤120的具体流程示意图之一;
图3是图1中步骤120的具体流程示意图之二;
图4是图1中步骤140的具体流程示意图;
图5是本发明提供的在第一操作系统的容器内外分别设置透明文件系统实例及其对应的管理服务进程的框架结构示意图;
图6是本发明提供的在第一操作系统中对应容器内部或外部一侧设置透明文件系统实例及其对应的管理服务进程的框架结构示意图;
图7是本发明提供的操作系统的电源管理装置结构示意图;
图8是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Linux系统内核控制系统是否休眠,且对用户层(应用程序)提供了位于系统设置电源(/sys/power/)目录下的接口文件,例如最重要的state wake_lock 和 wake_unlock接口。state wake_lock是控制系统进入休眠的接口,当用户层写“mem”字符串到这个接口文件,就可以导致内核进入休眠流程,冻结所有进程运行,关闭非必要外设电源,最后CPU核下电,达到省电的目的。如果用户层写“mem”字符串到这个接口文件令系统进入休眠,但同时wake_lock接口被占用,说明有进程实体占用系统而使得系统不能立即进入休眠,那么系统的休眠流程就会等待,等待wake_lock被完全释放后,继续进行休眠动作。占用wake_lock就是向wake_lock接口文件中写入设定字符串即可对该接口文件占用,多个进程实体可以同时占用wake_lock文件,只有wake_lock完全不被占用,休眠流程才能进行。wake_lock文件的占用消除就是写相同的设定字符串到wake_unlock接口文件。由以可知,/sys/power目录下的各接口对系统电源管理的重要性。
申请人意识到,对于在宿主系统中通过容器化的方式运行操作系统的技术方案,由于容器中的操作系统和宿主操作系统均使用同一内核kernel,容器中的操作系统和宿主操作系统都具备独立协调管理资源的能力。如果两个实体同时运行,会带来资源冲突的问题。
对于内存、CPU等资源调用的冲突,会影响系统运行程序的性能。但对于电源管理冲突,如果容器内的操作系统和宿主操作系统发出了不同的电源指令,则会导致系统无法正常运行。
申请人意识到,已有的Linux内核的操作系统,在系统/sys 目录上挂载的文件系统(即sysfs文件系统)只有一个实例,因此宿主操作系统和容器中的操作系统挂载的sys文件系统都是同样的实例,有一侧对/sys目录下对应文件内容进行修改,另外一侧就会有所体现。由于/sys 目录上挂载的文件系统是单一实例,无法做到解决资源冲突,同时该文件系统本身也不具备通信协调能力,无法解决电源资源冲突问题。
在发明人所知的技术中,对于电源访问资源冲突问题可以通过屏蔽一侧来解决,例如:
(1)、修改程序代码,使得容器环境中的操作系统或者宿主操作系统在代码逻辑上不访问/sys/power目录,此种方式修改代码复杂性高,增加工作量,容易出现程序运行异常;
(2)、修改内核中的接口访问权限,使得容器中的操作系统或者宿主操作系统只有一侧可以访问,此种方式修改访问权限引入风险,而且修改复杂性程度较高。
上述两种方式屏蔽访问的方法,会令系统功能缺失、工作不正常,因此合理协调运行容器两侧的访问需求是解决问题的根本方法。
在本发明的实施例中,所称的容器(Container)是与系统其他部分隔离开的一系列进程,运行这些进程所需的所有文件都由容器中的操作系统镜像提供。容器中的操作系统与搭载容器的操作系统共享同一个操作系统内核,将应用进程与系统其他部分隔离开。例如: Linux 系统运行 Linux 容器, x86 Windows 系统运行 x86 Windows 容器。
在本发明的操作系统中,搭载容器中的第一操作系统和容器中的第二操作系统可以是相同的,也可以是不同的,只要二者共享同一个操作系统内核即为本申请的实施例所涵盖。
此处所称的同一个操作系统内核,指的是内核兼容即可,并不限制第一操作系统和第二操作系统的内核版本号一致。
在一些实施例中,第一操作系统包括各种Linux OS发行版(如Ubuntu、Debian、Arch等),第二操作系统包括各种Android操作系统(包括Google的Android操作系统或基于AOSP衍生的MIUI、EMUI、One UI、Lineage等)。
在一些实施例中,第一操作系统和第二操作系统均为基于Linux Kernel的LinuxOS发行版,例如第一操作系统可以是Ubuntu,第二操作系统可以是CentOS。
在一些实施例中,第一操作系统和第二操作系统均为Android操作系统。
尽管没有明确描述的,第一操作系统和第二操作还可以均为Windows操作系统。
在本发明的实施例中,并不限制第一操作系统为运行在宿主机物理硬件上的操作系统,也可以是运行在虚拟环境中的操作系统,例如第一操作系统可以是Windows中的Linux子系统WSL。
为了便于理解,申请人以第一操作系统为Linux OS,第二操作系统为Android为例说明本发明的实施过程。本领域技术人员可以理解,其它类型的情况同样适用于本发明的实施例。
如图1所示,本发明实施例提供一种操作系统的电源管理方法,第一操作系统为Linux OS,Linux系统中包括容器,所述容器内包括运行Android系统应用程序的资源文件;所述方法包括:
步骤110:在系统文件目录中设置透明文件系统,所述透明文件系统安装或挂载到系统电源文件目录;
本发明实施例中,透明文件系统是指对系统文件不可见的系统。具体地,本发明实施例中,透明文件系统应用Linux系统的用户态文件系统达到透明文件系统的功能。本发明实施例中,透明文件系统安装或挂载在第一操作系统或第二操作系统的系统电源文件目录下,安装或挂载完成之后,透明文件系统覆盖在该目录文件上,操作系统的应用程序对该目录文件的访问就是对安装在其上的对应的透明文件系统的访问,而非直接访问该目录文件。
本发明实施例中,所述在系统文件目录中设置透明文件系统,具体包括:在所述第一操作系统的系统文件目录(/sys/power/)中设置透明文件系统实例,和/或在所述第二操作系统的系统文件目录(/sys/power/)中设置透明文件系统实例。
具体地,可对应运行容器的外部的Linux系统以及运行容器内部的Android系统分别安装透明文件系统实例;还可以只在对应运行容器的外部的Linux系统中安装透明文件系统实例;又可以只在对应运行容器的外部的Android系统中安装透明文件系统实例。
步骤120:创建与所述透明文件系统对应的管理服务进程;
本发明实施例中,创建与所述透明文件系统对应的管理服务进程,如图2所示,具体包括:
步骤210:对应透明文件系统实例创建与透明文件系统实例数量一致的所述管理服务进程;其中,在管理服务进程数量大于1的状态下,各管理服务进程之间建立通信连接;
步骤220:将透明文件系统实例与管理服务进程一一对应,并将对应的透明文件系统实例与管理服务进程之间建立通信连接;
步骤230:将所述管理服务进程与第一操作系统内核建立通信连接。
具体地,对应每一透明文件系统实例分别创建对应的管理服务进程,各管理服务进程之间可进行协调通信。本发明实施例中,各管理服务进程与Linux系统内核通信的接口是/dev/fuse设备节点。
在一些发明实施例中,所述创建与所述透明文件系统对应的管理服务进程,如图3所示,具体包括:
步骤310:在第一操作系统或者第二操作系统的系统文件目录中设置所述透明文件系统实例的状态下,在所述透明文件系统实例所在的操作系统中创建一个管理服务进程;
具体地,只在第一操作系统或者第二操作系统中设置透明文件系统实例的情况下,在与透明文件系统实例相同的操作系统中创建管理服务进程。
步骤320:将所述管理服务进程与对应的透明文件系统之间建立通信连接;
步骤330:将所述管理服务进程与其所在的操作系统外的操作系统之间建立通信连接;
具体地,由于只是在容器的一侧建立了管理服务进程,因此管理服务进程需要与所在的操作系统外的另一操作系统的框架层服务进行通信,以便后续过程中进行调用资源协调。
步骤340:将所述管理服务进程与第一操作系统内核建立通信连接。
步骤130:响应于第一操作系统和/或第二操作系统的电源调用请求,通过所述透明文件系统向所述系统电源文件目录中对应的文件发送电源资源调用请求;
本发明实施例中,所述通过所述透明文件系统向所述系统电源文件目录中对应的文件发送电源资源调用请求,具体包括:
将所述电源资源调用请求,转换为对对应的所述透明文件系统实例的标准的文件操作动作指令;
将所述文件操作动作指令发送至第一操作系统内核。
具体地,例如操作系统应用程序可通过对应的透明文件系统实例向安装实例的目录对应的文件发送打开、关闭、读、写、查看文件属性等操作请求。
步骤140:通过所述管理服务进程协调并响应所述调用请求,实现电源资源管理。
具体地,透传操作系统的应用程序对对应的透明文件系统实例的操作请求。本发明实施例中,例如,应用程序向对应的透明文件系统实例中发送文件写操作指令,对应的管理服务进程将应用程序要写入的内容写到安装透明文件系统实例的系统设置电源目录对应的文件中;例如应用程序向对应的透明文件系统实例中发送文件读操作指令,管理服务进程将系统设置电源目录对应的文件内容读出并将读出的内容通过透明文件系统实例发送至应用程序。
本发明实施例中,所述通过所述管理服务进程协调并响应所述调用请求,实现电源资源管理,如图4所实施,具体包括:
步骤410:通过第一操作系统内核接收所述文件操作动作指令;
步骤420:将所述文件操作动作指令发送至对应的管理服务进程;
具体地,Linux系统内核不处理文件操作动作指令,而是将指令发送给透明文件系统实例对应的管理服务进程。
步骤430:通过管理服务进程进行文件操作动作指令协调,调用第一操作系统内核相应资源,响应所述文件操作动作指令,实现电源资源管理。
具体地,管理服务进程通过调用Linux系统内核相应资源响应实例的文件操作动作指令,例如,为读指令准备数据,为目录浏览准备文件列表等。因此,应用程序从透明文件系统看到的任何内容都来自于对应的管理服务进程。
具体地,步骤430具体包括:
在所述管理服务进程数量等于1的状态下,管理服务进程根据各文件操作动作指令,按照第一协调规则进行资源协调,得到第一协调结果,根据第一协调结果调用第一操作系统内核相应资源响应各所述文件操作动作指令,实现电源资源管理;
在所述管理服务进程数量大于1的状态下,各管理服务进程之间按照第二协调规则进行资源协调通信,得到第二协调结果,根据第二协调结果调用第一操作系统内核相应资源响应各所述文件操作动作指令,实现电源资源管理。
本发明实施例中,当Linux系统设置1个管理服务进程时,由管理服务进程对各文件操作动作指令进行协调确认,根据第一协调结果响应各所述文件操作动作指令;当Linux系统设置多于1个管理服务进程时,通过各管理服务进程之间进行协调确认,根据第二协调结果响应各所述文件操作动作指令。
本发明实施例中,管理服务进程以透明文件系统安装的目录对应的原始文件内容为透明文件系统实例提供数据服务。透明文件系统实例获取的内容是原始的安装目录下的文件内容,但却是经过管理服务进程中转获取的,因此管理服务进程可以选择性地对原始目录文件进行管控,如隐藏、加密、访问授权介入等。
本发明实施例中,所述透明文件系统实例中设置电源资源调用接口;所述通过所述管理服务进程协调并响应所述调用请求,实现电源资源管理,具体包括:根据第一操作系统内核的电源管理状态,通过所述管理服务进程对透明文件系统实例发送的电源资源调用接口调用请求,进行协调确认,并通过对电源资源调用接口执行相应操作,响应所述调用请求,实现电源资源管理。
本发明实施例中,透传操作系统的应用程序对对应实例的所有的文件操作过程中即获得了运行容器内外对/sys/power/电源管理接口的所有的访问需求,在此过程中,运行容器内外通过对应的管理服务进程对运行容器内外的对/sys/power目录(系统设置电源目录)的访问协调处理,比如挂起、丢弃、转发、返回虚假成功等,最终实现运行容器内外协调使用电源管理接口的目的。
如图5所示,为在第一操作系统中对应容器内外分别设置透明文件系统实例及其对应的管理服务进程,通过将透明文件系统实例分别挂载第一操作系统以及第二操作系统的/sys/power/目录的sysfs文件系统上,通过两个管理服务进程之间的协调,实现协商解决第一操作系统中对应容器内外电源管理资源访问冲突的问题。本公开实施例中,透明文件系统实例在安装或挂载的目录文件的系统中而言相当于透明、不可见的透明文件系统。图5中两个透明文件系统实例分别与管理服务进程进行绑定,两个管理服务进程进行通信协调解决资源访问冲突。在其他一些实施例中,在对应容器的内部或外部的一侧安装或挂载透明文件系统实例,但是,要求其对应的管理服务进程可以与容器另一侧的系统进行通信,以便进行资源冲突协商。
如图6所示,为在容器内部或者外部一侧的透明文件系统实例及其对应的管理服务进程进行配合运行工作,形成用户态的透明文件系统框架的示意图。
本发明实施例中,透明文件系统的开发是在libfuse.so库基础之上,添加透明文件系统实例的处理接口,实例的处理接口节选自fuse.h文件,此文件规定了透明文件系统实例需要实现的接口,接口配置完成后同libfuse.so链接在一起,最终的结果是形成一个可运行服务程序,即透明文件系统实例的管理服务进程(后台管理服务程序)。管理服务进程初始运行时通过命令参数,挂载透明文件系统(透明文件系统类型是Linux系统内核支持的fuse类型)到/sys/power之后管理服务进程处于等待状态,一旦挂载点有文件操作请求,相应的操作请求指令就会通过Linux系统内核通知到管理服务进程,并运行相对应的接口。例如,有应用程序打开挂载点中的文件(如/sys/power/state),则透明文件系统实例对应的管理服务进程的int (*open) (const char *, struct fuse_file_info *)接口函数会被调用,并且接口函数的传入的参数也指明了应用程序要打开的文件的名称,接口函数随后决定是否真正打开文件,并返回操作结果。
本发明实施例中,通过将用户态的透明文件系统,安装在现有sysfs文件系统上(挂载在/sys/power/目录上),实现更为精细化的文件访问控制。
下面对本发明实施例提供的操作系统的电源管理装置进行描述,下文描述的操作系统的电源管理装置与上文描述的操作系统的电源管理方法可相互对应参照,如图7所示,本发明实施例提供一种操作系统的电源管理装置,
第一操作系统包括容器,所述容器配置成可运行与所述第一操作系统共享内核的第二操作系统;所述装置包括:
透明文件系统设置单元710,用于在系统文件目录中设置透明文件系统,所述透明文件系统安装或挂载到系统电源文件目录;
管理服务进程创建单元720,用于创建与所述透明文件系统对应的管理服务进程;
电源资源调用请求单元730,用于响应于第一操作系统和/或第二操作系统的电源调用请求,通过所述透明文件系统向所述系统电源文件目录中对应的文件发送电源资源调用请求;
调用请求响应单元740,用于通过所述管理服务进程协调并响应所述调用请求,实现电源资源管理。
本发明实施例中,透明文件系统是指对运行容器内外的各应用程序是不可见的系统,而且对设置目录对应的文件也是透明不可见的系统。具体地,本发明实施例中,透明文件系统应用Linux系统的用户态文件系统达到透明文件系统的功能。本发明实施例中,透明文件系统安装或挂载在Linux系统的系统电源文件目录下,安装或挂载完成之后,透明文件系统覆盖在该目录文件上,操作系统的应用程序对该目录文件的访问就是对安装在其上的对应的透明文件系统的访问,而非直接访问该目录文件。
本发明实施例中,透明文件系统设置单元710在所述容器外部的第一操作系统的系统文件目录(/sys/power/)下安装透明文件系统实例,和/或在所述运行容器内部的第二操作系统的系统文件目录(/sys/power/)下安装透明文件系统实例。
本发明实施例中,管理服务进程创建单元720具体包括:
创建子单元,用于对应透明文件系统实例创建与透明文件系统实例数量一致的所述管理服务进程;
第一通信子单元,用于将透明文件系统实例与管理服务进程一一对应,并将对应的透明文件系统实例与管理服务进程之间建立通信连接;
第二通信子单元,用于将所述管理服务进程与第一操作系统内核建立通信连接。
其中,在管理服务进程数量大于1的状态下,还包括第三通信子单元,用于在各管理服务进程之间建立通信连接。
本发明实施例中,电源资源调用请求单元730具体包括:
请求转换子单元,用于将电源资源调用请求,转换为对对应的所述透明文件系统实例的标准的文件操作动作指令;
指令发送子单元,用于将所述文件操作动作指令发送至第一操作系统内核。
本发明实施例中,调用请求响应单元740具体包括:
内核接收子单元,用于通过所述第一操作系统内核接收所述文件操作动作指令;
管理服务进程指令接收子单元,用于将所述文件操作动作指令发送至管理服务进程;
协调响应子单元,用于通过管理服务进程进行文件操作动作指令协调,调用第一操作系统内核相应资源,响应所述文件操作动作指令,实现电源资源管理。
具体地,协调响应子单元具体包括:
第一协调子单元,用于在所述管理服务进程数量等于1的状态下,管理服务进程根据各应用程序的文件操作动作指令,按照第一协调规则进行资源协调,得到第一协调结果,根据第一协调结果调用第一操作系统内核相应资源响应各所述文件操作动作指令,实现电源资源管理;
第二协调子单元,用于在所述管理服务进程数量大于1的状态下,各管理服务进程之间按照第二协调规则进行资源协调通信,得到第二协调结果,根据第二协调结果调用第一操作系统内核相应资源响应各所述文件操作动作指令,实现电源资源管理。
本发明实施例中,所述透明文件系统实例中设置电源资源调用接口;调用请求响应单元740具体包括:接口响应子单元,用于根据第一操作系统内核的电源管理状态,通过所述管理服务进程对各透明文件系统实例发送的电源资源调用接口调用请求进行协调确认,并通过对电源资源调用接口执行相应操作响应所述调用请求,实现电源资源管理。
下面结合图8描述本发明实施例提供的一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行操作系统的电源管理方法,该方法包括:在系统文件目录中设置透明文件系统,所述透明文件系统安装或挂载到系统电源文件目录;创建与所述透明文件系统对应的管理服务进程;响应于第一操作系统和/或第二操作系统的电源调用请求,通过所述透明文件系统向所述系统电源文件目录中对应的文件发送电源资源调用请求;通过所述管理服务进程协调并响应所述调用请求,实现电源资源管理。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在上述终端设备实施例中,应理解,处理器810可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的操作系统的电源管理方法,该方法包括:在系统文件目录中设置透明文件系统,所述透明文件系统安装或挂载到系统电源文件目录;创建与所述透明文件系统对应的管理服务进程;响应于第一操作系统和/或第二操作系统的电源调用请求,通过所述透明文件系统向所述系统电源文件目录中对应的文件发送电源资源调用请求;通过所述管理服务进程协调并响应所述调用请求,实现电源资源管理。
又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的操作系统的电源管理方法:在系统文件目录中设置透明文件系统,所述透明文件系统安装或挂载到系统电源文件目录;创建与所述透明文件系统对应的管理服务进程;响应于第一操作系统和/或第二操作系统的电源调用请求,通过所述透明文件系统向所述系统电源文件目录中对应的文件发送电源资源调用请求;通过所述管理服务进程协调并响应所述调用请求,实现电源资源管理。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.操作系统的电源管理方法,其特征在于,第一操作系统包括容器,所述容器配置成可运行与所述第一操作系统共享内核的第二操作系统;所述方法包括:
在系统文件目录中设置透明文件系统,所述透明文件系统安装或挂载到系统电源文件目录;
创建与所述透明文件系统对应的管理服务进程;
响应于第一操作系统和/或第二操作系统的电源调用请求,通过所述透明文件系统向所述系统电源文件目录中对应的文件发送电源资源调用请求;
通过所述管理服务进程协调并响应所述调用请求,实现电源资源管理。
2.根据权利要求1所述的操作系统的电源管理方法,其特征在于,所述在系统文件目录中设置透明文件系统,具体包括:在所述第一操作系统的系统文件目录中设置透明文件系统实例,和/或在所述第二操作系统的系统文件目录中设置透明文件系统实例。
3.根据权利要求2所述的操作系统的电源管理方法,其特征在于,所述创建与所述透明文件系统对应的管理服务进程,具体包括:
对应透明文件系统实例创建与透明文件系统实例数量一致的所述管理服务进程;其中,在管理服务进程数量大于1的状态下,各管理服务进程之间建立通信连接;
将透明文件系统实例与管理服务进程一一对应,并将对应的透明文件系统实例与管理服务进程之间建立通信连接;
将所述管理服务进程与第一操作系统内核建立通信连接。
4.根据权利要求3所述的操作系统的电源管理方法,其特征在于,所述创建与所述透明文件系统对应的管理服务进程,具体包括:
在第一操作系统或者第二操作系统的系统文件目录中设置所述透明文件系统实例的状态下,在所述透明文件系统实例所在的操作系统中创建一个管理服务进程;
将所述管理服务进程与对应的透明文件系统之间建立通信连接;
将所述管理服务进程与其所在的操作系统外的操作系统之间建立通信连接;
将所述管理服务进程与第一操作系统内核建立通信连接。
5.根据权利要求4所述的操作系统的电源管理方法,其特征在于,所述通过所述透明文件系统向所述系统电源文件目录中对应的文件发送电源资源调用请求,具体包括:
将所述电源资源调用请求,转换为对对应的所述透明文件系统实例的标准的文件操作动作指令;
将所述文件操作动作指令发送至第一操作系统内核。
6.根据权利要求5所述的操作系统的电源管理方法,其特征在于,所述通过所述管理服务进程协调并响应所述调用请求,实现电源资源管理,具体包括:
通过所述第一操作系统内核接收所述文件操作动作指令;
将所述文件操作动作指令发送至相应的管理服务进程;
通过所述管理服务进程进行文件操作动作指令协调,调用第一操作系统内核相应资源,响应所述文件操作动作指令,实现电源资源管理。
7.根据权利要求6所述的操作系统的电源管理方法,其特征在于,所述通过管理服务进程进行文件操作动作指令协调,调用第一操作系统内核相应资源,响应所述文件操作动作指令,实现电源资源管理,具体包括:
在所述管理服务进程数量等于1的状态下,管理服务进程根据各文件操作动作指令,按照第一协调规则进行资源协调,得到第一协调结果,根据第一协调结果调用第一操作系统内核相应资源响应各所述文件操作动作指令,实现电源资源管理;
在所述管理服务进程数量大于1的状态下,各管理服务进程之间按照第二协调规则进行资源协调通信,得到第二协调结果,根据第二协调结果调用第一操作系统内核相应资源响应各所述文件操作动作指令,实现电源资源管理。
8.根据权利要求5所述的操作系统的电源管理方法,其特征在于,所述透明文件系统实例中设置电源资源调用接口;所述通过所述管理服务进程协调并响应所述调用请求,实现电源资源管理,具体包括:根据第一操作系统内核的电源管理状态,通过所述管理服务进程对透明文件系统实例发送的电源资源调用接口调用请求,进行协调确认,并通过对电源资源调用接口执行相应操作,响应所述调用请求,实现电源资源管理。
9.操作系统的电源管理装置,其特征在于,第一操作系统包括容器,所述容器配置成可运行与所述第一操作系统共享内核的第二操作系统;所述装置包括:
透明文件系统设置单元,用于在系统文件目录中设置透明文件系统,所述透明文件系统安装或挂载到系统电源文件目录;
管理服务进程创建单元,用于创建与所述透明文件系统对应的管理服务进程;
电源资源调用请求单元,用于响应于第一操作系统和/或第二操作系统的电源调用请求,通过所述透明文件系统向所述系统电源文件目录中对应的文件发送电源资源调用请求;
调用请求响应单元,用于通过所述管理服务进程协调并响应所述调用请求,实现电源资源管理。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述操作系统的电源管理方法的步骤。
CN202111017886.7A 2021-09-01 2021-09-01 操作系统的电源管理方法及装置 Active CN113448740B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111017886.7A CN113448740B (zh) 2021-09-01 2021-09-01 操作系统的电源管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111017886.7A CN113448740B (zh) 2021-09-01 2021-09-01 操作系统的电源管理方法及装置

Publications (2)

Publication Number Publication Date
CN113448740A true CN113448740A (zh) 2021-09-28
CN113448740B CN113448740B (zh) 2021-11-30

Family

ID=77819246

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111017886.7A Active CN113448740B (zh) 2021-09-01 2021-09-01 操作系统的电源管理方法及装置

Country Status (1)

Country Link
CN (1) CN113448740B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113986476A (zh) * 2021-12-24 2022-01-28 北京鲸鲮信息系统技术有限公司 传感器设备虚拟化的方法、装置、电子设备和存储介质
CN114035976A (zh) * 2021-10-20 2022-02-11 北京鲸鲮信息系统技术有限公司 一种粘贴板共享方法、装置、设备、介质和产品
CN114416292A (zh) * 2021-12-31 2022-04-29 北京字节跳动网络技术有限公司 定位设备串口的虚拟化方法、设备、装置、介质及产品

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101154130A (zh) * 2006-09-30 2008-04-02 联想(北京)有限公司 一种虚拟机系统及其电源管理方法
CN102511034A (zh) * 2009-09-24 2012-06-20 甲骨文国际公司 虚拟机监视器虚拟执行环境中基于使用情况的应用许可的系统和方法
CN102692985A (zh) * 2010-12-30 2012-09-26 美国博通公司 远程管理式计算机系统的平稳带外电源控制方法和系统
US20140026111A1 (en) * 2011-04-11 2014-01-23 Gregory Michael Stitt Elastic computing
CN103562879A (zh) * 2011-05-26 2014-02-05 国际商业机器公司 透明文件系统迁移到新物理位置
CN106462441A (zh) * 2014-04-28 2017-02-22 奈特凯恩公司 通过虚拟化提供过量计算资源
CN108304223A (zh) * 2017-12-22 2018-07-20 天津麒麟信息技术有限公司 一种用于电源休眠机制的操作系统与硬件平台交互方法
US20190384712A1 (en) * 2012-08-27 2019-12-19 Vmware, Inc. Transparent Host-Side Caching of Virtual Disks Located on Shared Storage
US10554220B1 (en) * 2019-01-30 2020-02-04 International Business Machines Corporation Managing compression and storage of genomic data

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101154130A (zh) * 2006-09-30 2008-04-02 联想(北京)有限公司 一种虚拟机系统及其电源管理方法
CN102511034A (zh) * 2009-09-24 2012-06-20 甲骨文国际公司 虚拟机监视器虚拟执行环境中基于使用情况的应用许可的系统和方法
CN102692985A (zh) * 2010-12-30 2012-09-26 美国博通公司 远程管理式计算机系统的平稳带外电源控制方法和系统
US20140026111A1 (en) * 2011-04-11 2014-01-23 Gregory Michael Stitt Elastic computing
CN103562879A (zh) * 2011-05-26 2014-02-05 国际商业机器公司 透明文件系统迁移到新物理位置
US20190384712A1 (en) * 2012-08-27 2019-12-19 Vmware, Inc. Transparent Host-Side Caching of Virtual Disks Located on Shared Storage
CN106462441A (zh) * 2014-04-28 2017-02-22 奈特凯恩公司 通过虚拟化提供过量计算资源
CN108304223A (zh) * 2017-12-22 2018-07-20 天津麒麟信息技术有限公司 一种用于电源休眠机制的操作系统与硬件平台交互方法
US10554220B1 (en) * 2019-01-30 2020-02-04 International Business Machines Corporation Managing compression and storage of genomic data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈晓: "基于LinuxContainer的Android移动终端虚拟化", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114035976A (zh) * 2021-10-20 2022-02-11 北京鲸鲮信息系统技术有限公司 一种粘贴板共享方法、装置、设备、介质和产品
CN113986476A (zh) * 2021-12-24 2022-01-28 北京鲸鲮信息系统技术有限公司 传感器设备虚拟化的方法、装置、电子设备和存储介质
WO2023116859A1 (zh) * 2021-12-24 2023-06-29 抖音视界有限公司 传感器设备虚拟化的方法、装置、电子设备和存储介质
CN114416292A (zh) * 2021-12-31 2022-04-29 北京字节跳动网络技术有限公司 定位设备串口的虚拟化方法、设备、装置、介质及产品
CN114416292B (zh) * 2021-12-31 2024-05-28 北京字节跳动网络技术有限公司 定位设备串口的虚拟化方法、设备、装置、介质及产品

Also Published As

Publication number Publication date
CN113448740B (zh) 2021-11-30

Similar Documents

Publication Publication Date Title
CN113448740B (zh) 操作系统的电源管理方法及装置
KR101177971B1 (ko) 보호 영역 경계들에서의 오브젝트 호출 방법, 시스템 및 장치
CN113986515B (zh) 为插件运行创建沙箱环境的方法和装置以及计算设备
JP5608243B2 (ja) 仮想化環境においてi/o処理を行う方法および装置
US20070094673A1 (en) Configuration of Isolated Extensions and Device Drivers
WO2018099292A1 (zh) 一种进程管理方法及装置
CN113296950B (zh) 处理方法、装置、电子设备及可读存储介质
CN114077462A (zh) 软件操作系统调用Android HIDL接口的方法、装置、设备及介质
CN110780930A (zh) 启动Android系统的方法、装置、电子设备及存储介质
WO2023124968A1 (zh) 软件操作系统调用Android动态库HAL接口的方法、设备及介质
KR20150104592A (ko) 하드웨어 디바이스에 대한 소프트웨어 인터페이스
CN114047960A (zh) 操作系统运行方法及装置、电子设备和存储介质
CN114691300A (zh) 一种虚拟机实例的热迁移方法
EP3633507B1 (en) Technologies for secure and efficient native code invocation for firmware services
CN111651169A (zh) 基于web容器的区块链智能合约运行方法及系统
CN106708619B (zh) 资源管理方法及装置
CN114003346A (zh) 任务处理方法、设备、存储介质及程序产品
CN114780211B (zh) 管理安全容器的方法及基于安全容器的系统
WO2023071786A1 (zh) 一种进程间的函数调用方法及相关设备
CN113821306B (zh) 资源隔离方法、装置和终端设备
CN112860595B (zh) Pci设备或pcie设备、数据存取方法及相关组件
CN117670645A (zh) 限制容器显存的方法、装置、电子设备以及存储介质
CN106922189B (zh) 设备代理装置及其控制方法
CN114302055A (zh) 基于Linux的相机控制方法、装置、设备和存储介质
CN118426912B (zh) 基于gpu的用户容器处理方法、装置、设备及介质

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
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220330

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

Address before: 2005, floor 2, No. 39, West Street, Haidian District, Beijing 100082

Patentee before: Beijing jingling Information System Technology Co.,Ltd.