• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    使客戶(hù)機(jī)操作系統(tǒng)輕量化的方法及系統(tǒng)和虛擬化操作系統(tǒng)技術(shù)方案

    技術(shù)編號(hào):14458124 閱讀:52 留言:0更新日期:2017-01-19 15:12
    本發(fā)明專(zhuān)利技術(shù)公開(kāi)了一種使客戶(hù)機(jī)操作系統(tǒng)輕量化的方法,以及云環(huán)境下的輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)和一種基于該輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)的虛擬化操作系統(tǒng),目的是解決應(yīng)用程序在云環(huán)境下性能和功能方面的限制,簡(jiǎn)化客戶(hù)機(jī)操作系統(tǒng)的設(shè)計(jì)并提高其性能,減少抽象和保護(hù)的層數(shù)。該輕量級(jí)操作系統(tǒng)主要包括虛擬硬件驅(qū)動(dòng)模塊、文件系統(tǒng)模塊、網(wǎng)絡(luò)模塊、內(nèi)存管理模塊、線程調(diào)度模塊和系統(tǒng)調(diào)用模塊。其中,一個(gè)輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)中只運(yùn)行一個(gè)應(yīng)用程序,減少了客戶(hù)機(jī)操作系統(tǒng)中多余的、有代價(jià)的“隔離”,使用單一的地址空間,所有線程和內(nèi)核使用一個(gè)頁(yè)表,減少了上下文切換。可以運(yùn)行c/c++應(yīng)用程序和java程序,能有效提高應(yīng)用程序的性能,是一種高效的應(yīng)用程序運(yùn)行容器。

    【技術(shù)實(shí)現(xiàn)步驟摘要】

    本專(zhuān)利技術(shù)涉及一種使客戶(hù)機(jī)操作系統(tǒng)輕量化的方法,以及云環(huán)境下的輕量級(jí)操作系統(tǒng)和基于該輕量級(jí)操作系統(tǒng)的虛擬化系統(tǒng),在虛擬化環(huán)境中提供一種高效的應(yīng)用程序運(yùn)行容器,可有效提高應(yīng)用程序的性能。
    技術(shù)介紹
    隨著云計(jì)算和虛擬化的發(fā)展,越來(lái)越多的應(yīng)用都是運(yùn)行在虛擬化的環(huán)境下。主流的虛擬化軟件包括kvm、xen、vmware,客戶(hù)機(jī)操作系統(tǒng)包括linux、windows等,應(yīng)用程序運(yùn)行在客戶(hù)操作系統(tǒng)之上。雖然通過(guò)虛擬化的方法提高了設(shè)備的使用率,增加了靈活性,但是這種架構(gòu)有很多不足,例如:由于虛擬化層和客戶(hù)操作系統(tǒng)在許多功能上是重疊的,比如硬件抽象,資源隔離,資源虛擬化,內(nèi)存管理等等,冗余層次過(guò)多,導(dǎo)致應(yīng)用程序性能下降。參見(jiàn)圖1,原有的客戶(hù)機(jī)操作系統(tǒng)300主要包括驅(qū)動(dòng)模塊310、文件系統(tǒng)模塊320、網(wǎng)絡(luò)模塊330、內(nèi)存管理模塊340、進(jìn)程管理模塊350、設(shè)備控制模塊360、系統(tǒng)調(diào)用模塊370、C/C++運(yùn)行時(shí)庫(kù)380、JAVA運(yùn)行時(shí)庫(kù)390和PYTHON運(yùn)行時(shí)庫(kù)530,其系統(tǒng)結(jié)構(gòu)十分復(fù)雜,主要是由于歷史遺留原因,現(xiàn)有的客戶(hù)機(jī)操作系統(tǒng)300在硬件抽象化、隔離、資源虛擬化、內(nèi)存管理、IO協(xié)議棧、調(diào)度、CPU管理等方面都有非常成熟,復(fù)雜的實(shí)現(xiàn)。而由于傳統(tǒng)的客戶(hù)機(jī)操作系統(tǒng)300都是針對(duì)物理機(jī)設(shè)計(jì)的,有大量驅(qū)動(dòng)代碼都是用來(lái)支持硬件的,因此在虛擬化和云計(jì)算環(huán)境下并不是一種最佳的應(yīng)用程序運(yùn)行容器。在實(shí)際應(yīng)用中,傳統(tǒng)的虛擬化環(huán)境,是在服務(wù)器硬件之上通過(guò)虛擬機(jī)監(jiān)視器提供多個(gè)虛擬機(jī),在每個(gè)虛擬中需要運(yùn)行一個(gè)客戶(hù)機(jī)操作系統(tǒng)300,在客戶(hù)機(jī)操作系統(tǒng)之上再運(yùn)行c/c++應(yīng)用程序400或JAVA應(yīng)用程序520或Python程序540。在這種架構(gòu)下,JAVA虛擬機(jī),客戶(hù)機(jī)操作系統(tǒng)300及虛擬機(jī)監(jiān)視器在硬件抽象化、隔離、資源虛擬化、內(nèi)存管理、IO協(xié)議棧、調(diào)度、CPU管理等方面都有自己的實(shí)現(xiàn)。而對(duì)于應(yīng)用程序而言,此時(shí)由于JAVA虛擬機(jī)、虛擬機(jī)監(jiān)視器和客戶(hù)操作系統(tǒng)300在許多功能上是重疊的,冗余層次過(guò)多,導(dǎo)致應(yīng)用程序性能下降。
    技術(shù)實(shí)現(xiàn)思路
    基于上述原因,本專(zhuān)利技術(shù)的目的是提供一種使客戶(hù)機(jī)操作系統(tǒng)輕量化的方法,以及云環(huán)境下的輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)和基于該輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)的虛擬化操作系統(tǒng),為虛擬化和云計(jì)算提供一種性能優(yōu)越的應(yīng)用程序運(yùn)行容器,其主要設(shè)計(jì)目標(biāo)是解決應(yīng)用程序在云環(huán)境下性能和功能方面的限制,簡(jiǎn)化客戶(hù)機(jī)操作系統(tǒng)的設(shè)計(jì)并提高其性能,減少抽象和保護(hù)的層數(shù)。為了達(dá)到上述目的,本專(zhuān)利技術(shù)提供的主要技術(shù)方案包括:一種使客戶(hù)機(jī)操作系統(tǒng)輕量化的方法,其特征在于:一個(gè)客戶(hù)機(jī)操作系統(tǒng)中只運(yùn)行一個(gè)應(yīng)用程序,以減少客戶(hù)機(jī)操作系統(tǒng)中多余的、有代價(jià)的功能。所述使客戶(hù)機(jī)操作系統(tǒng)輕量化的方法的一個(gè)實(shí)施例中,所述客戶(hù)機(jī)操作系統(tǒng)的線程調(diào)度模塊,采用無(wú)鎖化設(shè)計(jì),減少調(diào)度開(kāi)銷(xiāo)。所述使客戶(hù)機(jī)操作系統(tǒng)輕量化的方法的一個(gè)實(shí)施例中,所述客戶(hù)機(jī)操作系統(tǒng)的線程調(diào)度模塊構(gòu)建一種單進(jìn)程多線程環(huán)境,且僅進(jìn)行線程間的調(diào)度,不進(jìn)行進(jìn)程間的調(diào)度。所述使客戶(hù)機(jī)操作系統(tǒng)輕量化的方法的一個(gè)實(shí)施例中,所述客戶(hù)機(jī)操作系統(tǒng)的線程調(diào)度模塊在每一個(gè)CPU上保留一個(gè)運(yùn)行隊(duì)列,存儲(chǔ)該CPU所有可運(yùn)行的線程(優(yōu)選為該運(yùn)行隊(duì)列中不包括休眠線程),使得每個(gè)CPU有自己獨(dú)立的運(yùn)行隊(duì)列。所述使客戶(hù)機(jī)操作系統(tǒng)輕量化的方法的一個(gè)實(shí)施例中,每一個(gè)CPU中運(yùn)行一個(gè)負(fù)載均衡線程,以保證調(diào)度的公平;優(yōu)選為,這些負(fù)載均衡線程每隔一段時(shí)間運(yùn)行一次,并檢查其他CPU的運(yùn)行隊(duì)列的大小是否小于自己的隊(duì)列,如果是這樣,則從自己的隊(duì)列中選擇一個(gè)線程,并把該線程放到相應(yīng)的(例如運(yùn)行隊(duì)列小于自己的CPU中的一個(gè))CPU的運(yùn)行隊(duì)列中。所述使客戶(hù)機(jī)操作系統(tǒng)輕量化的方法的一個(gè)實(shí)施例中,所述客戶(hù)機(jī)操作系統(tǒng)的網(wǎng)絡(luò)模塊和/或文件系統(tǒng)模塊零拷貝,異步io。上述任一使客戶(hù)機(jī)操作系統(tǒng)輕量化的方法的一個(gè)實(shí)施例中,所述客戶(hù)機(jī)操作系統(tǒng)的內(nèi)存管理模塊使用單一的地址空間,不分為用戶(hù)空間和內(nèi)核空間。所述使客戶(hù)機(jī)操作系統(tǒng)輕量化的方法的一個(gè)實(shí)施例中,所述客戶(hù)機(jī)操作系統(tǒng)的內(nèi)存管理模塊的所有線程和內(nèi)核使用一個(gè)頁(yè)表(優(yōu)選為內(nèi)存管理模塊的所有線程和內(nèi)核共同使用同一個(gè)頁(yè)表),減少上下文切換。一種輕量級(jí)客戶(hù)機(jī)操作系統(tǒng),其特征在于:一個(gè)輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)中只運(yùn)行一個(gè)應(yīng)用程序;和/或其內(nèi)存管理模塊使用單一的地址空間;和/或其所有線程和內(nèi)核使用一個(gè)頁(yè)表;和/或其線程調(diào)度模塊采用無(wú)鎖化設(shè)計(jì);和/或其網(wǎng)絡(luò)模塊和/或文件系統(tǒng)模塊零拷貝,異步io;和/或其僅運(yùn)行于虛擬化環(huán)境中。所述的輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)的一個(gè)實(shí)施例中,線程調(diào)度模塊為輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)構(gòu)建一種單進(jìn)程多線程環(huán)境,且僅進(jìn)行線程間的調(diào)度,不進(jìn)行進(jìn)程間的調(diào)度。所述的輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)的一個(gè)實(shí)施例中,線程調(diào)度模塊在每一個(gè)CPU上保留一個(gè)運(yùn)行隊(duì)列,存儲(chǔ)該CPU所有可運(yùn)行的線程。所述的輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)的一個(gè)實(shí)施例中,每一個(gè)CPU中運(yùn)行一個(gè)負(fù)載均衡線程;優(yōu)選為,這些負(fù)載均衡線程每隔一段時(shí)間運(yùn)行一次,并檢查其他CPU的運(yùn)行隊(duì)列的大小是否小于自己的隊(duì)列,如果是這樣,則從自己的隊(duì)列中選擇一個(gè)線程,并把該線程放到相應(yīng)的(例如運(yùn)行隊(duì)列小于自己的CPU中的一個(gè))CPU的運(yùn)行隊(duì)列中。所述的輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)的一個(gè)實(shí)施例中,所述輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)的系統(tǒng)調(diào)用包括文件系統(tǒng)操作、文件讀寫(xiě)操作、網(wǎng)絡(luò)操作、socket套接字、內(nèi)存管理,但是不支持進(jìn)程創(chuàng)建操作。所述的輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)的一個(gè)實(shí)施例中,所述輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)的采用扁平的物理內(nèi)存映射或虛擬內(nèi)存。所述的輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)的一個(gè)實(shí)施例中,所述輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)的采用大頁(yè)策略,并使用單一的地址空間,所有線程和內(nèi)核使用一個(gè)頁(yè)表。所述的輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)的一個(gè)實(shí)施例中,所述輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)的內(nèi)存管理模塊使用單一的地址空間,不分為用戶(hù)空間和內(nèi)核空間。所述的輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)的一個(gè)實(shí)施例中,所述輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)的虛擬硬件驅(qū)動(dòng)模塊的驅(qū)動(dòng)只包括鍵盤(pán)、virtio等半虛擬化驅(qū)動(dòng),SATE。一種云環(huán)境下的輕量級(jí)客戶(hù)機(jī)操作系統(tǒng),其特征在于,其包括:內(nèi)存管理模塊,采用扁平的物理內(nèi)存映射或虛擬內(nèi)存,采用大頁(yè)策略,并使用單一的地址空間,所有線程和內(nèi)核使用一個(gè)頁(yè)表,減少上下文切換;線程調(diào)度模塊,構(gòu)建單進(jìn)程多線程環(huán)境,這里僅涉及線程間的調(diào)度,不存在進(jìn)程間的調(diào)度,線程調(diào)度模塊在每一個(gè)CPU上保留一個(gè)運(yùn)行隊(duì)列,存儲(chǔ)該CPU所有可運(yùn)行的線程,使得每個(gè)CPU都有自己獨(dú)立的運(yùn)行隊(duì)列,實(shí)現(xiàn)無(wú)鎖化設(shè)計(jì);虛擬硬件驅(qū)動(dòng)模塊,輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)只在虛擬化環(huán)境中運(yùn)行,而物理服務(wù)器上的虛擬化層提供一個(gè)簡(jiǎn)單的、穩(wěn)定的硬件抽象層,使得輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)的驅(qū)動(dòng)只包括鍵盤(pán)、virtio等半虛擬化驅(qū)動(dòng),SATE;文件系統(tǒng)模塊,遵循linux中的VFS設(shè)計(jì),和傳統(tǒng)的linux客戶(hù)機(jī)操作系統(tǒng)的文件接口兼容,并采用ZFS作為主要的文件系統(tǒng);以及網(wǎng)絡(luò)模塊,實(shí)現(xiàn)零拷貝、異步io、批量處理等功能來(lái)提高IO性能;其中,一個(gè)輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)中只運(yùn)行一個(gè)應(yīng)用程序。所述的輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)的一個(gè)實(shí)施例中,其還包括:C/C++加載模塊和JAVA虛擬機(jī)模塊。一種虛擬化操作系統(tǒng),其特征在于,其包括:服務(wù)器硬件;虛擬機(jī)監(jiān)視器;若干個(gè)如前所述的任一種輕量級(jí)客戶(hù)機(jī)操作系統(tǒng);C\本文檔來(lái)自技高網(wǎng)
    ...

    【技術(shù)保護(hù)點(diǎn)】
    一種使客戶(hù)機(jī)操作系統(tǒng)輕量化的方法,其特征在于:一個(gè)客戶(hù)機(jī)操作系統(tǒng)中只運(yùn)行一個(gè)應(yīng)用程序,以減少客戶(hù)機(jī)操作系統(tǒng)中多余的、有代價(jià)的功能。

    【技術(shù)特征摘要】
    1.一種使客戶(hù)機(jī)操作系統(tǒng)輕量化的方法,其特征在于:一個(gè)客戶(hù)機(jī)操作系統(tǒng)中只運(yùn)行一個(gè)應(yīng)用程序,以減少客戶(hù)機(jī)操作系統(tǒng)中多余的、有代價(jià)的功能。2.如權(quán)利要求1所述的方法,其特征在于:所述客戶(hù)機(jī)操作系統(tǒng)的線程調(diào)度模塊,采用無(wú)鎖化設(shè)計(jì),減少調(diào)度開(kāi)銷(xiāo);或所述客戶(hù)機(jī)操作系統(tǒng)的網(wǎng)絡(luò)模塊和/或文件系統(tǒng)模塊零拷貝,異步io。3.如權(quán)利要求1所述的方法,其特征在于:所述客戶(hù)機(jī)操作系統(tǒng)的線程調(diào)度模塊構(gòu)建一種單進(jìn)程多線程環(huán)境,且僅進(jìn)行線程間的調(diào)度,不進(jìn)行進(jìn)程間的調(diào)度。優(yōu)選為,該線程調(diào)度模塊在每一個(gè)CPU上保留一個(gè)運(yùn)行隊(duì)列,存儲(chǔ)該CPU所有可運(yùn)行的線程(優(yōu)選為該運(yùn)行隊(duì)列中不包括休眠線程),使得每個(gè)CPU有自己獨(dú)立的運(yùn)行隊(duì)列。4.如權(quán)利要求3所述的方法,其特征在于:每一個(gè)CPU中運(yùn)行一個(gè)負(fù)載均衡線程,以保證調(diào)度的公平;優(yōu)選為,這些負(fù)載均衡線程每隔一段時(shí)間運(yùn)行一次,并檢查其他CPU的運(yùn)行隊(duì)列的大小是否小于自己的隊(duì)列,如果是這樣,則從自己的隊(duì)列中選擇一個(gè)線程,并把該線程放到運(yùn)行隊(duì)列小于自己的CPU的運(yùn)行隊(duì)列中。5.如權(quán)利要求1、2、3或4所述的方法,其特征在于:所述客戶(hù)機(jī)操作系統(tǒng)的內(nèi)存管理模塊使用單一的地址空間,不分為用戶(hù)空間和內(nèi)核空間。優(yōu)選的,該內(nèi)存管理模塊的所有線程和內(nèi)核使用一個(gè)頁(yè)表,減少上下文切換。6.一種輕量級(jí)客戶(hù)機(jī)操作系統(tǒng),其特征在于:一個(gè)輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)中只運(yùn)行一個(gè)應(yīng)用程序;和/或其內(nèi)存管理模塊使用單一的地址空間;和/或其所有線程和內(nèi)核使用一個(gè)頁(yè)表;和/或其線程調(diào)度模塊采用無(wú)鎖化設(shè)計(jì);和/或其網(wǎng)絡(luò)模塊和/或文件系統(tǒng)模塊零拷貝,異步io;和/或其僅運(yùn)行于虛擬化環(huán)境中。7.如權(quán)利要求6所述的輕量級(jí)客戶(hù)機(jī)操作系統(tǒng),其特征在于:線程調(diào)度模塊為輕量級(jí)客戶(hù)機(jī)操作系統(tǒng)構(gòu)建一種單進(jìn)程多線程環(huán)境,且僅進(jìn)行線程間的調(diào)度,不進(jìn)行進(jìn)程間的調(diào)度。優(yōu)選的,線程調(diào)度模塊在每一個(gè)CPU上保留一個(gè)運(yùn)行隊(duì)列,存儲(chǔ)該CPU所有可運(yùn)行的線程。8.如權(quán)利要求7所述的輕量級(jí)客戶(hù)機(jī)操作系統(tǒng),其特征在于:每一個(gè)CPU中運(yùn)行一個(gè)負(fù)載均衡線程;優(yōu)選為,這些負(fù)載均衡線程每隔一段時(shí)間運(yùn)行一次,并檢查其他CPU的運(yùn)行隊(duì)列的大小是否小于自己的隊(duì)列,如果是這樣,則從自己的隊(duì)列中選擇一個(gè)線程,并把該線程放到運(yùn)行隊(duì)列小于自己的CPU的...

    【專(zhuān)利技術(shù)屬性】
    技術(shù)研發(fā)人員:姚遠(yuǎn)馬立克張維婷蔣濤宋瀟豫趙峰喬詠申利飛
    申請(qǐng)(專(zhuān)利權(quán))人:中標(biāo)軟件有限公司
    類(lèi)型:發(fā)明
    國(guó)別省市:上海;31

    網(wǎng)友詢(xún)問(wèn)留言 已有0條評(píng)論
    • 還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。

    1
    主站蜘蛛池模板: 无码无需播放器在线观看| 久久久久久国产精品无码超碰 | 国产亚洲精品无码专区| 国产午夜激无码av毛片| 久久人妻少妇嫩草AV无码专区 | 亚洲av永久无码| 亚洲色偷拍区另类无码专区 | 日韩国产成人无码av毛片| 蜜臀亚洲AV无码精品国产午夜. | 人妻无码第一区二区三区| 日韩精品无码久久一区二区三| 亚洲精品无码久久千人斩| 精品无码中出一区二区| 亚洲欧洲国产综合AV无码久久| 寂寞少妇做spa按摩无码| 国产av无码久久精品| 成人无码区免费A片视频WWW| 国产午夜无码精品免费看 | 国产午夜无码精品免费看 | 精品久久久无码中字| 亚洲AV无码乱码麻豆精品国产| 国产成年无码久久久久毛片| 国产成人无码精品久久久免费 | yy111111电影院少妇影院无码| 精品国产一区二区三区无码| 男人的天堂无码动漫AV| 日韩人妻无码一区二区三区久久| 亚洲日韩av无码| 国产综合无码一区二区辣椒| 狠狠躁狠狠爱免费视频无码| 国产亚洲?V无码?V男人的天堂| 久久久久亚洲av成人无码电影 | 精品无码综合一区| 中文字幕在线无码一区| 久久久无码精品亚洲日韩软件| 亚洲免费无码在线| 亚洲热妇无码AV在线播放| 中文字幕丰满乱孑伦无码专区| 亚洲AV无码专区亚洲AV伊甸园| 无码中文字幕日韩专区视频| 乱人伦中文无码视频在线观看|