版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第11章 多媒體操作系統(tǒng) 多媒體的應(yīng)用需求逐漸從單機(jī)延伸到互聯(lián)網(wǎng),從非實(shí)時方式發(fā)展到實(shí)時方式,因而操作系統(tǒng)也逐漸沿著適合這種應(yīng)用的方向發(fā)展。在不同的應(yīng)用環(huán)境、應(yīng)用方式下需要有相應(yīng)的多媒體操作系統(tǒng)的支持,因而多媒體操作系統(tǒng)是多媒體技術(shù)中的中流砥柱。在多媒體應(yīng)用迅速火熱的局面下,無論是桌面式、嵌入式、還是分布式的多媒體應(yīng)用中,多媒體操作系統(tǒng)技術(shù)面臨的新的核心問題是圍繞著多流、同步、時限、以及基于QoS的管理,要研究如何采用適當(dāng)?shù)牟呗院退惴ㄈフ{(diào)度、去滿足多媒體應(yīng)用任務(wù)。 本章將針對這些概念介紹多媒體應(yīng)用對操作系統(tǒng)的要求、多媒體操作系統(tǒng)應(yīng)具備的核心功能、和支持連續(xù)媒體應(yīng)用的有關(guān)策略。11.1 操作系統(tǒng)
2、概述操作系統(tǒng)是計算機(jī)軟硬件資源的控制管理中心,它主要任務(wù)是合理組織和調(diào)用軟硬件資源,以完成用戶提交的作業(yè)。隨著市場需求的不斷提高以及計算機(jī)、網(wǎng)絡(luò)、多媒體、通訊技術(shù)的不斷發(fā)展,操作系統(tǒng)經(jīng)歷了一系列開發(fā)和變革。11.1.1 操作系統(tǒng)的分類操作系統(tǒng)有很多種類,并具有不同的特征。從不同的角度可以將操作系統(tǒng)分成不同的類型。根據(jù)計算機(jī)體系結(jié)構(gòu)可分為單機(jī)、多機(jī)、網(wǎng)絡(luò)和分布式操作系統(tǒng)。根據(jù)操作系統(tǒng)工作的角度可分為單用戶、批處理、分時和實(shí)時系統(tǒng)。由于多媒體的引入,因而產(chǎn)生了多媒體操作系統(tǒng)和多媒體網(wǎng)絡(luò)操作系統(tǒng)。從操作系統(tǒng)工作的角度來看,單用戶、批處理、分時操作系統(tǒng)的工作重點(diǎn)都是圍繞著系統(tǒng)資源的利用率而展開的。在單
3、用戶操作系統(tǒng)下,用戶必須初始化所有硬件設(shè)備,并將操作系統(tǒng)的核心部分常駐留在系統(tǒng)的主存儲器中,為運(yùn)行應(yīng)用程序提供裝入、解釋和控制。為了減少用戶作業(yè)建立和打斷的時間,于是提出批處理系統(tǒng)的概念,由計算機(jī)按順序自動批處理指令。批處理系統(tǒng)雖然提高了資源的利用率,但作業(yè)處理的平均周轉(zhuǎn)時間較長,且用戶交互能力較弱等。分時系統(tǒng)具有較好的交互式功能,同時可為多用戶和多任務(wù)提供服務(wù),它將CPU的運(yùn)行時間分割成微小時間片,依次輪流為各個程序提供服務(wù),并能及時響應(yīng)用戶的輸入請求。但是分時時間片的長短以及主機(jī)系統(tǒng)的配置將系統(tǒng)的性能有較大的影響,對時間響應(yīng)上有特殊要求的應(yīng)用是難以滿足的。實(shí)時系統(tǒng)是因為多媒體應(yīng)用在時間的特
4、殊要求而形成的。由于在多媒體系統(tǒng)中大量地使用了基于時間的連續(xù)性媒體,而連續(xù)性媒體數(shù)據(jù)的組織和表現(xiàn)嚴(yán)格地受限于所規(guī)定的時間,這就需要有能夠提供及時服務(wù)的實(shí)時系統(tǒng)。所以,實(shí)時系統(tǒng)首先要滿足時間的響應(yīng),然后再考慮支持多個用戶和多個任務(wù)。目前,實(shí)時系統(tǒng)顯得相當(dāng)重要,下面我們將對進(jìn)一步了解實(shí)時系統(tǒng)的系統(tǒng)特征。11.1.2 實(shí)時系統(tǒng)的特征實(shí)時系統(tǒng)是指系統(tǒng)能及時響應(yīng)輸入,并能按需提供無延遲的輸出處理。實(shí)時系統(tǒng)可以分為實(shí)時控制系統(tǒng)和實(shí)時信息系統(tǒng)。實(shí)時控制系統(tǒng)可用于生產(chǎn)過程中的自動控制,也可以用于監(jiān)測制導(dǎo)性控制。實(shí)時信息系統(tǒng)通常指實(shí)時信息處理系統(tǒng)。實(shí)時系統(tǒng)繼承了分時系統(tǒng)的交互性和多用戶功能,并在滿足任務(wù)時限的基
5、礎(chǔ)完成任務(wù),它主要包括如下特征: 1. 及時與時限性。主要反映在對用戶的響應(yīng)時間要求上,以滿足控制對象所能接受的時間延遲,它可以是秒級、毫秒或微秒級。2. 交互性。根據(jù)不同的應(yīng)用對象和應(yīng)用要求,實(shí)時系統(tǒng)能提供便捷的交互方式。3. 安全可靠性。實(shí)時控制系統(tǒng)必須考慮系統(tǒng)的容錯機(jī)制,避免導(dǎo)致災(zāi)難性后果。實(shí)時信息系統(tǒng),應(yīng)向用戶提供及時、有效、完整和可用的信息。4. 多路性。實(shí)時控制系統(tǒng)應(yīng)能提供多用戶的服務(wù)。并具有現(xiàn)場多路采集、處理和控制執(zhí)行機(jī)構(gòu)的功能。 實(shí)時系統(tǒng)的調(diào)度包括CPU、資源、輸入和輸出、通信和任務(wù)各個方面,正確把握基于時間上的調(diào)度問題就是實(shí)時系統(tǒng)所要解決的關(guān)鍵問題。由于實(shí)時任務(wù)具有時限性、搶
6、占性、周期性、優(yōu)先性、重要性、組合性等多種特征,因而在創(chuàng)建任務(wù)調(diào)度的算法時必須考慮這些因素。在任務(wù)與時限的關(guān)系中,涉及的概念包括:任務(wù)時限、任務(wù)執(zhí)行時間、任務(wù)時限余量(任務(wù)執(zhí)行時間與任務(wù)時限之差)、緊任務(wù)時限、松任務(wù)時限、強(qiáng)實(shí)時(超時將無可用性)、弱實(shí)時(超時將影響可用性)、關(guān)鍵任務(wù)時限(超時將引起嚴(yán)重后果)等。其中任務(wù)時限是指執(zhí)行某任務(wù)時的可用時間,也稱為時限粒度。任務(wù)時限和任務(wù)時限余量之間存在著一定的關(guān)系,較小的任務(wù)時限必定導(dǎo)致較小的時限余量。但較大的任務(wù)時限也可能導(dǎo)致較小的時限余量,因為任務(wù)的執(zhí)行時間取決于具體算法的復(fù)雜程度。也就是說,不同復(fù)雜的算法決定了任務(wù)的時限余量。根據(jù)以上這些特性
7、,實(shí)時調(diào)度中廣泛采用了基于優(yōu)先級的搶占調(diào)度算法。該算法可以使正在執(zhí)行的任務(wù)出讓資源,去滿足一個高優(yōu)先級的任務(wù)的執(zhí)行。同時對具有動態(tài)優(yōu)先級的任務(wù),可以根據(jù)任務(wù)的某些因素在運(yùn)行時調(diào)整進(jìn)程的優(yōu)先權(quán)。常用的算法還有截止期最早最優(yōu)先(Earliest Deadline First,EDF),最關(guān)鍵任務(wù)優(yōu)先算法(Most Critical First,MCF)、關(guān)鍵性和時限優(yōu)先算法(Criticalness and Deadline First,CDF)、最小余量優(yōu)先算法(Most Laxity First,MLF)、最低松弛度優(yōu)先(LLF)算法等。當(dāng)任務(wù)的某些特征模糊不確定或不可預(yù)測時,一些常用的調(diào)度算
8、法不再適用??梢允褂貌痪_調(diào)度算法(Imprecise Computing,IC)或模糊反饋控制實(shí)時調(diào)度算法。實(shí)時系統(tǒng)的性能好壞主要從以下幾個方面衡量:(1)響應(yīng)時間主要包括中斷響應(yīng)時間、關(guān)聯(lián)轉(zhuǎn)換時間和任務(wù)等待時間中斷響應(yīng)時間包括中斷延遲時間,其大小取決于總線速度、中斷屏蔽的時間長短、中斷負(fù)載的大小、中斷優(yōu)先級等多種因素。任務(wù)等待時間是指從發(fā)送消息的時刻到任務(wù)收到消息變?yōu)闇?zhǔn)備并投入運(yùn)行之間的時間,包括消息處理時間、核心不可搶占延遲、調(diào)度時間和關(guān)聯(lián)轉(zhuǎn)換時間,反映了系統(tǒng)的開銷情況。關(guān)聯(lián)轉(zhuǎn)換時間即上下文切換時間,它取決與任務(wù)關(guān)聯(lián)的數(shù)目、任務(wù)調(diào)度算法、任務(wù)現(xiàn)場信息量的大小、CPU速度等諸多因素。(2)
9、吞吐率實(shí)時系統(tǒng)的吞吐率取決于系統(tǒng)的各個部位,不同的部位具有不同的吞吐率概念,如CPU、系統(tǒng)總線、外圍設(shè)備等。提高吞吐率的目的是減少任務(wù)執(zhí)行時間,增加任務(wù)余量。這樣留給系統(tǒng)更多的時間,實(shí)現(xiàn)松時間約束,對相同的工作可以更好的完成;或在相同的時間內(nèi)完成更多的任務(wù)。(3)可靠性因為在一些重要的實(shí)時任務(wù)中,任何不可靠因素和故障都會引起難以預(yù)測的災(zāi)難性后果。11.1.3 多媒體操作系統(tǒng)的類型多媒體操作系統(tǒng)支持多媒體的實(shí)時應(yīng)用,其首要任務(wù)是調(diào)度一切可利用的資源完成實(shí)時控制任務(wù),其次要提高計算機(jī)系統(tǒng)的使用效率。多媒體實(shí)時任務(wù)主要包括:任務(wù)管理、任務(wù)間同步和通信、存儲器優(yōu)化管理、實(shí)時時鐘服務(wù)、中斷管理服務(wù)。實(shí)時
10、操作系統(tǒng)具有規(guī)模小,中斷被屏蔽的時間很短,中斷處理時間短,任務(wù)切換很快等特點(diǎn)。根據(jù)不同的使用規(guī)模,多媒體操作系統(tǒng)可分為單機(jī)、互聯(lián)式和分布式 單機(jī)多媒體操作系統(tǒng)單機(jī)多媒體操作系統(tǒng)是指支持非網(wǎng)絡(luò)環(huán)境中的MPC的操作系統(tǒng),例如,Windows95以后的操作系統(tǒng)就屬于多媒體操作系統(tǒng)。Windows XP操作系統(tǒng)更是從系統(tǒng)級上支持多媒體功能,其DVD支持技術(shù)、內(nèi)置的DirectX多媒體驅(qū)動、與操作系統(tǒng)無縫連接的光盤刻錄與擦寫技術(shù)等,給用戶提供了更加豐富多彩的交互式多媒體環(huán)境。互聯(lián)式多媒體操作系統(tǒng)與單機(jī)操作系統(tǒng)不同的是,互聯(lián)式多媒體操作系統(tǒng)面對的是多臺計算機(jī)或多個局域網(wǎng)系統(tǒng),它要支持多機(jī)之間的資源共享、用
11、戶操作協(xié)調(diào)和與多機(jī)操作的交互。網(wǎng)絡(luò)操作系統(tǒng)可以構(gòu)架于不同的操作系統(tǒng)之上,也就是說它網(wǎng)絡(luò)中所連接的計算機(jī)可以被裝有不同的操作系統(tǒng),通過網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)網(wǎng)絡(luò)資源的統(tǒng)一配置,在較大的范圍內(nèi)構(gòu)成互聯(lián)式網(wǎng)絡(luò)操作系統(tǒng)。在互聯(lián)式網(wǎng)絡(luò)操作系統(tǒng)中,對網(wǎng)絡(luò)資源的訪問需要指明資源位置與資源類型。對于有實(shí)時要求的的任務(wù),多媒體操作系統(tǒng)不僅要根據(jù)用戶的請求準(zhǔn)確地完成信息的發(fā)送、傳遞和接收的全過程,而且要保證實(shí)時性多媒體信息處理的各種要求。分布式多媒體操作系統(tǒng)分布式操作系統(tǒng)是指有大量的計算機(jī)通過網(wǎng)絡(luò)被連接在一起,可以獲得極高的運(yùn)算能力及廣泛的數(shù)據(jù)共享。分布式操作系統(tǒng)有如下特征:1、統(tǒng)一性。它是一個統(tǒng)一的操作系統(tǒng)。2、共享性。
12、分布式系統(tǒng)中所有的資源是可共享的。3、透明性。透明性是指用戶并沒有感覺到分布式系統(tǒng)上有多臺計算機(jī)在運(yùn)行。4、獨(dú)立性。處于分布式系統(tǒng)的多個主機(jī)在物理上是獨(dú)立的。5、低成本。分布式系統(tǒng)中的計算機(jī)不需要具備特別高的性能。6、可靠性。由于有多個獨(dú)立的CPU系統(tǒng),因此個別CPU的故障高不影響系統(tǒng)性能。與網(wǎng)絡(luò)操作系統(tǒng)的主要區(qū)別是,分布式操作系統(tǒng)比較強(qiáng)調(diào)單一性,使用同一種操作系統(tǒng),即使用同一種管理與訪問方式。11.2 多媒體操作系統(tǒng)的核心和重要功能多媒體操作系統(tǒng)不僅要管理軟、硬件資源,還需要滿足多媒體數(shù)據(jù)處理的需要,提供一種高效、實(shí)時的運(yùn)行環(huán)境。多媒體處理中要解決的主要問題包括中斷等待、實(shí)時調(diào)度、時限和恢復(fù)
13、管理處理和基于QoS的資源管理。為了解決這些主要的問題,必須開發(fā)新的多媒體操作系統(tǒng)的體系結(jié)構(gòu)。11.2.1 操作系統(tǒng)的體系結(jié)構(gòu)傳統(tǒng)的操作系統(tǒng)的工作是基于多個進(jìn)程下的資源管理、設(shè)備控制等。這些系統(tǒng)并不具有對時間的復(fù)雜控制和維護(hù)特定的機(jī)制,也沒有提供系統(tǒng)短暫過載時進(jìn)行保護(hù)和管理的模式。系統(tǒng)常常無法應(yīng)對一些不可預(yù)見的延遲和抖動,也不能保證對時間有嚴(yán)格要求的多媒體信息的同步,所以并不適合于連續(xù)媒體應(yīng)用的實(shí)時服務(wù)。傳統(tǒng)的操作系統(tǒng)主要在以下幾個方面有所欠缺:(1)缺乏操作系統(tǒng)的實(shí)時支持這種實(shí)時支持應(yīng)能夠提供較好的時間驅(qū)動計算、最佳的時間調(diào)度策略、而不僅僅只具有時間分配的能力。(2)為了適合于實(shí)時多媒體的應(yīng)
14、用,有必要開發(fā)設(shè)計新的多媒體操作系統(tǒng)。目前,多媒體操作系統(tǒng)有兩種開發(fā)模式,即擴(kuò)充傳統(tǒng)操作系統(tǒng)和重新設(shè)計的微內(nèi)核體系結(jié)構(gòu)。無論采用哪種方式,多媒體操作系統(tǒng)都必須至少提供滿足多媒體信息處理要求的CPU管理、存儲器管理、I/O管理和文件系統(tǒng)管理功能。分層式操作系統(tǒng)傳統(tǒng)的操作系統(tǒng)是分層式的,如圖11-1(左)所示,它的內(nèi)核由若干層組成,內(nèi)核集中提供各種功能,整個內(nèi)核顯得非常龐大。多媒體的應(yīng)用需要系統(tǒng)支持請求、預(yù)定資源和同步處理,也就是要對內(nèi)核進(jìn)行適當(dāng)?shù)男薷氖沟媚芴峁┛深A(yù)測的性能。例如,SUN公司為了提供適當(dāng)?shù)亩嗝襟w資源管理,開發(fā)了一種時間驅(qū)動資源管理TDRM(Time Driven Resource
15、Management)機(jī)制,就是允許一個應(yīng)用向系統(tǒng)提出資源請求的機(jī)制。應(yīng)用的資源請求可包括應(yīng)用所需的資源、質(zhì)量、最后期限、優(yōu)先級等參數(shù),而系統(tǒng)只是按照申請盡可能地分配可用資源,并可告知必要的信息。圖11-1 分層內(nèi)核(左)和微內(nèi)核(右)微內(nèi)核(micro-kernel)操作系統(tǒng)是新結(jié)構(gòu)下的操作系統(tǒng),它保留傳統(tǒng)操作系統(tǒng)界面,采用微內(nèi)核為核心,為模塊化擴(kuò)展提供基礎(chǔ)。微內(nèi)核的基本原理是,只有最基本的操作系統(tǒng)功能才能放在內(nèi)核中。不是最基本的服務(wù)和應(yīng)用程序在微內(nèi)核之上構(gòu)造,并在用戶模式下執(zhí)行。微內(nèi)核中只包含線程和任務(wù)管理、IPC管理、存儲對象管理、虛擬內(nèi)存服務(wù)、I/O管理和中斷處理等內(nèi)容。 而在微內(nèi)核外
16、去完成文件管理、進(jìn)程管理、設(shè)備驅(qū)動程序、虛存管理程序、窗口系統(tǒng)和安全服務(wù)。用戶可以通過微內(nèi)核接口函數(shù)提出服務(wù)申請,微內(nèi)核的服務(wù)器便可向用戶提供內(nèi)核的功能服務(wù)。內(nèi)核體系結(jié)構(gòu)如圖11-1(右)所示,微內(nèi)核結(jié)構(gòu)用一個水平分層的結(jié)構(gòu)代替了傳統(tǒng)的縱向分層的結(jié)構(gòu)。在微內(nèi)核外部的操作系統(tǒng)部件被當(dāng)作服務(wù)器進(jìn)程實(shí)現(xiàn)。微內(nèi)核體系結(jié)構(gòu)的優(yōu)點(diǎn)一致接口:微內(nèi)核設(shè)計為進(jìn)程請求提供一致接口??蓴U(kuò)展性:允許增加新的服務(wù)以及在同一個功能區(qū)域中提供多個服務(wù)。靈活性:與可擴(kuò)展性相關(guān),不僅可以在操作系統(tǒng)中增加新功能,還可以刪除現(xiàn)有的功能??梢浦残裕核谢虼蟛糠痔幚砥鲗S么a都在微內(nèi)核中,移植時只需很少的變化??煽啃裕荷倭康膽?yīng)用程序編
17、程接口,為內(nèi)核外部的操作系統(tǒng)服務(wù)產(chǎn)生高質(zhì)量的代碼。分布系統(tǒng)支持:微內(nèi)核有助于分布式系統(tǒng)支持,包括分布式操作系統(tǒng)控制的集群。對面向?qū)ο蟛僮飨到y(tǒng)的支持: 微內(nèi)核結(jié)構(gòu)也適用面向?qū)ο蟛僮飨到y(tǒng)環(huán)境。微內(nèi)核上的操作系統(tǒng)的服務(wù)模式在微內(nèi)核體系結(jié)構(gòu)下,可以根據(jù)連續(xù)媒體的特殊需要安排上層操作系統(tǒng),服務(wù)模式的實(shí)現(xiàn)有以下幾種方法:庫例程服務(wù)模式:上層操作系統(tǒng)作為實(shí)用庫例程,當(dāng)用戶程序調(diào)用庫例程時,由庫例程去調(diào)用微內(nèi)核功能。實(shí)用庫可以提供包括中斷處理、計時器、消息登錄、 內(nèi)存分配、線緩沖等例程。 服務(wù)器服務(wù)模式:上層操作系統(tǒng)作為服務(wù)器,用戶程序直接向服務(wù)器提出申請。微內(nèi)核的功能模式:上層操作系統(tǒng)作為微內(nèi)核的一個功能,
18、一般就是微內(nèi)核的接口函數(shù)。11.2.2 中斷等待在連續(xù)媒體應(yīng)用中,常常由于多任務(wù)的同時執(zhí)行而引起中斷等待。中斷等待時間越短,系統(tǒng)的性能就越好。大量的中斷等待將不能很好地支持實(shí)時活動。例如,處理一個連續(xù)的MIDI音樂媒體流,會產(chǎn)生十分頻繁的中斷請求發(fā)向操作系統(tǒng)內(nèi)核,這時將產(chǎn)生大量的上下文切換時間。如果操作系統(tǒng)內(nèi)核難以應(yīng)付這么高事件流的需求,將會產(chǎn)生許多中斷延時,從而影響QoS。實(shí)時操作系統(tǒng)分為可搶占性和不可搶占性。不可搶占型實(shí)時操作系統(tǒng)中,其實(shí)時性取決于最長任務(wù)的執(zhí)行時間。當(dāng)前運(yùn)行的任務(wù)擁有CPU的控制權(quán),實(shí)時任務(wù)的到來必須通過某種算法并等待當(dāng)前任務(wù)交出CPU的控制權(quán),然后直到它主動歸還CPU控
19、制權(quán)。中斷由中斷服務(wù)程序來處理,當(dāng)激活一個休眠狀態(tài)任務(wù)并使之緒態(tài)時,該任務(wù)也必須等到當(dāng)前運(yùn)行的任務(wù)主動交出CPU的控制權(quán)后才能運(yùn)行??蓳屨夹蛯?shí)時操作系統(tǒng)是基于任務(wù)優(yōu)先級的,內(nèi)核可以搶占正在運(yùn)行任務(wù)的CPU使用權(quán),并將使用權(quán)交給進(jìn)入就緒態(tài)的優(yōu)先級更高的任務(wù),也就是說,由于較高優(yōu)先級任務(wù)的到來,正在運(yùn)行中的其他任務(wù)都可被中斷。可搶占型實(shí)時操作系統(tǒng)的實(shí)時性好,但是,必須合理處理好搶占方式,否則也會導(dǎo)致系統(tǒng)崩潰。降低操作系統(tǒng)中斷等待的關(guān)鍵策略是可搶占性處理。對于目前現(xiàn)存的內(nèi)核,可行的修改方案是增加一個安全搶占點(diǎn)的集合,也可以將現(xiàn)存的內(nèi)核轉(zhuǎn)化為運(yùn)行微內(nèi)核上的一個用戶程序。但最好的辦法是重新設(shè)計內(nèi)核的內(nèi)部
20、結(jié)構(gòu),使允許按任務(wù)的優(yōu)先級搶占執(zhí)行任務(wù)。11.2.3 實(shí)時調(diào)度當(dāng)多個實(shí)時的或非實(shí)時程序共享同一個資源時,一般多線程操作系統(tǒng)使用同步目標(biāo)來作為強(qiáng)迫線程同步的多線程核心。但是可能會引起不可控制的優(yōu)先權(quán)倒置。這種優(yōu)先權(quán)倒置現(xiàn)象是由服務(wù)器的非搶占特性引起的,由此常導(dǎo)致不可預(yù)見的延遲和抖動問題的發(fā)生。CPU 的實(shí)時處理多媒體調(diào)度同時要面向非實(shí)時處理和實(shí)時處理兩個方面,當(dāng)有實(shí)時進(jìn)程出現(xiàn)時,不能影響正在處理之中的非實(shí)時處理,同時又要允許實(shí)時進(jìn)程剝奪非實(shí)時進(jìn)程等低優(yōu)先級實(shí)時進(jìn)程。CPU可以通過高效實(shí)時調(diào)度進(jìn)行實(shí)時處理,實(shí)時調(diào)度器以滿足任務(wù)的最后期限來進(jìn)行調(diào)度。對于連續(xù)媒體環(huán)境下的最后期限可以是可接受的每幀回放
21、時間。各種實(shí)時操作系統(tǒng)的實(shí)時調(diào)度算法可以分為三種類別:基于優(yōu)先級的調(diào)度算法(Priority-driven scheduling-PD)、基于CPU使用比例的共享式的調(diào)度算法(Share-driven scheduling-SD)、以及基于時間的進(jìn)程調(diào)度算法(Time-driven scheduling-TD)。基于優(yōu)先級的調(diào)度算法基于優(yōu)先級的調(diào)度算法給每個進(jìn)程分配一個優(yōu)先級,在每次進(jìn)程調(diào)度時,調(diào)度器總是調(diào)度那個具有最高優(yōu)先級的任務(wù)來執(zhí)行。根據(jù)不同的優(yōu)先級分配方法,基于優(yōu)先級的調(diào)度算法可以分為類型靜態(tài)或動態(tài)兩種:靜態(tài)優(yōu)先級調(diào)度算法中,為所有進(jìn)程都靜態(tài)地分配一個優(yōu)先級。靜態(tài)優(yōu)先級的分配可以根據(jù)應(yīng)
22、用任務(wù)的的屬性來進(jìn)行。例如RM(Rate-Monotonic)調(diào)度算法是根據(jù)任務(wù)的執(zhí)行周期的長短來決定調(diào)度優(yōu)先級,那些具有小的執(zhí)行周期的任務(wù)具有較高的優(yōu)先級。 動態(tài)優(yōu)先級調(diào)度算法中,根據(jù)任務(wù)的資源需求來動態(tài)地分配任務(wù)的優(yōu)先級。在實(shí)時調(diào)度算法中,EDF算法給就緒隊列中的各個任務(wù)根據(jù)它們的截止期限來分配優(yōu)先級,具有最近的截止期限的任務(wù)具有最高的優(yōu)先級?;诒壤蚕碚{(diào)度算法基于優(yōu)先級的調(diào)度算法提供的是一種硬實(shí)時的調(diào)度,對于軟實(shí)時應(yīng)用,使用比例共享式的資源調(diào)度算法(SD算法)更為適合。比例共享調(diào)度算法指基于CPU使用比例的共享式的調(diào)度算法,它按照一定的權(quán)重對一組需要調(diào)度的任務(wù)進(jìn)行調(diào)度,使它們的執(zhí)行時間
23、與它們的權(quán)重完全成正比。但是它沒有優(yōu)先級的概念,當(dāng)系統(tǒng)處于過載狀態(tài)時,所有的任務(wù)的執(zhí)行都會按比例地變慢,這將影響實(shí)時進(jìn)程。 實(shí)現(xiàn)比例共享調(diào)度的算法有兩種:可以調(diào)節(jié)各個就緒進(jìn)程出現(xiàn)在調(diào)度隊列隊首的頻率,并調(diào)度隊首的進(jìn)程執(zhí)行。或者逐次調(diào)度就緒隊列中的各個進(jìn)程投入運(yùn)行,但根據(jù)分配的權(quán)重調(diào)節(jié)分配個每個進(jìn)程的運(yùn)行時間片?;跁r間的進(jìn)程調(diào)度算法對于具有穩(wěn)定、已知輸入的簡單系統(tǒng),如很小的嵌入式系統(tǒng)、自控系統(tǒng)、傳感器等應(yīng)用系統(tǒng),可以使用時間驅(qū)動(Time-driven:TD)的調(diào)度算法,它能夠為數(shù)據(jù)處理提供很好的預(yù)測性。實(shí)際上屬于靜態(tài)調(diào)度方法,在系統(tǒng)的設(shè)計階段,在明確系統(tǒng)中所有的處理情況下,對于各個任務(wù)的開始
24、、切換、以及結(jié)束時間等都事先做出明確的安排和設(shè)計。11.2.4 時限和恢復(fù)管理許多具有強(qiáng)實(shí)時性的多媒體應(yīng)用,要求在規(guī)定時間內(nèi)完成其處理,同時,所處理的數(shù)據(jù)也往往是“短暫”的,即有一定的有效時間,過時則有新的數(shù)據(jù)產(chǎn)生。實(shí)時事務(wù)中有多種定時限制,其中最典型的是事務(wù)截止期。很多連續(xù)媒體應(yīng)用程序具有內(nèi)在的“軟”時限。例如,在視頻會議系統(tǒng)中,即使大多數(shù)視頻圖像都沒能夠按時處理完畢,也不影響會議繼續(xù)的進(jìn)行。然而,錯過時限的提示信號對應(yīng)用來說是相當(dāng)重要的信息?;谶@些信息,應(yīng)用可以要求改變服務(wù)質(zhì)量QoS的級別。由于實(shí)時事務(wù)難以接受時間的延遲及其不確定性,因而多媒體操作系統(tǒng)的內(nèi)存緩沖區(qū)的管理就顯得更為重要。如
25、何及時分配所需緩沖區(qū)、如何讓高優(yōu)先級事務(wù)搶占緩沖區(qū)成為主要目標(biāo)。各種因素都可能導(dǎo)致QoS的下降,當(dāng)程序由于過載、硬件或軟件錯誤而錯過時限時,用戶程序應(yīng)能夠決定相應(yīng)的應(yīng)付措施,也就是實(shí)時恢復(fù)機(jī)制。但是數(shù)據(jù)的可恢復(fù)性也并非一致的,有的事務(wù)可以在一定的時限內(nèi)要求重發(fā),而有的事務(wù)則可能要用“補(bǔ)償”、“替代”事務(wù)。為了保證實(shí)時限制的滿足,恢復(fù)也不一定是一致和絕對正確的。同時,恢復(fù)過程也將影響處于活躍狀態(tài)的事務(wù),使有的事務(wù)超過截止期,這對硬實(shí)時事務(wù)是不能接受的。因此,必須開發(fā)新的恢復(fù)技術(shù)與機(jī)制,應(yīng)考慮到時間與資源兩者的可用性,以確定最佳恢復(fù)時機(jī)與策略,而不致于影響事務(wù)實(shí)時性的滿足。然而在多道程序設(shè)計環(huán)境中
26、,必須把調(diào)整優(yōu)先權(quán)等事物外的操作作為一個原子級操作,這樣可保證恢復(fù)任務(wù)不能被搶占。 10.2.5 QoS 管理隨著數(shù)字視頻、音頻等連續(xù)媒體的網(wǎng)絡(luò)應(yīng)用,對實(shí)時服務(wù)質(zhì)量QoS支持的要求也不斷提高。在不同的應(yīng)用中,用戶對QoS的要求也不完全相同。多媒體網(wǎng)絡(luò)操作系統(tǒng)必須具有增強(qiáng)的管理功能,使得能夠支持更為靈活、更為動態(tài)的QoS選擇,從而使用戶可以對傳送連接進(jìn)行適當(dāng)?shù)募舨靡詽M足自己的特定需要。在建立端到端的連接時,用戶應(yīng)能量化和表達(dá)對有關(guān)QoS參數(shù)的希望值、可接受值和不可接受值。通信雙方必須就這些參數(shù)進(jìn)行協(xié)商,以保證這些QoS參數(shù)值在連接持續(xù)期內(nèi)得到滿足。通信過程中,即使違背了事先協(xié)商的QoS值時,操作
27、系統(tǒng)應(yīng)能提供一定的指示信息。對連續(xù)媒體應(yīng)用的QoS管理可以分成兩種控制模式:靜態(tài)的和動態(tài)的。靜態(tài)控制模式是指通信前,由用戶指定一個QoS的級,并在整個連接生存期間都維護(hù)這個指定的級。而動態(tài)控制模式則允許用戶在整個連接生存期間調(diào)整初始的QoS值。而修改QoS級的依據(jù)有2種,可以根據(jù)系統(tǒng)可用資源進(jìn)行調(diào)整,或者根據(jù)任務(wù)的需要來調(diào)整。11.3 支持連續(xù)媒體應(yīng)用的有關(guān)策略目前,對連續(xù)媒體的支持還缺乏一個全面的規(guī)劃的軟件標(biāo)準(zhǔn)和操作系統(tǒng)所支持的公共功能。如果要開發(fā)一個適合于多媒體處理的操作系統(tǒng),它應(yīng)該對連續(xù)媒體應(yīng)用的支持可以分為三個方面:對資源管理的支持、對程序設(shè)計的支持和對文件系統(tǒng)的支持。11.3.1支持
28、連續(xù)媒體的資源管理 為了支持連續(xù)媒體,應(yīng)該采取新的資源管理模式來提供必須的系統(tǒng)資源,以滿足一定的應(yīng)用請求級,從而避免出現(xiàn)那些不可預(yù)見的延遲和抖動?;赒oS的資源控制在連續(xù)媒體中,可以參數(shù)形式描述其時間特性和空間特性。雖然QoS參數(shù)大多數(shù)依賴于應(yīng)用的,但應(yīng)用系統(tǒng)一般都能提供多種可選的QoS級,讓用戶選擇適合于自己的資源環(huán)境下工作的QoS級,而操作系統(tǒng)必須能基于QoS級對資源進(jìn)行管理。無論用戶的請求是靜態(tài)的還是動態(tài)的,系統(tǒng)都必須對用戶所請求的級作出反映,當(dāng)系統(tǒng)資源能夠滿足用戶申請的QoS級時,系統(tǒng)才會接受用戶的請求并提供所需的系統(tǒng)資源。當(dāng)資源不足時,系統(tǒng)將通過會話過程和用戶進(jìn)行協(xié)商,降低QoS的
29、級,以減少對資源的需求。存儲器管理存儲器管理要為任務(wù)進(jìn)程分配存儲器資源。對于連續(xù)媒體數(shù)據(jù)而言,通常都具有數(shù)據(jù)交換量大和嚴(yán)格的定時需求。傳統(tǒng)的虛擬內(nèi)存采用請求頁式調(diào)度,在虛存和主存之間進(jìn)行換頁交換可能要花費(fèi)許多的時間,缺頁還將延長這段交換時間,從而可能影響實(shí)時進(jìn)程。如果不采用虛擬內(nèi)存,可以在進(jìn)程執(zhí)行期間將連續(xù)媒體數(shù)據(jù)鎖在存儲器中,但是可能影響資源利用率。另一種基于QoS的方法中,可以利用連續(xù)媒體數(shù)據(jù)的周期性及時預(yù)調(diào)數(shù)據(jù)。其他比較重要的實(shí)用實(shí)現(xiàn)技術(shù)包括散布緩沖區(qū)法或傳遞指針法,它們都有效地提高空間使用效率。散布緩沖區(qū)法,就可以將進(jìn)程地址空間裝入可能不連續(xù)的存儲器區(qū)域。指針傳遞法就是通過引用傳遞對象
30、,而不拷貝或移動對象本身。 實(shí)時I/O管理實(shí)時I/O子系統(tǒng)的主要功能是在主存儲器和外部設(shè)備之間傳送多媒體數(shù)據(jù),它的中心任務(wù)就是設(shè)備管理、中斷延時與實(shí)時傳輸。設(shè)備管理為所有硬件構(gòu)件的控制與管理提供統(tǒng)一界面,通過將物理設(shè)備映射成抽象的設(shè)備驅(qū)動器。多媒體應(yīng)用中,特別是實(shí)時連續(xù)媒體幀的輸入和輸出,必定需要大量的I/O操作,由此頻繁地中斷內(nèi)核,從而降低系統(tǒng)吞吐率并影響QoS。 而保證單流的連續(xù)性和多相關(guān)流之間的同步的關(guān)鍵所在就是I/O的實(shí)時功能。要提高I/O的實(shí)時功能,可以通過改變內(nèi)核結(jié)構(gòu)以使之具有搶占性、內(nèi)核中增加安全搶占點(diǎn)集合、或?qū)?dāng)前內(nèi)核轉(zhuǎn)換成可在微內(nèi)核上運(yùn)行用戶程序。如今,網(wǎng)絡(luò)帶寬超過已經(jīng)超過了
31、1Gbps,而使I/O總線成為了制約系統(tǒng)總體性能的瓶頸。由此可能導(dǎo)致總線的爭用,因此解決I/O總線已成為急待解決的中心問題。11.3.2 連續(xù)媒體的程序支持實(shí)時線程 RealtimeThread在通用的非實(shí)時系統(tǒng)中,線程不具備的實(shí)時特性,它們只能處于初始態(tài)、就緒態(tài)、非就緒態(tài)、或退出態(tài)之一。實(shí)時線程具有普通線程所有的特性和功能,但增加了更多的細(xì)致的控制能力,最重要的就是資源的搶占和優(yōu)先級的關(guān)系。實(shí)時線程可以設(shè)定優(yōu)先級,高優(yōu)先級的線程可以安排在低優(yōu)先級線程之前完成。一個應(yīng)用程序可以通過使用線程中的方法setPriority(int),來設(shè)置線程的優(yōu)先級大小。時限管理實(shí)時任務(wù)不僅要求完成每一項工作,
32、并且要按照給定的時限去完成。在時限管理中,能滿足時限要求的有效策略就是可搶占性管理。所謂可搶占性管理,是指調(diào)度進(jìn)程是建立在進(jìn)程的優(yōu)先級別上的。在調(diào)度優(yōu)先級中,正確計時是相當(dāng)重要的。但是在絕大多數(shù)調(diào)度策略中,運(yùn)行時間是一個很難獲得的值,如果調(diào)度進(jìn)程已經(jīng)獲得了事務(wù)處理時間的相關(guān)信息,而這些信息又可以用來檢測出哪些是最接近時限的事務(wù),那么就可以賦予這些事務(wù)更高的優(yōu)先權(quán),或者將那些不會超時的事務(wù)掛起。但是,如果發(fā)生計時錯誤,事實(shí)上將改變線程的優(yōu)先級,從而導(dǎo)致不可預(yù)測的后果,尤其對實(shí)時程序來說就是一種災(zāi)難性的故障。這就需要時限調(diào)度來保證系統(tǒng)的實(shí)時性。當(dāng)線程產(chǎn)生內(nèi)存錯誤或浮點(diǎn)運(yùn)算錯誤時,操作系統(tǒng)會將它視為
33、一個異常來進(jìn)行標(biāo)識和處理。為了應(yīng)對這種錯誤,系統(tǒng)必須提供捕捉計時錯誤的接口,使得用戶能夠以應(yīng)用指定的方式進(jìn)行處理,這就是實(shí)時程序的時限處理。分布式狀況下,因為通信的開銷導(dǎo)致遠(yuǎn)程服務(wù)器的響應(yīng)處理時間變得更加不可預(yù)測,因此將使實(shí)時控制變得更復(fù)雜。時限調(diào)度策略。既要針對滿足時限的,又要針對不能滿足時限的。而賦予計時錯誤處理程序的任務(wù),是要解決線程的后續(xù)執(zhí)行方式。例如,一個周期性的線程錯過了時限時,時限處理程序就必須決定是繼續(xù)運(yùn)行還是停止。通常,計時錯誤處理程序?qū)彦e誤線程掛起,并向用戶指定的端口發(fā)送一個消息。而另一個線程,將在該端口處獲取出錯的消息并作出有關(guān)反映。實(shí)時同步實(shí)時同步是連續(xù)媒體關(guān)鍵的特
34、征,實(shí)時線程的排隊是建立在優(yōu)先權(quán)基礎(chǔ)上的,基于FIFO的次序排列,常常會導(dǎo)致優(yōu)先權(quán)倒置。為了支持實(shí)時同步,系統(tǒng)應(yīng)該能提供快速時間標(biāo)識機(jī)制和實(shí)時互斥機(jī)制。互斥是用來控制多任務(wù)對共享數(shù)據(jù)進(jìn)行串行訪問的同步機(jī)制。在多任務(wù)應(yīng)用中,當(dāng)兩個或多個任務(wù)同時訪問共享數(shù)據(jù)時,可能會造成數(shù)據(jù)破壞?;コ馐顾鼈兇械卦L問數(shù)據(jù),從而達(dá)到保護(hù)數(shù)據(jù)的目的.解決互斥有以下幾種方法:1. 關(guān)閉中斷的方法(intLock):能解決任務(wù)和中斷ISR之間產(chǎn)生的互斥,但使用該辦法會影響實(shí)時系統(tǒng)對外部中斷及時響應(yīng)和處理的能力。2. 關(guān)閉系統(tǒng)優(yōu)先級(taskLock):它可使當(dāng)前任務(wù)的執(zhí)行只能被中斷,而不能被高優(yōu)先級的任務(wù)搶占。但是,這種
35、方法實(shí)際上也不適合于實(shí)時系統(tǒng)中的。3. 信號量(Semaphore):信號量是解決互斥和同步協(xié)調(diào)進(jìn)程最好的方法。使用創(chuàng)建信號量Semaphore的辦法,說明任務(wù)的屬性。實(shí)時系統(tǒng)中的IPC實(shí)時系統(tǒng)主要包括多任務(wù)調(diào)度(采用優(yōu)先級搶占方式)、任務(wù)間的同步和進(jìn)程間通信,這種通信方式被稱為進(jìn)程間通信機(jī)制(inter-process communication IPC)。進(jìn)程間通信(IPC)是運(yùn)行在多任務(wù)操作系統(tǒng)中或聯(lián)網(wǎng)計算機(jī)上的程序和進(jìn)程使用的一組技術(shù),IPC支持進(jìn)程間有效的通信,LPC能共享內(nèi)存空間、同步任務(wù)并相互發(fā)送消息。遠(yuǎn)程過程調(diào)用被稱為RPC,它類似于LPC。網(wǎng)絡(luò)上的客戶機(jī)服務(wù)器模式利用了RPC
36、機(jī)制,客戶在他自己的機(jī)器上執(zhí)行部分任務(wù),但還要依賴服務(wù)器提供的后端文件服務(wù)。RPC為客戶提供通信機(jī)制,以使服務(wù)請求發(fā)送到后端服務(wù)器。解決任務(wù)間的同步和進(jìn)程間協(xié)調(diào)問題可以采用以下的幾種方式:內(nèi)存共享(Shared Memory):用于簡單的數(shù)據(jù)共享。信號量(Semaphore):用于基本的互斥和同步。消息隊列(Message queues)和管道(Pipe):用于單個CPU中,任務(wù)間的信息傳遞。套結(jié)字(Socket)和遠(yuǎn)程調(diào)用(Remote procedure calls):用于網(wǎng)絡(luò)任務(wù)間的通信。信號(Signals):為那些訪問相同資源的進(jìn)程提供一個同步機(jī)制。在一個多任務(wù)環(huán)境中,應(yīng)該允許實(shí)時應(yīng)
37、用程序以一套獨(dú)立任務(wù)的方式構(gòu)筑,每個任務(wù)擁有獨(dú)立的執(zhí)行線程和它自己的一套系統(tǒng)資源。所以程序設(shè)計的接口可以包含實(shí)時系統(tǒng)通信所需的屬性。實(shí)時系統(tǒng)的通信需要提供基于優(yōu)先權(quán)的排隊、優(yōu)先權(quán)的交出、優(yōu)先權(quán)的繼承以及消息的分發(fā)等屬性。1、消息排隊:消息排隊機(jī)制監(jiān)督在不同的應(yīng)用程序之間傳送消息,給屬性指明了消息排隊的次序。排序策略可以有多種,如FIFO、基于優(yōu)先權(quán)等方式。應(yīng)用程序可以使用消息排隊來改善可靠性,但要以響應(yīng)時間為代價。2、優(yōu)先權(quán)的交出:當(dāng)設(shè)置了該屬性,發(fā)送者將傳遞接收者的優(yōu)先權(quán),或根據(jù)所選定的策略給定優(yōu)先權(quán)。3、優(yōu)先權(quán)的繼承:它將執(zhí)行優(yōu)先級繼承協(xié)議。優(yōu)先級繼承可用來解決優(yōu)先級反轉(zhuǎn)問題。當(dāng)優(yōu)先級反轉(zhuǎn)
38、發(fā)生時,優(yōu)先級較低的任務(wù)被暫時地提高它的優(yōu)先級,使得該任務(wù)能盡快執(zhí)行,釋放出優(yōu)先級較高的任務(wù)所需要的資源。4、消息分發(fā):當(dāng)多個接收者在運(yùn)行時,消息分發(fā)屬性將按照任意選擇策略或基于優(yōu)先權(quán)的策略選擇合適的接收者線程。當(dāng)指定為任意選擇策略時,將從FIFO隊列中按次序選擇接收線程。11.3.3 支持連續(xù)媒體的文件系統(tǒng)文件管理器必須具備高效讀寫連續(xù)媒體流的功能。連續(xù)媒體如果不能被及時地緩沖,就會導(dǎo)致使用數(shù)據(jù)的缺乏,從而導(dǎo)致暫停、斷續(xù)等現(xiàn)象。如何是文件系統(tǒng)滿足連續(xù)媒體的應(yīng)用,不僅需要更合適的存儲布局,同時需要更好的介質(zhì)調(diào)度方法,以解決連續(xù)媒體的吞吐率需求和多流同步。 在單流情況下,需要維持最早的起始時間,
39、這樣可以既不錯過時限,又能使緩沖區(qū)最小。在多流情況下,既要對每一個獨(dú)立處理,又要考慮到其它的流,這就需要更好的算法和技術(shù)。對介質(zhì)的調(diào)度最關(guān)鍵的就是如何處理好實(shí)時性引起的時限要求和緩沖要求。 文件存儲策略有關(guān)連續(xù)媒體存儲布局,眾多的策略大體上可以分成以下三類:連續(xù)媒體單獨(dú)存儲、混合存儲和分布式存儲。連續(xù)媒體單獨(dú)存儲首先是優(yōu)化存儲布局,在磁盤、分區(qū)、或者磁盤陣列條紋上安排“專有”屬性,用于單獨(dú)存放連續(xù)媒體數(shù)據(jù)。其次是優(yōu)化目錄,建立單獨(dú)的目錄磁盤,用于存放連續(xù)媒體數(shù)據(jù)和靜態(tài)媒體數(shù)據(jù)的目錄信息。這樣可降低每次訪問的搜索時間,更快地接受調(diào)用。 混合存儲將連續(xù)媒體數(shù)據(jù)和常規(guī)文件一同存放,使用同一個通用文件
40、系統(tǒng)和同一個存儲設(shè)備,不設(shè)“專有”區(qū),也不另建目錄結(jié)構(gòu),但是賦予兩種不同類型的文件訪問特征。一種比較好的策略就是高速緩存系統(tǒng)只緩存磁頭/間接塊和目錄內(nèi)容,而不緩存文件內(nèi)容。因此可避免花費(fèi)大量時間去清理緩存中連續(xù)媒體數(shù)據(jù),從而降低了處理的延遲。分布式存儲分布式存儲方案兼顧了可供及時調(diào)用和存儲容量不足的問題,考慮到系統(tǒng)的可伸縮性,以及由此帶來的多媒體數(shù)據(jù)存儲容量將日益增長。分布式體系結(jié)構(gòu)可通過高速網(wǎng)絡(luò)將服務(wù)器互聯(lián)起來,將一個源多媒體文件等分到很多條紋單元中,然后分配到多個網(wǎng)絡(luò)服務(wù)器中去。這種體系結(jié)構(gòu)具有良好的可擴(kuò)充性,關(guān)鍵是如何解決服務(wù)器同步、動態(tài)QoS管理、負(fù)載均衡與可靠性等問題。 單流固定回放
41、問題對于如何支持單個連續(xù)媒體流固定回放問題,首先由Gemmell和Christodoulakis提出了他們的研究結(jié)果,結(jié)果表明了只要需要維持最早的起始時間,就可保證所需的數(shù)據(jù)能被及時地緩沖。如圖11-2所示,表示了磁盤讀取函數(shù)r(t)與連續(xù)媒體消耗函數(shù)C(t1,t2)之間的關(guān)系。從磁盤中以塊的形式讀取數(shù)據(jù),在讀取時間內(nèi),R(t)表現(xiàn)為斜率不同的線段連接。這是因為媒體的壓縮率不同導(dǎo)致R(t)的斜率不同,如果R(t)的斜率為0,則表示在塊與塊之間沒有數(shù)據(jù)的讀取。圖11-2 讀取函數(shù)、消耗函數(shù)與緩沖函數(shù)的關(guān)系最早回放起始時間研究表明,最小緩沖與最早回放起始時間有關(guān)。只要找到最早的起始時間就可保證最小
42、的緩沖分配。而在這個時間之后開始播放,可以增加緩沖資源的需求量。通過圖示法可以找到合適于播放的最小回放起始時間t0,只要滿足使B(t,0)最小且非負(fù)。具體方法如下:1、若在B(t,0)上,此函數(shù)在0ttr上非負(fù),則B(t,0)就是一個滿足條件的解,且t0的最小值是0。2、假定在0ttr之間有時刻tmin,存在B(t,0)的最小值,使得B(tmin,0)=-m,那么R(t)與B(t,0)+m的交點(diǎn)就是t0的最小值。最小緩沖分配設(shè)dmax為塊間的最大延遲,rt傳輸速率,rc為回放速率,Ss為磁道扇區(qū)的大小。設(shè)分配的緩沖與記錄長度無關(guān),則任何算法下的塊大小Sb都必須滿足以下數(shù)目的磁道扇區(qū)大小。如果回
43、放速率rc小于傳輸速率rt,應(yīng)該考慮人為延遲dmin,可限定其為一個常數(shù)K。的情況下,需要分配的磁道扇區(qū)的緩沖nb的大小至少滿足如下關(guān)系。多流固定回放問題而對于多個連續(xù)媒體流固定回放問題,Gemmell等人的研究是基于下列假設(shè)條件的:1. 各通道可以有不同的消耗速率。2. 各通道的回放可以獨(dú)立控制。部分通道可以暫?;胤?,而其它通道仍繼續(xù)回放。3. 不固定讀周期中各通道的讀取總量(因為暫停、不同的消耗速率、不同的壓縮率或不同的采樣率等)。4. 回放所需數(shù)據(jù)被保存在緩沖存儲中,且讀取的數(shù)據(jù)量至少足夠一個讀周期的使用。5. 在一個讀周期內(nèi),不會發(fā)生數(shù)據(jù)短缺,要求讀出的數(shù)據(jù)能緊跟實(shí)時的需求。Gemme
44、ll的模型是基于排序集合使用的,它是描述任意的塊安排和流調(diào)度模式的一種框架。為了使讀周期內(nèi)不會發(fā)生數(shù)據(jù)短缺,要求讀操作之間的緩存量必須為rcmax的數(shù)據(jù),其中max表示給定通道兩個讀操作之間最大的時間間隔,關(guān)鍵的問題是如何尋找這個最大的間隔時間。多數(shù)數(shù)據(jù)在介質(zhì)上的存放都可能是不連續(xù)的,所以系統(tǒng)常采用先進(jìn)行排隊后讀取的方式,這樣可以減少尋道的時間和縮短讀周期,從而也減少了對緩沖的需求量。為此,有讀寫請求的通道都被放入到排序集合之中。如果定義每一個排序集合又是個通道的集合:c1,c2cn。令排序集合為S1,S2Ss,其中Si=c1,c2cn。各集合是按固定順序執(zhí)行的,但要在一個集合里要對讀操作進(jìn)行
45、排序以減少尋道時間。在這種條件下,有兩種情況比較特殊。1、只有一個排序集合,尋道時間的優(yōu)化將對其中所有的通道進(jìn)行。最差的情況就是跨兩個時間周期。即對一個通道的讀操作可以在前一個時間周期內(nèi)首先執(zhí)行,而在下一個周期中又于最后一個執(zhí)行。這樣,在兩次讀操作之間的時間大約是兩次讀周期的時間長度。2、一個排序集合僅有一個通道,且在每一個讀周期中讀操作的次序保持固定,那么讀操作之間的時間間隔最多為一個時間周期。由于沒有對尋道進(jìn)行過優(yōu)化,固定排序可能會有更長的讀操作周期。令T(sj)為對排序集合Sj執(zhí)行讀操作的最大的時間,其中包括尋道和其它開銷。對于一個特定的通道c,考慮最差的情況,所有對c的讀請求都是在S的
46、讀周期中第一個執(zhí)行,而在下一周期時在最后一個執(zhí)行,如圖11-3所示。圖11-3 在多流中的特定通道所需的最大延遲則最大的間隔時間max為:它說明,防止某通道在讀操作之間發(fā)生數(shù)據(jù)短缺的必要條件,必須讀足夠多的數(shù)據(jù),才能保證在讀其它集合和讀同一集合中其它通道時足夠的緩沖數(shù)據(jù)供消耗。該公式可用于分析各種調(diào)度策略。當(dāng)已知max后,則需要的最小緩沖為ri max+,其中依賴于磁盤簇的大小。介質(zhì)調(diào)度算法多進(jìn)程的系統(tǒng)中,各個進(jìn)程分別會不斷請求文件系統(tǒng)的讀/寫操作。當(dāng)進(jìn)程的發(fā)送請求的速度高于介質(zhì)的響應(yīng)速度時,在存儲設(shè)備前將形成一個等待隊列。傳統(tǒng)操作系統(tǒng)有許多介質(zhì)驅(qū)動調(diào)度算法,包括先來先服務(wù)(FCFS)、最短尋
47、道時間優(yōu)先(SSTF)、掃描法(SCAN)、循環(huán)掃描法(C-SCAN)、分組掃描法和電梯調(diào)度法等。它們的主要目標(biāo)是為了減少尋道時間,提高數(shù)據(jù)的流量和對介質(zhì)的隨機(jī)存取。因此無法適用于有時限要求的實(shí)時任務(wù)。為了使多媒體操作系統(tǒng)適應(yīng)連續(xù)媒體的要求,就要將各種方法協(xié)調(diào)起來,以提供實(shí)時要求和必須的穩(wěn)定數(shù)據(jù)率。連續(xù)媒體的I/O系統(tǒng)不僅要滿足周期性的實(shí)時請求,同時在實(shí)時事務(wù)的時限內(nèi)處理非周期任務(wù)的請求。最著名的實(shí)時調(diào)度算法有EDF和RMS算法,它們可使任務(wù)按優(yōu)先級順序的執(zhí)行,所不同的是確定實(shí)時任務(wù)優(yōu)先權(quán)的方法不同。最早時限優(yōu)先法(EDF:Earliest Deadline First)EDF也稱為最早截止時間優(yōu)先算法,EDF算法中,每個任務(wù)都是可剝奪的,根據(jù)每個任務(wù)的最后期限為其分配優(yōu)先級。為最后期限最早的任務(wù)分配最高優(yōu)先級,然后將其請求的資源賦給它。EDF算法是動態(tài)的,系統(tǒng)調(diào)度器在每一次就緒狀態(tài)進(jìn)行調(diào)度。也就是說,每個任務(wù)的優(yōu)先級不是固定不變的,當(dāng)新的任務(wù)到達(dá)時,EDF
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人珠寶首飾分期購買合同6篇
- 二零二五年度棉被產(chǎn)品售后服務(wù)協(xié)議4篇
- 2025年度個人住宅地下室防水防潮合同范本4篇
- 二零二五年度美團(tuán)商家入駐信息安全管理合同4篇
- 2025年個人購房貸款利率變動通知合同2篇
- 建筑設(shè)計協(xié)調(diào)合同(2篇)
- 支模超高施工方案
- 施工方案五必須
- 2025年銷售部勞動合同加班補(bǔ)貼范本
- 2025年銷售經(jīng)理崗位競聘協(xié)議范本2篇
- 天津市武清區(qū)2024-2025學(xué)年八年級(上)期末物理試卷(含解析)
- 《徐霞客傳正版》課件
- 江西硅博化工有限公司年產(chǎn)5000噸硅樹脂項目環(huán)境影響評價
- 高端民用航空復(fù)材智能制造交付中心項目環(huán)評資料環(huán)境影響
- 量子醫(yī)學(xué)成像學(xué)行業(yè)研究報告
- DB22T 3268-2021 糧食收儲企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化評定規(guī)范
- 辦事居間協(xié)議合同范例
- 正念減壓療法詳解課件
- GB 30254-2024高壓三相籠型異步電動機(jī)能效限定值及能效等級
- 阿米巴落地實(shí)操方案
- 藥物制劑工(三級)理論試題題庫及答案
評論
0/150
提交評論