亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

存儲介質(zhì)、信息處理設(shè)備、和方法

文檔序號:2822429閱讀:450來源:國知局
專利名稱:存儲介質(zhì)、信息處理設(shè)備、和方法
技術(shù)領(lǐng)域
本發(fā)明涉及記錄介質(zhì)、信息處理設(shè)備和方法,更具體地涉及那些允許處理信息的硬件設(shè)備容易變化或修改。
此外,本發(fā)明涉及允許當(dāng)前的處理將能從異常狀態(tài)迅速恢復(fù)的記錄介質(zhì)、信息處理設(shè)備和方法。


圖1表示編碼器10的基本結(jié)構(gòu)的一個例子,該編碼器包括常規(guī)的音樂供給系統(tǒng)的供給側(cè)設(shè)備(用于編碼處理的程序結(jié)構(gòu)的一個例子)。音樂供給服務(wù)系統(tǒng)的供給側(cè)設(shè)備包括編碼器10、控制終端單元(未示出)、和服務(wù)器(未示出)??刂平K端單元控制編碼器10的編碼處理。服務(wù)器向編碼器10提供進(jìn)行編碼的音樂數(shù)據(jù)(下文稱為PCM(脈沖編碼調(diào)制)非壓縮音樂數(shù)據(jù)),存儲由編碼器10編碼的音樂數(shù)據(jù)(下文這個數(shù)據(jù)稱為PCM壓縮音樂數(shù)據(jù)),和傳送該P(yáng)CM壓縮音樂數(shù)據(jù)到音樂供給服務(wù)的用戶(接收側(cè))。
編碼器10包含各硬件設(shè)備,它們是(第一)網(wǎng)卡、(第二)網(wǎng)卡和編碼卡。第一網(wǎng)卡控制與傳送控制編碼處理的控制數(shù)據(jù)的告警LAN(告警局域網(wǎng))的通信。第二網(wǎng)卡控制與傳送PCM非壓縮音樂數(shù)據(jù)和PCM壓縮音樂數(shù)據(jù)(在下文當(dāng)不需要區(qū)別它們時(shí),可以簡稱音樂數(shù)據(jù))的媒體LAN的通信。編碼卡執(zhí)行編碼處理。
用于如圖1所示的編碼處理程序包括5個處理部分(由實(shí)線框表示的各單元),它們是控制數(shù)據(jù)輸入-輸出處理部分11、網(wǎng)卡驅(qū)動處理部分12、主處理部分13、網(wǎng)卡驅(qū)動處理部分14、和編碼卡驅(qū)動處理部分15。每個處理部分包括可執(zhí)行程序。每個處理部分管理各數(shù)據(jù)區(qū)(諸如各緩沖器和各寄存器)。每個處理部分是獨(dú)立執(zhí)行的。
控制數(shù)據(jù)輸入-輸出處理部分11與主處理部分13通信。控制數(shù)據(jù)輸入-輸出處理部分11通過網(wǎng)卡驅(qū)動處理部分12從控制終端單元為編碼處理接收各種命令,并輸出接收的命令到主處理部分13。另外,控制數(shù)據(jù)輸入-輸出處理部分11通過網(wǎng)卡驅(qū)動處理部分12輸出從主處理部分13饋送的消息(這些消息例如是代表編碼處理已經(jīng)成功地完成的消息和代表編碼處理已經(jīng)失敗的差錯消息)到控制終端單元。當(dāng)不需要區(qū)分在控制數(shù)據(jù)輸入-輸出處理部分11與主處理部分13中間交換的命令和差錯消息時(shí),它們簡稱控制數(shù)據(jù)。
主處理部分13通過網(wǎng)卡驅(qū)動處理部分14從服務(wù)器(未示出)接收例如PCM非壓縮音樂數(shù)據(jù)。網(wǎng)卡驅(qū)動處理部分14通過編碼卡驅(qū)動處理部分15饋送接收的PCM非壓縮音樂數(shù)據(jù)到編碼卡。另外,主處理部分13通過編碼卡驅(qū)動處理部分15控制編碼卡,以便執(zhí)行對應(yīng)于從控制數(shù)據(jù)輸入-輸出處理部分11饋送的控制數(shù)據(jù)的編碼處理。在這個例子中,編碼卡執(zhí)行對應(yīng)于MPEG(運(yùn)動圖象專家組)1第2層標(biāo)準(zhǔn)采用48kHz取樣頻率的編碼處理(下文中這個編碼處理稱為基于MPEG1的編碼)或?qū)?yīng)于具有44.1KHz取樣頻率的ATRAC(自適應(yīng)變換聲學(xué)編碼)1(商標(biāo))標(biāo)準(zhǔn)(下文中這個編碼處理稱為基于ATRAC1的編碼處理)。
主處理部分13接收已經(jīng)通過編碼卡驅(qū)動處理部分15被編碼卡編碼的PCM壓縮音樂數(shù)據(jù)并且通過網(wǎng)卡驅(qū)動處理部分14饋送接收的數(shù)據(jù)到服務(wù)器。
接下來,將描述控制數(shù)據(jù)輸入-輸出處理部分11和主處理部分13??刂茢?shù)據(jù)輸入-輸出處理部分11包括3個程序(在圖1中由虛線框表示的單元),它們是控制部分21、網(wǎng)卡輸入I/F(接口)22、和網(wǎng)卡輸出I/F 23和用于執(zhí)行這些程序需要的各數(shù)據(jù)區(qū)。
網(wǎng)卡輸入I/F(接口)22通過網(wǎng)卡驅(qū)動處理部分12從控制終端單元接收數(shù)據(jù)并輸出接收的控制數(shù)據(jù)到控制部分21。網(wǎng)卡輸出I/F 23通過控制部分21從主處理部分13接收例如差錯消息并且輸出接收的差錯消息到網(wǎng)卡驅(qū)動處理部分12。
控制部分21控制網(wǎng)卡輸入I/F 22和網(wǎng)卡輸出I/F 23。另外,控制部分21與主處理部分13的控制部分31通信。
接下來,將描述主處理部分13的結(jié)構(gòu)。主處理部分13包括7個程序(由虛線框表示的單元),它們是控制部分31、網(wǎng)卡輸入-輸出I/F 32、編碼引擎輸入-輸出I/F 33、編碼引擎輸入-輸出I/F 34、編碼引擎35、編碼卡輸入-輸出I/F 36、編碼卡輸入-輸出I/F 37、和用于執(zhí)行這些程序需要的各數(shù)據(jù)區(qū)。
網(wǎng)卡輸入-輸出I/F 32通過網(wǎng)卡驅(qū)動處理部分14接收PCM非壓縮音樂數(shù)據(jù)并輸出接收的數(shù)據(jù)到控制部分31。另外,網(wǎng)卡輸入-輸出I/F 32從控制部分31接收PCM壓縮音樂數(shù)據(jù)并輸出該數(shù)據(jù)到網(wǎng)卡驅(qū)動處理部分14。
編碼引擎輸入-輸出I/F 33通過控制部分31接收對應(yīng)于基于ATRAC1的編碼處理編碼的PCM非壓縮音樂數(shù)據(jù)并輸出接收的PCM非壓縮音樂數(shù)據(jù)到編碼引擎35。另外,編碼引擎輸入-輸出I/F 33從編碼引擎35接收對應(yīng)于基于ATRAC1的編碼處理編碼的PCM壓縮音樂數(shù)據(jù)并輸出接收的PCM壓縮音樂數(shù)據(jù)到控制部分31。
編碼引擎輸入-輸出I/F 34通過控制部分31接收對應(yīng)于基于MPEG1的編碼處理編碼的PCM非壓縮音樂數(shù)據(jù)并輸出接收的PCM非壓縮音樂數(shù)據(jù)到編碼引擎35。另外,編碼引擎輸入-輸出I/F 34從編碼引擎35接收對應(yīng)于基于MPEG1的編碼處理編碼的PCM壓縮音樂數(shù)據(jù)并輸出接收的PCM壓縮音樂數(shù)據(jù)到控制部分31。
編碼卡輸入-輸出I/F 36通過控制部分31接收對應(yīng)于基于ATRAC1的編碼處理編碼的PCM非壓縮音樂數(shù)據(jù)并輸出接收的PCM非壓縮音樂數(shù)據(jù)到編碼卡驅(qū)動處理部分15。另外,編碼卡輸入-輸出I/F 36從編碼卡驅(qū)動處理部分15接收對應(yīng)于基于ATRAC1的編碼處理編碼的PCM非壓縮音樂數(shù)據(jù)并輸出接收的PCM壓縮音樂數(shù)據(jù)到控制部分31。
編碼卡輸入-輸出I/F 37通過控制部分31接收對應(yīng)于基于MPEG1的編碼處理編碼的PCM非壓縮音樂數(shù)據(jù)并輸出接收的PCM非壓縮音樂數(shù)據(jù)到編碼卡驅(qū)動處理部分15。另外,編碼卡輸入-輸出I/F 37從編碼卡驅(qū)動處理部分15接收對應(yīng)于基于MPEG1的編碼處理編碼的PCM壓縮音樂數(shù)據(jù)并輸出接收的PCM壓縮音樂數(shù)據(jù)到控制部分31。
作為軟件處理,編碼引擎35編碼對應(yīng)于基于ATRAC1的編碼處理和基于MPEG1的編碼處理,從編碼引擎輸入-輸出I/F 33與編碼引擎輸入-輸出I/F 34饋送的PCM非壓縮音樂數(shù)據(jù),并且輸出編碼的PCM壓縮音樂數(shù)據(jù)到編碼引擎輸入-輸出I/F 33與編碼引擎輸入-輸出I/F 34。
雖然編碼器10是按如上所述構(gòu)成的,但包含控制數(shù)據(jù)輸入-輸出處理部分11到編碼卡驅(qū)動處理部分15的每個程序是取決于諸如編碼器10的網(wǎng)卡和編碼卡之類的預(yù)定硬件設(shè)備構(gòu)成的。
因此,當(dāng)對應(yīng)于諸如互聯(lián)網(wǎng)、數(shù)字衛(wèi)星廣播、或地面波數(shù)字廣播之類的傳輸媒體,改變或延伸編碼器10的網(wǎng)卡和編碼卡時(shí),則利用時(shí)間和成本每個處理部分應(yīng)當(dāng)重新進(jìn)行構(gòu)成。
另外,例如,控制配置在編碼器10中作為硬件的網(wǎng)卡和編碼卡的接口程序(這些接口程序是網(wǎng)卡輸入I/F 22、網(wǎng)卡輸出I/F 23、和網(wǎng)卡輸入-輸出I/F 32到編碼卡輸入-輸出I/F 37)和驅(qū)動程序(這些程序是網(wǎng)卡驅(qū)動處理部分12和14以及編碼卡驅(qū)動處理部分15)是由編碼器10的制造商產(chǎn)生的。
但是,當(dāng)作為編碼器10的一部分的硬件設(shè)備的功能被進(jìn)一步改進(jìn)時(shí),編碼器10的制造商為組合到編碼器10中的硬件設(shè)備產(chǎn)生的接口程序和驅(qū)動程序?qū)⑹プ饔?。因此,硬件設(shè)備的制造商產(chǎn)生相關(guān)的程序并提供產(chǎn)生的程序和硬件設(shè)備給編碼器的制造商。
在這樣的情況下,因?yàn)榫幋a器10的制造商不知道作為編碼器10的一部分的硬件的詳細(xì)情況,對于編碼器10的制造商產(chǎn)生控制編碼器10的控制部分21和控制部分31是困難的。從而,改變和擴(kuò)展硬件設(shè)備變得更加困難。
另外,雖然編碼器10是按如上所述構(gòu)成的,但當(dāng)在程序處理中發(fā)生異常時(shí),程序的處理被暫時(shí)中斷。因此,要花很長時(shí)間從異?;謴?fù)處理。
發(fā)明的公開本發(fā)明是從上述觀點(diǎn)作出的。本發(fā)明的一個目的是允許硬件設(shè)備容易改變或擴(kuò)展。
本發(fā)明的另一個目的是允許程序的處理能從故障狀態(tài)迅速地恢復(fù)。
本發(fā)明是一種記錄計(jì)算機(jī)可控程序的記錄介質(zhì),該程序被配置在控制部分與硬件之間,控制該硬件的程序?qū)?yīng)于從控制部分接收的消息,該程序包括用于與控制部分通信的第一處理部分;用于與第一和第二硬件部分通信的第二處理部分;用于與第一處理部分和第二處理部分通信并執(zhí)行對應(yīng)于第一硬件的接口處理的第三處理部分;和用于與第一處理部分和第二處理部分通信并執(zhí)行對應(yīng)于第二硬件的接口處理的第四處理部分,其中對應(yīng)于從控制部分接收的消息,第一處理部分輸出一個消息到第三處理部分和第四處理部分之一。
本發(fā)明是一種用于存儲計(jì)算機(jī)可控程序的存儲介質(zhì),配置在控制部分與硬件之間,用于控制對應(yīng)于從控制部分接收的消息的硬件,該程序包含經(jīng)壓縮的處理部分,其中如果在每個處理部分發(fā)生異常,則該部分在初始化與硬件交換數(shù)據(jù)的第一緩沖器的第一路徑、不分配與控制部分交換數(shù)據(jù)的第二緩沖器、分配第二緩沖器、初始化第二緩沖器、和初始化第一緩沖器的第二路徑、不分配第二緩沖器和不分配第一緩沖器的第三路徑之一進(jìn)行初始化。
附圖簡述圖1是表示常規(guī)編碼器的功能結(jié)構(gòu)的例子的框圖;圖2是表示按照本發(fā)明的音樂供給服務(wù)系統(tǒng)結(jié)構(gòu)的例子的示意圖;圖3是表示如圖2所示的編碼器結(jié)構(gòu)的例子的示意圖;圖4是用于解釋生存時(shí)間(survival time)的示意圖;圖5是用于解釋實(shí)時(shí)操作系統(tǒng)OS原理的示意圖;圖6是表示如圖2所示的編碼器結(jié)構(gòu)例子的示意圖;圖7A和7B是解釋如圖6所示的處理部分的ATRAC編碼處理的示意圖;圖8A和8B是解釋如圖6所示的處理部分的MPEG編碼處理的示意圖;圖9是解釋如圖6所示的處理部分狀態(tài)變換的示意圖;圖10是解釋在正常狀態(tài)下初始化處理的流程圖;圖11A到11C是解釋處理部分間通信消息結(jié)構(gòu)的示意圖;圖12A和12B是解釋另外一種處理部分間通信消息結(jié)構(gòu)的示意圖;圖13是解釋處理部分的處理的流程圖;圖14是解釋如圖6所示主應(yīng)用程序操作的流程圖;圖15是解釋如圖6所示編碼處理管理器操作的流程圖;圖16是解釋當(dāng)發(fā)生異常時(shí)在執(zhí)行初始化處理的情況下處理部分狀態(tài)變換的示意圖;圖17是解釋當(dāng)發(fā)生異常時(shí)執(zhí)行的初始化處理的流程圖;圖18是解釋當(dāng)發(fā)生異常時(shí)執(zhí)行的初始化處理的流程圖;圖19是表示按照本發(fā)明的音樂供給服務(wù)系統(tǒng)另外例子的示意圖;圖20是表示如圖19所示的終端單元結(jié)構(gòu)的框圖;圖21是表示如圖19所示的終端單元的功能結(jié)構(gòu)的例子的框圖。
本發(fā)明的最佳實(shí)施方式圖2是表示按照本發(fā)明的音樂供給服務(wù)系統(tǒng)的供給側(cè)結(jié)構(gòu)的例子。在這個例子中,配置了對應(yīng)于100 BASE-TX以太網(wǎng)(商標(biāo))告警LAN101和媒體LAN102。終端單元111和編碼器112連接到告警LAN101。編碼器112和服務(wù)器113連接到媒體LAN102。
終端單元111具有組成控制編碼器112的程序的控制處理部分w。在控制處理部分w的控制下,終端單元111通過告警LAN101與編碼器112通信并使編碼器112執(zhí)行預(yù)定編碼處理。
編碼器112由終端單元111進(jìn)行控制。編碼器112通過媒體LAN102接收存儲在服務(wù)器113的諸如CD-DA(光盤-數(shù)字音頻)之類的PCM非壓縮音樂數(shù)據(jù),并執(zhí)行對應(yīng)于ATRAC1標(biāo)準(zhǔn)或MPEG1的第三層音頻(所謂MP3)標(biāo)準(zhǔn)的編碼處理。另外,對應(yīng)于例如文件傳送基礎(chǔ)(文件傳送協(xié)議ftp),編碼器112通過媒體LAN102傳送已經(jīng)被編碼的PCM壓縮音樂數(shù)據(jù)到服務(wù)器113。
服務(wù)器113記錄PCM非壓縮音樂數(shù)據(jù)并饋送該數(shù)據(jù)到編碼器112。另外,服務(wù)器13記錄從編碼器112接收的PCM壓縮音樂數(shù)據(jù),并當(dāng)需要時(shí)傳送該數(shù)據(jù)到音樂供給服務(wù)的用戶(接收側(cè))。
因此,由于傳送控制數(shù)據(jù)的告警LAN101和傳送音樂數(shù)據(jù)的媒體LAN102是獨(dú)立配置的,所以更有效地執(zhí)行編碼處理和音樂數(shù)據(jù)傳送處理。
圖3表示編碼器112結(jié)構(gòu)的例子。CPU(中央處理單元)121擴(kuò)展例如存儲在ROM(只讀存儲器)122或硬盤127中的編碼處理程序到RAM(隋機(jī)訪問存儲器)123并對應(yīng)于該編碼處理程序執(zhí)行編碼處理。RAM123暫時(shí)存儲執(zhí)行例如編碼處理需要的數(shù)據(jù)。在RAM123中,分配需要數(shù)據(jù)的緩沖區(qū)。
網(wǎng)卡124連接到告警LAN101。網(wǎng)卡124通過告警LAN101接收和發(fā)送控制數(shù)據(jù)。
網(wǎng)卡125連接到媒體LAN102。網(wǎng)卡125通過媒體LAN102從服務(wù)器113接收PCM非壓縮音樂數(shù)據(jù)并發(fā)送已經(jīng)由編碼卡126編碼的PCM壓縮音樂數(shù)據(jù)到服務(wù)器113。
編碼卡126從網(wǎng)卡125接收PCM非壓縮音樂數(shù)據(jù)并對應(yīng)于基于ATRAC1的編碼處理或基于MPEG1的編碼處理編碼PCM非壓縮音樂數(shù)據(jù)。
硬盤127存儲由CPU121執(zhí)行的程序。另外,硬盤127存儲從網(wǎng)卡125接收的PCM非壓縮音樂數(shù)據(jù)和由編碼卡126編碼的PCM壓縮音樂數(shù)據(jù)。
在這個例子中,因?yàn)橐魳窋?shù)據(jù)被傳送到為以太LAN的媒體LAN102,PCM非壓縮音樂數(shù)據(jù)不是以實(shí)時(shí)為基礎(chǔ)進(jìn)行編碼的。從服務(wù)器113饋送的PCM非壓縮音樂數(shù)據(jù)被存儲在硬盤127。以適當(dāng)?shù)亩〞r(shí),PCM非壓縮音樂數(shù)據(jù)被饋送到編碼卡126。結(jié)果,PCM非壓縮音樂數(shù)據(jù)被編碼卡126編碼。而后,已經(jīng)編碼的PCM壓縮音樂數(shù)據(jù)被存儲在硬盤127中。因?yàn)橛脖P127被用作暫時(shí)緩沖器,PCM非壓縮音樂數(shù)據(jù)被正確地編碼。
接口128被配置在網(wǎng)卡124、網(wǎng)卡125、編碼卡126、硬盤127、和CPU121之間。接口128執(zhí)行接口處理。
CPU121、ROM122、RAM123和接口128都配置在主板120上。
音樂供給服務(wù)系統(tǒng)是由實(shí)時(shí)OS(操作系統(tǒng))控制的。實(shí)時(shí)OS是同時(shí)操作多個任務(wù)(處理)的多任務(wù)操作系統(tǒng)。利用非多任務(wù)OS,當(dāng)執(zhí)行一個特定處理時(shí),即使發(fā)生另外一個事件(即,外部請求)也不立即開始處理。相反,利用實(shí)時(shí)OS,可以保證在一個預(yù)定時(shí)間段中,啟動相關(guān)的事件處理器。換言之,如圖4所示,在對應(yīng)于時(shí)鐘預(yù)定時(shí)間(該預(yù)定時(shí)間稱為生存時(shí)間)開始的處理在生存時(shí)間中完成。
圖5示意性地表示實(shí)時(shí)OS的基本概念。當(dāng)產(chǎn)生每個處理部分時(shí),進(jìn)行管理,使得連續(xù)前進(jìn)到操作狀態(tài)、等待狀態(tài)、和操作啟動狀態(tài)3個狀態(tài)之一。利用一個標(biāo)志對每個處理部分進(jìn)行管理。當(dāng)每個處理部分從操作狀態(tài)前進(jìn)到等待狀態(tài)時(shí),產(chǎn)生一個引起處理部分等待一個標(biāo)志的命令waitFlag。當(dāng)每個處理部分從等待狀態(tài)前進(jìn)到操作使能狀態(tài)時(shí),產(chǎn)生標(biāo)志設(shè)置值的命令setFlag。
同時(shí)可以發(fā)生多個處理部分。多個處理部分的每個被分配給優(yōu)先級。實(shí)時(shí)OS傳送一個執(zhí)行權(quán)到處于操作使能狀態(tài)的各個處理部分中的分配最高優(yōu)先級的一個處理部分。
當(dāng)發(fā)生一個事件時(shí),實(shí)時(shí)OS可以迅速地轉(zhuǎn)移當(dāng)前的處理部分到處于操作狀態(tài)中的各處理部分中的分配最高優(yōu)先級的另外處理部分。
圖6表示編碼器112的功能性結(jié)構(gòu)的例子(即,編碼處理程序的結(jié)構(gòu)例子)。編碼處理程序包括3個處理部分(每個具有可執(zhí)行程序和執(zhí)行該程序需要的數(shù)據(jù)區(qū))和3個壓縮程序“CAPSULE”(由雙線框表示的)。這3個處理程序是壓縮程序管理器151、編碼處理控制應(yīng)用程序152、和主應(yīng)用程序153。這3個壓縮程序是控制數(shù)據(jù)輸入-輸出壓縮程序154、音樂數(shù)據(jù)輸入-輸出壓縮程序155、和編碼處理壓縮程序156。每個壓縮程序包含多個形成一個塊(壓縮的)的處理部分。在圖6中,由實(shí)線框表示的部件是處理部分。
壓縮程序管理器151通過主應(yīng)用程序153控制編碼處理控制應(yīng)用程序152、控制數(shù)據(jù)輸入-輸出壓縮程序154、音樂數(shù)據(jù)輸入-輸出壓縮程序155、和編碼處理壓縮程序156。
編碼處理控制應(yīng)用程序152與主應(yīng)用程序153通信,從例如壓縮程序管理器151接收命令,并根據(jù)命令控制控制數(shù)據(jù)輸入-輸出壓縮程序154。主應(yīng)用程序153直接與壓縮程序管理器151通信并對應(yīng)于從壓縮程序管理器151接收的命令控制音樂數(shù)據(jù)輸入-輸出壓縮程序155和編碼處理壓縮程序156。
控制數(shù)據(jù)輸入-輸出壓縮程序154是由編碼處理控制管理器161進(jìn)行管理的。對應(yīng)于從編碼處理控制應(yīng)用程序152接收的命令,編碼處理控制管理器161產(chǎn)生和擦除網(wǎng)卡輸入I/F處理部分162(下文稱為網(wǎng)卡輸入I/F,這個部件還應(yīng)用到其它處理部分)、網(wǎng)卡輸入I/F 163、和網(wǎng)卡驅(qū)動器(處理部分)164。
網(wǎng)卡輸入I/F 162 通過網(wǎng)卡124和網(wǎng)卡驅(qū)動器164從終端單元111的控制處理部分w接收控制數(shù)據(jù)(命令)并輸出控制數(shù)據(jù)到編碼處理控制管理器161。網(wǎng)卡輸出I/F 163通過編碼處理控制應(yīng)用程序152和編碼處理控制管理器161從主應(yīng)用程序153接收控制數(shù)據(jù)(消息)并輸出控制數(shù)據(jù)到網(wǎng)卡驅(qū)動器164。
網(wǎng)卡驅(qū)動器164對網(wǎng)卡124執(zhí)行輸入-輸出進(jìn)口處理,接收在告警LAN101上傳送的控制數(shù)據(jù)(命令),并輸出控制數(shù)據(jù)到網(wǎng)卡輸入I/F 162。另外,網(wǎng)卡驅(qū)動器164從網(wǎng)卡輸出I/F 163接收控制數(shù)據(jù)(消息)并輸出控制數(shù)據(jù)到網(wǎng)卡124。
音樂數(shù)據(jù)輸入-輸出壓縮程序155是由數(shù)據(jù)輸入-輸出管理器171管理的。對應(yīng)于從主應(yīng)用程序153接收的命令,數(shù)據(jù)輸入-輸出管理器171產(chǎn)生和刪除網(wǎng)卡輸入-輸出I/F172(處理部分)和網(wǎng)卡驅(qū)動器173(處理部分)。
網(wǎng)卡輸入-輸出I/F 172通過網(wǎng)卡125和網(wǎng)卡驅(qū)動器173從服務(wù)器113接收PCM非壓縮音樂數(shù)據(jù)并輸出PCM非壓縮音樂數(shù)據(jù)到數(shù)據(jù)輸入-輸出管理器171。另外,網(wǎng)卡輸入-輸出I/F 172從數(shù)據(jù)輸入-輸出管理器171接收PCM壓縮音樂數(shù)據(jù)并輸出PCM壓縮音樂數(shù)據(jù)到網(wǎng)卡驅(qū)動器173。
網(wǎng)卡驅(qū)動器173對網(wǎng)卡125執(zhí)行輸入-輸出接口處理,接收在媒體LAN102上傳送的PCM非壓縮音樂數(shù)據(jù),并輸出PCM非壓縮音樂數(shù)據(jù)到網(wǎng)卡輸入-輸出I/F 172。另外,網(wǎng)卡驅(qū)動器173從網(wǎng)卡輸入-輸出I/F 172接收PCM壓縮音樂數(shù)據(jù)并輸出PCM壓縮音樂數(shù)據(jù)到網(wǎng)卡125。
編碼處理壓縮程序156是由編碼處理管理器181管理的。編碼處理管理器181產(chǎn)生和刪除編碼引擎輸入-輸出I/F 182、編碼引擎輸入-輸出I/F 183、編碼引擎184、編碼卡輸入-輸出I/F 185、編碼卡輸入-輸出I/F 186、和編碼卡驅(qū)動器187(所有都是處理部分)。另外,編碼處理管理器181執(zhí)行編碼處理型確定處理,用于確定編碼處理是由軟件執(zhí)行的(編碼引擎184),還是硬件(編碼卡126)執(zhí)行的。另外,編碼處理管理器181執(zhí)行編碼處理型確定處理,用于確定編碼處理是對應(yīng)于基于ATRAC1的編碼處理,還是基于MPEG1的編碼處理執(zhí)行的。
編碼引擎輸入-輸出I/F 182從編碼處理管理器181接收對應(yīng)于基于ATRAC1的編碼處理的PCM非壓縮音樂數(shù)據(jù)并輸出PCM非壓縮音樂數(shù)據(jù)到編碼引擎184。另外,編碼引擎輸入-輸出I/F 182從編碼引擎184接收對應(yīng)于基于ATRAC1的編碼處理的已經(jīng)編碼的PCM壓縮音樂數(shù)據(jù)并輸出PCM壓縮音樂數(shù)據(jù)到編碼處理管理器181。
編碼引擎輸入-輸出I/F 183從編碼處理管理器181接收對應(yīng)于基于MPEG1的編碼處理的PCM非壓縮音樂數(shù)據(jù)并輸出PCM非壓縮音樂數(shù)據(jù)到編碼引擎184。另外,編碼引擎輸入-輸出I/F 183從編碼引擎184接收對應(yīng)于基于MPEG1的編碼處理的已經(jīng)編碼的PCM壓縮音樂數(shù)據(jù)并輸出PCM壓縮音樂數(shù)據(jù)到編碼處理管理器181。
對應(yīng)于從編碼引擎輸入-輸出I/F 182和編碼引擎輸入-輸出I/F 183饋送的控制數(shù)據(jù),編碼引擎184利用軟件執(zhí)行基于ATRAC1的編碼處理或利用軟件執(zhí)行基于MPEG1的編碼處理。
編碼卡輸入-輸出I/F185從編碼處理管理器181接收對應(yīng)于基于ATRAC1的編碼處理的PCM非壓縮音樂數(shù)據(jù)并輸出PCM非壓縮音樂數(shù)據(jù)到編碼卡驅(qū)動器187。另外,編碼卡輸入-輸出I/F 185從編碼卡驅(qū)動器187接收對應(yīng)于基于ATRAC1的編碼處理的PCM壓縮音樂數(shù)據(jù)并輸出PCM壓縮音樂數(shù)據(jù)到編碼處理管理器181。
編碼卡輸入-輸出I/F 186從編碼處理管理器181接收對應(yīng)于基于MPEG1的編碼處理的PCM非壓縮音樂數(shù)據(jù)并輸出PCM非壓縮音樂數(shù)據(jù)到編碼卡驅(qū)動器187。另外,編碼卡輸入-輸出I/F 186從編碼卡驅(qū)動器187接收對應(yīng)于基于MPEG1的編碼處理的已經(jīng)編碼的PCM壓縮音樂數(shù)據(jù)并輸出PCM壓縮音樂數(shù)據(jù)到編碼處理管理器181。
編碼卡驅(qū)動器187對編碼卡126執(zhí)行輸入-輸出接口處理,從編碼卡輸入-輸出I/F 185和編碼卡輸入-輸出I/F 186接收PCM非壓縮音樂數(shù)據(jù),并輸出PCM非壓縮音樂數(shù)據(jù)到編碼卡126。另外,編碼卡驅(qū)動器187從編碼卡126接收已經(jīng)被編碼的PCM壓縮音樂數(shù)據(jù),并輸出PCM壓縮音樂數(shù)據(jù)到編碼卡輸入-輸出I/F 185和編碼卡輸入-輸出I/F 186。當(dāng)作為硬件的編碼卡126執(zhí)行基于ATRAC1的編碼處理時(shí),它可以由具有相關(guān)功能的裝置替代。當(dāng)編碼卡126執(zhí)行基于MPEG1的編碼處理時(shí),它可以由具有相關(guān)功能的裝置替代。
接下來,參照圖7的流程圖將描述由個別一些處理部分在基于ATRAC 1的編碼處理的情況下執(zhí)行的處理。
當(dāng)打開編碼器112的電源時(shí),實(shí)時(shí)OS產(chǎn)生壓縮程序管理器151。壓縮程序管理器151使主應(yīng)用程序153產(chǎn)生音樂數(shù)據(jù)輸入-輸出壓縮程序155和編碼處理壓縮程序156。另外,壓縮程序管理器151使編碼處理控制應(yīng)用程序152產(chǎn)生控制數(shù)據(jù)輸入-輸出壓縮程序154。
當(dāng)終端單元111的控制處理部分w通過告警LAN101發(fā)送用于基于ATRAC1的編碼處理的命令到編碼器112的網(wǎng)卡124時(shí),該命令通過網(wǎng)卡輸入I/F 162被從控制數(shù)據(jù)輸入-輸出壓縮程序154的網(wǎng)卡驅(qū)動器164饋送到編碼處理控制管理器161。當(dāng)編碼處理控制管理器161接收該命令時(shí),編碼處理控制管理器161請求編碼處理控制應(yīng)用程序152在步驟S1開始基于ATRAC1的編碼處理。
編碼處理控制應(yīng)用程序152在步驟S11從編碼處理控制管理器161接收請求消息。該請求消息含有代表編碼處理類型和執(zhí)行編碼處理部分的碼信息。在這個例子中,編碼處理類型是基于ATRAC1的編碼處理和執(zhí)行編碼處理的部分是硬件裝置(編碼卡126)。
當(dāng)編碼處理控制應(yīng)用程序152從編碼處理控制管理器161接收請求消息時(shí),在步驟S12,編碼處理控制應(yīng)用程序152請求主應(yīng)用程序153允許基于ATRAC1的編碼處理。
在步驟S31,當(dāng)主應(yīng)用程序153從編碼處理控制應(yīng)用程序152接收請求消息時(shí),主應(yīng)用程序153確定是否可以執(zhí)行對應(yīng)于該請求消息的處理。當(dāng)不能執(zhí)行該處理時(shí),主應(yīng)用程序153發(fā)送代表該處理不能被執(zhí)行的應(yīng)答消息到編碼處理控制應(yīng)用程序152。當(dāng)編碼處理控制應(yīng)用程序152接收到該應(yīng)答消息時(shí),編碼處理控制應(yīng)用程序152發(fā)送該應(yīng)答消息到編碼處理控制管理器161。編碼處理控制管理器161通過編碼處理控制管理器161、網(wǎng)卡輸出I/F163、網(wǎng)卡驅(qū)動器164、和網(wǎng)卡124發(fā)送該應(yīng)答消息到終端單元111的控制處理部分W。
在如圖7所示的例子中,主應(yīng)用程序153確定基于ATRAC 1的編碼處理可以執(zhí)行并在步驟S32發(fā)送有關(guān)允許應(yīng)答消息到編碼處理控制應(yīng)用程序152。
在步驟S13,當(dāng)編碼處理控制應(yīng)用程序152從主應(yīng)用程序153接收允許應(yīng)答消息時(shí),在步驟S14,編碼處理控制應(yīng)用程序152輸出代表基于ATRAC1的編碼處理開始的應(yīng)答消息到編碼處理控制管理器161。在步驟S2,編碼處理控制管理器161接收該應(yīng)答消息。按照上述方式,編碼處理控制管理器161發(fā)送應(yīng)答消息到控制處理部分W。
在步驟S32,主應(yīng)用程序153輸出用于基于ATRAC1的編碼處理的允許應(yīng)答消息到編碼處理控制應(yīng)用程序152。而后,主應(yīng)用程序153請求音樂數(shù)據(jù)輸入-輸出壓縮程序155的數(shù)據(jù)輸入-輸出管理器171獲得進(jìn)行編碼的目標(biāo)數(shù)據(jù)(即,輸出目標(biāo)數(shù)據(jù)獲得請求消息)。目標(biāo)數(shù)據(jù)獲得請求消息在存儲部分含有目標(biāo)數(shù)據(jù)的地址、數(shù)據(jù)量等等。
在步驟S81當(dāng)數(shù)據(jù)輸入-輸出管理器171從主應(yīng)用程序153接收請求消息時(shí),在步驟S82數(shù)據(jù)輸入-輸出管理器171對從指定地址獲得的進(jìn)行編碼的目標(biāo)數(shù)據(jù)執(zhí)行處理。
當(dāng)目標(biāo)數(shù)據(jù)被存儲在硬盤127時(shí),數(shù)據(jù)輸入-輸出管理器171通過網(wǎng)卡輸入-輸出I/F 172、網(wǎng)卡驅(qū)動器173和網(wǎng)卡125訪問硬盤127并從指定地址獲得指定量PCM非壓縮音樂數(shù)據(jù)。
當(dāng)目標(biāo)數(shù)據(jù)被記錄在CD-R(未示出)或類似物時(shí),數(shù)據(jù)輸入-輸出管理器171訪問該CD-R并從其獲得目標(biāo)數(shù)據(jù)。當(dāng)目標(biāo)數(shù)據(jù)被記錄在服務(wù)器113時(shí),數(shù)據(jù)輸入-輸出管理器171通過告警LAN101訪問服務(wù)器113并通過媒體LAN102從服務(wù)器113接收目標(biāo)數(shù)據(jù)。獲得的PCM非壓縮音樂數(shù)據(jù)被暫時(shí)存儲在RAM123的緩沖區(qū)。
當(dāng)按這樣的方式獲得PCM非壓縮音樂數(shù)據(jù)時(shí),在步驟S83數(shù)據(jù)輸入-輸出管理器171發(fā)送目標(biāo)數(shù)據(jù)獲得完成應(yīng)答消息到主應(yīng)用程序153。
當(dāng)在步驟S34主應(yīng)用程序153從數(shù)據(jù)輸入-輸出管理器171接收目標(biāo)數(shù)據(jù)獲得完成應(yīng)答消息時(shí),在步驟S35主應(yīng)用程序153請求編碼處理管理器181開始編碼目標(biāo)數(shù)據(jù)。這個請求消息含有代表編碼處理類型是基于ATRAC1的編碼處理并且編碼處理部分是編碼卡126的信息。
當(dāng)在步驟S61編碼處理管理器181從主應(yīng)用程序153接收編碼處理開始請求消息時(shí),編碼處理管理器181確定是否可以執(zhí)行請求消息的處理。當(dāng)該請求消息不能進(jìn)行處理時(shí),編碼處理管理器181輸出代表該請求消息不能進(jìn)行處理的應(yīng)答消息到主應(yīng)用程序153。在如圖7所示的例子中,在步驟S62編碼處理管理器181確定編碼處理可以被執(zhí)行并輸出代表編碼處理可以被執(zhí)行的應(yīng)答消息到主應(yīng)用程序153。
在步驟S36主應(yīng)用程序153從編碼處理管理器181接收編碼處理開始應(yīng)答消息。因此,在步驟S35主應(yīng)用程序153知道編碼處理管理器181已經(jīng)接受對發(fā)送的請求消息的處理。
在步驟S62編碼處理管理器181輸出編碼處理開始應(yīng)答消息到主應(yīng)用程序153以后,在步驟S63編碼處理管理器181使主應(yīng)用程序153執(zhí)行編碼處理。實(shí)際上,編碼處理管理器181通過對應(yīng)于從主應(yīng)用程序153接收的編碼處理開始請求消息的編碼卡輸入-輸出I/F 185和編碼卡驅(qū)動器187請求編碼卡126執(zhí)行基于ATRAC1的編碼處理。這個請求消息含有用于PCM壓縮音樂數(shù)據(jù)的RAM123的緩沖器地址。對應(yīng)于該請求消息編碼卡126從RAM123緩沖區(qū)讀出PCM非壓縮音樂數(shù)據(jù)并執(zhí)行基于ATRAC1的編碼處理。編碼的PCM壓縮音樂數(shù)據(jù)被記錄在RAM123。
在編碼卡126已經(jīng)完成編碼處理以后,在步驟S64編碼處理管理器181發(fā)送代表編碼處理已經(jīng)完成的編碼處理完成消息到主應(yīng)用程序153。
當(dāng)在步驟S37主應(yīng)用程序153從編碼處理管理器181接收編碼處理完成消息時(shí),在步驟S38主應(yīng)用程序153發(fā)送編碼處理完成應(yīng)答消息到編碼處理管理器181。
在步驟S65編碼處理管理器181從主應(yīng)用程序153接收編碼處理完成應(yīng)答消息。因此,編碼處理管理器181確認(rèn)編碼處理完成消息已被發(fā)送到主應(yīng)用程序153。
在步驟S38主應(yīng)用程序153輸出編碼處理完成應(yīng)答消息到編碼處理管理器181以后,主應(yīng)用程序153輸出已經(jīng)被編碼和產(chǎn)生的產(chǎn)生的數(shù)據(jù)存儲請求消息到數(shù)據(jù)輸入-輸出管理器171。這個請求消息含有存儲的數(shù)據(jù)的媒體的地址。當(dāng)已經(jīng)被編碼的PCM壓縮音樂數(shù)據(jù)被存儲到硬盤127時(shí),該請求消息含有硬盤127的地址。
在步驟S84當(dāng)數(shù)據(jù)輸入-輸出管理器171從主應(yīng)用程序153接收產(chǎn)生的數(shù)據(jù)存儲請求消息時(shí),在步驟S85數(shù)據(jù)輸入-輸出管理器171對正在存儲的對應(yīng)于請求消息的接收數(shù)據(jù)進(jìn)行處理。實(shí)際上,當(dāng)請求消息代表產(chǎn)生的數(shù)據(jù)應(yīng)當(dāng)存儲在硬盤127上時(shí),數(shù)據(jù)輸入-輸出管理器171通過網(wǎng)卡輸入-輸出I/F172、網(wǎng)卡驅(qū)動器173和網(wǎng)卡125訪問硬盤127并記錄已經(jīng)被編碼的PCM壓縮的音樂數(shù)據(jù)到硬盤127的指定地址。
當(dāng)請求消息代表產(chǎn)生的數(shù)據(jù)應(yīng)當(dāng)存儲在CD-R時(shí),已經(jīng)被編碼的PCM壓縮的音樂數(shù)據(jù)被存儲到指定的CD-R地址。當(dāng)請求消息代表產(chǎn)生的數(shù)據(jù)應(yīng)當(dāng)被存儲到服務(wù)器113時(shí),已經(jīng)被編碼的PCM壓縮音樂數(shù)據(jù)通過媒體LAN 102被饋送并被存儲到服務(wù)器113。
在PCM壓縮音樂數(shù)據(jù)按照上述方式已經(jīng)被存儲以后,在步驟S86輸入-輸出管理器171輸出代表數(shù)據(jù)已經(jīng)被存儲到主應(yīng)用程序153的產(chǎn)生的數(shù)據(jù)存儲完成應(yīng)答消息。
當(dāng)在步驟S40主應(yīng)用程序153從數(shù)據(jù)輸入-輸出管理器171接收產(chǎn)生的數(shù)據(jù)存儲完成應(yīng)答消息時(shí),在步驟S41主應(yīng)用程序153輸出代表基于ATRAC1的編碼處理已經(jīng)完成的完成消息到編碼處理控制應(yīng)用程序152。
當(dāng)在步驟S15編碼處理控制應(yīng)用程序152從主應(yīng)用程序153接收消息時(shí),在步驟S16編碼處理控制應(yīng)用程序152發(fā)送表示基于ATRAC 1的編碼處理已經(jīng)完成的消息到編碼處理控制管理器161。
當(dāng)在步驟S3編碼處理控制管理器161從編碼處理控制應(yīng)用程序152接收完成消息時(shí),在步驟S4編碼處理控制管理器161輸出對應(yīng)于完成消息的應(yīng)答消息到編碼處理控制應(yīng)用程序152。
當(dāng)在步驟S17編碼處理控制應(yīng)用程序152從編碼處理控制管理器161接收應(yīng)答消息時(shí),在步驟S18編碼處理控制應(yīng)用程序152發(fā)送基于ATRAC1的編碼處理完成應(yīng)答消息到主應(yīng)用程序153。
在步驟S42主應(yīng)用程序153從編碼處理控制應(yīng)用程序152接收完成應(yīng)答消息。
圖8表示基于MPEG 1的編碼處理。圖8所示的步驟S101到S142與圖7所示的基于ATRAC1的編碼處理的步驟S1到S4基本相同。但是,在圖8中,編碼處理的類型是基于MPEG 1的編碼處理,而不是基于ATRAC1的編碼處理。因此,對應(yīng)于如圖7所示的步驟S82的在圖8所示步驟S182的目標(biāo)數(shù)據(jù)獲得處理,對應(yīng)于基于ATRAC1的編碼處理的格式上的數(shù)據(jù)發(fā)送量和數(shù)據(jù)發(fā)送定時(shí)被改變?yōu)閷?yīng)于基于MPEG1的編碼處理。
另外,在對應(yīng)于如圖7所示的步驟S63的處理的如圖8所示的步驟S163的處理中,執(zhí)行基于MPEG1的編碼處理,而不執(zhí)行基于ATRAC1的編碼處理。當(dāng)然,因?yàn)榛贏TRAC1的編碼處理是不同于基于MPEG1的編碼處理的,例如,使用不同的編碼數(shù)據(jù)單元、不同的發(fā)送定時(shí)、和不同的糾錯碼。
這個應(yīng)用在對應(yīng)于如圖7所示的在步驟S85的處理的如圖8所示的在步驟S185的處理。
但是,由于不同的編碼方法,要求的所有處理,由諸如編碼處理壓縮程序156的壓縮程序管理器151的每個處理部分和諸如音樂數(shù)據(jù)輸入-輸出管理器155的數(shù)據(jù)輸入-輸出管理器171的每個處理部分執(zhí)行。因此,主應(yīng)用程序153、編碼處理控制應(yīng)用程序152等等不需要精確地識別基于ATRAC1的編碼處理和基于MPEG1的編碼處理。
換言之,從主應(yīng)用程序153的觀點(diǎn),由音樂數(shù)據(jù)輸入-輸出壓縮程序155的數(shù)據(jù)輸入-輸出管理器171執(zhí)行的數(shù)據(jù)獲得處理和數(shù)據(jù)存儲處理的細(xì)節(jié)和由編碼處理壓縮程序156的編碼處理管理器181執(zhí)行的編碼處理被隱藏起來。
例如,當(dāng)數(shù)據(jù)輸入-輸出管理器171從硬盤127獲得數(shù)據(jù)時(shí),數(shù)據(jù)輸入-輸出管理器171利用ATA(AD(先進(jìn)技術(shù))附件)命令。但是,當(dāng)數(shù)據(jù)輸入-輸出管理器171從網(wǎng)上的服務(wù)器113獲得數(shù)據(jù)時(shí),數(shù)據(jù)輸入-輸出管理器171利用TCP/IP(傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)的FTP(文件傳輸協(xié)議)或HTTP(超文本傳輸協(xié)議)。
當(dāng)數(shù)據(jù)輸入-輸出管理器171從CD-R獲得數(shù)據(jù)時(shí),數(shù)據(jù)輸入-輸出管理器171利用SCSI(小型計(jì)算機(jī)系統(tǒng)接口)接口。當(dāng)數(shù)據(jù)輸入-輸出管理器171從CD-R獲得數(shù)據(jù)時(shí),數(shù)據(jù)輸入-輸出管理器171利用ATAPI(AT附件包接口)。
當(dāng)以高速執(zhí)行ATARC型編碼處理時(shí),處理是通過編碼卡驅(qū)動器187的ATARC編碼器驅(qū)動器執(zhí)行的。當(dāng)以高速執(zhí)行MPEG格式編碼處理時(shí),處理是通過編碼卡驅(qū)動器187的MPEG編碼器驅(qū)動器執(zhí)行的。
編碼處理壓縮程序156利用各種硬件驅(qū)動器協(xié)議執(zhí)行處理。但是,主應(yīng)用程序153僅要求3個簡單的序列,它們是數(shù)據(jù)獲得請求、編碼處理開始請求、和數(shù)據(jù)存儲請求。
因此,編碼處理壓縮程序156和音樂數(shù)據(jù)輸入-輸出壓縮程序155隱藏了這些相對于主應(yīng)用程序153的協(xié)議和數(shù)據(jù)獲得方法。
結(jié)果,主應(yīng)用程序153和編碼處理控制應(yīng)用程序152僅需要確定使用的是哪種編碼處理類型和編碼處理是由軟件執(zhí)行的還是由硬件執(zhí)行的。因此,即使改變或擴(kuò)展編碼處理的類型,也不需要改變主應(yīng)用程序153和編碼處理控制應(yīng)用程序152。即使需要它們的改變也是很小的。
用于編碼器112的編碼處理的程序是按上述方式構(gòu)成的。如圖6所示的處理部分(由實(shí)線框表示的)對應(yīng)于圖9所示的狀態(tài)變換圖改變它們的狀態(tài)和執(zhí)行它們的處理。
如圖9所示的各個狀態(tài)包括如圖5所示的操作狀態(tài)。
如圖9所示的狀態(tài)變換圖表示12種類型的狀態(tài),這些狀態(tài)是執(zhí)行(EXECUTE)、初始化0(INITIALIZE 0)、初始臺化1(INITIALIZE 1)、初始化2(INITIALIZE 2)、終結(jié)1(TERMINATE 1)、終結(jié)0(TERMINATE 0)、退出(EXIT)、接收(RECEIVE)、應(yīng)答(REPLY)、管理(MANAGE)、發(fā)送(SEND)、和準(zhǔn)備就緒(READY)。
接下來,參照如圖10所示的流程圖,將描述在每個處理部分為正常時(shí)的狀態(tài)變換。
當(dāng)接通終端單元的電源時(shí),實(shí)時(shí)OS變?yōu)殚_始并產(chǎn)生一個處理部分。在步驟S201該處理部分前進(jìn)到執(zhí)行狀態(tài)(EXECUTE)。
而后,在步驟S202處理部分前進(jìn)到初始化0狀態(tài)(INITIALIZE 0)B。在初始化0狀態(tài)(INITIALIZE 0)B,執(zhí)行正在寄存的處理的壓縮程序(模塊)。實(shí)際上,分配了與硬件設(shè)備交換數(shù)據(jù)的所使用的第一緩沖器。而后,第一緩沖器被初始化(例如,各個0被寫入第一緩沖器)。而后,該設(shè)備被打開。接下來,確定是否該設(shè)備正常。當(dāng)終端單元的電源被接通時(shí),這個處理被執(zhí)行一次。
在步驟S203處理部分從初始化0狀態(tài)(INITIALIZE 0)B前進(jìn)到初始化1狀態(tài)(INITIALIZE 1)C。在初始化1狀態(tài)(INITIALIZE 1)C,執(zhí)行壓縮程序資源分配處理。因此,分配了用于與主應(yīng)用程序153交換數(shù)據(jù)的第二緩沖器。而后,初始化第二緩沖器。接下來,初始化寄存器。
在步驟S204處理部分從初始化1狀態(tài)(INITIALIZE 1)C前進(jìn)到初始化2狀態(tài)(INITIALIZE 2)D。在初始化2狀態(tài)(INITIALIZE 2)D,執(zhí)行包括該設(shè)備的用于壓縮程序的初始化處理。當(dāng)執(zhí)行初始化處理時(shí),第一緩沖器被再次初始化(在該時(shí)間點(diǎn)不執(zhí)行分配處理)。
而后,在步驟S205處理部分從初始化2狀態(tài)(INITIALIZE 2)D前進(jìn)到準(zhǔn)備就緒狀態(tài)(READY)。
在如圖9所示的步驟S205每個處理器部分前進(jìn)到狀態(tài)E、F、G、H、I、J、K、L、和M之一。換言之,在步驟S206,每個處理部分確定是否已經(jīng)接收到對于完成請求的處理請求消息。當(dāng)已經(jīng)接收到處理請求而非完成請求消息時(shí),流程返回到步驟S205。在步驟S205,每個處理部分前進(jìn)到一個相關(guān)的狀態(tài)。
當(dāng)處理部分處于狀態(tài)E到M之一時(shí),如果在步驟S206的確定結(jié)果代表已經(jīng)接收到完成請求的處理請求消息,則流程前進(jìn)到步驟S207。在步驟S207處理部分前進(jìn)到終結(jié)1狀態(tài)(TERMINATE 1)N。在終結(jié)1狀態(tài)N執(zhí)行對第二緩沖器的不分配處理。而后,流程前進(jìn)到步驟S208。在步驟S208處理部分前進(jìn)到終結(jié)0狀態(tài)(TERMINATE 0)O。在終結(jié)0狀態(tài)(TERMINATE0)O,不分配第一緩沖器。另外,該設(shè)備關(guān)閉。
而后,流程前進(jìn)到步驟S209。在步驟S209處理部分前進(jìn)到退出狀態(tài)(EXIT)P。在退出狀態(tài)P,停止實(shí)時(shí)OS并關(guān)閉該終端單元的電源。
每個處理部分與另外的處理部分交換處理部分間通信消息。在特定的狀態(tài)下,每個處理部分前進(jìn)到由箭頭標(biāo)號表示的圖9中的另外的狀態(tài)。
圖1表示處理部分間通信消息的格式。如圖11A所示,處理部分間通信消息是由標(biāo)題和延伸部分組成的。對應(yīng)于FTP(文件傳輸協(xié)議)格式,數(shù)據(jù)被寫入處理部分間通信消息的標(biāo)題和延伸部分。如圖11C所示,標(biāo)題的“無符號的短類型”含有消息類型(由MSGT(Message Type)表示)、功能類型(由FNCT(Function Type)表示)、消息數(shù)(由MSGN(Message number))、和功能數(shù)(由FNCN(Function number)表示)。
MSGT含有對應(yīng)于一個請求的中斷、發(fā)送、接收或應(yīng)答處理分配的00到11之一的數(shù)據(jù)。
<處理> <數(shù)據(jù)>
中斷(INT(INTERRUPT))00B發(fā)送(SND(SEND)) 01B接收(RCV(RECEIVE)) 10B應(yīng)答(RPY(REPLY))11BMSGN含有對應(yīng)于一個請求的處理分配的數(shù)據(jù)之一。
<處理> <數(shù)據(jù)>
脫離(QUT(QUIT))001B復(fù)位(RST(RESET)) 010B
終結(jié)(TRM(TERMINATE))011B請求(REQ(REQUEST)) 100B通知(NTF(NOTIFY)) 101B拒絕(RFS(REFUSE)) 110B確認(rèn)(ACK(ACKNOWLEDGE)) 111BFNCT和FNCN含有對應(yīng)于一個請求處理的數(shù)據(jù)。
<FNCT> <FNCN>
編碼基于ATRAC1的編碼處理基于MPEG1的編碼處理文件傳輸 設(shè)置(put)取得(get)標(biāo)題的“pid_t src_pid”含有處理部分間通信消息的源處理部分的標(biāo)識(ID)。標(biāo)題的“pid_t dst_pid”含有處理部分間通信消息的目的處理部分的標(biāo)識(ID)。
處理部分間通信消息的延伸部分含有編碼的PCM非壓縮音樂數(shù)據(jù)的存儲位置的數(shù)據(jù)(例如,硬盤127的存儲器地址)和編碼的PCM壓縮音樂數(shù)據(jù)的存儲位置的數(shù)據(jù)。
如圖12所示的處理部分間通信消息僅由如圖11所示的處理部分間通信消息的標(biāo)題組成。
接下來,將描述在如圖10所示步驟S205和S206執(zhí)行的如圖9所示的從狀態(tài)E到狀態(tài)M的狀態(tài)變換。在這個例子中,將描述主應(yīng)用程序153請求編碼處理管理器181執(zhí)行對應(yīng)于從終端單元111(控制處理部分W)接收的請求消息的基于ATRAC1的編碼處理。
每個處理按如圖13所示編程。在圖13中,在步驟S221每個處理部分從處理等待狀態(tài)開始。而后,流程前進(jìn)到步驟S222。在步驟S222處理部分執(zhí)行預(yù)定的處理。當(dāng)處理部分完成該處理時(shí),流程返回到S221。因此,每個處理部分的狀態(tài)變換是預(yù)定義的。換言之,在每個狀態(tài)中,狀態(tài)變換的方向是不定義的。因此,每個處理部分的狀態(tài)按照由如圖9所示的箭頭代表的路由前進(jìn)。
首先,將參照如圖14所示的流程圖描述主應(yīng)用程序153的狀態(tài)變換。假設(shè),在如圖10所示的步驟S201到S205,主應(yīng)用程序153已經(jīng)前進(jìn)到準(zhǔn)備就緒狀態(tài)(READY)E。
主應(yīng)用程序153發(fā)送具有包含MSGT=SND、MSGN=REQ、FNCT=代表編碼的數(shù)據(jù)、和PNCN=基于ATRAC1的編碼處理(下文,具有包含MSGT=SND、MSGN=REQ的標(biāo)題的處理部分間通信消息由(SND、REQ)消息表示,這個注示應(yīng)用到其它處理部分間通信消息)的標(biāo)題的處理部分間通信消息到編碼處理管理器181。而后,主應(yīng)用程序153從準(zhǔn)備就緒狀態(tài)(READY)E前進(jìn)到發(fā)送狀態(tài)(SEND)J。
(SND、REQ)消息的標(biāo)題具有包含作為源處理部分的主應(yīng)用程序153的ID的“pid_t src_pid”和包含作為目的處理部分的編碼處理管理器181的ID的“pid_t dst_pid”。另外,(SND、REQ)消息具有如圖11所示的延伸部分。該延伸部分含有用于編碼的PCM非壓縮音樂數(shù)據(jù)的硬盤127的存儲器地址和用于編碼的PCM壓縮音樂數(shù)據(jù)的硬盤127的存儲器地址。
在圖9中,括號中的消息代表接收的消息,而不帶括號的消息代表發(fā)送的消息。
在這一時(shí)間點(diǎn)上,主應(yīng)用程序153開始設(shè)置內(nèi)置定時(shí)器t。
而后,主應(yīng)用程序153進(jìn)行等待,直至在步驟S311發(fā)送的對應(yīng)于(SND,REQ)消息具有包含MSGT=RPY(這個消息由(RPY,XXX)消息表示)標(biāo)題的處理部分間通信消息從編碼處理管理器181被接收到。當(dāng)主應(yīng)用程序153從編碼處理管理器181已經(jīng)接收到(RPY,XXX)消息時(shí),流程前進(jìn)到步驟S313。(RPY,XXX)消息具有如圖12所示的結(jié)構(gòu)。換言之,(RPY,XXX)消息僅包含標(biāo)題。
在步驟S313主應(yīng)用程序153確定是否在步驟S312接收的(RPY,XXX)消息是(RPY,ACK)消息(含有MSGT=PRY和MSGN=ACK)。當(dāng)在步驟S313確定的結(jié)果代表(RPY,XXX)消息是(RPY,ACK)消息時(shí),流程前進(jìn)到步驟S314。按照這個例子,當(dāng)編碼處理管理器181接收到對于編碼處理的請求消息時(shí),如果該編碼處理可以被執(zhí)行,則編碼處理管理器181發(fā)送(RPY,ACK)消息到主應(yīng)用程序153。
在步驟S314主應(yīng)用程序153從發(fā)送狀態(tài)J前進(jìn)到管理狀態(tài)(MANAGE)K。在管理狀態(tài)(MANAGE)K中,主應(yīng)用程序153執(zhí)行預(yù)定的處理。但是,在這種情況下,主應(yīng)用程序153不執(zhí)行任何處理。在管理狀態(tài)(MANAGE)K中,當(dāng)需要時(shí)每個處理部分可以執(zhí)行預(yù)定的處理。
在步驟S315主應(yīng)用程序153發(fā)送編碼處理完成等待(RCV,REQ)消息到編碼處理管理器181。在這個時(shí)刻,主應(yīng)用程序153從管理狀態(tài)(MANAGE)K前進(jìn)到接收狀態(tài)(RECEIVE)狀態(tài)L。主應(yīng)用程序153進(jìn)行等待,直至在步驟S316從編碼處理管理器181接收到(SND,NTF)消息(代表已經(jīng)接收到編碼處理完成等待消息)。當(dāng)主應(yīng)用程序153接收到(SND,NTF)消息時(shí),流程前進(jìn)到步驟S317。
在步驟S317主應(yīng)用程序153從接收狀態(tài)(RECEIVE)L前進(jìn)到應(yīng)答狀態(tài)(REPLY)M。在應(yīng)答狀態(tài)(REPLY)M,在步驟S318主應(yīng)用程序153發(fā)送(RPY,NTF)消息,作為(SND,NTF)消息的應(yīng)答消息到編碼處理管理器181。而后,流程前進(jìn)到步驟S318。在步驟S318主應(yīng)用程序153從應(yīng)答狀態(tài)(REPLY)M前進(jìn)到準(zhǔn)備就緒狀態(tài)(READY)E,并完成處理。
當(dāng)編碼處理管理器181從主應(yīng)用程序153接收到作為編碼處理請求消息的(SND,REQ)消息時(shí),由于任何原因,如果編碼處理不能執(zhí)行,則編碼處理管理器181發(fā)送代表編碼處理不能執(zhí)行的(RPY,NTF)消息。在這種情況下,編碼處理管理器181確定在步驟S313接收的(RPY,XXX)消息不是(RPY,ACK)消息。結(jié)果,流程跳過步驟S314到S317,前進(jìn)到步驟S318。主應(yīng)用程序153從發(fā)送狀態(tài)(SEND)J前進(jìn)到準(zhǔn)備就緒(READY)E并完成該處理。
在發(fā)送狀態(tài)(SEND)J、管理狀態(tài)(MANAGE)K、和接收狀態(tài)(RECEIVE)L,主應(yīng)用程序153確定是否在步驟S311已經(jīng)開始的定時(shí)器t的測量時(shí)間超過預(yù)定時(shí)間。當(dāng)確定結(jié)果表示測量的時(shí)間未超過預(yù)定時(shí)間,則主應(yīng)用程序153執(zhí)行上述處理。相反,當(dāng)確定結(jié)果表示定時(shí)器t的測量時(shí)間已經(jīng)超過預(yù)定時(shí)間(即,定時(shí)器已經(jīng)超時(shí))時(shí),主應(yīng)用程序153前進(jìn)到準(zhǔn)備就緒狀態(tài)(READY)E并完成該處理。
接下來,將參照圖15的流程圖描述在這種情況下的編碼處理管理器181的狀態(tài)變換。在步驟S321編碼處理管理器181發(fā)送代表編碼處理管理器181等待編碼處理請求的(RCV,REQ)消息到主應(yīng)用程序153。編碼處理管理器181從準(zhǔn)備就緒狀態(tài)(READY)E前進(jìn)到接收狀態(tài)(RECEIVE)F。在此時(shí)刻,編碼處理管理器181啟動內(nèi)置定時(shí)器t。
在步驟S322當(dāng)編碼處理管理器181從主應(yīng)用程序153接收到作為編碼處理請求消息的(SND,REQ)消息(這個消息是如圖14所示在步驟S311發(fā)送的),在步驟S323編碼處理管理器181確定是否請求的編碼處理可以執(zhí)行。當(dāng)請求的編碼處理可以執(zhí)行時(shí),流程前進(jìn)到步驟S324。在步驟S324編碼處理管理器181從接收狀態(tài)(RECEIVE)狀態(tài)F前進(jìn)到應(yīng)答狀態(tài)(REPLY)G。
在步驟S324編碼處理管理器181發(fā)送對應(yīng)于作為從主應(yīng)用程序153接收編碼處理請求消息的(SND,REQ)消息的作為編碼處理接受應(yīng)答消息的(RPY,ACK)消息到主應(yīng)用程序153。在步驟S324編碼處理管理器181前進(jìn)到管理狀態(tài)(MANAGE)H。
在步驟S325的管理狀態(tài)(MANAGE)H中,編碼處理管理器181通過編碼卡輸入-輸出I/F185和編碼卡驅(qū)動程序187控制編碼卡126,執(zhí)行基于ATRAC的編碼處理。
壓縮程序管理器151決定優(yōu)先級和控制數(shù)據(jù)輸入-輸出壓縮程序154、音樂數(shù)據(jù)輸入-輸出壓縮程序155、和編碼處理壓縮程序156的每個壓縮程序和每個壓縮程序的每個處理的時(shí)間表算法。
當(dāng)對PCM非壓縮音樂數(shù)據(jù)開始編碼處理時(shí),分配給編碼處理壓縮程序156比控制數(shù)據(jù)輸入-輸出壓縮程序154、音樂數(shù)據(jù)輸入-輸出壓縮程序155高的優(yōu)先級。當(dāng)執(zhí)行基于ATRAC1的編碼處理時(shí),最高的優(yōu)先級分配給編碼處理壓縮程序156的編碼處理管理器181。接下來最高的優(yōu)先級分配給編碼引擎輸入-輸出I/F 182、編碼引擎184、編碼卡輸入-輸出I/F 185、和編碼卡驅(qū)動器187。最低優(yōu)先級分配給編碼引擎輸入輸出I/F 183和編碼卡輸入-輸出I/F 186。
換言之,當(dāng)執(zhí)行基于ATRAC1的編碼處理時(shí),較高的優(yōu)先級被分配給與編碼引擎184接口用于輸入和輸出對應(yīng)于基于ATRAC1的編碼處理的已編碼的音樂數(shù)據(jù)的每一個編碼引擎輸入-輸出I/F 182和與編碼卡驅(qū)動器187接口用于輸入和輸出對應(yīng)于基于ATRAC1的編碼處理的編碼音樂數(shù)據(jù)的編碼卡輸入-輸出I/F 185的每一個,而不是分配給與編碼引擎184接口用于輸入和輸出對應(yīng)于基于MPEG1的編碼處理的編碼音樂數(shù)據(jù)的編碼引擎輸入輸出I/F 183和與編碼卡驅(qū)動器接口用于輸入和輸出對應(yīng)于基于MPEG1的編碼處理的音樂數(shù)據(jù)的編碼卡輸入-輸出I/F 186的每一個。
另外,即使執(zhí)行基于ATRAC1的編碼處理,當(dāng)發(fā)出利用硬件而不是軟件的用于編碼處理的命令時(shí),分配給編碼卡輸入-輸出I/F 185而不是編碼引擎輸入-輸出I/F 182以較高優(yōu)先級。
壓縮程序管理器151通過編碼處理控制應(yīng)用程序152和主應(yīng)用程序153饋送按上述方法判定的每個壓縮程序和每個處理部分的優(yōu)先級到控制數(shù)據(jù)輸入-輸出壓縮程序154、音樂數(shù)據(jù)輸入-輸出壓縮程序155和編碼處理壓縮程序156的每個管理器(編碼處理控制管理器161、數(shù)據(jù)輸入-輸出管理器171、和編碼處理管理器181)。每個管理器產(chǎn)生對應(yīng)于各個處理部分的優(yōu)先級的處理部分并使它們執(zhí)行其處理。
例如,當(dāng)執(zhí)行基于ATRAC1的編碼處理時(shí),編碼處理壓縮程序156的編碼處理管理器181產(chǎn)生編碼引擎輸入-輸出I/F 182、編碼引擎184、編碼卡輸入-輸出I/F 185、和編碼卡驅(qū)動器187,并饋送處理部分間通信消息給它們。編碼引擎輸入-輸出I/F182、編碼引擎184、編碼卡輸入-輸出I/F185、和編碼卡驅(qū)動器187發(fā)送和接收饋送的處理部分間通信消息到各可通信的處理部分并執(zhí)行編碼處理。因此,在這個例子中,對應(yīng)于包含在處理部分間通信消息的延伸部分的數(shù)據(jù),從硬盤127的地址讀出PCM非壓縮音樂數(shù)據(jù)。對應(yīng)于基于ATRAC1的編碼處理對PCM非壓縮音樂數(shù)據(jù)進(jìn)行編碼并對應(yīng)于包含在處理部分間通信消息的延伸部分的數(shù)據(jù)存儲在硬盤127的地址。
在如圖15所示的例子中,因?yàn)橥ㄟ^硬件執(zhí)行基于ATRAC1的編碼處理,不產(chǎn)生編碼引擎輸入-輸出I/F 182、編碼引擎輸入-輸出I/F 183、編碼引擎184和編碼卡輸入-輸出I/F 186。因此,不需要分配給它們資源。這些資源可以被用作其它的處理部分。
參照圖15,當(dāng)編碼處理管理器181在步驟S325完成編碼處理時(shí),在步驟S326編碼處理管理器181從管理器狀態(tài)(MANAGE)H前進(jìn)到發(fā)送狀態(tài)(SEND)I。在發(fā)送狀態(tài)(SEND)I,編碼處理管理器181發(fā)送代表編碼處理已經(jīng)完成的(SND,NTF)消息到主應(yīng)用程序153。
編碼處理管理器181進(jìn)行等待,直至在步驟S327接收到來自主應(yīng)用程序153的(RPY,NTF)消息(代表如圖14所示的步驟S317發(fā)送的編碼處理完成等待消息已經(jīng)收到)。當(dāng)編碼處理管理器181接收到(RPY,NTF)消息時(shí),流程前進(jìn)到步驟S328。在步驟S328編碼處理管理器181從發(fā)送狀態(tài)(SEND)I前進(jìn)到準(zhǔn)備就緒狀態(tài)(READY)E并完成處理。
在管理狀態(tài)(MANAGE)H和發(fā)送狀態(tài)(SEND)I中,編碼處理管理器181確定是否在步驟S321開始的定時(shí)器t的測量時(shí)間超過預(yù)定的時(shí)間。當(dāng)確定的結(jié)果表示測量的時(shí)間未超過預(yù)定時(shí)間時(shí),編碼處理管理器181執(zhí)行如上所述的處理,但是,當(dāng)確定的結(jié)果表示測量的數(shù)據(jù)超過預(yù)定的時(shí)間時(shí),編碼處理管理器181前進(jìn)到準(zhǔn)備就緒狀態(tài)(READY)E并完成該處理。
如上所述,每個處理部分的狀態(tài)對應(yīng)于處理部分間通信消息的內(nèi)容前進(jìn)。因此,主應(yīng)用程序153可以使編碼處理管理器181利用代表被編碼的數(shù)據(jù)的存儲位置、編碼PCM壓縮音樂數(shù)據(jù)的存儲位置或編碼處理類型的消息執(zhí)行預(yù)定的編碼處理。換言之,主應(yīng)用程序153不需要控制各個處理部分,而是控制編碼處理壓縮程序156的編碼處理管理器181(例如,主應(yīng)用程序153不需要控制數(shù)據(jù)處理和緩沖處理)并控制數(shù)據(jù)的轉(zhuǎn)移。因此,即使利用具有更高性能的別的編碼卡替代編碼卡126的情況下,當(dāng)隨著其它編碼卡提供相關(guān)的編碼處理壓縮程序156時(shí),也不需要重建主應(yīng)用程序153。因此,照原樣可以使用其它(受控制的)的編碼卡。
這應(yīng)用到主應(yīng)用程序153與音樂數(shù)據(jù)輸入-輸出壓縮程序155之間的關(guān)系和編碼處理控制應(yīng)用程序152與控制數(shù)據(jù)輸入-輸出壓縮程序154之間的關(guān)系。
在上述例子中,編碼器112執(zhí)行基于ATRAC 1的編碼處理和基于MPEG 1的編碼處理。另外,編碼器112可以執(zhí)行諸如MP3的有效功能等等的其它格式的編碼處理。
例如,編碼器112可以是按對應(yīng)于ATRAC 3(自適應(yīng)變換聲音編碼3)(商標(biāo))、MPEG-2AAC(高級的聲音編碼)(商標(biāo))、Odesign音樂編譯碼器(商標(biāo))、TwinVO(變換域加權(quán)的交錯矢量量化)(商標(biāo))、MS音頻(微軟音頻(WMA視窗媒體音頻))(商標(biāo))、Ogg Vorbis(商標(biāo))、等等。
接下來,參照圖16,將描述在每個狀態(tài)中發(fā)生異常的情況下的初始化處理。如圖16所示的狀態(tài)Q對應(yīng)于準(zhǔn)備就緒狀態(tài)(READY)E、接收狀態(tài)(RECEIVE)F和L、應(yīng)答狀態(tài)(REPLY)G和M、管理狀態(tài)(MANAGE)H和K、以及發(fā)送狀態(tài)(SEND)I和J。換言之,在這些狀態(tài)的每一個中存在著3個路由,作為在接收到中斷(INTERRUPT)消息的情況下的初始化路由。第一個路由是初始化2狀態(tài)(INITIALIZE2)D和準(zhǔn)備就緒狀態(tài)(READY)E。第二個路由是終結(jié)1狀態(tài)(TERMINATE1)N、初始化1狀態(tài)(INITIALIZE1)C、初始化2狀態(tài)(INITIALIZE2)D、和準(zhǔn)備就緒狀態(tài)(READY)E。第三個路由是終結(jié)1狀態(tài)(TERMINATE1)N、終結(jié)0狀態(tài)(TERMINATE0)O、和退出狀態(tài)(EXIT)P。
圖17是用于解釋在發(fā)生異常的情況下初始化處理的流程圖。當(dāng)接收到中斷消息時(shí)開始這個處理。每個處理部分確定是否已經(jīng)接收到作為中斷消息的(INT,QUT)消息。當(dāng)確定結(jié)果表示接收到中斷消息是(INT,QUT)消息時(shí),流程前進(jìn)到步驟S352。在步驟S352處理部分前進(jìn)到初始化2狀態(tài)(INITIALIZE2)D。在這種狀態(tài)下,與在如圖10所示的步驟S204的情況一樣,執(zhí)行對第一緩沖器的初始化處理。而后,處理部分前進(jìn)到準(zhǔn)備就緒狀態(tài)(READY)E。
因此,每個處理部分不完成處理(不前進(jìn)到退出狀態(tài)(EXIT)P),而僅初始化第一緩沖器并前進(jìn)到準(zhǔn)備就緒狀態(tài)(READY)E。因此,不要求已經(jīng)完成的重新產(chǎn)生處理部分的額外開銷執(zhí)行編碼處理。
另外,當(dāng)由于任何情況發(fā)生異常時(shí),可以期望通過初始化第一緩沖器處理可以從異常中恢復(fù)。處理的第一路徑可以在比處理的第二路徑短的時(shí)間完成(對此將在下面描述)。因此,處理可以從異常中更迅速地恢復(fù)。
當(dāng)在步驟S351的確定結(jié)果表示中斷消息不是(INT,QUT)消息時(shí),則流程前進(jìn)到步驟S353。在步驟S353處理部分確定是否中斷消息是(INT,RST)消息。當(dāng)中斷消息是(INT,RST)消息時(shí),流程前進(jìn)到步驟S354。在步驟S354處理部分前進(jìn)到終結(jié)1狀態(tài)(TERMINATE1)N。在這個狀態(tài)下,處理部分對第二緩沖器執(zhí)行不分配處理。
接下來,流程前進(jìn)到步驟S355。在步驟S355處理部分前進(jìn)到初始化1狀態(tài)(INITIALIZE1)C。在這個狀態(tài)下,與在如圖10所示的步驟S203的情況一樣,處理部分執(zhí)行分配第二緩沖器、將其初始化、和初始化寄存器的處理。
而后,流程前進(jìn)到步驟S356。處理部分前進(jìn)到初始化2狀態(tài)(INITIALIZE2)D。在這個狀態(tài)下,與在步驟S352的情況一樣,處理部分執(zhí)行對第一緩沖器的初始化處理。
而后,處理部分前進(jìn)到準(zhǔn)備就緒狀態(tài)(READY)E。
因此,在初始化處理的第二路徑中,由于初始化處理是在包括初始化處理的第一路徑各狀態(tài)的其它狀態(tài)執(zhí)行的,因此初始化處理的第二路徑比初始化處理的第一路徑花費(fèi)更長時(shí)間。但是,初始化處理的第二路徑允許處理從異常狀態(tài)下比初始化處理的第一狀態(tài)更精確地恢復(fù)。
當(dāng)在步驟S353的確定結(jié)果表示中斷消息不是(INT,RST)消息時(shí),中斷消息是(INT,TRM)消息。因此,在這種情況下,流程前進(jìn)到步驟S357。在步驟S357處理部分前進(jìn)到終結(jié)1狀態(tài)(TERMINATE1)N。在這個狀態(tài)下,與在步驟S354的情況一樣,處理部分執(zhí)行對第二緩沖器的不分配處理。而后,流程前進(jìn)到步驟S358。在步驟S358處理部分前進(jìn)到終結(jié)0狀態(tài)(TERMINATE 0)0。在這個狀態(tài)下,處理部分對第一緩沖器執(zhí)行不分配處理和對關(guān)閉(c1osing)設(shè)備的處理。
而后,處理部分前進(jìn)到退出狀態(tài)(EXIT)P。在這個狀態(tài)下,實(shí)時(shí)OS停止。而后,關(guān)閉終端單元的電源。
當(dāng)在初始化處理的第一和第二路徑中處理不能從異常狀態(tài)恢復(fù)時(shí),執(zhí)行第三路徑。在這種情況下,重新啟動實(shí)時(shí)OS。執(zhí)行重新產(chǎn)生每個處理部分的處理。因此,初始化處理的第三路徑比初始化處理的第一路徑或第二路徑花費(fèi)更多的時(shí)間。但是,初始化處理的第三路徑允許比初始化處理的第一路徑或第二路更精確地從異常狀態(tài)恢復(fù)的處理。
圖18表示初始化處理的第一路徑、第二路徑、和第三路徑的時(shí)間序列。
例如,當(dāng)發(fā)生異常時(shí),在步驟S411主應(yīng)用程序153輸出(INT,QUT)消息到編碼處理管理器181。當(dāng)編碼處理管理器181接收(INT,QUT)消息時(shí),在步驟S421編碼處理管理器181前進(jìn)到初始化2狀態(tài)(INITIALIZE2)D。在初始化2狀態(tài)(INITIALIZE2)D中,編碼處理管理器181對第一緩沖器執(zhí)行初始化處理。在步驟S422編碼處理管理器181前進(jìn)到準(zhǔn)備就緒狀態(tài)(READY)E。在步驟S423編碼處理管理器181通知主應(yīng)用程序153是否處理已經(jīng)從初始化處理的第一路徑的異常中恢復(fù)。
當(dāng)處理未尚從初始化處理的第一路徑的異常中恢復(fù)時(shí),在步驟S412主應(yīng)用程序153輸出(INT,RST)消息到編碼處理管理器181。當(dāng)編碼處理管理器181從主應(yīng)用程序153接收到(INT,RST)消息時(shí),在步驟S423編碼處理管理器181前進(jìn)到終結(jié)1狀態(tài)(TERMINATE1)N。在步驟S424編碼處理管理器181對第二緩沖器執(zhí)行不分配處理。而后,在步驟S425編碼處理管理器181前進(jìn)到初始化1狀態(tài)(INITIALIZE1)C。在初始化1狀態(tài)(INITIALIZE1)C中,編碼處理管理器181對第二緩沖器執(zhí)行分配處理、對第二緩沖器初始化處理、和對寄存器初始化處理。
在步驟S426編碼處理管理器181前進(jìn)到初始化2狀態(tài)(INITIALIZE2)D。在初始化2狀態(tài)(INITIALIZE2)D中,編碼處理管理器181對第一緩沖器執(zhí)行初始化處理。在步驟S427編碼處理管理器181返回到準(zhǔn)備就緒狀態(tài)(READY)E。在步驟S428編碼處理管理器181通知主應(yīng)用程序153是否處理已從在初始化處理的第二路徑中的異常中恢復(fù)。
當(dāng)在步驟S428的確定結(jié)果表示未從初始化處理的第二路徑中的異常中恢復(fù)時(shí),在步驟S413主應(yīng)用程序153輸出(INT,TRM)消息到編碼處理管理器181。
當(dāng)編碼處理管理器181從主應(yīng)用程序153接收到(INT,TRM)消息時(shí),在步驟S429編碼處理管理器181前進(jìn)到終結(jié)1狀態(tài)(TERMINATE1)N。在終結(jié)1狀態(tài)(TERMINATE1)N中,編碼處理管理器181對第二緩沖器不執(zhí)行分配處理。在步驟S430編碼處理管理器181前進(jìn)到終結(jié)0狀態(tài)(TERMINATE0)O。在終結(jié)0狀態(tài)(TERMINATE0)O中,編碼處理管理器181對第一緩沖器執(zhí)行不分配處理和對關(guān)閉(closing)設(shè)備的處理。
在步驟S431編碼處理管理器181前進(jìn)到準(zhǔn)備就緒狀態(tài)(READY)E。在準(zhǔn)備就緒狀態(tài)(READY)E中,在步驟S432編碼處理管理器181通知主應(yīng)用程序153是否處理已經(jīng)從初始化處理的第三路徑中的異常中恢復(fù)。
當(dāng)確定結(jié)果表示處理尚未從初始化處理的第三路徑中的異常恢復(fù),在步驟S414主應(yīng)用程序153請求實(shí)時(shí)OS重新啟動。
在步驟S401實(shí)時(shí)OS對應(yīng)于從主應(yīng)用程序153接收的請求,執(zhí)行重新啟動處理。
而后,在步驟S402實(shí)時(shí)OS執(zhí)行產(chǎn)生編碼處理管理器181的處理。因此,在如圖10所示的步驟S201到S205中,編碼處理管理器181通過執(zhí)行狀態(tài)(EXECUTE)A、初始化0狀態(tài)(INITIALIZE0)B、初始化1狀態(tài)(INITIALIZE1)C、和初始化2狀態(tài)(INITIALIZE2)D前進(jìn)到準(zhǔn)備就緒狀態(tài)(READY)E。
因此,因?yàn)榇嬖谥赃@樣的方式連續(xù)執(zhí)行的初始化處理的3個路徑,可以迅速地完成初始化處理,編碼處理可以更迅速地從異常中恢復(fù)。
在不是接收狀態(tài)(RECEIVE)F和L、發(fā)送狀態(tài)(SEND)I和J的每個狀態(tài)下,是不能接收消息的。因此,在這些狀態(tài)的每個中,即使發(fā)生異常狀態(tài)并處理在當(dāng)前狀態(tài)不能完成,處理也可能不會從異常下恢復(fù)。另外,在接收狀態(tài)(RECEIVE)F和L、發(fā)送狀態(tài)(SEND)I和J的每個狀態(tài)下,當(dāng)發(fā)生異常時(shí),即使接收到預(yù)定的消息,當(dāng)前的狀態(tài)也不前進(jìn)到另外的狀態(tài)。在這種情況下,如上所述,在每個狀態(tài)下,可以接受中斷消息,使得當(dāng)前處理可以從異常中恢復(fù)。
如上所述,當(dāng)處理部分間通信消息的標(biāo)題含有MSGT=INT(INTERRUPT)時(shí),正如UNIX的系統(tǒng)調(diào)用信號SIGNAL一樣,一個除外信號(異步信號)使得每個處理部分前進(jìn)到初始化1狀態(tài)(INITIALIZE)(初始化1狀態(tài)(INITIALIZE1)C和D)和終結(jié)1狀態(tài)(TERMINATE)(終結(jié)1狀態(tài)(TERMINATE1)N和O)。結(jié)果,當(dāng)各環(huán)境變量被預(yù)先存儲時(shí),當(dāng)前處理部分可以安全地返回到預(yù)期的狀態(tài)。
圖19表示按照本發(fā)明的音樂供給服務(wù)系統(tǒng)供給側(cè)的另外的結(jié)構(gòu)。為了簡單起見,在圖19中與圖2中的那些相似的部分是由相似的參考標(biāo)號表示的并且省略了對它們的描述。
終端單元200連接到告警LAN101和媒體LAN102。終端單元200從服務(wù)器113接收PCM非壓縮音樂數(shù)據(jù)。終端單元200編碼接收的PCM非壓縮音樂數(shù)據(jù)并饋送該編碼的數(shù)據(jù)到服務(wù)器113。換言之,終端單元200還具有連同如圖2所示的終端單元111的功能一起的編碼器112的功能。
圖20表示終端單元200的結(jié)構(gòu)例子。終端單元200由例如計(jì)算機(jī)組成。輸入-輸出接口516通過總線515連接到CPU511。當(dāng)用戶從由鍵盤、鼠標(biāo)、等等組成的輸入部分518輸入一個命令到CPU511時(shí),CPU511加載存儲在ROM512、硬盤514、或諸如磁盤513、光盤532、磁光盤533、或半導(dǎo)體存儲器534之類的記錄媒體中的程序到RAM 513并且利用該RAM513執(zhí)行該程序。另外,當(dāng)需要的時(shí)候,CPU511通過輸入-輸出接口516輸出處理的結(jié)果到由例如LCD組成的顯示部分517。
該程序可以被預(yù)存儲在硬盤514或ROM512中。該程序可以隨著終端單元200一起提供。另外,該程序可以作為諸如磁盤513、光盤532、磁光盤533、或半導(dǎo)體存儲器534等之類的數(shù)據(jù)包介質(zhì)(package medium)進(jìn)行提供。另外一種方案,該程序可以通過通信部分519從衛(wèi)星、網(wǎng)絡(luò)等等提供到硬盤514。
最好是,半導(dǎo)體存儲器534是諸如閃速存儲器之類的非易失性存儲器。另外,最好是,數(shù)據(jù)包介質(zhì)(package medium)包含半導(dǎo)體存儲器534,該存儲器具有微計(jì)算機(jī)并且可以認(rèn)證從/到半導(dǎo)體存儲器534的讀/寫操作。半導(dǎo)體存儲器534例如是存儲器條“memorystick”(商標(biāo))、SD存儲卡(商標(biāo))、壓縮閃速存儲器(商標(biāo))、智能媒體(商標(biāo))、多媒體卡(商標(biāo))、微驅(qū)動(商標(biāo))、ID格式(商標(biāo))(ID format)、或撥輪驅(qū)動“thumb drive“(商標(biāo))。
圖21表示加載到終端單元200的RAM 513并由CPU511執(zhí)行的程序結(jié)構(gòu)的例子。終端單元200還包括如圖2所示的終端單元111的控制處理部分w和如圖6所示的編碼器112的編碼處理壓縮程序156和音樂數(shù)據(jù)輸入-輸出壓縮程序155。在這種結(jié)構(gòu)中,終端單元200可以執(zhí)行與終端單元111一樣的編碼處理。
在這種情況下,由數(shù)據(jù)輸入-輸出管理器171相對于控制處理部分w執(zhí)行的處理被壓縮為音樂數(shù)據(jù)輸入-輸出壓縮程序155。同樣,由編碼處理管理器181執(zhí)行的處理被壓縮為編碼處理壓縮程序156。
在這種情況下,包括在發(fā)生異常情況中初始化處理的各種處理是對應(yīng)于上述狀態(tài)變換圖執(zhí)行的。這些處理基本上是與上述情況的那些處理相同。因此省略了對它們的描述。
在本說明書中,描述由媒體提供的程序的各個步驟可以按給定的系列順序執(zhí)行。另一種可選擇的方式是,這些步驟可以按并行或離散地執(zhí)行。
再有,在本說明書中,術(shù)語“系統(tǒng)”意味著由多個單元和/或裝置組成的設(shè)備。
工業(yè)實(shí)用性本發(fā)明是一種用于記錄計(jì)算機(jī)可控程序的記錄媒體,該程序被配置在控制部分與硬件之間,該程序?qū)?yīng)于從控制部分接收的消息控制硬件,該程序包括用于與控制部分通信的第一處理部分、用于與第一硬件和第二硬件通信的第二處理部分、用于與第一處理部分和第二處理部分通信并執(zhí)行對應(yīng)于第一硬件的接口處理的第三處理部分、和用于與第一處理部分和第二處理部分通信并執(zhí)行對應(yīng)于第二硬件的接口處理的第四處理部分,其中第一處理部分對應(yīng)于從控制部分接收的消息輸出一個消息到第三處理部分和第四處理部分之一。
因此,在任何情況下,即使硬件發(fā)生了變化,也不需要改變控制部分。即使在最壞的情況下,對控制部分的改變也是最小的。一個控制部分可以公共地使用在許多硬件設(shè)備中。
本發(fā)明是一種用于存儲計(jì)算機(jī)可控程序的存儲介質(zhì),配置在控制部分與硬件之間,用于對應(yīng)于從控制部分接收的消息控制硬件,該程序包含壓縮的處理部分,其中如果在每個處理部分中發(fā)生異常,則在用于初始化與硬件交換數(shù)據(jù)的第一緩沖器的第一路徑、用于不分配與控制部分交換數(shù)據(jù)的第二緩沖器、分配第二緩沖器、初始化第二緩沖器、和初始化第一緩沖器的第二路徑、和用于不分配第二緩沖器和不分配第一緩沖器的第三路徑之一中進(jìn)行初始化。
因此,每個處理部分可以從異常中迅速恢復(fù)。
權(quán)利要求
1.一種用于記錄計(jì)算機(jī)可控程序的記錄介質(zhì),該程序被配置在控制部分與硬件之間,該程序?qū)?yīng)于從控制部分接收的消息控制硬件,該程序包括一個第一處理部分,用于與控制部分通信;一個第二處理部分,用于與第一硬件和第二硬件通信;一個第三處理部分,用于與第一處理部分和第二處理部分通信并執(zhí)行對應(yīng)于第一硬件的接口處理;和一個第四處理部分,用于與第一處理部分和第二處理部分通信并執(zhí)行對應(yīng)于第二硬件的接口處理;其中第一處理部分對應(yīng)于從控制部分接收的消息輸出一個消息到第三處理部分和第四處理部分之一。
2.如權(quán)利要求1所述的記錄介質(zhì),其中該程序還包括一個第五處理部分,用于與控制部分通信;和其中第五處理部分獲得由對應(yīng)于從控制部分接收的消息的硬件處理的數(shù)據(jù)。
3.如權(quán)利要求2所述的記錄介質(zhì),其中控制部分包括主應(yīng)用程序處理部分。
4.如權(quán)利要求3所述的記錄介質(zhì),其中該程序的第五處理部分從主應(yīng)用程序處理部分接收指定數(shù)據(jù)的存儲位置的消息;其中第五處理部分獲得對應(yīng)于該數(shù)據(jù)的存儲位置的硬件處理的數(shù)據(jù);其中第一處理部分從主應(yīng)用程序處理部分接收指定編碼處理類型的消息;其中第三處理部分和第四處理部分之一對應(yīng)于編碼處理類型從第一處理部分接收消息;和其中與第二處理部分通信的第一或第二硬件對應(yīng)于第三處理部分和第四處理部分之一與第二處理部分的通信結(jié)果編碼獲得的數(shù)據(jù)。
5.如權(quán)利要求4所述的記錄介質(zhì),其中該程序還包括一個數(shù)據(jù)輸入-輸出管理器處理部分,用于從主應(yīng)用程序處理部分接收指定數(shù)據(jù)存儲位置的消息,該數(shù)據(jù)輸入-輸出管理器處理部分獲得由對應(yīng)于數(shù)據(jù)存儲位置的硬件處理的數(shù)據(jù);一個編碼處理管理器處理部分,用于從主應(yīng)用程序處理部分接收指定編碼處理類型的消息;和一個第一編碼卡輸入-輸出I/F處理部分和一個第二編碼卡輸入-輸出I/F處理部分,二者之一從對應(yīng)于編碼處理類型的編碼處理管理器處理部分接收消息;其中與編碼卡驅(qū)動器處理部分通信的第一硬件或第二硬件對應(yīng)于第一編碼卡輸入-輸出I/F處理和第二編碼卡輸入-輸出I/F處理之一與編碼卡驅(qū)動器處理的通信結(jié)果編碼獲得的數(shù)據(jù)。
6.如權(quán)利要求5所述的記錄媒體,其中編碼卡驅(qū)動器處理部分與用于編碼對應(yīng)于ATRAC格式的音頻數(shù)據(jù)的第一編碼器和用于編碼對應(yīng)于MPEG音頻第3層格式的音頻數(shù)據(jù)的第二編碼器進(jìn)行通信。
7.如權(quán)利要求1所述的記錄媒體,其中每個處理部分被分配以優(yōu)先級。
8.如權(quán)利要求1所述的記錄媒體,其中如果在每個處理部分發(fā)生異常,其狀態(tài)在第一路徑、第二路徑、和第三路徑之一發(fā)生變化,第一路徑包括當(dāng)處理部分產(chǎn)生時(shí),每個處理部分都前進(jìn)到的第一狀態(tài),第二路徑包括當(dāng)處理部分完成時(shí),每個處理部分都前進(jìn)到的第二狀態(tài),當(dāng)處理部分被產(chǎn)生時(shí),每個處理部分都前進(jìn)到的第三狀態(tài),和第一狀態(tài),以及第三路徑包括當(dāng)處理部分完成時(shí),每個處理部分都前進(jìn)到的第二狀態(tài)和第四狀態(tài)。
9.一種用于記錄計(jì)算機(jī)可控程序的記錄介質(zhì),該程序被配置在控制部分與硬件之間,該程序?qū)?yīng)于從控制部分接收的消息控制硬件,該程序包括一個第一處理部分,用于與控制部分通信;一個第二處理部分,是可與第一軟件編碼器和第二軟件編碼器進(jìn)行通信的;一個第三處理部分,用于與第一處理部分和第二處理部分通信,并執(zhí)行對應(yīng)于第一軟件編碼器的接口處理;和一個第四處理部分,用于與第一處理部分和第二處理部分通信,并執(zhí)行對應(yīng)于第二軟件編碼器的接口處理;其中第一處理部分對應(yīng)于從控制部分接收的消息輸出一個消息到第三處理部分和第四處理部分之一。
10.一種信息處理設(shè)備,配置在控制部分與硬件之間,用于對應(yīng)于從控制部分接收的消息控制硬件;包括第一裝置,用于與控制部分通信;第二裝置,是與第一硬件和第二硬件可通信的;第三裝置,用于與所述第一裝置和所述第二裝置通信并執(zhí)行對應(yīng)于第一硬件的接口處理;和一個第四裝置,用于與所述第一裝置和第二裝置通信并執(zhí)行對應(yīng)于第二硬件的接口處理;其中所述第一裝置對應(yīng)于從控制部分接收的消息輸出一個消息到所述第三裝置和所述第四裝置之一。
11.如權(quán)利要求10所述的信息處理設(shè)備,還包括第五裝置,用于與控制部分通信;其中所述第五裝置獲得由對應(yīng)于從控制部分接收的消息的硬件處理的數(shù)據(jù)。
12.如權(quán)利要求11所述的信息處理設(shè)備,其中所述第五裝置從控制部分接收指定數(shù)據(jù)存儲位置的消息并獲得由對應(yīng)于數(shù)據(jù)存儲位置的硬件處理的數(shù)據(jù);其中所述第一裝置從控制部分接收指定編碼處理類型的消息;其中所述第三裝置和所述第四裝置之一從對應(yīng)于編碼處理類型的所述第一裝置接收消息;和其中與所述第二裝置通信的第一或第二硬件編碼獲得的數(shù)據(jù),該數(shù)據(jù)對應(yīng)于所述第三裝置和所述第四裝置之一與所述第二裝置的通信結(jié)果。
13.一種用于對應(yīng)于從控制部分接收的消息控制硬件的信息處理方法,包括以下步驟獲得數(shù)據(jù),該數(shù)據(jù)是對應(yīng)于從控制部分接收的消息由硬件處理的,該消息指定數(shù)據(jù)的存儲位置;對第一編碼器或第二編碼器執(zhí)行接口處理,上述各編碼器對應(yīng)于從控制部分接收的一個消息,該消息指定編碼器的類型;發(fā)送已經(jīng)與第一編碼器或第二編碼器接口處理的消息;和使第一編碼器或第二編碼器對應(yīng)于已經(jīng)被接口處理的消息編碼獲得的數(shù)據(jù)。
14.一種用于存儲計(jì)算機(jī)可控程序的存儲介質(zhì),配置在控制部分與硬件之間,用于對應(yīng)于從控制部分接收的消息控制硬件,該程序含有壓縮的處理部分;其中如果在每個處理部分發(fā)生異常,則在用于初始化與硬件交換數(shù)據(jù)的第一緩沖器的第一路徑,用于不分配與控制部分交換數(shù)據(jù)的第二緩沖器、分配第二緩沖器、初始化第二緩沖器、和初始化第一緩沖器的第二路徑,和用于不分配第二緩沖器和不分配第一緩沖器的第三路徑之一進(jìn)行初始化。
15.如權(quán)利要求14所述的存儲介質(zhì),其中當(dāng)每個處理部分在第一路徑被初始化時(shí),如果處理部分不能從異常中恢復(fù),則處理部分在第二路徑進(jìn)行初始化。
16.如權(quán)利要求15所述的存儲介質(zhì),其中當(dāng)每個處理部分在第二路徑進(jìn)行初始化時(shí),如果處理部分不能從異常中恢復(fù),則處理部分在第三路徑進(jìn)行初始化。
17.如權(quán)利要求14所述的存儲介質(zhì),其中當(dāng)從控制部分接收的消息的消息類型是中斷并消息號是QUIT時(shí),每個處理部分在第一路徑中進(jìn)行初始化。
18.如權(quán)利要求14所述的存儲介質(zhì),其中當(dāng)從控制部分接收的消息的消息類型是中斷并消息號是RESET時(shí),每個處理部分在第二路徑中進(jìn)行初始化。
19.如權(quán)利要求14所述的存儲介質(zhì),其中每個處理部分具有應(yīng)答狀態(tài)、管理狀態(tài)、發(fā)送狀態(tài)、接收狀態(tài)、和準(zhǔn)備就緒狀態(tài)。
20.一種用于存儲計(jì)算機(jī)可控程序的存儲介質(zhì),配置在控制部分與硬件之間,用于對應(yīng)于從控制部分接收的消息控制硬件,該程序含有壓縮的處理部分;其中當(dāng)在每個處理部分中發(fā)生異常時(shí),則在含有當(dāng)處理部分被產(chǎn)生時(shí)該處理部分前進(jìn)到的第一初始化狀態(tài)的第一路徑,含有當(dāng)該處理部分完成時(shí)該處理部分前進(jìn)到的第一完成狀態(tài)、當(dāng)該處理部分產(chǎn)生時(shí)該處理部分前進(jìn)到的第二初始化狀態(tài)、和第一初始化狀態(tài)的第二路徑,和含有當(dāng)處理部分完成時(shí)該處理部分前進(jìn)到的第一完成狀態(tài)和第二完成狀態(tài)的第三路徑之一進(jìn)行初始化。
21.一種信息處理設(shè)備,配置在控制部分和硬件之間,用于執(zhí)行對應(yīng)于一個程序的處理,該程序含有用于對應(yīng)于從控制部分接收的消息控制硬件的壓縮處理部分,包括第一初始化裝置,該裝置含有當(dāng)處理部分產(chǎn)生時(shí)每個處理部分前進(jìn)到的第一初始化狀態(tài);第二初始化裝置,該裝置含有當(dāng)處理部分完成時(shí)該處理部分前進(jìn)到的第一完成狀態(tài), 當(dāng)處理部分產(chǎn)生時(shí)該處理部分前進(jìn)到的第二初始化狀態(tài),和第一初始化狀態(tài);和第三初始化裝置,該裝置含有處理部分完成時(shí)該處理部分前進(jìn)到的第一完成狀態(tài)和第二完成狀態(tài);其中如果在處理部分中發(fā)生異常時(shí),執(zhí)行所述第一初始化裝置、所述第二初始化裝置、和所述第三初始化裝置。
22.一種信息處理方法,配置在控制部分和硬件之間,用于執(zhí)行對應(yīng)于一個程序的處理,該程序含有用于對應(yīng)于從控制部分接收的消息控制硬件的壓縮處理部分,包括以下步驟第一初始化步驟,該步驟含有當(dāng)處理部分產(chǎn)生時(shí)該每個處理部分前進(jìn)到的第一初始化狀態(tài);第二初始化步驟,該步驟含有當(dāng)處理部分完成時(shí)該處理部分前進(jìn)到的第一完成狀態(tài),當(dāng)處理部分產(chǎn)生時(shí)該處理部分前進(jìn)到的第二初始化狀態(tài),和第一初始化狀態(tài);和第三初始化步驟,該步驟含有當(dāng)處理部分完成時(shí)該處理部分前進(jìn)到的第一完成狀態(tài)和第二完成狀態(tài);其中如果在處理部分中發(fā)生異常,則執(zhí)行第一初始化步驟、第二初始化步驟、和第三初始化步驟。
全文摘要
當(dāng)接通電源時(shí),啟動實(shí)時(shí)操作系統(tǒng)并產(chǎn)生處理部分。處理部分在狀態(tài)A開始并前進(jìn)到狀態(tài)B。在狀態(tài)B中,處理部分執(zhí)行一種壓縮寄存處理。而后,處理部分從B前進(jìn)到狀態(tài)C。在狀態(tài)C中,處理部分執(zhí)行壓縮資源分配處理。而后處理部分從狀態(tài)C前進(jìn)到狀態(tài)D。在狀態(tài)D中,處理部分對包含一個設(shè)備的壓縮程序執(zhí)行初始化處理。該處理部分前進(jìn)到狀態(tài)E到M之一。處理部分確定是否已經(jīng)接收到一個完成請求消息。當(dāng)已經(jīng)接收到一個非完成請求消息的消息時(shí),處理部分前進(jìn)到一個相關(guān)的狀態(tài)。在狀態(tài)E到M之一中,當(dāng)確定的結(jié)果表示已經(jīng)接收到完成請求消息時(shí),處理部分前進(jìn)到狀態(tài)N。在狀態(tài)N中,處理部分對第二緩沖器執(zhí)行不分配處理。而后,處理部分前進(jìn)到狀態(tài)0。在狀態(tài)0中,處理部分不分配第一緩沖器并關(guān)閉該設(shè)備。而后,處理部分前進(jìn)到狀態(tài)P。在狀態(tài)P中,停止實(shí)時(shí)操作系統(tǒng)并關(guān)斷電源。
文檔編號G10H1/00GK1337025SQ00802854
公開日2002年2月20日 申請日期2000年10月27日 優(yōu)先權(quán)日1999年10月29日
發(fā)明者巖津健 申請人:索尼公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1