TWI549052B - 用於修改作業系統行為的方法、電腦可讀取儲存設備與設備 - Google Patents
用於修改作業系統行為的方法、電腦可讀取儲存設備與設備 Download PDFInfo
- Publication number
- TWI549052B TWI549052B TW100141897A TW100141897A TWI549052B TW I549052 B TWI549052 B TW I549052B TW 100141897 A TW100141897 A TW 100141897A TW 100141897 A TW100141897 A TW 100141897A TW I549052 B TWI549052 B TW I549052B
- Authority
- TW
- Taiwan
- Prior art keywords
- core
- operating system
- memory
- policy
- modifying
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
- Stored Programmes (AREA)
- Microcomputers (AREA)
- Debugging And Monitoring (AREA)
- Recording Measured Values (AREA)
Description
本發明係關於實體環境的核心意識。
現代作業系統從在相同的硬體上執行不同的程式的需要以及最大化對電腦的硬體資源的利用的期望不斷發展。儘管在處理器首先開始處理時(所謂的「裸機」)有可能在該處理器上直接執行使用者或應用程式,但是開始變得顯而易見的是為每個新程式重寫和重載相同類型的控制代碼以執行相同的基本功能是低效的,諸如彙集電腦的硬體資源、決定載入哪些指令、處理某些類型的系統故障等。此外,變得期望提高對電腦的硬體資源的利用率;由於不同的使用者重置電腦並載入其各自的程式,昂貴的電腦通常變成未使用的。出於該等及其他理由,開發了被稱為作業系統的專用程式。
如今的作業系統繼續被設計為致力於僅基於電腦的硬體資源的固有能力及其狀態來高效地並且安全地管理彼等資源的特殊軟體。由此,僅圍繞主機本身的固有計算環境來設計作業系統。用於資源、最優計算速度、可靠性等的高效利用的功能和演算法僅依賴於輸入和關於主機電腦本身的資訊。亦即,核心作業系統行為和功能僅「意識」或被告知有關電腦的狀態的資訊。諸如任務排程、記憶體保護和分配、對資源的存取控制,以及對周邊設備的管理的功能全部轉向關於主機的計算硬體和軟體狀態的資訊(包括語義資訊)。
以主機為中心的設計原則和現代作業系統的目標可能反映了以下事實:現代作業系統在電腦普遍是可行動的之前就很大程度地發展了。由此,作業系統僅意識主機電腦本身的虛擬環境。儘管電腦的小型化已經提高了其行動性和使用範圍,但其作業系統仍保持集中在虛擬環境上。隨著作業系統發展,膝上型電腦、行動設備和嵌入式設備如今被用於未預期的地方和方式。例如,電腦通常是車輛或機器人的神經中心。行動電腦可以體驗實體環境中的變化。科學家和軍方人員可在苛刻的曠野條件中使用電腦,而作業系統尚未直接使用關於主機電腦的實體環境的資訊(溫度、濕度、氣壓、位置、速度等)。
儘管有該等變化,但作業系統尚未被設計為以考慮主機電腦的直接相鄰處的動態實體環境的方式來執行其主要功能。即使作業系統已經發展並在複雜度和各種設計中有所提高,其仍在概念上僅與虛擬或抽象計算環境有關,以執行指令、促進應用與外部周邊設備的互動等。電腦僅經由與特定周邊設備互動的特定應用來處理有關與實體世界的存在的互動或有關實體世界的存在的資訊。出於與作業系統本身無關的某些特定目的,此種應用通常常駐在使用者空間(不是核心空間)中,並且通常處理有關就近實體環境的資訊。此外,使用者空間的應用不會改變核心或作業系統本身的行為。
如上所述,電腦已經變為可行動的。在作業系統的發展期間,電腦及其作業系統正在前往未預期的地方並以未預期的方式來使用。例如,帶有GPS(全球定位系統)元件的設備可能正以高速沿著高速公路旅行,工廠自動化機器人可能正移動穿過實體上不利的環境,現場中的終端可能經歷過熱或過冷。控制該等計算設備的作業系統不意識其執行在其中的變化的實體環境。
以下論述與意識其實體環境的作業系統有關的技術。
以下發明內容僅是為了介紹在以下【實施方式】中論述的某些概念而被包括的。本發明內容並不是全面的,並且不意欲圖示所主張保護的標的的範圍,該範圍由所附的申請專利範圍來闡明。
以下描述實施實體意識的核心的技術。呈現環境意識的控制資源並在電腦上處理的核心或作業系統。經由一或多個感測器來量測電腦的實體環境。對量測結果或觀察求值。當根據量測結果或觀察存在預先指定的環境條件時,使核心相應地適應。根據所感測的環境條件,修改諸如核心如何管理記憶體或核心如何管理過程的核心的核心行為。亦即,回應於特定的環境條件修改核心級功能,而不是使用者空間的應用代碼。一個實施例可能具有監視感測器觀察的策略引擎以及進入核心以基於策略引擎得到的結論修改核心的實施模組。在另一個實施例中,核心本身儲存、監視,並回應環境資料。
許多附帶特徵將參考以下的詳細描述並結合附圖考慮以在下文解釋。
以下論述的實施例係關於意識並適應其主機電腦的實體環境的作業系統。論述將從對考慮實體環境的作業系統的設計概念的概述開始。隨後描述實施該設計的特定的實施例。接下來將描述使用策略及實施模型的實施例。將涵蓋如何公式化和使用策略的細節,接著是對作業系統的核心功能具有直接的環境意識並自我調整變化的環境條件的作業系統的論述。
圖1圖示環境意識的作業系統設計。電腦100常駐在實體環境102中。電腦100可以是具有處理器,與該處理器結合使用的諸如記憶體的儲存、輸入和輸出設施等的任何類型的計算設備。電腦100可以具有任何形式或用途,並且可以是嵌入式設備、行動手持式設備、膝上型電腦,與車輛或行動機器整合的監視設備、運動中或暴露於動態環境條件的個人電腦,或任何其他類型的電腦。實體環境102無需是戶外,或由於行動性而變化。此處將認為實體環境102是電腦100的直接相鄰處。
電腦100配備有一或多個實體感測器104。每個實體感測器104感測實體環境102的可量測的態樣。實體感測器104可以是任何類型的,例如以下中的任一個:溫度感測器、運動感測器、地理位置感測器(例如GPS設備)、旋轉或慣性感測器(例如陀螺儀)、壓電感測器、氣壓感測器、加速計、濕度感測器、光感測器、磁場感測器、原子內的粒子偵測器、輻射感測器、電力消耗感測器、地震感測器、大氣內容感測器、電壓輸入感測器等。
電腦100亦具有核心106,該核心是控制電腦的作業系統的一部分。核心106可以基於任何類型的已知核心,例如,整體式核心、微核心、二者的混合、嵌入式核心、即時核心,或其他。此外,核心106可以是系統管理程式,或者可以是管理系統管理程式的執行的管理作業系統,該系統管理程式進而託管虛擬機器。如以下將論述的,核心106具有通常由任何核心執行的各種功能,但與之前的核心不同,彼等功能適應電腦100的實體環境。
圖2圖示使核心106適應其主機電腦100的實體環境的過程。在概念上,實體環境102通知核心106的行為。亦即感測並識別核心106隨實體環境102的變化而適應的功能。特定言之,在步驟130,經由以下描述的各種手段從實體感測器104接收讀數或資料。讀數可能需要被過濾雜訊、解釋,並可能經由本端協定的途徑被傳遞給策略引擎。在步驟132,將觀察與預定義或使用者指定的條件進行比較以決定是否請求核心或作業系統功能的任何修改。
在步驟134,當從觀察決定特定的環境條件存在時,修改作業系統並且尤其是核心106的行為或功能。對核心106的修改可能影響其作為電腦100的管理器以及電腦100的硬體與執行在電腦100上的應用108之間的居間程式的核心功能之一。由此,核心106本身的行為對實體環境102敏感。此舉應與僅處理被告知環境的應用(例如排程、記憶體分配等)的核心的活動相區分。此外,修改的本質可以變化。核心106使用的演算法可被更改、替換等。亦可回應於實體環境的條件來修改影響此種演算法的核心狀態。總之,以影響核心如何執行其作為資源的執行者與控制者的角色的方式來修改核心106。
為便於理解,將提及一些示例性適應。以下將描述細節,諸如對條件和動作的說明,以及實施的機制。當溫度值被感測到超過某一閾值時,調整作業系統或核心106的行為,使得CPU可能藉由挑選某些維護步驟或降低過程優先順序,或藉由使用諸如SpeedStep(TM)的省電特性以降低向CPU提供的電壓,來執行更少的操作或以更低的速度操作。當偵測到速度的突變時,核心106藉由預防任何磁碟轉儲清除並將對檔案的新的寫入進行佇列來阻止對磁碟的任何寫入。當偵測到某些級別的輻射時,核心106可以更改其記憶體管理常式以利用錯誤糾正代碼來減少輻射導致的位元逆轉。當溫度位於預定義閾值(指示電腦在戶外)以上或以下時,核心106的安全參數可被調整以提高安全性。當偵測到環境條件的組合時,核心106可以對特定的指定過程或設備的I/O(輸入/輸出)操作重新區分優先順序。回應於決定計算設備當前正處於恆定加速/力(如可在離心機或自旋飛行器內發生),執行緒或任務排程演算法中可發生變化,由此改變作業系統排程執行單元的方式。
調整作業系統的功能的條件亦可包括作業系統狀況。可以結合作業系統狀況基於環境條件來調整作業系統的功能。來自作業系統的可用的此種資訊可以是CPU閒置時間、總記憶體使用、自從使用者輸入的時間、活動執行緒或上下文的數量、打開檔案的數量、活動網路連接、是否存在待決中斷等。一般而言,僅當某些作業系統狀況存在時,才將顯著性賦予環境條件。例如,諸如「temp(溫度)>80並且CPU usage(使用)<50」的條件可被用作諸如「遞減一次CPU速度」的動作的觸發器。或者,「若memory used(已用的記憶體)<50MB並且speed(速度)>30,則增加磁碟快取記憶體大小X」。作為另一個實例,「若Memory.pagefaults(記憶體.頁故障)>10/秒並且humidity(濕度)>80,則Processor.allocation(處理器.分配)=mode(模式)2」。可以指定使用所感測的實體環境值與系統值的組合的任何佈林運算式,並將其與佈林運算式被滿足時所採取的動作相關聯。
圖3圖示詳細的實施例。核心106可以執行各種已知的核心功能中的任一個。核心106可具有記憶體管理器150、I/O控制模組152、多任務模組154以處理過程的建立及其對CPU的共享。電壓管理器156可以執行例如與進入諸如睡眠狀態、關閉狀態,或閒置狀態的不同電源狀態有關的各種電源管理功能。各種其他功能或模組158可提供其他已知的核心功能,諸如物件管理、檔案系統管理、串流處理,以及其他已知的功能。
各種核心106功能可以控制對以及來自電腦100的各個硬體元件的存取。在一個實施例中,此種已知的硬體元件可包括諸如圖形卡或顯示配接器的周邊設備160、電源162、輸入設備164、諸如揮發性儲存(例如記憶體)及/或非揮發性儲存(例如磁碟機)的儲存設備166。當然,電腦100可以具有執行核心106的處理器(未圖示),並且該處理器亦是由核心106所控制的另一個硬體資源。
除了核心106和硬體元件以外,向電腦100提供偵測並且回應實體環境102的所感測的態樣的系統。如所提及的,各種感測器104A、104B、104C、104D、104E可以是電腦100的一部分。感測器104A-104E可以感測溫度、位置、運動的類型、大氣壓力、磁場、帶電或亞原子粒子、大氣、重力等。注意僅需要一種類型的感測器。此外,諸如感測器104C和104E的某些感測器可以位於電腦100的外部,或者可以位於電腦100內部或與電腦100整合,諸如感測器104A、104B和104D。感測器無需是電腦100的硬體部分,而電腦100可在與電腦100相同的本端實體環境102中接收由感測器傳遞的讀數。
環境適應系統亦包括各種軟體元件。操縱層168在電腦100上操作。操縱層168是從感測器104A-104E提取資料的層。亦即,操縱層168可以具有與每種類型的感測器104A-104E通訊的邏輯,可能是藉由與各個感測器104A-104E的設備驅動程式通訊。操縱層168亦可經由原本與作業系統一同提供的現有的操縱層170或者經由隨插即用介面來使用所接收的環境讀數。經由配置設置,操縱層168亦具有關於連接哪些感測器以及其如何通訊的資訊。有了該等資訊,操縱層168可以將感測器讀數轉換並封裝為常見格式,以便與策略引擎172通訊。策略引擎172可以具有相對高的優先順序(例如,具有高優先順序中斷)地在核心空間中執行以允許快速的干預。已封裝的實體觀察174被傳遞給策略引擎172。實體觀察174可以具有諸如名稱-值對的形式,其中名稱或識別符識別觀察源(例如,識別感測器104C的號碼或名稱)並且包括與來自對應感測器的實體讀數相對應的值。已封裝的實體觀察174亦可具有指示所包括的觀察值的資料類型的旗標。
策略引擎172可以基於實體觀察172來實施管控核心106的行為的規則。該等規則的實例在上文中列出。策略引擎172所求值的規則亦可考慮其他資料174,諸如命令,或從本端匯流排或從另一個電腦經由資料網路接收的設置。策略引擎172亦可接收系統資料176,諸如關於記憶體狀態的資料、關於磁碟活動的資料、關於CPU使用的資料等。策略引擎172亦可以快取記憶體已接收的實體觀察174以既允許觀察與環境中趨勢的合成,亦允許與對應的感測器的同步(例如,當感測器發送觀察的頻率不同於策略引擎172對使用感測器的觀察的規則求值的頻率時)。
策略引擎172亦可執行一或多個庫(未圖示)。庫可以實施使用者程式設計的高級功能,該等高級功能可被規則引動。例如,功能可以將(如實體觀察174中提供的)地理位置映射到其他資料,諸如電腦100的當前位置的預期天氣狀況。另一個功能可以讀取近來的位置或速度讀數的已快取記憶體的序列,並進而計算電腦106的當前實體加速。另一個功能可以計算由磁觀察和速度觀察引入的電能。一般而言,策略引擎172可以執行解釋實體觀察的任何代碼。
策略引擎172對規則求值,其中規則指定環境條件(某實體條件)和要採取的某一動作二者,其中動作通常影響或更改核心106或其包含的作業系統的核心行為。可在儲存在儲存設備166中的策略檔案或策略語句178中指定規則。當策略引擎172開始執行時,策略引擎172讀取、解析,並反覆地求值策略語句178。策略引擎172可以實施包括佈林運算式的形式語言。規則可具有某些複雜或組合的佈林運算式(例如,「(V1+V2)>A AND(C1<C2 OR D1>D2)」),其中變數儲存實體觀察174資料、作業系統資料176,或其他資料174。
規則由實施動作伴隨,該實施動作指示要採取什麼步驟來修改核心106。儘管核心模式中的操作可以改良效能,但動作由實施模組180來實施,實施模組180要麼執行在核心空間(核心特權的記憶體空間)中,要麼發出對核心106的呼叫,任一種皆是可以接受的。實施模組180可以是提供策略引擎172可引動的高級實施動作函數的應用程式設計介面(API)。例如,實施模組180可以具有被稱為「suspend(S)」的函數,該函數藉由發出對核心106的各個呼叫以及藉由改變規定核心106如何操作的旗標或配置設置來將電腦100的各種活動暫停S秒。其他類型的實施動作亦是可能的。可以凍結使用者模式執行緒或降低其優先順序。可以鎖定任何進一步的磁碟存取。可以啟動睡眠或關閉。可以切斷外部周邊設備的電源。相反,若處理器在嵌入式設備上處於低功率狀態,則處理器可被提高供電而收緊低優先順序的執行緒,使得設備可以快速地回應致動激勵。如以上所論述的,基於電腦100的實體環境102來控制核心106的行為。
圖4圖示一個策略檔案200。策略檔案可具有配置策略引擎172和實施模組180的資訊。策略檔案200可包括某些標記語言代碼或另一種形式語言的代碼。存在宣告提供讀數的不同感測器的感測器部分202。感測器宣告可以指定感測器的名稱和資料類型。亦可以包括輪詢頻率,指示感測器提供新讀數的頻率,或者指定策略引擎172讀取並更新感測器的已快取記憶體的大部分觀察的頻率。實施部分可以指定某些全域規則,或可以定義可由任何規則的動作引動的高級動作或實施函數(例如,以上提及的「Suspend(S)」函數)。策略部分206可包括諸如策略178的各種策略。圖4僅圖示一個實例。不要求使用標記語言,名稱-值對等;存在概括地描述策略的多種已知方式。
策略可具有一或多個規則207。規則可以定義條件208和動作210。如上所述,策略引擎172根據當前或近來的環境觀察以及可能的附屬資料對條件208求值。當規則207的條件208求值為真時,實施模組180引動並執行對應的實施動作210。
圖5圖示一個示例性策略檔案230。定義了對應於實體感測器104的各種類型的感測器。策略引擎172或操縱層168使用感測器定義來識別與哪些實體感測器104通訊、如何與其通訊,以及如何解釋其觀察。圖5中的感測器和策略定義是僅供說明的實例。注意,使用者有了環境適應系統可以靈活地並且輕鬆地添加新的感測器、添加或修改策略、指定新的規則或動作、動態地載入新的作業系統元件(包括核心元件)等,而不必重建核心106。然而,在一個實施例中,實施動作可能導致對需要作業系統再啟動的核心106的重新配置(可能允許新的元件或庫被連結到核心106)。
圖6圖示與圖3相對應的過程。在步驟250,接收或讀取環境觀察,例如,像(「temperature(溫度)」,100)的名稱-值對。可根據為相關感測器指定的輪詢頻率來執行步驟250。或者,可在每次從任一個感測器接收新的觀察時執行步驟250。在步驟252,過程識別引用已接收的讀數或觀察的任何策略。例如,若策略178具有指定關於戶外溫度的條件的規則,則識別該策略或規則。在步驟254,對任何已識別的規則求值。亦即,根據在步驟250接收的相關觀察或讀數,對規則的條件求值。若沒有規則被滿足(沒有條件為真),則過程返回到步驟250。在步驟256,對於求值為真的每個條件,實施模組180執行對應的動作。結果是在步驟258修改核心106的狀態或功能。如前所述,可經由各種方式來修改核心106,諸如藉由修改核心106的配置參數(可能在註冊表或配置檔案中),或者藉由改變核心106所管理的核心特權的記憶體空間中的某些可執行代碼或變數。效果是核心106變為環境意識;核心106控制電腦100的方式被修改或適應電腦100的環境的各種指定的實體條件。
圖7圖示環境意識的核心280或作業系統。該實施例可能適於嵌入式系統或核心,諸如被設計為小且高效的微核心。在該實施例中,環境資料被傳遞給核心280並儲存在其暫存器或記憶體中,而不是使用層在核心與實體感測器讀數之間起居間作用。換言之,核心280儲存關於其主機電腦常駐其中的當前或近來的實體環境的環境資料282。可以經由可在主機電腦的匯流排上實施的資料交換協定284來接收環境資料282。在該實施例中,回應於更新環境282時所產生的中斷,核心280的核心功能286或服務/元件週期性地監視環境資料或者讀取環境資料282。在一個實施例中,共享的環境感測器可以經由網路或資料鏈接遠端地傳遞資料。
核心功能286被構建使得除其普通的系統功能以外,其亦具有基於環境資料282改變其如何執行此種功能的邏輯。全面而言,可以修改以下任一項中的作業系統功能:中斷處理、執行緒排程、程式執行、記憶體管理、設備驅動程式、安全物件、網路連接,以及非揮發性儲存系統。例如,虛擬記憶體管理器(VMM)可以具有檢查包括當前溫度的暫存器的循環,並且作為回應,VMM改變記憶體空間、在新的快取記憶體演算法中交換,或臨時地阻止對映射到磁碟儲存的虛擬記憶體的記憶體空間的寫入等。核心可以具有一元件,該元件維護核心功能286及其各自存取的環境資料282的小的映射,以及亦可能有在相關聯的環境資料282改變時要執行的各個核心功能286中的代碼部分(例如執行緒)的位址。
圖8圖示與圖7相對應的過程。在步驟300,核心模組或核心功能286反覆地執行其在核心280中的普通功能,諸如管理記憶體、管理執行上下文以及包括當前要執行哪個過程的過程、調節電源、處理檔案系統活動等。在步驟302,核心模組(要麼是輕量監控模組,要麼是核心功能286)監視環境資料282並偵測其中的變化。在步驟304,對已改變的環境資料282敏感的核心功能286決定是否請求行為適應。若存在用於測試的環境條件,則採用適當的動作,諸如藉由改變核心參數、引動一或多個核心呼叫等。使用圖8的方法,離電腦的硬體最近的核心280可以對威脅電腦硬體的環境條件快速地作出反應。諸如完全暫停全部活動、完全將硬體元件斷電、保護易受攻擊的資料、提高資料安全性等措施可以快速地回應於突變,諸如輻射或磁感中的尖峰、快速的加速或減速等。
儘管以上描述了各種實施,但該等實例僅供說明和論述。可以經由不同的形式來實現意識環境的核心的概念。此外,此處描述的技術可與任何類型的作業系統或核心一同使用。例如,技術可以與包括硬版本(必須回應精確的時間訊窗中的事件)和軟版本(允許某些遲到)的即時操作系統(其中該作業系統必須在特定量的時間內對特定事件作出反應)一同使用。關於核心,可以使用任何類型的核心設計,例如微核心、整體式核心,以及混合。
結論
以上論述的實施例和特徵皆可用儲存在揮發性或非揮發性電腦或設備可讀取媒體中的資訊的形式來實現。該形式被認為至少包括諸如光學儲存器(例如,壓縮光碟唯讀記憶體(CD-ROM))、磁性媒體、快閃唯讀記憶體(ROM),或儲存數位資訊的任何現有或未來手段等媒體。所儲存的資訊可採用機器可執行指令(例如,經編譯的可執行二進位碼)、原始程式碼、位元組代碼,或任何其他可用於賦能或配置計算設備來執行上述各實施例的資訊的形式。該形式亦被認為至少包括諸如隨機存取記憶體(RAM)及/或在程式的執行以實現一實施例的期間儲存諸如中央處理單元(CPU)指令等資訊的虛擬記憶體等揮發性記憶體,以及儲存允許程式或可執行代碼被載入和執行的資訊的非揮發性媒體。實施例和特徵可在任何類型的計算設備上執行,該等計算設備包括可攜式設備、工作站、伺服器、行動無線設備等。
100...電腦
102...實體環境
104...實體感測器
104A...感測器
104B...感測器
104C...感測器
104D...感測器
104E...感測器
106...核心
108...應用
130...步驟
132...步驟
134...步驟
150...記憶體管理器
152...I/O控制模組
154...多任務模組
156...電壓管理器
158...其他功能或模組
160...周邊設備
162...電源
164...輸入設備
166...儲存設備
168...操縱層
170...操縱層
172...策略引擎
174...實體觀察
176...系統資料
178...策略檔案/策略語句
180...實施模組
200...策略檔案
202...感測器部分
206...策略部分
207...規則
208...條件
210...動作
230...策略檔案
250...步驟
252...步驟
254...步驟
256...步驟
258...步驟
280...核心
282...環境資料
284...資料交換協定
286...核心功能
300...步驟
302...步驟
304...步驟
根據附圖閱讀以上詳細描述,將更好地理解本發明,其中在所附描述中使用相同的元件符號來代表相同的部分。
圖1圖示環境意識的作業系統設計。
圖2圖示使核心適應其主機電腦的實體環境的過程。
圖3圖示一個詳細的實施例。
圖4圖示一個策略檔案。
圖5圖示一個示例性策略檔案。
圖6圖示與圖3相對應的過程。
圖7圖示環境意識的核心或作業系統。
圖8圖示與圖7相對應的過程。
100...電腦
102...實體環境
104A...感測器
104B...感測器
104C...感測器
104D...感測器
104E...感測器
106...核心
150...記憶體管理器
152...I/O控制模組
154...多任務模組
156...電壓管理器
158...其他功能或模組
160...周邊設備
162...電源
164...輸入設備
166...儲存設備
168...操縱層
170...操縱層
172...策略引擎
174...實體觀察
176...系統資料
178...策略檔案/策略語句
180...實施模組
Claims (14)
- 一種修改一作業系統的行為的方法,該作業系統在包括記憶體和一處理器的一電腦上執行,該作業系統包含一核心(kernel),該核心控制該處理器、記憶體以及該電腦上的其他資源,該方法包括以下步驟:讀取策略步驟,讀取一策略,該策略指定一大氣或速度/位置條件以及為使該作業系統的一資源管理核心功能適應而採取的一對應動作;接收觀察值步驟,接收觀察值,該等觀察值包含該電腦周圍的該大氣溫度或該電腦的該當前位置的測量結果,該等測量結果來自一溫度或速度/位置感測器;及求值步驟,相對於該等觀察值對該策略求值以決定一觀察值滿足該大氣或速度/位置條件,並且作為回應,根據該策略中的該動作,修改該作業系統的一核心中的該資源管理核心功能,且其中該修改該作業系統之一功能之步驟包含以下步驟:修改或替換演算法步驟,修改或替換由該資源管理核心功能實施的一演算法,其中資源管理核心功能並非一裝置驅動程式並包含一程序管理器或一記憶體管理器,該程序管理器將該處理器的操作週期分配至該程序管理器所管理的任意程序,該記憶體管理器對該等任意程序分配並管理該記憶體,且其中該修改或替換演算法步驟改變該資源管理核心功能管理或分配的方式。
- 如請求項1之方法,進一步包含以下步驟:在該作業系統執行時修改該策略,並且該求值步驟係根據該經修改的策略執行。
- 如請求項2之方法,該方法進一步包括以下步驟:監視該等觀察值,並反覆地決定該等觀察值是否滿足該指定條件。
- 如請求項1之方法,其中該等觀察值包含來自該速度/位置感測器的速度/位置測量結果,且其中該策略指定該速度/位置條件。
- 一種電腦可讀取儲存設備,該電腦可讀取儲存設備儲存資訊而使包括一處理器和硬體元件的一計算設備能夠執行一程序,該程序包括以下步驟:執行策略模組步驟,執行一策略模組,該策略模組經配置以解釋符合一形式語言的任意規則,且該等任意規則指定不同類型的實體環境條件的任意觸發條件以及核心修改動作之間的相關性;接收測量結果步驟,接收該計算設備的該等不同類型的該等當前實體環境條件的測量結果;解釋步驟,由該策略模組解釋符合該形式語言的一規則組,並指定該等不同類型的環境條件的觸發條件、核心修 改動作、以及該等核心修改動作與該等觸發條件之間的相關性,且根據該解釋步驟,決定該等測量結果已滿足該等觸發條件之一者,並根據使該觸發條件相關於該等核心修改動作之一者的該等相關性之一者,選擇該相關的核心修改動作;及替換或修改演算法步驟,回應於選擇該核心修改動作,由替換或修改在一作業系統的一核心中執行的一資源控制演算法來執行該核心修改動作,該資源控制演算法控制該核心分配與協調在該計算設備上執行的程序使用該計算設備的可用硬體資源的方式,該替換或修改步驟改變該核心分配與協調在該計算設備上執行的該等程序使用該等可用硬體資源的方式。
- 如請求項5之電腦可讀取儲存設備,其中接收該等測量結果的該接收測量結果步驟包含以下步驟:讀取感測器步驟,讀取分別感測該等不同類型的實體環境條件的實體感測器。
- 如請求項6之電腦可讀取儲存設備,其中該等實體感測器之感測步驟包括以下步驟:產生指示所感測的速度、位置、光、或加速度中任一個的信號。
- 如請求項5之電腦可讀取儲存設備,其中執行該核心修改動作之步驟,由新處理器指令替換該作業系統的該核心 的處理器指令,其中該等新處理器指令在被執行時管理記憶體、該處理器對程序的執行、或該等程序的輸入/輸出。
- 如請求項5之電腦可讀取儲存設備,其中該修改動作係在不考慮由該作業系統的該核心管理之使用者空間中執行的任何程序或應用程式的情況下執行。
- 如請求項5之電腦可讀取儲存設備,其中該等硬體元件包含揮發性記憶體、一非揮發性儲存設備、及一通訊匯流排,並且其中該資源控制行為與控制對該等硬體元件之一者的存取或使用有關。
- 如請求項5之電腦可讀取儲存設備,其中該資源控制演算法包括以下中的任一個:該作業系統的程序或執行緒排程、或該作業系統的輸入/輸出管理。
- 一種設備,該設備包含:一處理器、儲存器、感測器、與暫存器,該處理器與該儲存器一起經配置以在該設備操作時執行包含以下之元件:一作業系統核心,該作業系統核心包含硬體控制邏輯,該硬體控制邏輯區分對於該設備的一硬體元件的存取的優先順序,該硬體元件當前正被該處理器所執行的程序使用,該硬體控制邏輯經配置以(1)從該等暫存器讀取環 境測量結果,並相對於核心參數而對該等環境測量結果求值,以及(2)根據該求值,修改該硬體控制邏輯;及一監視程序,該監視程序獲得來自該等感測器的該等環境測量結果並將該等環境測量結果儲存於該等暫存器中,該等感測器感測複數個類型的環境條件。
- 如請求項12之設備,其中在該操作系統操作中的同時,在該策略已被修改之後重新讀取該策略,並且該監視程序根據該經修改的策略檔案操作。
- 如請求項12之設備,其中該硬體元件包含記憶體,且該硬體控制邏輯包含記憶體管理,該記憶體管理代表該等程序而執行以對該等程序提供該記憶體。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/970,935 US10346276B2 (en) | 2010-12-16 | 2010-12-16 | Kernel awareness of physical environment |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201237745A TW201237745A (en) | 2012-09-16 |
| TWI549052B true TWI549052B (zh) | 2016-09-11 |
Family
ID=46236012
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW100141897A TWI549052B (zh) | 2010-12-16 | 2011-11-16 | 用於修改作業系統行為的方法、電腦可讀取儲存設備與設備 |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US10346276B2 (zh) |
| EP (1) | EP2652595B1 (zh) |
| JP (2) | JP2013546101A (zh) |
| KR (1) | KR20140001940A (zh) |
| CN (1) | CN102567176A (zh) |
| AR (1) | AR084047A1 (zh) |
| TW (1) | TWI549052B (zh) |
| WO (1) | WO2012082525A2 (zh) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW201348949A (zh) * | 2012-05-29 | 2013-12-01 | Hon Hai Prec Ind Co Ltd | 伺服器防震方法及系統 |
| KR101535792B1 (ko) * | 2013-07-18 | 2015-07-10 | 포항공과대학교 산학협력단 | 운영체제 구성 장치 및 방법 |
| US9753527B2 (en) | 2013-12-29 | 2017-09-05 | Google Technology Holdings LLC | Apparatus and method for managing graphics buffers for a processor in sleep mode |
| US9804665B2 (en) | 2013-12-29 | 2017-10-31 | Google Inc. | Apparatus and method for passing event handling control from a primary processor to a secondary processor during sleep mode |
| US9798378B2 (en) | 2014-03-31 | 2017-10-24 | Google Technology Holdings LLC | Apparatus and method for awakening a primary processor out of sleep mode |
| WO2021016236A1 (en) | 2019-07-22 | 2021-01-28 | Novilla Pharmaceuticals, Inc. | Method of remotely controlling pain |
| CN112800573B (zh) * | 2019-11-14 | 2023-11-03 | 北京圣涛平试验工程技术研究院有限责任公司 | 可靠性分析方法及装置 |
| US11740944B2 (en) * | 2019-12-12 | 2023-08-29 | Advanced Micro Devices, Inc. | Method and apparatus for managing processor functionality |
| KR102260636B1 (ko) * | 2020-10-13 | 2021-06-07 | 국방과학연구소 | 임베디드 소프트웨어 컴포넌트를 설계하는 방법 및 장치 |
| US12417119B2 (en) * | 2021-03-19 | 2025-09-16 | Mediatek, Inc. | Thermal-aware task scheduling |
| KR20230079530A (ko) * | 2021-11-29 | 2023-06-07 | (주) 글루시스 | 엣지 스토리지 시스템 위한 고신뢰성 입출력 컨트롤러 구현 및 그 방법 |
| US20240086238A1 (en) * | 2022-09-14 | 2024-03-14 | Baidu Usa Llc | General purpose real-time safety implementation on mpu |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060238339A1 (en) * | 2003-04-14 | 2006-10-26 | Michael Primm | Extensible Sensor Monitoring, Alert Processing and Notification system and Method |
| TW200907208A (en) * | 2007-05-16 | 2009-02-16 | Honda Motor Co Ltd | Piping installation structure for vehicle |
| CN101464722A (zh) * | 2007-12-20 | 2009-06-24 | 英特尔公司 | 利用位置感测模块的功率节省设备、系统和方法 |
Family Cites Families (35)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04337836A (ja) | 1991-05-15 | 1992-11-25 | Nec Corp | ジョブ投入方法 |
| JPH05282168A (ja) | 1992-03-30 | 1993-10-29 | Hitachi Ltd | フォールトトレラントコンピュータ |
| US7296271B1 (en) * | 2000-06-28 | 2007-11-13 | Emc Corporation | Replaceable scheduling algorithm in multitasking kernel |
| US6576972B1 (en) | 2000-08-24 | 2003-06-10 | Heetronix | High temperature circuit structures with expansion matched SiC, AlN and/or AlxGa1-xN(x>0.69) circuit device |
| US7174194B2 (en) * | 2000-10-24 | 2007-02-06 | Texas Instruments Incorporated | Temperature field controlled scheduling for processing systems |
| US7072956B2 (en) | 2000-12-22 | 2006-07-04 | Microsoft Corporation | Methods and systems for context-aware policy determination and enforcement |
| US6985951B2 (en) | 2001-03-08 | 2006-01-10 | International Business Machines Corporation | Inter-partition message passing method, system and program product for managing workload in a partitioned processing environment |
| US7080402B2 (en) | 2001-03-12 | 2006-07-18 | International Business Machines Corporation | Access to applications of an electronic processing device solely based on geographic location |
| US7131015B2 (en) * | 2002-11-12 | 2006-10-31 | Arm Limited | Performance level selection in a data processing system using a plurality of performance request calculating algorithms |
| US7542963B2 (en) * | 2003-04-14 | 2009-06-02 | American Power Conversion Corporation | Method and system for journaling and accessing sensor and configuration data |
| US20080218501A1 (en) | 2003-05-30 | 2008-09-11 | Diamond Michael B | Display illumination system and method |
| US7451332B2 (en) * | 2003-08-15 | 2008-11-11 | Apple Inc. | Methods and apparatuses for controlling the temperature of a data processing system |
| JP4213572B2 (ja) * | 2003-11-28 | 2009-01-21 | 株式会社東芝 | 電子機器およびプロセッサ速度制御方法 |
| US7400878B2 (en) | 2004-02-26 | 2008-07-15 | Research In Motion Limited | Computing device with environment aware features |
| US7424711B2 (en) * | 2005-06-29 | 2008-09-09 | Intel Corporation | Architecture and system for host management |
| US20070005363A1 (en) | 2005-06-29 | 2007-01-04 | Microsoft Corporation | Location aware multi-modal multi-lingual device |
| US20070159455A1 (en) | 2006-01-06 | 2007-07-12 | Ronmee Industrial Corporation | Image-sensing game-controlling device |
| JP2007208864A (ja) | 2006-02-06 | 2007-08-16 | Sony Corp | 情報処理装置、撮像装置、および情報処理方法、並びにコンピュータ・プログラム |
| WO2008050512A1 (en) | 2006-09-29 | 2008-05-02 | Nec Corporation | Start control device, method, and program |
| US7840825B2 (en) * | 2006-10-24 | 2010-11-23 | International Business Machines Corporation | Method for autonomous dynamic voltage and frequency scaling of microprocessors |
| KR20080052320A (ko) | 2006-12-05 | 2008-06-11 | 한국전자통신연구원 | 타겟 보안 설정 방법 |
| US20080162555A1 (en) * | 2006-12-27 | 2008-07-03 | Motorola, Inc. | Active lifestyle management |
| US7865253B2 (en) * | 2007-04-16 | 2011-01-04 | International Business Machines Corporation | System and method for detecting shakes and percussive impacts and for protecting portable electronic devices when pre-specified shake patterns and percussive impact levels are detected |
| WO2008151818A2 (en) | 2007-06-14 | 2008-12-18 | Stichting Imec Nederland | A method of and a system for sensor signal data analysis |
| US20090055739A1 (en) | 2007-08-23 | 2009-02-26 | Microsoft Corporation | Context-aware adaptive user interface |
| EP2291739B1 (en) * | 2008-02-01 | 2020-01-15 | Google LLC | Situationally aware and self-configuring electronic data and communication device |
| US8207846B2 (en) | 2008-04-23 | 2012-06-26 | Dell Products L.P. | Input/output interface and functionality adjustment based on environmental conditions |
| US8250383B2 (en) * | 2008-04-25 | 2012-08-21 | International Business Machines Corporation | Temperature threshold application signal trigger for real-time relocation of process |
| US8200999B2 (en) * | 2008-08-11 | 2012-06-12 | International Business Machines Corporation | Selective power reduction of memory hardware |
| US20100042826A1 (en) * | 2008-08-15 | 2010-02-18 | Apple Inc. | Dynamic Control of Device State Based on Detected Environment |
| US8645641B2 (en) | 2008-12-17 | 2014-02-04 | Seagate Technology Llc | Intelligent storage device controller |
| US20100274947A1 (en) | 2009-04-27 | 2010-10-28 | Hitachi, Ltd. | Memory management method, memory management program, and memory management device |
| KR20100118271A (ko) | 2009-04-28 | 2010-11-05 | 삼성전자주식회사 | 컴퓨터 시스템에서 하드디스크 드라이브 보호를 위한 큐 오버플로우 방지 방법 및 장치 |
| US8650396B2 (en) * | 2009-06-11 | 2014-02-11 | Hewlett-Packard Development Company, L.P. | Permission-based dynamically tunable operating system kernel |
| US9367331B2 (en) * | 2009-07-20 | 2016-06-14 | Google Technology Holdings LLC | Multi-environment operating system |
-
2010
- 2010-12-16 US US12/970,935 patent/US10346276B2/en active Active
-
2011
- 2011-11-16 TW TW100141897A patent/TWI549052B/zh active
- 2011-11-30 AR ARP110104454A patent/AR084047A1/es not_active Application Discontinuation
- 2011-12-08 EP EP11848607.5A patent/EP2652595B1/en active Active
- 2011-12-08 KR KR1020137014991A patent/KR20140001940A/ko not_active Ceased
- 2011-12-08 WO PCT/US2011/064033 patent/WO2012082525A2/en not_active Ceased
- 2011-12-08 JP JP2013544579A patent/JP2013546101A/ja active Pending
- 2011-12-15 CN CN2011104402043A patent/CN102567176A/zh active Pending
-
2017
- 2017-04-05 JP JP2017075060A patent/JP2017142836A/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060238339A1 (en) * | 2003-04-14 | 2006-10-26 | Michael Primm | Extensible Sensor Monitoring, Alert Processing and Notification system and Method |
| TW200907208A (en) * | 2007-05-16 | 2009-02-16 | Honda Motor Co Ltd | Piping installation structure for vehicle |
| CN101464722A (zh) * | 2007-12-20 | 2009-06-24 | 英特尔公司 | 利用位置感测模块的功率节省设备、系统和方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2013546101A (ja) | 2013-12-26 |
| EP2652595A4 (en) | 2017-11-01 |
| EP2652595A2 (en) | 2013-10-23 |
| TW201237745A (en) | 2012-09-16 |
| AR084047A1 (es) | 2013-04-17 |
| WO2012082525A2 (en) | 2012-06-21 |
| US20120159143A1 (en) | 2012-06-21 |
| KR20140001940A (ko) | 2014-01-07 |
| CN102567176A (zh) | 2012-07-11 |
| JP2017142836A (ja) | 2017-08-17 |
| EP2652595B1 (en) | 2020-05-06 |
| US10346276B2 (en) | 2019-07-09 |
| WO2012082525A3 (en) | 2012-08-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI549052B (zh) | 用於修改作業系統行為的方法、電腦可讀取儲存設備與設備 | |
| TWI599960B (zh) | 在多核心處理器中執行電源管理 | |
| US7971084B2 (en) | Power management in electronic systems | |
| JP2008513909A (ja) | 仮想マシンモニタに関連するタイマへのサポートを提供する方法及び装置 | |
| US11455387B2 (en) | Worker thread scheduling in trusted execution environment | |
| CN115543551A (zh) | 线程调度方法、装置及电子设备 | |
| US20220012150A1 (en) | Methods and apparatus to manage endpoint performance | |
| Li et al. | Polyrhythm: Adaptive tuning of a multi-channel attack template for timing interference | |
| CN111414246B (zh) | 具备tee扩展的计算平台上的跨安全世界实时功能调用方法及装置 | |
| CN107820605A (zh) | 用于动态低延迟优化的系统和方法 | |
| US11221875B2 (en) | Cooperative scheduling of virtual machines | |
| Farahani et al. | From Kernel to Cloud: A Concise Comparative Study of Practical IoT Operating Systems | |
| Steigerwald et al. | Green software | |
| US9766672B2 (en) | System for managing power provided to a processor or memory based on a measured memory consumption characteristic | |
| Dudak et al. | Utilization of RTOS solutions in IoT modules based on RISC microcontrollers | |
| HK1173251A (zh) | 物理環境的內核知曉 | |
| Wang | Real-Time System Availability for Cyber-Physical Systems | |
| CN119960944B (zh) | 任务调度方法及电子设备 | |
| US11983558B2 (en) | Migrating applications between containers during modern standby | |
| US20260006557A1 (en) | Smart recognition and consumer-centric activity recognition based system for battery management in mobile device | |
| Lee et al. | Power-efficient Big. LITTLE core assignment scheme for task graph based real-time smartphone applications | |
| CN119960944A (zh) | 任务调度方法及电子设备 | |
| Mukherjee | Power-Performance-Predictability: Managing the Three Cornerstones of Resource Constrained Real-Time System Design | |
| Patil et al. | Operating System | |
| CN119718537A (zh) | 主虚拟机调度兄弟虚拟机的任务的方法 |