多媒體操作系統(tǒng)課件_第1頁
多媒體操作系統(tǒng)課件_第2頁
多媒體操作系統(tǒng)課件_第3頁
多媒體操作系統(tǒng)課件_第4頁
多媒體操作系統(tǒng)課件_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第11章 多媒體操作系統(tǒng) 多媒體的應用需求逐漸從單機延伸到互聯(lián)網,從非實時方式發(fā)展到實時方式,因而操作系統(tǒng)也逐漸沿著適合這種應用的方向發(fā)展。在不同的應用環(huán)境、應用方式下需要有相應的多媒體操作系統(tǒng)的支持,因而多媒體操作系統(tǒng)是多媒體技術中的中流砥柱。在多媒體應用迅速火熱的局面下,無論是桌面式、嵌入式、還是分布式的多媒體應用中,多媒體操作系統(tǒng)技術面臨的新的核心問題是圍繞著多流、同步、時限、以及基于QoS的管理,要研究如何采用適當的策略和算法去調度、去滿足多媒體應用任務。 本章將針對這些概念介紹多媒體應用對操作系統(tǒng)的要求、多媒體操作系統(tǒng)應具備的核心功能、和支持連續(xù)媒體應用的有關策略。11.1 操作系統(tǒng)

2、概述操作系統(tǒng)是計算機軟硬件資源的控制管理中心,它主要任務是合理組織和調用軟硬件資源,以完成用戶提交的作業(yè)。隨著市場需求的不斷提高以及計算機、網絡、多媒體、通訊技術的不斷發(fā)展,操作系統(tǒng)經歷了一系列開發(fā)和變革。11.1.1 操作系統(tǒng)的分類操作系統(tǒng)有很多種類,并具有不同的特征。從不同的角度可以將操作系統(tǒng)分成不同的類型。根據計算機體系結構可分為單機、多機、網絡和分布式操作系統(tǒng)。根據操作系統(tǒng)工作的角度可分為單用戶、批處理、分時和實時系統(tǒng)。由于多媒體的引入,因而產生了多媒體操作系統(tǒng)和多媒體網絡操作系統(tǒng)。從操作系統(tǒng)工作的角度來看,單用戶、批處理、分時操作系統(tǒng)的工作重點都是圍繞著系統(tǒng)資源的利用率而展開的。在單

3、用戶操作系統(tǒng)下,用戶必須初始化所有硬件設備,并將操作系統(tǒng)的核心部分常駐留在系統(tǒng)的主存儲器中,為運行應用程序提供裝入、解釋和控制。為了減少用戶作業(yè)建立和打斷的時間,于是提出批處理系統(tǒng)的概念,由計算機按順序自動批處理指令。批處理系統(tǒng)雖然提高了資源的利用率,但作業(yè)處理的平均周轉時間較長,且用戶交互能力較弱等。分時系統(tǒng)具有較好的交互式功能,同時可為多用戶和多任務提供服務,它將CPU的運行時間分割成微小時間片,依次輪流為各個程序提供服務,并能及時響應用戶的輸入請求。但是分時時間片的長短以及主機系統(tǒng)的配置將系統(tǒng)的性能有較大的影響,對時間響應上有特殊要求的應用是難以滿足的。實時系統(tǒng)是因為多媒體應用在時間的特

4、殊要求而形成的。由于在多媒體系統(tǒng)中大量地使用了基于時間的連續(xù)性媒體,而連續(xù)性媒體數據的組織和表現嚴格地受限于所規(guī)定的時間,這就需要有能夠提供及時服務的實時系統(tǒng)。所以,實時系統(tǒng)首先要滿足時間的響應,然后再考慮支持多個用戶和多個任務。目前,實時系統(tǒng)顯得相當重要,下面我們將對進一步了解實時系統(tǒng)的系統(tǒng)特征。11.1.2 實時系統(tǒng)的特征實時系統(tǒng)是指系統(tǒng)能及時響應輸入,并能按需提供無延遲的輸出處理。實時系統(tǒng)可以分為實時控制系統(tǒng)和實時信息系統(tǒng)。實時控制系統(tǒng)可用于生產過程中的自動控制,也可以用于監(jiān)測制導性控制。實時信息系統(tǒng)通常指實時信息處理系統(tǒng)。實時系統(tǒng)繼承了分時系統(tǒng)的交互性和多用戶功能,并在滿足任務時限的基

5、礎完成任務,它主要包括如下特征: 1. 及時與時限性。主要反映在對用戶的響應時間要求上,以滿足控制對象所能接受的時間延遲,它可以是秒級、毫秒或微秒級。2. 交互性。根據不同的應用對象和應用要求,實時系統(tǒng)能提供便捷的交互方式。3. 安全可靠性。實時控制系統(tǒng)必須考慮系統(tǒng)的容錯機制,避免導致災難性后果。實時信息系統(tǒng),應向用戶提供及時、有效、完整和可用的信息。4. 多路性。實時控制系統(tǒng)應能提供多用戶的服務。并具有現場多路采集、處理和控制執(zhí)行機構的功能。 實時系統(tǒng)的調度包括CPU、資源、輸入和輸出、通信和任務各個方面,正確把握基于時間上的調度問題就是實時系統(tǒng)所要解決的關鍵問題。由于實時任務具有時限性、搶

6、占性、周期性、優(yōu)先性、重要性、組合性等多種特征,因而在創(chuàng)建任務調度的算法時必須考慮這些因素。在任務與時限的關系中,涉及的概念包括:任務時限、任務執(zhí)行時間、任務時限余量(任務執(zhí)行時間與任務時限之差)、緊任務時限、松任務時限、強實時(超時將無可用性)、弱實時(超時將影響可用性)、關鍵任務時限(超時將引起嚴重后果)等。其中任務時限是指執(zhí)行某任務時的可用時間,也稱為時限粒度。任務時限和任務時限余量之間存在著一定的關系,較小的任務時限必定導致較小的時限余量。但較大的任務時限也可能導致較小的時限余量,因為任務的執(zhí)行時間取決于具體算法的復雜程度。也就是說,不同復雜的算法決定了任務的時限余量。根據以上這些特性

7、,實時調度中廣泛采用了基于優(yōu)先級的搶占調度算法。該算法可以使正在執(zhí)行的任務出讓資源,去滿足一個高優(yōu)先級的任務的執(zhí)行。同時對具有動態(tài)優(yōu)先級的任務,可以根據任務的某些因素在運行時調整進程的優(yōu)先權。常用的算法還有截止期最早最優(yōu)先(Earliest Deadline First,EDF),最關鍵任務優(yōu)先算法(Most Critical First,MCF)、關鍵性和時限優(yōu)先算法(Criticalness and Deadline First,CDF)、最小余量優(yōu)先算法(Most Laxity First,MLF)、最低松弛度優(yōu)先(LLF)算法等。當任務的某些特征模糊不確定或不可預測時,一些常用的調度算

8、法不再適用。可以使用不精確調度算法(Imprecise Computing,IC)或模糊反饋控制實時調度算法。實時系統(tǒng)的性能好壞主要從以下幾個方面衡量:(1)響應時間主要包括中斷響應時間、關聯(lián)轉換時間和任務等待時間中斷響應時間包括中斷延遲時間,其大小取決于總線速度、中斷屏蔽的時間長短、中斷負載的大小、中斷優(yōu)先級等多種因素。任務等待時間是指從發(fā)送消息的時刻到任務收到消息變?yōu)闇蕚洳⑼度脒\行之間的時間,包括消息處理時間、核心不可搶占延遲、調度時間和關聯(lián)轉換時間,反映了系統(tǒng)的開銷情況。關聯(lián)轉換時間即上下文切換時間,它取決與任務關聯(lián)的數目、任務調度算法、任務現場信息量的大小、CPU速度等諸多因素。(2)

9、吞吐率實時系統(tǒng)的吞吐率取決于系統(tǒng)的各個部位,不同的部位具有不同的吞吐率概念,如CPU、系統(tǒng)總線、外圍設備等。提高吞吐率的目的是減少任務執(zhí)行時間,增加任務余量。這樣留給系統(tǒng)更多的時間,實現松時間約束,對相同的工作可以更好的完成;或在相同的時間內完成更多的任務。(3)可靠性因為在一些重要的實時任務中,任何不可靠因素和故障都會引起難以預測的災難性后果。11.1.3 多媒體操作系統(tǒng)的類型多媒體操作系統(tǒng)支持多媒體的實時應用,其首要任務是調度一切可利用的資源完成實時控制任務,其次要提高計算機系統(tǒng)的使用效率。多媒體實時任務主要包括:任務管理、任務間同步和通信、存儲器優(yōu)化管理、實時時鐘服務、中斷管理服務。實時

10、操作系統(tǒng)具有規(guī)模小,中斷被屏蔽的時間很短,中斷處理時間短,任務切換很快等特點。根據不同的使用規(guī)模,多媒體操作系統(tǒng)可分為單機、互聯(lián)式和分布式 單機多媒體操作系統(tǒng)單機多媒體操作系統(tǒng)是指支持非網絡環(huán)境中的MPC的操作系統(tǒng),例如,Windows95以后的操作系統(tǒng)就屬于多媒體操作系統(tǒng)。Windows XP操作系統(tǒng)更是從系統(tǒng)級上支持多媒體功能,其DVD支持技術、內置的DirectX多媒體驅動、與操作系統(tǒng)無縫連接的光盤刻錄與擦寫技術等,給用戶提供了更加豐富多彩的交互式多媒體環(huán)境?;ヂ?lián)式多媒體操作系統(tǒng)與單機操作系統(tǒng)不同的是,互聯(lián)式多媒體操作系統(tǒng)面對的是多臺計算機或多個局域網系統(tǒng),它要支持多機之間的資源共享、用

11、戶操作協(xié)調和與多機操作的交互。網絡操作系統(tǒng)可以構架于不同的操作系統(tǒng)之上,也就是說它網絡中所連接的計算機可以被裝有不同的操作系統(tǒng),通過網絡協(xié)議實現網絡資源的統(tǒng)一配置,在較大的范圍內構成互聯(lián)式網絡操作系統(tǒng)。在互聯(lián)式網絡操作系統(tǒng)中,對網絡資源的訪問需要指明資源位置與資源類型。對于有實時要求的的任務,多媒體操作系統(tǒng)不僅要根據用戶的請求準確地完成信息的發(fā)送、傳遞和接收的全過程,而且要保證實時性多媒體信息處理的各種要求。分布式多媒體操作系統(tǒng)分布式操作系統(tǒng)是指有大量的計算機通過網絡被連接在一起,可以獲得極高的運算能力及廣泛的數據共享。分布式操作系統(tǒng)有如下特征:1、統(tǒng)一性。它是一個統(tǒng)一的操作系統(tǒng)。2、共享性。

12、分布式系統(tǒng)中所有的資源是可共享的。3、透明性。透明性是指用戶并沒有感覺到分布式系統(tǒng)上有多臺計算機在運行。4、獨立性。處于分布式系統(tǒng)的多個主機在物理上是獨立的。5、低成本。分布式系統(tǒng)中的計算機不需要具備特別高的性能。6、可靠性。由于有多個獨立的CPU系統(tǒng),因此個別CPU的故障高不影響系統(tǒng)性能。與網絡操作系統(tǒng)的主要區(qū)別是,分布式操作系統(tǒng)比較強調單一性,使用同一種操作系統(tǒng),即使用同一種管理與訪問方式。11.2 多媒體操作系統(tǒng)的核心和重要功能多媒體操作系統(tǒng)不僅要管理軟、硬件資源,還需要滿足多媒體數據處理的需要,提供一種高效、實時的運行環(huán)境。多媒體處理中要解決的主要問題包括中斷等待、實時調度、時限和恢復

13、管理處理和基于QoS的資源管理。為了解決這些主要的問題,必須開發(fā)新的多媒體操作系統(tǒng)的體系結構。11.2.1 操作系統(tǒng)的體系結構傳統(tǒng)的操作系統(tǒng)的工作是基于多個進程下的資源管理、設備控制等。這些系統(tǒng)并不具有對時間的復雜控制和維護特定的機制,也沒有提供系統(tǒng)短暫過載時進行保護和管理的模式。系統(tǒng)常常無法應對一些不可預見的延遲和抖動,也不能保證對時間有嚴格要求的多媒體信息的同步,所以并不適合于連續(xù)媒體應用的實時服務。傳統(tǒng)的操作系統(tǒng)主要在以下幾個方面有所欠缺:(1)缺乏操作系統(tǒng)的實時支持這種實時支持應能夠提供較好的時間驅動計算、最佳的時間調度策略、而不僅僅只具有時間分配的能力。(2)為了適合于實時多媒體的應

14、用,有必要開發(fā)設計新的多媒體操作系統(tǒng)。目前,多媒體操作系統(tǒng)有兩種開發(fā)模式,即擴充傳統(tǒng)操作系統(tǒng)和重新設計的微內核體系結構。無論采用哪種方式,多媒體操作系統(tǒng)都必須至少提供滿足多媒體信息處理要求的CPU管理、存儲器管理、I/O管理和文件系統(tǒng)管理功能。分層式操作系統(tǒng)傳統(tǒng)的操作系統(tǒng)是分層式的,如圖11-1(左)所示,它的內核由若干層組成,內核集中提供各種功能,整個內核顯得非常龐大。多媒體的應用需要系統(tǒng)支持請求、預定資源和同步處理,也就是要對內核進行適當的修改使得能提供可預測的性能。例如,SUN公司為了提供適當的多媒體資源管理,開發(fā)了一種時間驅動資源管理TDRM(Time Driven Resource

15、Management)機制,就是允許一個應用向系統(tǒng)提出資源請求的機制。應用的資源請求可包括應用所需的資源、質量、最后期限、優(yōu)先級等參數,而系統(tǒng)只是按照申請盡可能地分配可用資源,并可告知必要的信息。圖11-1 分層內核(左)和微內核(右)微內核(micro-kernel)操作系統(tǒng)是新結構下的操作系統(tǒng),它保留傳統(tǒng)操作系統(tǒng)界面,采用微內核為核心,為模塊化擴展提供基礎。微內核的基本原理是,只有最基本的操作系統(tǒng)功能才能放在內核中。不是最基本的服務和應用程序在微內核之上構造,并在用戶模式下執(zhí)行。微內核中只包含線程和任務管理、IPC管理、存儲對象管理、虛擬內存服務、I/O管理和中斷處理等內容。 而在微內核外

16、去完成文件管理、進程管理、設備驅動程序、虛存管理程序、窗口系統(tǒng)和安全服務。用戶可以通過微內核接口函數提出服務申請,微內核的服務器便可向用戶提供內核的功能服務。內核體系結構如圖11-1(右)所示,微內核結構用一個水平分層的結構代替了傳統(tǒng)的縱向分層的結構。在微內核外部的操作系統(tǒng)部件被當作服務器進程實現。微內核體系結構的優(yōu)點一致接口:微內核設計為進程請求提供一致接口??蓴U展性:允許增加新的服務以及在同一個功能區(qū)域中提供多個服務。靈活性:與可擴展性相關,不僅可以在操作系統(tǒng)中增加新功能,還可以刪除現有的功能??梢浦残裕核谢虼蟛糠痔幚砥鲗S么a都在微內核中,移植時只需很少的變化??煽啃裕荷倭康膽贸绦蚓?/p>

17、程接口,為內核外部的操作系統(tǒng)服務產生高質量的代碼。分布系統(tǒng)支持:微內核有助于分布式系統(tǒng)支持,包括分布式操作系統(tǒng)控制的集群。對面向對象操作系統(tǒng)的支持: 微內核結構也適用面向對象操作系統(tǒng)環(huán)境。微內核上的操作系統(tǒng)的服務模式在微內核體系結構下,可以根據連續(xù)媒體的特殊需要安排上層操作系統(tǒng),服務模式的實現有以下幾種方法:庫例程服務模式:上層操作系統(tǒng)作為實用庫例程,當用戶程序調用庫例程時,由庫例程去調用微內核功能。實用庫可以提供包括中斷處理、計時器、消息登錄、 內存分配、線緩沖等例程。 服務器服務模式:上層操作系統(tǒng)作為服務器,用戶程序直接向服務器提出申請。微內核的功能模式:上層操作系統(tǒng)作為微內核的一個功能,

18、一般就是微內核的接口函數。11.2.2 中斷等待在連續(xù)媒體應用中,常常由于多任務的同時執(zhí)行而引起中斷等待。中斷等待時間越短,系統(tǒng)的性能就越好。大量的中斷等待將不能很好地支持實時活動。例如,處理一個連續(xù)的MIDI音樂媒體流,會產生十分頻繁的中斷請求發(fā)向操作系統(tǒng)內核,這時將產生大量的上下文切換時間。如果操作系統(tǒng)內核難以應付這么高事件流的需求,將會產生許多中斷延時,從而影響QoS。實時操作系統(tǒng)分為可搶占性和不可搶占性。不可搶占型實時操作系統(tǒng)中,其實時性取決于最長任務的執(zhí)行時間。當前運行的任務擁有CPU的控制權,實時任務的到來必須通過某種算法并等待當前任務交出CPU的控制權,然后直到它主動歸還CPU控

19、制權。中斷由中斷服務程序來處理,當激活一個休眠狀態(tài)任務并使之緒態(tài)時,該任務也必須等到當前運行的任務主動交出CPU的控制權后才能運行。可搶占型實時操作系統(tǒng)是基于任務優(yōu)先級的,內核可以搶占正在運行任務的CPU使用權,并將使用權交給進入就緒態(tài)的優(yōu)先級更高的任務,也就是說,由于較高優(yōu)先級任務的到來,正在運行中的其他任務都可被中斷??蓳屨夹蛯崟r操作系統(tǒng)的實時性好,但是,必須合理處理好搶占方式,否則也會導致系統(tǒng)崩潰。降低操作系統(tǒng)中斷等待的關鍵策略是可搶占性處理。對于目前現存的內核,可行的修改方案是增加一個安全搶占點的集合,也可以將現存的內核轉化為運行微內核上的一個用戶程序。但最好的辦法是重新設計內核的內部

20、結構,使允許按任務的優(yōu)先級搶占執(zhí)行任務。11.2.3 實時調度當多個實時的或非實時程序共享同一個資源時,一般多線程操作系統(tǒng)使用同步目標來作為強迫線程同步的多線程核心。但是可能會引起不可控制的優(yōu)先權倒置。這種優(yōu)先權倒置現象是由服務器的非搶占特性引起的,由此常導致不可預見的延遲和抖動問題的發(fā)生。CPU 的實時處理多媒體調度同時要面向非實時處理和實時處理兩個方面,當有實時進程出現時,不能影響正在處理之中的非實時處理,同時又要允許實時進程剝奪非實時進程等低優(yōu)先級實時進程。CPU可以通過高效實時調度進行實時處理,實時調度器以滿足任務的最后期限來進行調度。對于連續(xù)媒體環(huán)境下的最后期限可以是可接受的每幀回放

21、時間。各種實時操作系統(tǒng)的實時調度算法可以分為三種類別:基于優(yōu)先級的調度算法(Priority-driven scheduling-PD)、基于CPU使用比例的共享式的調度算法(Share-driven scheduling-SD)、以及基于時間的進程調度算法(Time-driven scheduling-TD)?;趦?yōu)先級的調度算法基于優(yōu)先級的調度算法給每個進程分配一個優(yōu)先級,在每次進程調度時,調度器總是調度那個具有最高優(yōu)先級的任務來執(zhí)行。根據不同的優(yōu)先級分配方法,基于優(yōu)先級的調度算法可以分為類型靜態(tài)或動態(tài)兩種:靜態(tài)優(yōu)先級調度算法中,為所有進程都靜態(tài)地分配一個優(yōu)先級。靜態(tài)優(yōu)先級的分配可以根據應

22、用任務的的屬性來進行。例如RM(Rate-Monotonic)調度算法是根據任務的執(zhí)行周期的長短來決定調度優(yōu)先級,那些具有小的執(zhí)行周期的任務具有較高的優(yōu)先級。 動態(tài)優(yōu)先級調度算法中,根據任務的資源需求來動態(tài)地分配任務的優(yōu)先級。在實時調度算法中,EDF算法給就緒隊列中的各個任務根據它們的截止期限來分配優(yōu)先級,具有最近的截止期限的任務具有最高的優(yōu)先級?;诒壤蚕碚{度算法基于優(yōu)先級的調度算法提供的是一種硬實時的調度,對于軟實時應用,使用比例共享式的資源調度算法(SD算法)更為適合。比例共享調度算法指基于CPU使用比例的共享式的調度算法,它按照一定的權重對一組需要調度的任務進行調度,使它們的執(zhí)行時間

23、與它們的權重完全成正比。但是它沒有優(yōu)先級的概念,當系統(tǒng)處于過載狀態(tài)時,所有的任務的執(zhí)行都會按比例地變慢,這將影響實時進程。 實現比例共享調度的算法有兩種:可以調節(jié)各個就緒進程出現在調度隊列隊首的頻率,并調度隊首的進程執(zhí)行。或者逐次調度就緒隊列中的各個進程投入運行,但根據分配的權重調節(jié)分配個每個進程的運行時間片?;跁r間的進程調度算法對于具有穩(wěn)定、已知輸入的簡單系統(tǒng),如很小的嵌入式系統(tǒng)、自控系統(tǒng)、傳感器等應用系統(tǒng),可以使用時間驅動(Time-driven:TD)的調度算法,它能夠為數據處理提供很好的預測性。實際上屬于靜態(tài)調度方法,在系統(tǒng)的設計階段,在明確系統(tǒng)中所有的處理情況下,對于各個任務的開始

24、、切換、以及結束時間等都事先做出明確的安排和設計。11.2.4 時限和恢復管理許多具有強實時性的多媒體應用,要求在規(guī)定時間內完成其處理,同時,所處理的數據也往往是“短暫”的,即有一定的有效時間,過時則有新的數據產生。實時事務中有多種定時限制,其中最典型的是事務截止期。很多連續(xù)媒體應用程序具有內在的“軟”時限。例如,在視頻會議系統(tǒng)中,即使大多數視頻圖像都沒能夠按時處理完畢,也不影響會議繼續(xù)的進行。然而,錯過時限的提示信號對應用來說是相當重要的信息?;谶@些信息,應用可以要求改變服務質量QoS的級別。由于實時事務難以接受時間的延遲及其不確定性,因而多媒體操作系統(tǒng)的內存緩沖區(qū)的管理就顯得更為重要。如

25、何及時分配所需緩沖區(qū)、如何讓高優(yōu)先級事務搶占緩沖區(qū)成為主要目標。各種因素都可能導致QoS的下降,當程序由于過載、硬件或軟件錯誤而錯過時限時,用戶程序應能夠決定相應的應付措施,也就是實時恢復機制。但是數據的可恢復性也并非一致的,有的事務可以在一定的時限內要求重發(fā),而有的事務則可能要用“補償”、“替代”事務。為了保證實時限制的滿足,恢復也不一定是一致和絕對正確的。同時,恢復過程也將影響處于活躍狀態(tài)的事務,使有的事務超過截止期,這對硬實時事務是不能接受的。因此,必須開發(fā)新的恢復技術與機制,應考慮到時間與資源兩者的可用性,以確定最佳恢復時機與策略,而不致于影響事務實時性的滿足。然而在多道程序設計環(huán)境中

26、,必須把調整優(yōu)先權等事物外的操作作為一個原子級操作,這樣可保證恢復任務不能被搶占。 10.2.5 QoS 管理隨著數字視頻、音頻等連續(xù)媒體的網絡應用,對實時服務質量QoS支持的要求也不斷提高。在不同的應用中,用戶對QoS的要求也不完全相同。多媒體網絡操作系統(tǒng)必須具有增強的管理功能,使得能夠支持更為靈活、更為動態(tài)的QoS選擇,從而使用戶可以對傳送連接進行適當的剪裁以滿足自己的特定需要。在建立端到端的連接時,用戶應能量化和表達對有關QoS參數的希望值、可接受值和不可接受值。通信雙方必須就這些參數進行協(xié)商,以保證這些QoS參數值在連接持續(xù)期內得到滿足。通信過程中,即使違背了事先協(xié)商的QoS值時,操作

27、系統(tǒng)應能提供一定的指示信息。對連續(xù)媒體應用的QoS管理可以分成兩種控制模式:靜態(tài)的和動態(tài)的。靜態(tài)控制模式是指通信前,由用戶指定一個QoS的級,并在整個連接生存期間都維護這個指定的級。而動態(tài)控制模式則允許用戶在整個連接生存期間調整初始的QoS值。而修改QoS級的依據有2種,可以根據系統(tǒng)可用資源進行調整,或者根據任務的需要來調整。11.3 支持連續(xù)媒體應用的有關策略目前,對連續(xù)媒體的支持還缺乏一個全面的規(guī)劃的軟件標準和操作系統(tǒng)所支持的公共功能。如果要開發(fā)一個適合于多媒體處理的操作系統(tǒng),它應該對連續(xù)媒體應用的支持可以分為三個方面:對資源管理的支持、對程序設計的支持和對文件系統(tǒng)的支持。11.3.1支持

28、連續(xù)媒體的資源管理 為了支持連續(xù)媒體,應該采取新的資源管理模式來提供必須的系統(tǒng)資源,以滿足一定的應用請求級,從而避免出現那些不可預見的延遲和抖動?;赒oS的資源控制在連續(xù)媒體中,可以參數形式描述其時間特性和空間特性。雖然QoS參數大多數依賴于應用的,但應用系統(tǒng)一般都能提供多種可選的QoS級,讓用戶選擇適合于自己的資源環(huán)境下工作的QoS級,而操作系統(tǒng)必須能基于QoS級對資源進行管理。無論用戶的請求是靜態(tài)的還是動態(tài)的,系統(tǒng)都必須對用戶所請求的級作出反映,當系統(tǒng)資源能夠滿足用戶申請的QoS級時,系統(tǒng)才會接受用戶的請求并提供所需的系統(tǒng)資源。當資源不足時,系統(tǒng)將通過會話過程和用戶進行協(xié)商,降低QoS的

29、級,以減少對資源的需求。存儲器管理存儲器管理要為任務進程分配存儲器資源。對于連續(xù)媒體數據而言,通常都具有數據交換量大和嚴格的定時需求。傳統(tǒng)的虛擬內存采用請求頁式調度,在虛存和主存之間進行換頁交換可能要花費許多的時間,缺頁還將延長這段交換時間,從而可能影響實時進程。如果不采用虛擬內存,可以在進程執(zhí)行期間將連續(xù)媒體數據鎖在存儲器中,但是可能影響資源利用率。另一種基于QoS的方法中,可以利用連續(xù)媒體數據的周期性及時預調數據。其他比較重要的實用實現技術包括散布緩沖區(qū)法或傳遞指針法,它們都有效地提高空間使用效率。散布緩沖區(qū)法,就可以將進程地址空間裝入可能不連續(xù)的存儲器區(qū)域。指針傳遞法就是通過引用傳遞對象

30、,而不拷貝或移動對象本身。 實時I/O管理實時I/O子系統(tǒng)的主要功能是在主存儲器和外部設備之間傳送多媒體數據,它的中心任務就是設備管理、中斷延時與實時傳輸。設備管理為所有硬件構件的控制與管理提供統(tǒng)一界面,通過將物理設備映射成抽象的設備驅動器。多媒體應用中,特別是實時連續(xù)媒體幀的輸入和輸出,必定需要大量的I/O操作,由此頻繁地中斷內核,從而降低系統(tǒng)吞吐率并影響QoS。 而保證單流的連續(xù)性和多相關流之間的同步的關鍵所在就是I/O的實時功能。要提高I/O的實時功能,可以通過改變內核結構以使之具有搶占性、內核中增加安全搶占點集合、或將當前內核轉換成可在微內核上運行用戶程序。如今,網絡帶寬超過已經超過了

31、1Gbps,而使I/O總線成為了制約系統(tǒng)總體性能的瓶頸。由此可能導致總線的爭用,因此解決I/O總線已成為急待解決的中心問題。11.3.2 連續(xù)媒體的程序支持實時線程 RealtimeThread在通用的非實時系統(tǒng)中,線程不具備的實時特性,它們只能處于初始態(tài)、就緒態(tài)、非就緒態(tài)、或退出態(tài)之一。實時線程具有普通線程所有的特性和功能,但增加了更多的細致的控制能力,最重要的就是資源的搶占和優(yōu)先級的關系。實時線程可以設定優(yōu)先級,高優(yōu)先級的線程可以安排在低優(yōu)先級線程之前完成。一個應用程序可以通過使用線程中的方法setPriority(int),來設置線程的優(yōu)先級大小。時限管理實時任務不僅要求完成每一項工作,

32、并且要按照給定的時限去完成。在時限管理中,能滿足時限要求的有效策略就是可搶占性管理。所謂可搶占性管理,是指調度進程是建立在進程的優(yōu)先級別上的。在調度優(yōu)先級中,正確計時是相當重要的。但是在絕大多數調度策略中,運行時間是一個很難獲得的值,如果調度進程已經獲得了事務處理時間的相關信息,而這些信息又可以用來檢測出哪些是最接近時限的事務,那么就可以賦予這些事務更高的優(yōu)先權,或者將那些不會超時的事務掛起。但是,如果發(fā)生計時錯誤,事實上將改變線程的優(yōu)先級,從而導致不可預測的后果,尤其對實時程序來說就是一種災難性的故障。這就需要時限調度來保證系統(tǒng)的實時性。當線程產生內存錯誤或浮點運算錯誤時,操作系統(tǒng)會將它視為

33、一個異常來進行標識和處理。為了應對這種錯誤,系統(tǒng)必須提供捕捉計時錯誤的接口,使得用戶能夠以應用指定的方式進行處理,這就是實時程序的時限處理。分布式狀況下,因為通信的開銷導致遠程服務器的響應處理時間變得更加不可預測,因此將使實時控制變得更復雜。時限調度策略。既要針對滿足時限的,又要針對不能滿足時限的。而賦予計時錯誤處理程序的任務,是要解決線程的后續(xù)執(zhí)行方式。例如,一個周期性的線程錯過了時限時,時限處理程序就必須決定是繼續(xù)運行還是停止。通常,計時錯誤處理程序將會把錯誤線程掛起,并向用戶指定的端口發(fā)送一個消息。而另一個線程,將在該端口處獲取出錯的消息并作出有關反映。實時同步實時同步是連續(xù)媒體關鍵的特

34、征,實時線程的排隊是建立在優(yōu)先權基礎上的,基于FIFO的次序排列,常常會導致優(yōu)先權倒置。為了支持實時同步,系統(tǒng)應該能提供快速時間標識機制和實時互斥機制?;コ馐怯脕砜刂贫嗳蝿諏蚕頂祿M行串行訪問的同步機制。在多任務應用中,當兩個或多個任務同時訪問共享數據時,可能會造成數據破壞?;コ馐顾鼈兇械卦L問數據,從而達到保護數據的目的.解決互斥有以下幾種方法:1. 關閉中斷的方法(intLock):能解決任務和中斷ISR之間產生的互斥,但使用該辦法會影響實時系統(tǒng)對外部中斷及時響應和處理的能力。2. 關閉系統(tǒng)優(yōu)先級(taskLock):它可使當前任務的執(zhí)行只能被中斷,而不能被高優(yōu)先級的任務搶占。但是,這種

35、方法實際上也不適合于實時系統(tǒng)中的。3. 信號量(Semaphore):信號量是解決互斥和同步協(xié)調進程最好的方法。使用創(chuàng)建信號量Semaphore的辦法,說明任務的屬性。實時系統(tǒng)中的IPC實時系統(tǒng)主要包括多任務調度(采用優(yōu)先級搶占方式)、任務間的同步和進程間通信,這種通信方式被稱為進程間通信機制(inter-process communication IPC)。進程間通信(IPC)是運行在多任務操作系統(tǒng)中或聯(lián)網計算機上的程序和進程使用的一組技術,IPC支持進程間有效的通信,LPC能共享內存空間、同步任務并相互發(fā)送消息。遠程過程調用被稱為RPC,它類似于LPC。網絡上的客戶機服務器模式利用了RPC

36、機制,客戶在他自己的機器上執(zhí)行部分任務,但還要依賴服務器提供的后端文件服務。RPC為客戶提供通信機制,以使服務請求發(fā)送到后端服務器。解決任務間的同步和進程間協(xié)調問題可以采用以下的幾種方式:內存共享(Shared Memory):用于簡單的數據共享。信號量(Semaphore):用于基本的互斥和同步。消息隊列(Message queues)和管道(Pipe):用于單個CPU中,任務間的信息傳遞。套結字(Socket)和遠程調用(Remote procedure calls):用于網絡任務間的通信。信號(Signals):為那些訪問相同資源的進程提供一個同步機制。在一個多任務環(huán)境中,應該允許實時應

37、用程序以一套獨立任務的方式構筑,每個任務擁有獨立的執(zhí)行線程和它自己的一套系統(tǒng)資源。所以程序設計的接口可以包含實時系統(tǒng)通信所需的屬性。實時系統(tǒng)的通信需要提供基于優(yōu)先權的排隊、優(yōu)先權的交出、優(yōu)先權的繼承以及消息的分發(fā)等屬性。1、消息排隊:消息排隊機制監(jiān)督在不同的應用程序之間傳送消息,給屬性指明了消息排隊的次序。排序策略可以有多種,如FIFO、基于優(yōu)先權等方式。應用程序可以使用消息排隊來改善可靠性,但要以響應時間為代價。2、優(yōu)先權的交出:當設置了該屬性,發(fā)送者將傳遞接收者的優(yōu)先權,或根據所選定的策略給定優(yōu)先權。3、優(yōu)先權的繼承:它將執(zhí)行優(yōu)先級繼承協(xié)議。優(yōu)先級繼承可用來解決優(yōu)先級反轉問題。當優(yōu)先級反轉

38、發(fā)生時,優(yōu)先級較低的任務被暫時地提高它的優(yōu)先級,使得該任務能盡快執(zhí)行,釋放出優(yōu)先級較高的任務所需要的資源。4、消息分發(fā):當多個接收者在運行時,消息分發(fā)屬性將按照任意選擇策略或基于優(yōu)先權的策略選擇合適的接收者線程。當指定為任意選擇策略時,將從FIFO隊列中按次序選擇接收線程。11.3.3 支持連續(xù)媒體的文件系統(tǒng)文件管理器必須具備高效讀寫連續(xù)媒體流的功能。連續(xù)媒體如果不能被及時地緩沖,就會導致使用數據的缺乏,從而導致暫停、斷續(xù)等現象。如何是文件系統(tǒng)滿足連續(xù)媒體的應用,不僅需要更合適的存儲布局,同時需要更好的介質調度方法,以解決連續(xù)媒體的吞吐率需求和多流同步。 在單流情況下,需要維持最早的起始時間,

39、這樣可以既不錯過時限,又能使緩沖區(qū)最小。在多流情況下,既要對每一個獨立處理,又要考慮到其它的流,這就需要更好的算法和技術。對介質的調度最關鍵的就是如何處理好實時性引起的時限要求和緩沖要求。 文件存儲策略有關連續(xù)媒體存儲布局,眾多的策略大體上可以分成以下三類:連續(xù)媒體單獨存儲、混合存儲和分布式存儲。連續(xù)媒體單獨存儲首先是優(yōu)化存儲布局,在磁盤、分區(qū)、或者磁盤陣列條紋上安排“專有”屬性,用于單獨存放連續(xù)媒體數據。其次是優(yōu)化目錄,建立單獨的目錄磁盤,用于存放連續(xù)媒體數據和靜態(tài)媒體數據的目錄信息。這樣可降低每次訪問的搜索時間,更快地接受調用。 混合存儲將連續(xù)媒體數據和常規(guī)文件一同存放,使用同一個通用文件

40、系統(tǒng)和同一個存儲設備,不設“專有”區(qū),也不另建目錄結構,但是賦予兩種不同類型的文件訪問特征。一種比較好的策略就是高速緩存系統(tǒng)只緩存磁頭/間接塊和目錄內容,而不緩存文件內容。因此可避免花費大量時間去清理緩存中連續(xù)媒體數據,從而降低了處理的延遲。分布式存儲分布式存儲方案兼顧了可供及時調用和存儲容量不足的問題,考慮到系統(tǒng)的可伸縮性,以及由此帶來的多媒體數據存儲容量將日益增長。分布式體系結構可通過高速網絡將服務器互聯(lián)起來,將一個源多媒體文件等分到很多條紋單元中,然后分配到多個網絡服務器中去。這種體系結構具有良好的可擴充性,關鍵是如何解決服務器同步、動態(tài)QoS管理、負載均衡與可靠性等問題。 單流固定回放

41、問題對于如何支持單個連續(xù)媒體流固定回放問題,首先由Gemmell和Christodoulakis提出了他們的研究結果,結果表明了只要需要維持最早的起始時間,就可保證所需的數據能被及時地緩沖。如圖11-2所示,表示了磁盤讀取函數r(t)與連續(xù)媒體消耗函數C(t1,t2)之間的關系。從磁盤中以塊的形式讀取數據,在讀取時間內,R(t)表現為斜率不同的線段連接。這是因為媒體的壓縮率不同導致R(t)的斜率不同,如果R(t)的斜率為0,則表示在塊與塊之間沒有數據的讀取。圖11-2 讀取函數、消耗函數與緩沖函數的關系最早回放起始時間研究表明,最小緩沖與最早回放起始時間有關。只要找到最早的起始時間就可保證最小

42、的緩沖分配。而在這個時間之后開始播放,可以增加緩沖資源的需求量。通過圖示法可以找到合適于播放的最小回放起始時間t0,只要滿足使B(t,0)最小且非負。具體方法如下:1、若在B(t,0)上,此函數在0ttr上非負,則B(t,0)就是一個滿足條件的解,且t0的最小值是0。2、假定在0ttr之間有時刻tmin,存在B(t,0)的最小值,使得B(tmin,0)=-m,那么R(t)與B(t,0)+m的交點就是t0的最小值。最小緩沖分配設dmax為塊間的最大延遲,rt傳輸速率,rc為回放速率,Ss為磁道扇區(qū)的大小。設分配的緩沖與記錄長度無關,則任何算法下的塊大小Sb都必須滿足以下數目的磁道扇區(qū)大小。如果回

43、放速率rc小于傳輸速率rt,應該考慮人為延遲dmin,可限定其為一個常數K。的情況下,需要分配的磁道扇區(qū)的緩沖nb的大小至少滿足如下關系。多流固定回放問題而對于多個連續(xù)媒體流固定回放問題,Gemmell等人的研究是基于下列假設條件的:1. 各通道可以有不同的消耗速率。2. 各通道的回放可以獨立控制。部分通道可以暫?;胤?,而其它通道仍繼續(xù)回放。3. 不固定讀周期中各通道的讀取總量(因為暫停、不同的消耗速率、不同的壓縮率或不同的采樣率等)。4. 回放所需數據被保存在緩沖存儲中,且讀取的數據量至少足夠一個讀周期的使用。5. 在一個讀周期內,不會發(fā)生數據短缺,要求讀出的數據能緊跟實時的需求。Gemme

44、ll的模型是基于排序集合使用的,它是描述任意的塊安排和流調度模式的一種框架。為了使讀周期內不會發(fā)生數據短缺,要求讀操作之間的緩存量必須為rcmax的數據,其中max表示給定通道兩個讀操作之間最大的時間間隔,關鍵的問題是如何尋找這個最大的間隔時間。多數數據在介質上的存放都可能是不連續(xù)的,所以系統(tǒng)常采用先進行排隊后讀取的方式,這樣可以減少尋道的時間和縮短讀周期,從而也減少了對緩沖的需求量。為此,有讀寫請求的通道都被放入到排序集合之中。如果定義每一個排序集合又是個通道的集合:c1,c2cn。令排序集合為S1,S2Ss,其中Si=c1,c2cn。各集合是按固定順序執(zhí)行的,但要在一個集合里要對讀操作進行

45、排序以減少尋道時間。在這種條件下,有兩種情況比較特殊。1、只有一個排序集合,尋道時間的優(yōu)化將對其中所有的通道進行。最差的情況就是跨兩個時間周期。即對一個通道的讀操作可以在前一個時間周期內首先執(zhí)行,而在下一個周期中又于最后一個執(zhí)行。這樣,在兩次讀操作之間的時間大約是兩次讀周期的時間長度。2、一個排序集合僅有一個通道,且在每一個讀周期中讀操作的次序保持固定,那么讀操作之間的時間間隔最多為一個時間周期。由于沒有對尋道進行過優(yōu)化,固定排序可能會有更長的讀操作周期。令T(sj)為對排序集合Sj執(zhí)行讀操作的最大的時間,其中包括尋道和其它開銷。對于一個特定的通道c,考慮最差的情況,所有對c的讀請求都是在S的

46、讀周期中第一個執(zhí)行,而在下一周期時在最后一個執(zhí)行,如圖11-3所示。圖11-3 在多流中的特定通道所需的最大延遲則最大的間隔時間max為:它說明,防止某通道在讀操作之間發(fā)生數據短缺的必要條件,必須讀足夠多的數據,才能保證在讀其它集合和讀同一集合中其它通道時足夠的緩沖數據供消耗。該公式可用于分析各種調度策略。當已知max后,則需要的最小緩沖為ri max+,其中依賴于磁盤簇的大小。介質調度算法多進程的系統(tǒng)中,各個進程分別會不斷請求文件系統(tǒng)的讀/寫操作。當進程的發(fā)送請求的速度高于介質的響應速度時,在存儲設備前將形成一個等待隊列。傳統(tǒng)操作系統(tǒng)有許多介質驅動調度算法,包括先來先服務(FCFS)、最短尋

47、道時間優(yōu)先(SSTF)、掃描法(SCAN)、循環(huán)掃描法(C-SCAN)、分組掃描法和電梯調度法等。它們的主要目標是為了減少尋道時間,提高數據的流量和對介質的隨機存取。因此無法適用于有時限要求的實時任務。為了使多媒體操作系統(tǒng)適應連續(xù)媒體的要求,就要將各種方法協(xié)調起來,以提供實時要求和必須的穩(wěn)定數據率。連續(xù)媒體的I/O系統(tǒng)不僅要滿足周期性的實時請求,同時在實時事務的時限內處理非周期任務的請求。最著名的實時調度算法有EDF和RMS算法,它們可使任務按優(yōu)先級順序的執(zhí)行,所不同的是確定實時任務優(yōu)先權的方法不同。最早時限優(yōu)先法(EDF:Earliest Deadline First)EDF也稱為最早截止時間優(yōu)先算法,EDF算法中,每個任務都是可剝奪的,根據每個任務的最后期限為其分配優(yōu)先級。為最后期限最早的任務分配最高優(yōu)先級,然后將其請求的資源賦給它。EDF算法是動態(tài)的,系統(tǒng)調度器在每一次就緒狀態(tài)進行調度。也就是說,每個任務的優(yōu)先級不是固定不變的,當新的任務到達時,EDF

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論