用于為專門提供給虛擬機的主操作系統(tǒng)內核提供大容量存儲介質的多個限定區(qū)域作為獨 ...的制作方法
【專利摘要】本發(fā)明涉及一種計算機系統(tǒng)(100),包括至少一個處理器(CPU)、第一大容量存儲器(MS1)和第二大容量存儲器(MS2),計算機系統(tǒng)(100)設置為,在處理器(CPU)上執(zhí)行主操作系統(tǒng)內核(MBS)以及在主操作系統(tǒng)內核(MBS)控制下的第一和至少一個第二操作系統(tǒng)(BS1,BS2)。內存控制器(CTL)設置為,大容量存儲介質(FLSH)的限定的區(qū)域作為第一和至少一個第二大容量存儲器供主操作系統(tǒng)內核(MBS)使用,它們分別是相互獨立的,以便控制大容量存儲介質(FLSH)的限定的區(qū)域上的第一和至少一個第二大容量存儲器的映射。主操作系統(tǒng)內核(MBS)設置為,實現第一和至少一個第二操作系統(tǒng)內核(BS1,BS2)分別對供使用的大容量存儲器中的至少一個的專有訪問。
【專利說明】用于為專門提供給虛擬機的主操作系統(tǒng)內核提供大容量存儲介質的多個限定區(qū)域作為獨立的大容量存儲器的內存控制器
【技術領域】
[0001]本發(fā)明涉及一種計算機系統(tǒng),該計算機系統(tǒng)例如可以用于汽車或者作為嵌入式系統(tǒng)而使用。
【背景技術】
[0002]在現代計算機系統(tǒng)中,越來越多地利用操作系統(tǒng)的虛擬化工作,以便放棄例如附加的處理器或者微控制器的使用。為了安全起見在這里嘗試,互相防止虛擬化操作系統(tǒng)的相互訪問。此外應該特別阻止惡意程序對不同的虛擬化操作系統(tǒng)的訪問。當在多個虛擬化操作系統(tǒng)中,相應的大容量存儲器存儲在同一個物理的大容量存儲介質上時,在傳統(tǒng)的計算機系統(tǒng)中基本上存在這一危險,即例如通過利用安全漏洞,進行在外部大容量存儲器上的不受歡迎的訪問。這在傳統(tǒng)的計算機系統(tǒng)中這樣規(guī)避,即對于每個虛擬操作系統(tǒng)使用單個的物理的存儲介質。
【發(fā)明內容】
[0003]要解決的目的在于,提供一種用于虛擬化操作系統(tǒng)的安全性的改進的設計。
[0004]該目的通過獨立權利要求的內容來解決。本發(fā)明的改進和設計是從屬權利要求的內容。
[0005]所提出的設計基于這樣一種構想,即對于計算機系統(tǒng)使用特殊的、用于非易失性的大容量存儲介質的內存控制器,其實現在大容量存儲介質中的限定的區(qū)域分別作為獨立的大容量存儲器上的訪問,從而使得獨立的大容量存儲器中的至少一個分別供每個虛擬化操作系統(tǒng)使用。內存控制器優(yōu)選地作為硬件組件而實現,硬件組件獨立于計算機系統(tǒng)的處理器,虛擬化操作系統(tǒng)在該處理器上運行。因此可以確保,虛擬化操作系統(tǒng)只可以分別訪問分配給它的那個大容量存儲器。
[0006]在一個設計方式中,計算機系統(tǒng)包括至少一個處理器和用于非易失性的大容量存儲介質的內存控制器。計算機系統(tǒng)設置為,在該處理器上執(zhí)行主操作系統(tǒng)內核以及在主操作系統(tǒng)內核控制下的第一和至少一個第二操作系統(tǒng)。內存控制器設置為,大容量存儲介質的限定的區(qū)域也就是第一和至少一個第二大容量存儲器供主操作系統(tǒng)內核使用,它們分別是相互獨立的,以便控制大容量存儲介質的限定的區(qū)域上的第一和至少一個第二大容量存儲器的映射。主操作系統(tǒng)內核設置為,實現第一和至少一個第二操作系統(tǒng)內核分別對供使用的大容量存儲器中的至少一個的專有訪問。
[0007]大容量存儲介質例如是所謂的閃存,如多媒體卡,MMC,或者安全數碼卡,SD卡或者類似的。非易失性的大容量存儲介質例如是NAND存儲器,NOR存儲器或者被管理的NAND存儲器,存儲器可以分別固定地焊接在計算機系統(tǒng)的主板上。
[0008]在其他設計方式中,大容量存儲介質也可以是硬盤或者固態(tài)硬盤,英語:solidstate drive, SSD。在不同的設計方式中,大容量存儲介質由計算機系統(tǒng)所包括,并且例如固定地集成到計算機系統(tǒng)中。
[0009]內存控制器因此為主操作系統(tǒng)內核提供多個大容量存儲器,大容量存儲器在主操作系統(tǒng)內核的控制下作為相應的、用于第一和至少一個第二操作系統(tǒng)內核大容量存儲器使用。因此,可以分別實現對大容量存儲介質的限定的區(qū)域的受保護的訪問。
[0010]在一個設計方式中,內存控制器具有映射表,它為了各個可供使用的大容量存儲器,使映射規(guī)則存儲在相應的大容量存儲介質的限定的區(qū)域上。因此,操作系統(tǒng)內核可以使用各個可供使用的大容量存儲器,例如傳統(tǒng)的大容量存儲器,其中在使用映射表、確切說是映射規(guī)則情況下實現操作系統(tǒng)內核的訪問要求的轉換或者映射。
[0011]例如,大容量存儲介質的限定的區(qū)域通過在大容量存儲介質上分區(qū)來形成,其中所存儲的映射規(guī)則包括關于分區(qū)的位置和大小的信息。
[0012]因此可能的是,操作系統(tǒng)內核在相應的大容量存儲器上通過各個虛擬塊編號訪問限定的區(qū)域,其中這樣限定了的虛擬塊編號(Blocknummern)通過映射規(guī)則在大容量存儲介質的物理塊編號上映射。通過在映射表中分區(qū)的大小信息還可以確保,通過操作系統(tǒng)內核分別只對限定的區(qū)域確切說是分區(qū)進行訪問。例如防止,在過大的虛擬塊編號的情況下,對大容量存儲介質的不由被限定的區(qū)域所包括的物理區(qū)域進行訪問。
[0013]內存控制器優(yōu)選地具有主控制器,設置該主控制器,控制對限定的區(qū)域的硬件訪問。特別的是,主控制器例如設置為,測試在限定的區(qū)域的相應的訪問權限。這種訪問權限此外可以通過存儲在映射表內的信息、例如位置和大小信息來實現。
[0014]在不同的設計方式中,所存儲的映射規(guī)則還包括關于各個大容量存儲器的硬件標識號的信息。該硬件標識號可以例如由操作系統(tǒng)內核或者它們的驅動器來使用,用于大容量存儲器的控制。
[0015]在不同的設計方式中,內存控制器具有第一和至少一個第二虛擬控制器,它們分別提供大容量存儲器的其中一個并且分別具有寄存器,該寄存器映射到主操作系統(tǒng)內核的存儲區(qū)域。因此,至少有一個虛擬控制器供由主操作系統(tǒng)內核所控制的各個操作系統(tǒng)內核使用,虛擬控制器可以在操作系統(tǒng)內核的地址范圍內被直接驅控。特別的是,用于所控制的操作系統(tǒng)內核的大容量存儲器的驅控完全透明地實現,無需關于各個其他虛擬控制器確切說是大容量存儲器的知識。
[0016]內存控制器優(yōu)選地作為硬件設備而實現,例如作為專用集成電路,ASIC,或者通過帶有相應的編程的微控制器。用于這種微控制器的程序數據可以例如存儲在大容量存儲介質的區(qū)域內。
[0017]通過內存控制器作為硬件設備的實現,減輕了計算機系統(tǒng)的處理器的計算負荷。此外,通過劃分為不同的硬件設備,在處理器和內存控制器之間給出相對于由于在處理器上運行的惡意程序的內存控制器的操作的提高的安全性。
[0018]虛擬控制器將它對限定的區(qū)域的訪問例如傳遞到主控制器上,主控制器控制對大容量存儲介質的物理訪問。優(yōu)選的是,該控制以存儲在映射表內的信息為基礎而發(fā)生。主控制器的初始化和控制可以通過例如主操作系統(tǒng)內核而實現。
[0019]在其他的設計方式中,內存控制器還設置為,借助預定的優(yōu)先級來控制對大容量存儲介質的限定的區(qū)域的訪問。這種控制例如再次通過主控制器實現,其中預定的優(yōu)先級例如同樣存儲在映射表內。
[0020]在另一個設計方式中,內存控制器確切說是主控制器設置為,控制大容量內存控制器的使用分配。在這里使用所謂的磨損均衡機制,它確保存大容量存儲介質的存儲區(qū)域確切說是存儲單元的均勻的使用或磨損。因此,可以進一步降低計算機系統(tǒng)的程序的計算負荷。
【專利附圖】
【附圖說明】
[0021 ] 接下來在幾個實施例中借助附圖進一步解釋本發(fā)明。相同的附圖標記在這里表示相同功能的元件或者部件。元件或者部件在它們的功能方面相符,不在下面的附圖的每一個附圖中重復它們的描述。附圖示出:
[0022]圖1為計算機系統(tǒng)的示意圖,
[0023]圖2為大容量存儲介質的劃分的示意圖,以及
[0024]圖3為計算機系統(tǒng)的另一個實施例的示意圖。
【具體實施方式】
[0025]圖1示出了計算機系統(tǒng)100的設計方式的示意圖,帶有處理器CPU和內存控制器CTL,在它的上面連接有大容量存儲介質FLSH。大容量存儲介質FLSH例如是所謂的閃存,如多媒體卡,MMC,或者安全數碼卡,SD卡或者類似的。非易失性的大容量存儲介質FLSH例如是NAND存儲器,Nor存儲器或者被管理的NAND存儲器,存儲器可以分別固定地焊接在計算機系統(tǒng)100的主板上或者位于計算機系統(tǒng)100的外部。大容量存儲介質FLSH也可以是一個固態(tài)硬盤,英語:solid state drive, SSD。
[0026]處理器CPU在所示出的設計方式中用作主操作系統(tǒng)內核MBS作為所謂的主機操作系統(tǒng)或者主機操作系統(tǒng)H-OS的執(zhí)行。在主操作系統(tǒng)內核MBS的控制下,在本設計方式中執(zhí)行第一、第二和第三操作系統(tǒng)內核BSI,BS2,BS3,示出所謂的客機操作系統(tǒng)G-OS。例如第一操作系統(tǒng)內核BSl設計用于根據汽車開放系統(tǒng)架構,AUT0SAR的操作系統(tǒng),而在第二和第三操作系統(tǒng)內核BS2,BS3上運行不同的Linux操作系統(tǒng)。例如,第二操作系統(tǒng)內核BS2是傳統(tǒng)的Linux操作系統(tǒng),該操作系統(tǒng)也允許安全關鍵的應用或者程序的執(zhí)行,這樣特別是不能基本上阻止惡意程序的執(zhí)行。第三操作系統(tǒng)內核BS3包括例如安全的確切說是在安全性上非常強大(gehartetes)的Linux系統(tǒng),系統(tǒng)例如以安全策略運行,禁止執(zhí)行與安全相關的應用。例如通過該安全的Linux系統(tǒng)實現第一和/或者第二操作系統(tǒng)內核BS1、BS2確切說是它們的系統(tǒng)程序的管理。主操作系統(tǒng)內核MBS例如實施為微內核或者分離內核。
[0027]內存控制器CTL包括主控制器MCTRL以及多個虛擬控制器VCl、VC2、VC3、VC4,…VCn,它們與主控制器MCTRL連接。此外,大容量存儲介質FLSH連接在主控制器MCTRL上。內存控制器CTL還包括映射表MTBL,在該映射表內為了各個虛擬控制器VCl至VCn在大容量存儲介質FLSH的限定的區(qū)域和相關聯(lián)的虛擬控制器之間存儲映射規(guī)則。例如,為了第一虛擬控制器VCl,存儲帶有控制器CBl的標識的輸入位(Eintrag),在大容量存儲介質FLSH上的起始塊SBl,在大容量存儲介質FLSH上的結束塊EBl以及硬件標識號DEVl,上述存儲的內容由虛擬控制器VCl提供給所連接的處理器CPU使用。以相應的方式,為了其他虛擬控制器保存帶有控制器信息CB2至CBn的輸入位,起始塊SB2至SBn,結束塊EB2至EBn和硬件標識號DEV2至DEVn。
[0028]主控制器MCTRL還通過特殊的控制線與處理器CPU連接,控制線只使得主控制系統(tǒng)內核MBS通過初始化命令INIT和控制命令CTRL實現主控制器MCTRL的控制和配置。
[0029]內存控制器CTL提供給主操作系統(tǒng)內核多個虛擬控制器VCl至VCn,該虛擬控制器再次作為相應的大容量內存控制器供非獨立控制的操作系統(tǒng)內核BS1,BS2, BS3使用。因此,每個操作系統(tǒng)內核BS1,BS2, BS3包含至少一個單獨的虛擬控制器,通過該虛擬控制器可以訪問附屬于操作系統(tǒng)內核的大容量存儲器。優(yōu)選的是,內存控制器CTL作為獨立的硬件部件實現,這樣不需要使用處理器CPU的附加的處理性能。
[0030]虛擬控制器VCl至VCn具有至少用于控制操作系統(tǒng)內核BS1,BS2,BS3的常規(guī)內存控制器的功能,其中通過映射表,虛擬控制器VCl至VCn的虛擬塊編號映射到所連接的大容量存儲介質FLSH的物理塊上。例如,映射,英語:mapping,由此實現,虛擬塊編號映射到用作偏移量的起始塊SB1,SB2, SBn0除了純粹的塊編號外還希望,芯片選擇線路也映射到虛擬控制器VCl至VCn。
[0031]在所示出的方式中,在映射表內存儲物理的起始和結束塊,還可能的是,除了起始塊SBl,SB2,SBn以外還在映射表內在大容量存儲介質FLSH上存儲分區(qū)大小,以便限定用于虛擬控制器的各個允許的大小或者允許的訪問區(qū)域。在兩種情況內設置,主控制器MCTRL在虛擬控制器VCl至VCn的訪問需求情況下在大容量存儲介質FLSH的方向檢測,所需要的塊是否位于大容量存儲介質上的通過輸入位限定的區(qū)域的內部。在由主控制器MCTRL檢測到區(qū)域故障情況下,例如可以在處理器CPU的方向發(fā)送異常消息,英語:exc印tion。這種異常消息例如是軟件中斷,它由主操作系統(tǒng)內核MBS來處理。
[0032]另一個值得希望的信息是關于所連接的大容量存儲介質的信息。主控制器MCTRL可以由此了解,物理的存儲器是否例如通過SDIO、MMC或者作為純粹的NAND儀器連接。這一設備信息還通知主控制器MCTRL,應該使用哪些芯片選擇線路,以便訪問大容量存儲介質以及通過哪種方式實現所連接的大容量存儲器設備的定址。
[0033]在不同的設計方式中,還可以連接多個大容量存儲介質,其中在這種情況下優(yōu)選地設置多個主控制器,它們分別實現對所連接的大容量存儲介質的物理訪問。關于各個大容量存儲介質的設備類型的信息可能例如對于多個SD卡之間的區(qū)分是很有意義的,它們連接在專用SD卡控制器上。用于操作系統(tǒng)內核BS1,BS2, BS3的不同限定區(qū)域因此可以保存在不同的大容量存儲介質上。然而優(yōu)選的是不用設置,一個限定的區(qū)域在多個大容量存儲介質上延伸。
[0034]大容量存儲介質FLSH的配置通過主控制器MCTRL實現,例如通過之前描述的主控制器MCTRL和主操作系統(tǒng)內核MBS之間的連接。這種配置優(yōu)選地在主操作系統(tǒng)內核啟動時進行,其中配置數據也直接地保存在大容量存儲介質FLSH上,例如在大容量存儲介質FLSH的初始區(qū)域或者第一塊內。對此主控制器MCTRL優(yōu)選地設置,將例如由于過度重疊的塊區(qū)域造成的不正確的配置,報告給主操作系統(tǒng)內核MBS或者主機操作系統(tǒng)H-0S。
[0035]各個虛擬控制器VCl至VCn優(yōu)選的是帶有各自的寄存器的實際硬件層,它們在處理器CPU的物理地址區(qū)域的單獨的存儲器頁內。因此,各個虛擬控制器分配給用于客機操作系統(tǒng)的單獨的分區(qū),其中使用計算機系統(tǒng)的標準機制,例如存儲器映射單元,英語:memory mapping unit, MMU。附加的是,各個虛擬控制器VCl至VCn可以具有所有的寄存器,它們是對虛擬設備的讀取和寫入訪問的執(zhí)行所必需的,這樣各個虛擬控制器采取如傳統(tǒng)的內存控制器的行為。此外與傳統(tǒng)的內存控制器的區(qū)別在于這一事實,即實際的數據傳輸在物理意義上通過主控制器MCTL執(zhí)行,它檢測配置和映射表對比傳輸、確切說是訪問參數,在實際執(zhí)行傳輸之前。
[0036]傳輸確切說是訪問參數包括例如塊編號,塊的數量應該能被讀取和寫入,或者訪問權限。因此,虛擬控制器采取如獨立實體一樣的行為,實體在訪問故障情況下產生異常通報。在主控制器檢測訪問參數之后,因此訪問在所限定的和允許的范圍的內部,虛擬控制器的虛擬地址轉換為物理地址,地址在大容量存儲介質FLSH內使用。
[0037]圖2示例性地示出了將大容量存儲介質FLSH劃分為多個限定的區(qū)域,在這些區(qū)域內可以訪問虛擬控制器。在這里在所示出的實施例中,大容量存儲介質FLSH劃分為四個限定的區(qū)域,區(qū)域通過物理塊編號PBN限定。例如,第一區(qū)域從物理塊O到物理塊1023,第二區(qū)域從物理塊1024到物理塊33791,第三區(qū)域從物理塊33792到物理塊66559,第四區(qū)域從物理塊66560到物理塊1048575。第一區(qū)域是例如整個計算機系統(tǒng)啟動時用于啟動加載(Bootloader)的分區(qū)。第二區(qū)域是第一操作系統(tǒng)分區(qū),該分區(qū)為了相關聯(lián)的操作系統(tǒng)劃分為內部的系統(tǒng)分區(qū)和內部的數據分區(qū)。帶有內部的數據分區(qū)的行由INTP來表示。第三區(qū)域用作用于第二操作系統(tǒng)分區(qū)的系統(tǒng)分區(qū),而第四區(qū)域再次劃分為系統(tǒng)分區(qū),而數據分區(qū)作為內部的數據分區(qū)劃分為再次劃分為系統(tǒng)分區(qū)和數據分區(qū)作為第三操作系統(tǒng)分區(qū)的內部的數據分區(qū)。給出各個區(qū)域的邏輯塊編號LBN,它們分別從O開始,第一區(qū)域是塊1023,第二區(qū)域是塊32767,第三區(qū)域是塊32767,第四區(qū)域是塊982015。
[0038]各個區(qū)域還可以稱為超級分區(qū)。因此,用于各個操作系統(tǒng)內核,相關聯(lián)的超級分區(qū)像完整的大容量存儲器。在超級分區(qū)的范圍內例如再次使用第一塊如所謂的主引導記錄,這以相似的方式在傳統(tǒng)的PC系統(tǒng)中是普遍的。例如在主引導記錄中存儲分區(qū)表,該表承載關于內部的分區(qū)INTP的信息。
[0039]各個操作系統(tǒng)內核具有對它的相關聯(lián)的超級分區(qū)的訪問,可以管理對內部的分區(qū)INTP的訪問權限。對于非獨立執(zhí)行的操作系統(tǒng)內核BS1,BS2, BS3,對內部的分區(qū)的訪問只通過該權限是可能的,權限由主操作系統(tǒng)內核MBS分配。因此,只對OS分區(qū)2讀取訪問的操作系統(tǒng)內核只是讀取地對分區(qū)的存儲器訪問。該操作系統(tǒng)內核可以因此沒有產生任何單個的分區(qū),或者在大容量存儲介質上寫入或者允許寫入內容。以相應的方式還可能的是,另一個操作系統(tǒng)內核只對OS分區(qū)3的系統(tǒng)分區(qū)讀取地訪問,而對OS分區(qū)3的內部數據分區(qū)讀取和寫入訪問是可能的。優(yōu)選的是,各個超級分區(qū)在虛擬控制器中被管理。在不同的設計方式中還可能的是,多個虛擬控制器對相同的物理區(qū)域訪問,以便使物理區(qū)域以安全的方式也可供多個操作系統(tǒng)內核使用。例如,在這里對于虛擬控制器,實現對相關聯(lián)的超級分區(qū)的寫入和讀取訪問,而在該區(qū)域只對這個或者其他虛擬控制器讀取地訪問。
[0040]對計算機系統(tǒng)的啟動優(yōu)選地始終由所連接的大容量存儲介質的第一塊來執(zhí)行。在接通之后值得希望的是,映射表填充為零,這樣所有的虛擬控制器看見大容量存儲介質FLSH的整個所連接的存儲器區(qū)域。這基本上是沒有問題的,因為處理器通常由所謂的引導程序或者主操作系統(tǒng)內核以所謂的引導裝載程序啟動。引導程序優(yōu)選地在非獨立控制的操作系統(tǒng)內核BS1,BS2, BS3之前啟動映射表MTBL。
[0041]在這里設置不同的可能性。例如可能的是,在映射表NTBL中明確地寫入起始和結束塊的初始化密碼。還可能的是,映射表通過專用的塊在大容量存儲介質FLSH內初始化。初始化密碼還優(yōu)選地負責,在主操作系統(tǒng)內核MBS上限制對主控制器MCTRL的訪問。附加的是,初始化密碼優(yōu)選地初始化基本MMU表,這樣虛擬控制器可以分配到相應的主操作系統(tǒng)內核中或者客機操作系統(tǒng)內核BS1,BS2, BS3中。
[0042]在不同的設計方式中還可以設置輸入/輸出MMU的互操作,這樣在虛擬控制器的寄存器中寫入附加的存儲器區(qū)域標識、翻譯緩沖器或者對MMU轉換緩沖器的指示。在使用輸入/輸出MMU時應該能夠映射和截獲虛擬控制器的中斷請求。主控制器在這里優(yōu)選地推動虛擬控制器的中斷請求,對此執(zhí)行基本的傳輸。輸入/輸出MMU對此需要帶有存儲器區(qū)域的配位,例如客機分區(qū)或者主操作系統(tǒng)內核,所述存儲器區(qū)域通過虛擬控制器的配置而產生,以便測試DMA傳輸和映射中斷請求。因此值得期望的是,輸入/輸出MMU在沒有截獲主控制器的中斷請求情況下傳到虛擬控制器。即使當大容量存儲介質只用作分區(qū)時,輸入/輸出MMU只借助虛擬控制器工作是足夠的。在這種情況下值得希望的是,它是第一控制器,它設置用于對大容量存儲介質的所有存儲器區(qū)域的訪問。
[0043]此外還可以值得期望的是,計算機系統(tǒng)設置訪問優(yōu)先級。訪問優(yōu)先級不是復雜的系統(tǒng)的微不足道的特征,例如在汽車中的娛樂系統(tǒng)中。這是有根據的,通常提出要求,即最后一個用戶設置在例如I或者2毫秒的短時間內被存儲,當面臨或者準備進行電壓下降和關閉計算機系統(tǒng)時。在此期間應該確保,保存和物理地存儲大容量存儲介質上的現有數據。為了實現這一點,計算機系統(tǒng)應該能夠短時間地在大容量存儲介質上寫入一個或者多個塊,并且因此超過或者甚至中斷其他虛擬控制器的其他請求。這可以例如這樣來實現,即為各個虛擬控制器分配優(yōu)先級。作為標準,可以例如使用虛擬控制器的標識作為初始優(yōu)先級。
[0044]在一個改進中例如可能的是,在初始化過程中為虛擬控制器分配各個優(yōu)先級。附加可能的是,調整內存控制器CTL在循環(huán)方法(英語:round robin)中以相同的優(yōu)先級對虛擬控制器訪問。優(yōu)選的是,主控制器具有列表,在該列表中保存做完的傳輸,即在大容量存儲介質上的存儲或者讀取程序,并且排序。對此可能有意義的是,現有的存儲器中的專用的存儲器或者存儲器區(qū)域供主控制器使用。
[0045]計算機系統(tǒng)的另一個可能的特征是異常消息、所謂的異常的處理。優(yōu)選的是,所有的異常消息轉達到特權模式中。主操作系統(tǒng)內核MBS應該始終以完全的特權啟動,而客機操作系統(tǒng)BS1,BS2, BS3以較低的特權工作。在嵌入式系統(tǒng)中支持虛擬化的處理器例如是ARM Cortex A15和Intel Atom處理器。優(yōu)選的是中斷請求直接轉達到主操作系統(tǒng)內核MBS上,通過該中斷請求報告異常消息如訪問故障,同樣為了輸入/輸出MMU。主操作系統(tǒng)內核MBS可以選擇相應的防御機制,它可以從事件的不問延伸至客機操作系統(tǒng)的停止或者重啟。優(yōu)選的是,這種異常消息通過主控制器MCTRL轉達到主操作系統(tǒng)內核上。
[0046]在不同的設計方式中可能的是,內存控制器CTL的配置即使在計算機系統(tǒng)運行時由于主操作系統(tǒng)內核或者客機操作系統(tǒng)H-OS是可能的。因此簡化軟件更新過程。因此例如可能的是,大容量存儲介質的特權分區(qū)更新客機操作系統(tǒng)H-OS或者主操作系統(tǒng)內核MBS和客機操作系統(tǒng)內核BS1,BS2,BS3的安裝程序。在更新過程期間,客機操作系統(tǒng)內核BS1,BS2, BS3例如停止或者停止調度,以便避免在對數據系統(tǒng)訪問時的競爭狀況,英語:raceconditions。
[0047]根據所使用的技術必需的是,執(zhí)行使用分布,英語:wear leveling,要么作為軟件實現,要么直接在所連接的大容量存儲介質內執(zhí)行。對于這種情況,即使用分布直接通過大容量存儲介質執(zhí)行時,主機操作系統(tǒng)H-OS和客機操作系統(tǒng)BSl,BS2,BS3可以放棄應用使用分布,因而沒有直接通過物理塊在大容量存儲介質、特別是閃存上工作。相反,之前稱為物理塊的塊再次用作邏輯或者虛擬塊是足夠的,塊直接由大容量存儲介質轉換為實際的物理塊。換言之,在內存控制器CTL和大容量存儲介質FLSH之間執(zhí)行附加的邏輯塊的層。
[0048]因為在使用分布情況下,塊物理劃分地布置在大容量存儲介質上,必需的是,確保塊在它被分配到一個新的虛擬塊之前被刪除,以便避免可能的安全漏洞。當大容量存儲介質FLSH不具有用于執(zhí)行使用分布的單個的控制器時,適當的是主操作系統(tǒng)內核MBS和控制執(zhí)行的操作系統(tǒng)內核BS1,BS2, BS3分別執(zhí)行使用分布算法,這在圖1中通過標記為WL和NAND塊來示出。特別的是,聯(lián)系之前描述的訪問優(yōu)先級的使用,對于使用分布的要求額外提高。這是因為,例如在被管理的NAND存儲器中,相應的控制器借助使用分布工作,而計算機系統(tǒng)的虛擬控制器發(fā)送帶有較高優(yōu)先級的塊的寫入的要求。為了在這種情況下確保,例如可以寫入最后一個用戶模式數據,可能必需的是,第二大容量存儲器與不同的芯片選擇連接,這樣在被控制的NAND存儲器內可以獨立于內部的運行地做完具有較高優(yōu)先級的交易。
[0049]另一方面是對大容量存儲介質的優(yōu)化訪問。對閃存的訪問的輸入/輸出帶寬主要取決于閃存的芯片的內部組織。
[0050]例如一個制造者這樣執(zhí)行有效率的訪問,即交替地使用偶數和奇數的塊編號,而另一個制造者交替地使用塊編號的第一半部和第二半部。這分別主要取決于,使用哪些地址用于邏輯單元的選擇。
[0051]例如刪除(auslassender)的訪問可以這樣來編程,即讀取、寫入或者刪除命令排序。通過以一定方式對要求排序,該方式對于所使用的硬件設備是最有利的,可以使定址時間最小化,從而可以實現明顯提高的流量比率。
[0052]對于系統(tǒng)的良好的運行時間性能有利的是,當可能地保持這種訪問的優(yōu)化時。對于完整的流量比率可能必需的是,每個虛擬控制器具有一個以上地址區(qū)域,特別是因為之前所描述的訪問刪除示意圖。為了實現這一點有利的是,設置一個單獨的、可編程的程序作為內存控制器,以便實現地址檢測、轉換、使用分布和優(yōu)化訪問。這種用于內存控制器的程序也可以作為DMA主機實現從存儲器到所分配的操作系統(tǒng)內核MBS,BSl, BS2, BS3的存儲器塊的傳輸??刂破鞒绦蚩梢岳缭俅螁为毜赜伤B接的大容量存儲介質,特別是閃存來初始化。
[0053]安全的閃存分區(qū)的創(chuàng)建不僅取決于虛擬控制器的轉換。因為對閃存的存儲器訪問由DMA操作優(yōu)化,還可能必需的是,確保DMA傳輸。例如通過輸入/輸出MMU實現,當存在足夠的訪問權限時,所述MMU確??蜋C操作系統(tǒng)BS1,BS2, BS3或者虛擬控制器只執(zhí)行實際的存儲器傳輸。在訪問故障情況下,輸入/輸出MMU在主操作系統(tǒng)內核MBS上觸發(fā)異常消息,例如中斷請求,這樣主操作系統(tǒng)內核MBS通過禁用或者消除錯誤的重啟客機操作系統(tǒng)內核來消除這個錯誤。
[0054]圖3示出了對于之前描述的原理的可能的應用,借助計算機系統(tǒng)100的示范性的示意圖。在所示出的實施例中,在大容量存儲介質FLSH上示范性地設置三個分區(qū)確切說是大容量存儲器MSl,MS2,MS3。在處理器CPU上運行主操作系統(tǒng)內核MBS,它控制兩個可單獨運行的操作系統(tǒng)內核BSl,BS2。
[0055]左側的操作系統(tǒng)內核BS2用于傳統(tǒng)的操作系統(tǒng)的執(zhí)行,操作系統(tǒng)實現Web瀏覽器、可下載的應用程序和多媒體功能的互聯(lián)網應用的使用。操作系統(tǒng)內核BS2優(yōu)選地確保,其中這不是必需的,提供提高了的可靠性。通過第二大容量存儲MS2保存用于第二操作系統(tǒng)內核的BS2的操作系統(tǒng)文件、應用程序、庫文件和配置文件。對此,第二大容量存儲器MS2例如具有用于系統(tǒng)文件BIN、可執(zhí)行的文件EXE和配置文件CNF的存儲空間。通過這操作系統(tǒng)內核MBS或者在這里沒有示出的內存控制器CTL確保,第二操作系統(tǒng)內核BS2在第二大容量存儲器MS2上只具有讀取訪問,而沒有寫入訪問,通過RO(只讀)來表示。用戶數據,例如音樂文件MP3、圖像文件JPG或者其他的互聯(lián)網格式HTML保存在第三大容量存儲器MS3上,在該存儲器上具有第二操作系統(tǒng)內核BS2以及讀取和寫入訪問。這通過標示RW(讀寫)來表示。
[0056]右側的操作系統(tǒng)內核BSl用于安全的操作系統(tǒng)的執(zhí)行,在該系統(tǒng)下運行軟件管理程序。此外,在第一操作系統(tǒng)內核BSl下還可以執(zhí)行病毒掃描和/或者特定的安全策略。對第一操作系統(tǒng)內核的訪問優(yōu)選地僅出于維護目的而設置,這樣特別的是不可以執(zhí)行不安全的多媒體應用或者類似的應用。第一操作系統(tǒng)內核BSl在第一和第二大容量存儲器MS1、MS2上具有寫入訪問和讀取訪問。在第一大容量存儲器MSl上存儲用于軟件管理的數據庫SW-DB,安全證書ZERT和病毒掃描程序VS。用于第一操作系統(tǒng)內核BSl的操作系統(tǒng)文件、應用程序、庫文件和配置文件要么同樣保存在第二大容量存儲器MS2上要么優(yōu)選地保存在第一大容量存儲器MSl上。第二操作系統(tǒng)內核BS2沒有對第一大容量存儲器MSl的訪問,優(yōu)選地也不知道該大容量存儲器MSl的存在。對大容量存儲介質FLSH或者大容量存儲器MSI, MS2,MS3的訪問通過主操作系統(tǒng)內核MBS或者內存控制器CTL來控制。
[0057]因此第一操作系統(tǒng)內核BSl用于第二操作系統(tǒng)內核的軟件更新,所述操作系統(tǒng)內核在用于軟件管理的數據庫基礎上在使用第二大容量存儲器MS2情況下執(zhí)行系統(tǒng)文件的更新。對此,第一操作系統(tǒng)內核BSl通過單獨的虛擬控制器對第二大容量操作系統(tǒng)MS2訪問。特別的是,兩個單獨的虛擬控制器同時集中在第二大容量存儲器MS2上,而虛擬控制器只允許讀取訪問第二操作系統(tǒng)內核BS2,而用于第一操作系統(tǒng)內核BSl的虛擬控制器還實現寫入訪問。但是阻止對在第一操作系統(tǒng)內核BSl的大容量存儲器上的第二操作系統(tǒng)內核BS2的訪問。
[0058]計算機系統(tǒng)所示出的設計方式使得有可能,第二操作系統(tǒng)內核BS2由于有害程序受損的情況下,可以阻止系統(tǒng)文件的改變以及由此引起的來自第二操作系統(tǒng)內核BS2的其他安全漏洞的有針對性的開放。通過互聯(lián)網能力和第二操作系統(tǒng)內核的多媒體能力基本上存在這一風險,即由于系統(tǒng)內未知的或者新出現的安全漏洞,會將惡意程序帶到第二操作系統(tǒng)內核的范圍內,然而它由于缺乏寫入權限不會導致在第二操作系統(tǒng)內核BS2下的操作系統(tǒng)的持續(xù)改變。這導致,惡意程序不會停留在計算機系統(tǒng)內,當系統(tǒng)被關閉和再次打開時。
[0059]計算機系統(tǒng)100特別是設置用于汽車內的操作。例如計算機系統(tǒng)100作為嵌入式系統(tǒng)而執(zhí)行。然而計算機系統(tǒng)100也可以用于其他環(huán)境中,例如用于例如以安卓操作系統(tǒng)運行的移動電話中。
【權利要求】
1.一種計算機系統(tǒng)(100),帶有至少一個處理器(CPU)和用于非易失性的大容量存儲介質(FLSH)的內存控制器(CTL),其中 -所述計算機系統(tǒng)設置為,在所述處理器(CPU)上執(zhí)行主操作系統(tǒng)內核(MBS)和在所述主操作系統(tǒng)內核(MBS)控制下的第一操作系統(tǒng)內核和至少一個第二操作系統(tǒng)內核(BS1,BS2); -所述內存控制器(CTL)設置為,所述大容量存儲介質(FLSH)的限定的區(qū)域作為第一大容量存儲器和至少一個第二大容量存儲器供所述主操作系統(tǒng)內核(MBS)使用,所述第一大容量存儲器和所述至少一個第二大容量存儲器分別是相互獨立的,以便控制所述第一大容量存儲器和所述至少一個第二大容量存儲器在所述大容量存儲介質(FLSH)的所述限定的區(qū)域上的映射,以及 -所述主操作系統(tǒng)內核(MBS)設置為,實現所述第一操作系統(tǒng)內核和所述至少一個第二操作系統(tǒng)內核(BS1,BS2)分別在供使用的所述大容量存儲器中的至少一個上的專有訪問。
2.根據權利要求1所述的計算機系統(tǒng)(100),其中所述內存控制器(CTL)具有映射表(MTBL),其中為了每個供使用的所述大容量存儲器,使映射規(guī)則存儲在相應的、所述大容量存儲介質(FLSH)的所述限定的區(qū)域上。
3.根據權利要求2所述的計算機系統(tǒng)(100),其中所述大容量存儲介質(FLSH)的所述限定的區(qū)域通過在所述大容量存儲介質(FLSH)上分區(qū)來形成,并且其中存儲的所述映射規(guī)則包括關于分區(qū)的位置和大小的信息。
4.根據權利要求2或3所述的計算機系統(tǒng)(100),其中存儲的所述映射規(guī)則包括關于所述大容量存儲器的硬件標識號的信息。
5.根據權利要求1至4中任一項所述的計算機系統(tǒng)(100),其中所述內存控制器(CTL)具有主控制器(MCTRL),所述主控制器設置為,控制在所述限定的區(qū)域上的硬件訪問。
6.根據權利要求5所述的計算機系統(tǒng)(100),其中所述主控制器(MCTRL)設置為,測試在所述限定的區(qū)域上的相應的訪問權限。
7.根據權利要求1至6中任一項所述的計算機系統(tǒng)(100),其中所述內存控制器(CTL)具有第一虛擬控制器和至少一個第二虛擬控制器(VC1,VC2, VCn),所述第一虛擬控制器和所述至少一個第二虛擬控制器分別提供所述大容量存儲器的其中一個并且分別具有寄存器,所述寄存器映射到所述主操作系統(tǒng)內核(MBS)的存儲區(qū)域。
8.根據權利要求1至7中任一項所述的計算機系統(tǒng)(100),其中所述內存控制器(CTL)設置為,借助預定的優(yōu)先級控制在所述大容量存儲介質(FLSH)的所述限定的區(qū)域上的訪問。
9.根據權利要求1至8中任一項所述的計算機系統(tǒng)(100),其中所述內存控制器(CTL)設置為,控制所述大容量存儲介質(FLSH)的使用分布。
10.根據權利要求1至9中任一項所述的計算機系統(tǒng)(100),還包括所述大容量存儲介質(FLSH)。
【文檔編號】G06F3/06GK104081349SQ201380006822
【公開日】2014年10月1日 申請日期:2013年1月25日 優(yōu)先權日:2012年1月27日
【發(fā)明者】貝恩德·貝克爾, 托爾斯滕·芬克 申請人:大陸汽車有限責任公司