国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      可配置的多主模式多os內(nèi)核實(shí)時(shí)操作系統(tǒng)架構(gòu)與啟動方法

      文檔序號:6538988閱讀:153來源:國知局
      可配置的多主模式多os內(nèi)核實(shí)時(shí)操作系統(tǒng)架構(gòu)與啟動方法
      【專利摘要】本發(fā)明公開了一種可配置的多主模式多OS內(nèi)核實(shí)時(shí)操作系統(tǒng)架構(gòu)與啟動方法,屬于嵌入式系統(tǒng)多核實(shí)時(shí)操作系統(tǒng)【技術(shù)領(lǐng)域】。在所述可以配置的基于多主模式可配置多OS內(nèi)核的實(shí)時(shí)操作系統(tǒng)架構(gòu)中,每個(gè)內(nèi)核都能夠作為主核實(shí)時(shí)調(diào)度任務(wù)和管理資源,用戶可以根據(jù)系統(tǒng)資源和性能需要,自由配置操作系統(tǒng)內(nèi)核個(gè)數(shù)以及各個(gè)處理器核使用的OS內(nèi)核,指定OS內(nèi)核存放的地址。在訪問內(nèi)核服務(wù)的時(shí)候,每個(gè)內(nèi)核訪問自己的部分,減少因?yàn)樵L問一個(gè)內(nèi)核的沖突及等待問題,這樣,大大提高了程序的讀取效率;同時(shí),用戶可以根據(jù)內(nèi)存的大小和實(shí)際需要自行配置OS內(nèi)核的個(gè)數(shù)及處理器核與OS內(nèi)核的關(guān)系。
      【專利說明】可配置的多主模式多OS內(nèi)核實(shí)時(shí)操作系統(tǒng)架構(gòu)與啟動方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明屬于嵌入式系統(tǒng)多核實(shí)時(shí)操作系統(tǒng)【技術(shù)領(lǐng)域】,涉及一種可配置的多主模式多OS內(nèi)核實(shí)時(shí)操作系統(tǒng)架構(gòu)與啟動方法。
      【背景技術(shù)】
      [0002]隨著多核處理器的大量應(yīng)用,作為基礎(chǔ)軟件多核操作系統(tǒng)也得到廣泛研發(fā)和應(yīng)用。在實(shí)時(shí)嵌入式系統(tǒng)領(lǐng)域,支持多核的實(shí)時(shí)操作系統(tǒng)也越來越受到廣泛關(guān)注,企業(yè)和研究單位投入了大量精力進(jìn)行研發(fā)。目前主要以國外的Vxworks, QNX等為主。Vxwork操作系統(tǒng)支持對稱和非對稱多核處理器,QNX也支持對稱多核處理器。國內(nèi)也有相關(guān)的研究成果,如浙江大學(xué)在2008年設(shè)計(jì)實(shí)現(xiàn)了一個(gè)支持異構(gòu)多核的嵌入式實(shí)時(shí)操作系統(tǒng)SmartOSEK-M,實(shí)現(xiàn)了多核之間的同步與通信,并設(shè)計(jì)了一種多核操作系統(tǒng)之上的編程模型。電子科技大學(xué)在2009年實(shí)現(xiàn)了在四核處理器BllMPCore上的操作系統(tǒng)aCoral,并且通過改進(jìn)的位圖映射優(yōu)先級調(diào)度算法,將優(yōu)先級隊(duì)列查找復(fù)雜度控制在0(1),以保證多核系統(tǒng)的實(shí)時(shí)性能。復(fù)旦大學(xué)聯(lián)合西安交通大學(xué)以及麻省理工學(xué)院和微軟亞洲研究院在2008年共同開發(fā)出多核操作系統(tǒng)Corey,Corey的設(shè)計(jì)思想是“應(yīng)用程序控制數(shù)據(jù)的共享”,即通過應(yīng)用程序?qū)?nèi)核間共享資源的控制,減少多核之間不必要的資源傳遞和更新,以達(dá)到更高效利用多個(gè)內(nèi)核的目的。
      [0003]當(dāng)前,實(shí)時(shí)多核操作系統(tǒng)架構(gòu)按照OS內(nèi)核個(gè)數(shù)來分主要包括兩類。第一類是處理器采用單OS內(nèi)核管理多核,如VXW0rkS、QNX、aC0ral,這類操作系統(tǒng)在處理器核不多的情況下能較好地管理各個(gè)處理器及共享資源。但是隨著處理器核的增加,一個(gè)內(nèi)核的訪問瓶頸問題就凸顯出來。第二種,每個(gè)處理器擁有一個(gè)OS,任務(wù)被靜態(tài)分配到這些內(nèi)核上調(diào)度運(yùn)行,內(nèi)核間可以實(shí)現(xiàn)通信等機(jī)制,如SmartOSEK-M。而任務(wù)不能被動態(tài)的調(diào)度,這種結(jié)構(gòu)的多核操作系統(tǒng)負(fù)載均衡差,共享資源管理效率低。

      【發(fā)明內(nèi)容】

      [0004]有鑒于此,本發(fā)明的目的在于提供一種可配置的多主模式多OS內(nèi)核實(shí)時(shí)操作系統(tǒng)架構(gòu)與啟動方法,該基于多主模式的多OS內(nèi)核的實(shí)時(shí)操作系統(tǒng)架構(gòu)中可以存在多個(gè)OS內(nèi)核,每個(gè)內(nèi)核都可以作為主核管理共享資源,如任務(wù)、驅(qū)動、中斷服務(wù)例程、事件等;并且在訪問內(nèi)核服務(wù)的時(shí)候,每個(gè)內(nèi)核訪問自己的部分,不會造成因?yàn)樵L問一個(gè)內(nèi)核的沖突及等待問題,這樣,大大提高了程序的讀取效率;同時(shí),用戶可以根據(jù)內(nèi)存的大小和實(shí)際需要配置OS內(nèi)核的個(gè)數(shù)及處理器核與OS內(nèi)核的關(guān)系。
      [0005]為達(dá)到上述目的,本發(fā)明提供如下技術(shù)方案:
      [0006]一種可配置的多主模式多OS內(nèi)核實(shí)時(shí)操作系統(tǒng)架構(gòu)與啟動方法,包括可以配置的基于多主模式可配置多OS內(nèi)核的實(shí)時(shí)操作系統(tǒng)架構(gòu),在該架構(gòu)中,每個(gè)內(nèi)核都能夠作為主核實(shí)時(shí)調(diào)度任務(wù)和管理資源;用戶根據(jù)系統(tǒng)資源和性能需要,自由配置操作系統(tǒng)內(nèi)核個(gè)數(shù)以及各個(gè)處理器核使用的OS內(nèi)核,指定OS內(nèi)核存放的地址。該架構(gòu)解決了單一 OS內(nèi)核的訪問瓶頸問題和多OS內(nèi)核動態(tài)調(diào)度與全局資源管理局限問題。
      [0007]進(jìn)一步,采用了一種面向多OS內(nèi)核的操作系統(tǒng)內(nèi)核與處理器核相關(guān)的配置信息表,該信息表包含了處理器核使用的OS內(nèi)核編號及存儲信息,便于各個(gè)內(nèi)核與全局代碼的相互訪問及系統(tǒng)啟動時(shí)內(nèi)核的拷貝,通過該配置表的設(shè)計(jì),建立了多OS內(nèi)核與全局代碼相互訪問跳轉(zhuǎn)地址計(jì)算和系統(tǒng)啟動時(shí)OS內(nèi)核拷貝地址聯(lián)系。
      [0008]進(jìn)一步,采用了一種基于配置信息表的本地OS內(nèi)核與全局代碼相互訪問C程序?qū)崿F(xiàn)方法,包括兩個(gè)方面:本地內(nèi)核跳轉(zhuǎn)到全局代碼和全局代碼調(diào)用本地內(nèi)核系統(tǒng)服務(wù);通過操作系統(tǒng)移植部分添加代碼從而實(shí)現(xiàn)本地內(nèi)核跳轉(zhuǎn)到相應(yīng)的全局代碼中;通過偏移地址計(jì)算方法和地址傳遞C程序?qū)崿F(xiàn)全局代碼對本地內(nèi)核的訪問。通過該方法可以很方便地實(shí)現(xiàn)本地OS內(nèi)核系統(tǒng)服務(wù)的調(diào)用。該方法解決了全局代碼與本地OS內(nèi)核相互訪問的地址計(jì)算問題和實(shí)時(shí)多核處理器運(yùn)行時(shí)動態(tài)地址重定位問題。
      [0009]進(jìn)一步,根據(jù)多主多OS內(nèi)核架構(gòu),用戶可以根據(jù)需要對操作系統(tǒng)內(nèi)核個(gè)數(shù)和存放地址進(jìn)行配置,在系統(tǒng)啟動時(shí)只需要根據(jù)配置信息表就可以實(shí)現(xiàn)多內(nèi)核的啟動。通過這種方法,可以在不重新修改操作系統(tǒng)內(nèi)核的情況下實(shí)現(xiàn)操作系統(tǒng)內(nèi)核個(gè)數(shù)的設(shè)置,快速實(shí)現(xiàn)操作系統(tǒng)內(nèi)核的擴(kuò)展。
      [0010]本發(fā)明的有益效果在于:本發(fā)明提供了一種可配置的多主模式多OS內(nèi)核實(shí)時(shí)操作系統(tǒng)架構(gòu)與啟動方法,該系統(tǒng)架構(gòu)中可以存在多個(gè)OS內(nèi)核,每個(gè)內(nèi)核都可以作為主核管理共享資源,如任務(wù)、驅(qū)動、中斷服務(wù)例程等;在訪問內(nèi)核服務(wù)的時(shí)候,每個(gè)內(nèi)核訪問自己的部分,不會造成因?yàn)樵L問一個(gè)內(nèi)核的沖突及等待問題,這樣,大大提高了程序的讀取效率;同時(shí),用戶可以根據(jù)內(nèi)存的大小和實(shí)際需要自行配置OS內(nèi)核的個(gè)數(shù)及處理器核與OS內(nèi)核的關(guān)系。
      【專利附圖】

      【附圖說明】
      [0011]為了使本發(fā)明的目的、技術(shù)方案和有益效果更加清楚,本發(fā)明提供如下附圖進(jìn)行說明:
      [0012]圖1為多主模式多OS內(nèi)核架構(gòu)組成示意圖;
      [0013]圖2為多主模式多OS內(nèi)核訪問示意圖;
      [0014]圖3為代碼及數(shù)據(jù)模塊編譯后存儲空間分配示意圖;
      [0015]圖4為內(nèi)核與全局代碼之間的跳轉(zhuǎn)示意圖;
      [0016]圖5為多OS內(nèi)核實(shí)時(shí)操作系統(tǒng)啟動流程。
      【具體實(shí)施方式】
      [0017]為了解決多核實(shí)時(shí)系統(tǒng)中單一操作系統(tǒng)內(nèi)核并行訪問的互斥和延遲問題,本發(fā)明提出了一種可配置的多主多OS內(nèi)核的操作系統(tǒng)架構(gòu)。在多主多OS內(nèi)核架構(gòu)中,提供多個(gè)OS內(nèi)核共同管理共享資源,用戶可以根據(jù)需要配置OS內(nèi)核個(gè)數(shù)及與處理器核的對應(yīng)關(guān)系,每個(gè)OS內(nèi)核是原始OS內(nèi)核的副本。由于不同OS內(nèi)核存放的位置發(fā)生了改變,各OS內(nèi)核服務(wù)程序的物理基地址也相應(yīng)的發(fā)生了改變,造成根據(jù)單一內(nèi)核編譯的系統(tǒng)代碼不能正常進(jìn)行本地內(nèi)核服務(wù)程序與全局代碼之間的相互跳轉(zhuǎn)。針對這一問題提出了一種基于系統(tǒng)配置表的內(nèi)核與全局代碼相互訪問的方法以及內(nèi)核啟動方法。
      [0018]主要包括四個(gè)方面:
      [0019](I)基于多主模式可配置多OS內(nèi)核實(shí)時(shí)操作系統(tǒng)架構(gòu)
      [0020]該架構(gòu)中,每個(gè)內(nèi)核都可以作為主核實(shí)時(shí)調(diào)度任務(wù)和管理資源。同時(shí)該架構(gòu)提供一種配置接口,用戶可以根據(jù)系統(tǒng)資源和性能需要,自由配置操作系統(tǒng)內(nèi)核個(gè)數(shù)以及各個(gè)處理器核使用的OS內(nèi)核,指定OS內(nèi)核存放的地址。該架構(gòu)解決了單一 OS內(nèi)核的訪問瓶頸問題和多OS內(nèi)核動態(tài)調(diào)度與全局資源管理局限問題。
      [0021](2)多核實(shí)時(shí)操作系統(tǒng)配置信息表
      [0022]針對不同OS內(nèi)核存放地址不同造成的全局代碼與OS內(nèi)核之間訪問地址不統(tǒng)一問題,提供了一種操作系統(tǒng)內(nèi)核與處理器核相關(guān)的配置信息表。該信息表包含了處理器核使用的OS內(nèi)核編號及存儲信息,便于各個(gè)內(nèi)核與全局代碼的相互訪問及系統(tǒng)啟動時(shí)內(nèi)核的拷貝。通過該配置表的設(shè)計(jì),解決了多OS內(nèi)系統(tǒng)核服務(wù)訪問和系統(tǒng)啟動時(shí)OS內(nèi)核地址計(jì)算依據(jù)問題,通過配置信息表為操作系統(tǒng)設(shè)計(jì)與系統(tǒng)啟動建立了聯(lián)系。
      [0023](3)基于配置信息表的本地OS內(nèi)核與全局代碼相互訪問C程序?qū)崿F(xiàn)方法
      [0024]本發(fā)明在多OS內(nèi)核操作系統(tǒng)架構(gòu)基礎(chǔ)上,提出了一種全局-本地API接口映射方法,將各個(gè)本地內(nèi)核的系統(tǒng)服務(wù)通過地址重映射進(jìn)行全局封裝,向上層應(yīng)用提供一個(gè)統(tǒng)一訪問不同OS內(nèi)核服務(wù)的接口。主要包括兩個(gè)方面:本地內(nèi)核跳轉(zhuǎn)到全局代碼和全局代碼調(diào)用本地內(nèi)核系統(tǒng)服務(wù)。一方面,在上述OS架構(gòu)基礎(chǔ)上,根據(jù)全局OS配置表中的基地址,設(shè)計(jì)了一個(gè)本地內(nèi)核跳轉(zhuǎn)到全局代碼偏移地址的計(jì)算方法,只需要在操作系統(tǒng)移植部分添加相應(yīng)的計(jì)算偏移地址代碼即可實(shí)現(xiàn)本地內(nèi)核跳轉(zhuǎn)到相應(yīng)的全局代碼中。在另一方面,根據(jù)配置表中的各本地OS內(nèi)核基地址,設(shè)計(jì)了全局代碼在訪問本地內(nèi)核時(shí)的偏移地址計(jì)算方法和地址傳遞的C程序?qū)崿F(xiàn)方法。通過該方法可以很方便地實(shí)現(xiàn)對本地OS內(nèi)核系統(tǒng)服務(wù)的調(diào)用。該方法解決了全局代碼與本地OS內(nèi)核相互訪問的地址計(jì)算問題。
      [0025](4)基于配置表的多OS內(nèi)核啟動方法
      [0026]根據(jù)多主多OS內(nèi)核架構(gòu),用戶可以根據(jù)需要對操作系統(tǒng)內(nèi)核進(jìn)行配置,在系統(tǒng)啟動時(shí)只需要根據(jù)配置信息表就可以實(shí)現(xiàn)多內(nèi)核的啟動。通過這種方法,可以在不重新修改操作系統(tǒng)內(nèi)核的情況下實(shí)現(xiàn)操作系統(tǒng)內(nèi)核個(gè)數(shù)的設(shè)置,快速實(shí)現(xiàn)操作系統(tǒng)內(nèi)核的擴(kuò)展。提高了多核操作系統(tǒng)使用時(shí)方便性。
      [0027]下面將結(jié)合附圖,對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)的描述。
      [0028]多主多OS內(nèi)核操作系統(tǒng)架構(gòu):
      [0029]多主內(nèi)核有兩種結(jié)構(gòu),一種是由一個(gè)OS內(nèi)核管理多個(gè)處理器核,每個(gè)處理器核都可以作為主核管理系統(tǒng)資源;另外一種結(jié)構(gòu)就是,由多個(gè)OS內(nèi)核管理多核處理器。在單OS內(nèi)核中,不同處理器核同時(shí)訪問內(nèi)核的沖突解決方法主要是通過互斥或自旋鎖來保證的,方法簡單易于實(shí)現(xiàn)。但這種方法帶來的問題是,如果不同處理器核訪問內(nèi)核較為頻繁時(shí),由于訪問沖突的影響而使處理器等待的時(shí)間增加,這樣會使系統(tǒng)運(yùn)行速度降低,造成多核的效率降低。針對這種情況,本發(fā)明提出了一種基于多主模式的多OS內(nèi)核的實(shí)時(shí)操作系統(tǒng)架構(gòu),如附圖1所示。在這種架構(gòu)中,可以存在多個(gè)OS內(nèi)核來管理多核處理器。每個(gè)OS內(nèi)核都可以作為主內(nèi)核進(jìn)行全局資源管理和應(yīng)用任務(wù)的調(diào)度,處理器核在調(diào)用OS提供的系統(tǒng)服務(wù)時(shí),訪問屬于自己的那個(gè)OS內(nèi)核,減少與其他處理器核發(fā)生訪問沖突,同時(shí)也減少了處理器核訪問OS內(nèi)核時(shí)的等待時(shí)間。
      [0030]在多主模式實(shí)時(shí)操作系統(tǒng)架構(gòu)中,存在多個(gè)操作系統(tǒng)調(diào)度器內(nèi)核,每個(gè)內(nèi)核在接收到觸發(fā)調(diào)度事件時(shí)(如中斷、通信、同步、互斥等操作,有可能激活任務(wù)就緒),都可以作為主核根據(jù)調(diào)度算法負(fù)責(zé)從就緒表中選擇任務(wù)分配到其他處理器核搶占低優(yōu)先級任務(wù)運(yùn)行。在這種模式下,用戶可以根據(jù)處理器內(nèi)核個(gè)數(shù)和內(nèi)存大小自主地配置內(nèi)核個(gè)數(shù),將系統(tǒng)服務(wù)和應(yīng)用放在所配置的處理器核運(yùn)行,如附圖1所示。
      [0031]在這種架構(gòu)中,每個(gè)處理核運(yùn)行相同的OS內(nèi)核副本,用戶可以根據(jù)需要指定一些應(yīng)用運(yùn)行到不同的內(nèi)核上。每個(gè)內(nèi)核都有自己的私有數(shù)據(jù),他們用于統(tǒng)計(jì)本OS內(nèi)核的本地?cái)?shù)據(jù),如任務(wù)統(tǒng)計(jì)、空閑時(shí)間統(tǒng)計(jì)等。而任務(wù)、中斷處理例程、設(shè)備驅(qū)動、全局變量、Bootloader等是全局的,每個(gè)內(nèi)核都可以訪問。需要注意的是,在本發(fā)明提出的多OS內(nèi)核架構(gòu)模型中,內(nèi)核只在任務(wù)執(zhí)行時(shí)有效,當(dāng)本地內(nèi)核為應(yīng)用提供系統(tǒng)服務(wù)時(shí),內(nèi)核服務(wù)程序中的局部動態(tài)變量和支持函數(shù)調(diào)用的棧都是利用的全局任務(wù)的??臻g。如附圖1所示。
      [0032]配置信息表:
      [0033]由于米用多OS內(nèi)核,那就存在OS內(nèi)核與處理器核的對應(yīng)關(guān)系,有可能是一個(gè)OS內(nèi)核對應(yīng)I個(gè)處理器核,也可能是一個(gè)OS內(nèi)核對應(yīng)多個(gè)處理器內(nèi)核,如附圖2所示。那么需要配置每個(gè)處理器核對應(yīng)的OS內(nèi)核參數(shù),是否與其他處理器核共享OS內(nèi)核,OS內(nèi)核存放的起始地址(即基地址)等,都需要在配置表中得到體現(xiàn)。代碼在編譯時(shí),人為地根據(jù)內(nèi)核拷貝設(shè)置參數(shù)把內(nèi)存空間進(jìn)行分區(qū),然后在配置表中將對應(yīng)的分區(qū)起始地址寫入配置表,以便于在系統(tǒng)啟動時(shí)把相應(yīng)的模塊拷貝到指定的內(nèi)存空間。配置表的主要參數(shù)如表1所示。
      [0034]表1配置表主要組成
      【權(quán)利要求】
      1.一種可配置的多主模式多OS內(nèi)核實(shí)時(shí)操作系統(tǒng)架構(gòu)與啟動方法,其特征在于:包括可以配置的基于多主模式可配置多OS內(nèi)核的實(shí)時(shí)操作系統(tǒng)架構(gòu),在該架構(gòu)中,每個(gè)內(nèi)核通過配置都可以作為主核實(shí)時(shí)調(diào)度任務(wù)和管理資源;用戶根據(jù)系統(tǒng)資源和性能需要,自由配置操作系統(tǒng)內(nèi)核個(gè)數(shù)以及各個(gè)處理器核使用的OS內(nèi)核,指定OS內(nèi)核存放的地址。
      2.根據(jù)權(quán)利要求1所述的可配置的多主模式多OS內(nèi)核實(shí)時(shí)操作系統(tǒng)架構(gòu)與啟動方法,其特征在于:采用了一種面向多OS內(nèi)核的操作系統(tǒng)內(nèi)核與處理器核相關(guān)的配置信息表,該信息表包含了處理器核使用的OS內(nèi)核編號及存儲信息,便于各個(gè)內(nèi)核與全局代碼的相互訪問及系統(tǒng)啟動時(shí)內(nèi)核的拷貝,通過該配置表的設(shè)計(jì),建立了多OS內(nèi)核與全局代碼相互訪問跳轉(zhuǎn)地址計(jì)算和系統(tǒng)啟動時(shí)OS內(nèi)核拷貝地址聯(lián)系。
      3.根據(jù)權(quán)利要求2所述的可配置的多主模式多OS內(nèi)核實(shí)時(shí)操作系統(tǒng)架構(gòu)與啟動方法,其特征在于:采用了一種基于配置信息表的本地OS內(nèi)核與全局代碼相互訪問C程序?qū)崿F(xiàn)方法,包括兩個(gè)方面:本地內(nèi)核跳轉(zhuǎn)到全局代碼和全局代碼調(diào)用本地內(nèi)核系統(tǒng)服務(wù);通過操作系統(tǒng)移植部分添加代碼從而實(shí)現(xiàn)本地內(nèi)核跳轉(zhuǎn)到相應(yīng)的全局代碼中;通過偏移地址計(jì)算方法和地址傳遞C程序?qū)崿F(xiàn)全局代碼對本地內(nèi)核的訪問。
      4.根據(jù)權(quán)利要求3所述的可配置的多主模式多OS內(nèi)核實(shí)時(shí)操作系統(tǒng)架構(gòu)與啟動方法,其特征在于:根據(jù)多主多OS內(nèi)核架構(gòu),用戶可以根據(jù)需要對操作系統(tǒng)內(nèi)核個(gè)數(shù)和存放地址進(jìn)行配置,在系統(tǒng)啟動時(shí)只需要根據(jù)配置信息表就可以實(shí)現(xiàn)多內(nèi)核的啟動。
      【文檔編號】G06F9/445GK103793255SQ201410069096
      【公開日】2014年5月14日 申請日期:2014年2月27日 優(yōu)先權(quán)日:2014年2月27日
      【發(fā)明者】蔣建春, 曾素華, 何兵, 鄧露, 王開龍, 陳慧玲 申請人:重慶郵電大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1