專利名稱:軟件改寫方法及軟件改寫裝置的制作方法
技術領域:
本發(fā)明涉及軟件改寫方法及軟件改寫裝置。
在上述方法1)中,例如,在舊軟件運行的機器上連接用于軟件改寫的專用終端,機器的電源先切斷后再接通。此時,機器具有的用于軟件改寫的軟件在檢測出專用終端送來改寫的新的軟件(以下,稱為“新軟件”)的情況下,通過與普通處理模式不同的改寫模式來中止舊軟件的運行,將舊軟件改寫為新軟件。然后,從機器上切斷專用終端,通過機器的電源切斷/再接通,在機器中執(zhí)行新軟件。
而在上述方法2)中,例如,舊軟件運行的機器內的中央處理單元(以下,稱為“CPU”)在普通處理中,通過中斷等暫時停止舊軟件的運行來進行改寫,在改寫后,通過解除停止狀態(tài)來執(zhí)行新軟件。
然而,在現有的上述方法1)中有下述問題在進行改寫當中,機器不能進行普通處理,所以不能進行機器本來的使用。而在上述方法2)中有下述問題雖然不會妨礙機器本來的使用,而且是暫時性的,但是還是要停止機器的普通處理。
本發(fā)明人認為,在軟件不是正在執(zhí)行的情況下進行改寫、或者停止軟件的執(zhí)行來進行改寫,都是為了根據軟件單位的執(zhí)行狀況來進行改寫,發(fā)現在軟件中也能夠區(qū)分為正在執(zhí)行的部分和未執(zhí)行的部分,從而提出本發(fā)明。
因此,為了實現上述目的,在本發(fā)明中,檢測軟件中未執(zhí)行的部分,依次改寫該部分。
圖2是本發(fā)明實施例1的軟件改寫操作的說明圖。
圖3是本發(fā)明實施例2的軟件改寫操作的說明圖。
實施發(fā)明的最好形式以下,參照附圖來詳細說明本發(fā)明的實施例。
(實施例1)本實施例的軟件改寫方法及軟件改寫裝置將軟件中作為改寫對象的多個處理模塊區(qū)分為正在執(zhí)行模塊、和非正在執(zhí)行模塊,改寫非正在執(zhí)行模塊。
以下,說明本發(fā)明實施例1的軟件改寫方法及軟件改寫裝置。
圖1是本發(fā)明實施例1的軟件改寫裝置的概略結構要部方框圖。
在CPU 101中,普通處理部102、改寫處理部103及控制部104進行工作。
普通處理部102具有執(zhí)行模塊存儲部105,從軟件存儲部108中存儲的各種軟件中,提取當前進行的處理所需的軟件并在執(zhí)行模塊存儲部105中展開,執(zhí)行普通處理。這里所說的普通處理,是指CPU 101內進行的軟件改寫處理以外的所有處理。
改寫處理部103具有改寫模塊存儲部106和改寫表107,根據來自控制部104的指示,通過從傳送部109送來的新軟件來更新軟件存儲部108中存儲的舊軟件,從而將舊軟件改寫為新軟件。
改寫模塊存儲部106存儲從傳送部109送來的新程序,直至改寫處理結束。
改寫表107是改寫處理部103進行軟件改寫時參照的表,是用于管理軟件執(zhí)行狀態(tài)的表。改寫表107的結構待后述。
控制部104監(jiān)視CPU 101進行的處理的負荷程度,在普通處理部102進行的處理減少、CPU 101進行的處理的負荷減小、CPU 101有也能進行普通處理以外的其他處理的裕量的情況下,向改寫處理部103指示進行改寫處理。此外,在普通處理部102進行的處理增加的情況下,控制部104向改寫處理部103指示中止改寫處理。這樣,軟件改寫裝置在CPU進行的處理的負荷程度小時進行改寫處理,所以能夠在不影響CPU進行的普通處理的情況下進行軟件改寫。
軟件存儲部108存儲普通處理部102執(zhí)行的各種軟件。
傳送部109將從機器外部經有線或無線而傳輸來的新軟件變換為CPU101能處理的數據形式,傳送到改寫模塊存儲部106。
接著,用圖2來說明具有上述結構的軟件改寫裝置的操作。圖2是本發(fā)明實施例1的軟件改寫操作的說明圖。
軟件存儲部108中存儲的各種軟件是將整個軟件按處理單位分為多個處理模塊來存儲的,軟件以該處理模塊為單位在執(zhí)行模塊存儲部105中被展開,由改寫處理部103改寫。
這里,如圖2(A)所示,假設作為改寫對象的舊軟件,其整個軟件被分為10個模塊。
此外,通常在進行軟件改寫時,不是改寫整個軟件,而是只改寫需要改寫的模塊(以下,稱為“舊模塊”),以便縮短改寫時間。
從傳送部109送至改寫模塊存儲部106的要改寫的新的模塊(以下,稱為“新模塊”)被存儲到改寫模塊存儲部106中,直至改寫結束。
此外,改寫處理部103檢測出已將新模塊送至改寫模塊存儲部106后,形成圖2(B)所示的改寫表107。該改寫表具有表示新模塊的模塊號的項目;和表示執(zhí)行狀態(tài)的項目,表示與新模塊對應的舊模塊當前是否在執(zhí)行模塊存儲部105中被展開并正在執(zhí)行。
這里,如果假設作為新模塊將模塊1~3傳送到改寫模塊存儲部106,則如圖2(B)所示,在改寫表107的模塊號項目中填寫模塊1~3。在此階段,執(zhí)行狀態(tài)項目尚未被填寫。
如果普通處理部102進行的處理減少、CPU 101進行的處理的負荷減小,則控制部104向改寫處理部103指示進行改寫處理。
此外,控制部104監(jiān)視在執(zhí)行模塊存儲部105中被展開并正在執(zhí)行的模塊,所以向改寫處理部103指示進行改寫處理,同時,控制部104通知當前在執(zhí)行模塊存儲部105中被展開并正在執(zhí)行的模塊號。在執(zhí)行模塊存儲部105中,當前在普通處理部102中進行的處理所需的多個模塊被組合并被展開。
這里,如圖2(C)(1)所示,在圖2(A)的舊軟件中,假設在執(zhí)行模塊存儲部105中被展開并正在執(zhí)行的是舊模塊1~3。
接著,改寫處理部103對比控制部104通知的模塊號和改寫表107中存儲的模塊號,填寫執(zhí)行狀態(tài)項目。通知的模塊號是1~3,改寫表107中存儲的模塊號也是1~3,所以如圖2(B)(1)所示,改寫處理部103將改寫表107的執(zhí)行狀態(tài)項目都填寫為“正在執(zhí)行”。
然后,改寫處理部103參照改寫表107,在改寫模塊存儲部106中存儲的新模塊中,提取當前不是正在執(zhí)行的模塊,通過新模塊來改寫軟件存儲部108中存儲的舊模塊。這里,如圖2(B)(1)所示,模塊1~3都是正在執(zhí)行,所以不進行改寫。
然后,如果普通處理部102進行的處理再次減少,則控制部104向改寫處理部103指示進行改寫處理。此時,如圖2(C)(2)所示,假設在執(zhí)行模塊存儲部105中被展開并正在執(zhí)行的是模塊8~10。
接著,改寫處理部103通過上述同樣的操作來填寫執(zhí)行狀態(tài)項目。通知的模塊號是8~10,改寫表中存儲的模塊號是1~3,所以如圖2(B)(2)所示,改寫處理部103將改寫表107的執(zhí)行狀態(tài)項目都填寫為表示非正在執(zhí)行的“正在停止”。
然后,改寫處理部103參照改寫表107,從改寫模塊存儲部106中提取當前不是正在執(zhí)行的模塊1~3,通過新模塊1~3來改寫軟件存儲部108中存儲的舊模塊1~3。
在改寫結束后,改寫處理部103消去改寫模塊存儲部106中存儲的模塊及改寫表107的內容。
在本實施例中采用的結構是控制部104經常監(jiān)視CPU 104的負荷程度,在CPU 101進行的處理的負荷減小的情況下,向改寫處理部103指示進行改寫處理;但是也可以采用下述結構。即,也可以采用下述結構在新模塊被傳送到改寫模塊存儲部106、在控制部104中有來自改寫處理部103的改寫請求的情況下,控制部104調查CPU 101的負荷程度。然后,在CPU 101進行的處理的負荷小的情況下,控制部104向改寫處理部103指示進行改寫處理。
這樣,根據本實施例的軟件改寫方法及軟件改寫裝置,將軟件中作為改寫對象的多個處理模塊區(qū)別為正在執(zhí)行模塊、和正在停止模塊,改寫正在停止模塊,所以不停止該軟件的執(zhí)行就能夠在普通處理中進行軟件改寫。
(實施例2)本實施例的軟件改寫裝置與實施例1的不同點在于,改寫表具有表示改寫狀態(tài)的項目。
以下,用圖1及圖3來說明本發(fā)明實施例2的軟件改寫方法及軟件改寫裝置。圖3是本發(fā)明實施例2的軟件改寫操作的說明圖。本實施例的軟件改寫裝置的結構及操作與實施例1大致相同,所以對結構及操作相同的部分,省略其詳細說明。
改寫處理部103檢測出新模塊被送至改寫模塊存儲部106后,形成圖3(B)所示的改寫表107。該改寫表是在實施例1的改寫表上追加表示改寫狀態(tài)的項目所得的表。
這里,如果假設作為新模塊將模塊1~3及8~10傳送到了改寫模塊存儲部106,則如圖3(B)所示,在改寫表107的模塊號項目中填寫模塊1~3、8~10。此外,在將模塊1~3及8~10填寫到改寫表中時,將改寫狀態(tài)都填寫為“未完成”。在此階段,執(zhí)行狀態(tài)項目尚未被填寫。
如果普通處理部102進行的處理減少、CPU 101進行的處理的負荷減小,則控制部104向改寫處理部103指示減小改寫處理,并且通知當前在執(zhí)行模塊存儲部105中被展開并正在執(zhí)行的模塊號。
這里,與實施例1相同,如圖3(C)(1)所示,在圖3(A)的舊軟件中,假設在執(zhí)行模塊存儲部105中被展開并正在執(zhí)行的是模塊1~3。
接著,改寫處理部103對比控制部104通知的模塊號和改寫表107中存儲的模塊號,填寫執(zhí)行狀態(tài)項目。通知的模塊號是1~3,改寫表107中存儲的模塊號是1~3及8~10,所以如圖3(B)(1)所示,改寫處理部103填寫改寫表107的執(zhí)行狀態(tài)項目,對模塊號1~3填寫為“正在執(zhí)行”,而對模塊號8~10填寫為“正在停止”。
然后,改寫處理部103參照改寫表107,在改寫模塊存儲部106中存儲的新模塊中,從改寫模塊存儲部106中提取當前不是正在執(zhí)行、而且未完成改寫的模塊,通過新模塊來改寫軟件存儲部108中存儲的舊模塊。
這里,新模塊都是改寫“未完成”,模塊1~8是“正在執(zhí)行”,模塊8~10是“正在停止”,所以改寫處理部103從改寫模塊存儲部106中提取新模塊8~10,通過新模塊8~10來改寫軟件存儲部108中存儲的舊模塊8~10。
直至改寫處理部103結束模塊8~10的改寫,圖3(B)(1)所示的模塊8~10的改寫狀態(tài)一直是“未完成”。
然后,如果模塊8~10的改寫結束,則如圖3(B)(1)所示,改寫處理部103將改寫表107的模塊8~10的改寫狀態(tài)從“未完成”變?yōu)椤巴瓿伞薄?br>
接著,如果普通處理部102進行的處理增大,則控制部104向改寫處理部103指示暫時中止改寫處理。根據該指示,改寫處理部103暫時中止改寫處理。此時的改寫表107的改寫狀態(tài)的內容如圖3(B)(1)所示,對模塊1~3是“未完成”,而對模塊8~10是“完成”,所以在改寫處理部103再次從控制部104收到改寫處理的指示時,改寫處理部103可以判斷為對改寫已經完成的模塊8~10無需進行改寫,而只對改寫未完成的模塊1~3進行改寫即可。
然后,如果普通處理部102進行的處理再次減少,則控制部104向改寫處理部103指示進行改寫處理。此時,與實施例1相同,如圖3(C)(2)所示,假設在執(zhí)行模塊存儲部105中被展開并正在執(zhí)行的是模塊8~10。
接著,由于通知的模塊號是8~10,所以如圖3(B)(2)所示,改寫處理部103將執(zhí)行狀態(tài)項目對模塊1~3填寫為“正在停止”,而對模塊8~10填寫為“正在執(zhí)行”。
然后,改寫處理部103參照改寫表107,從改寫模塊存儲部106中提取當前不是正在執(zhí)行、而且改寫“未完成”的模塊1~3,通過新模塊1~3來改寫軟件存儲部108中存儲的舊模塊1~3,在模塊1~3的改寫結束后,如圖3(B)(2)所示,將改寫表107的模塊1~3的改寫狀態(tài)從“未完成”變?yōu)椤巴瓿伞薄?br>
然后,改寫處理部103確認改寫表107的改寫狀態(tài)已經成為“完成”后,消去改寫模塊存儲部106中存儲的模塊及改寫表107的內容。
這樣,根據本實施例的軟件改寫方法及軟件改寫裝置,由于改寫表具有表示改寫狀態(tài)的項目,所以能夠在軟件中作為改寫對象的多個處理模塊中,判別改寫已完成的模塊、和改寫未完成的模塊,只對改寫未完成的模塊進行改寫。由此,在要改寫的模塊數多的情況下,無需通過一次改寫處理來進行改寫,可以分多次來進行改寫。此外,由于不對改寫已完成的模塊再次進行改寫,所以能夠減輕改寫處理的負荷,并且高效率地進行改寫處理。
上述實施例1及實施例2的軟件改寫裝置可以應用于無線通信系統中的移動臺裝置等通信終端裝置。在應用的情況下,例如如果通信終端裝置是移動臺裝置,則能夠使用從基站裝置向移動臺裝置經常發(fā)送控制信號的控制信道等來無線傳輸軟件,在移動臺裝置中,利用正在等待等CPU的處理負荷比較小時來進行軟件改寫。因此,在以往需要進行軟件改寫的情況下,需要回收移動臺裝置進行軟件改寫,或者移動臺裝置用戶去有改寫終端的銷售點等進行改寫,在改寫中不能將移動臺裝置用于通信,而根據本發(fā)明,不使移動臺裝置用戶意識到進行了軟件改寫,就能夠在移動臺裝置的普通使用狀態(tài)下進行軟件改寫。
此外,上述實施例1及2的軟件改寫裝置可以應用于有線連接的通信終端裝置、有線連接的計算機裝置及無線連接的計算機裝置。
如上所述,根據本發(fā)明,在軟件的執(zhí)行中,不停止軟件的執(zhí)行,就能夠進行軟件改寫。
本說明書基于平成11年8月18日申請的特愿平11-231468。其內容全部包含于此。
產業(yè)上的可利用性本發(fā)明可以應用于無線通信系統中的移動臺裝置等通信終端裝置。此外,本發(fā)明可以應用于有線連接的通信終端裝置、有線連接的計算機裝置及無線連接的計算機裝置。
權利要求
1.一種軟件改寫方法,其中,在被改寫的軟件的執(zhí)行中,檢測上述被改寫的軟件中未執(zhí)行的部分,依次改寫上述未執(zhí)行的部分。
2.如權利要求1所述的軟件改寫方法,其中,被改寫的軟件是被分割為1個或多個模塊的軟件,將各個模塊判別為正在執(zhí)行的模塊和非正在執(zhí)行的模塊,依次改寫上述非正在執(zhí)行的模塊。
3.如權利要求2所述的軟件改寫方法,其中,將改寫模塊暫時存儲到存儲器中,對比上述改寫模塊和正在執(zhí)行的模塊,在與上述改寫模塊對應的模塊不是正在執(zhí)行時,通過上述改寫模塊來依次改寫被改寫的軟件中的上述對應的模塊。
4.如權利要求3所述的軟件改寫方法,其中,對于被改寫的軟件中的對應的模塊,判定是否已改寫,不再次改寫已改寫的上述對應的模塊。
5.一種軟件改寫裝置,包括軟件存儲器,存儲被分割為1個或多個模塊的軟件;處理器,展開并執(zhí)行上述模塊;模塊存儲器,暫時存儲改寫模塊;判別器,對比上述改寫模塊和上述處理器中正在執(zhí)行的模塊,判別與上述改寫模塊對應的模塊的執(zhí)行狀態(tài);以及改寫器,根據判別結果通過上述改寫模塊來依次改寫上述軟件存儲器中存儲的上述對應的模塊。
6.如權利要求5所述的軟件改寫裝置,其中,判別器具有以表示改寫模塊的模塊號的項目、和表示與改寫模塊對應的模塊的執(zhí)行狀態(tài)的項目作為構成項目的表,改寫器參照上述表來進行改寫處理。
7.如權利要求6所述的軟件改寫裝置,其中,表以表示與改寫模塊對應的模塊的改寫狀態(tài)的項目作為構成項目。
8.如權利要求5所述的軟件改寫裝置,包括控制器,調查CPU進行的處理的負荷程度,在上述負荷程度減小時,向改寫器指示進行改寫處理。
9.如權利要求8所述的軟件改寫裝置,其中,控制器根據來自改寫器的改寫請求,調查CPU進行的處理的負荷程度。
10.一種其特征在于搭載軟件改寫裝置的通信終端裝置,其中,上述軟件改寫裝置包括軟件存儲器,存儲被分割為1個或多個模塊的軟件;處理器,展開并執(zhí)行上述模塊;模塊存儲器,暫時存儲改寫模塊;判別器,對比上述改寫模塊和上述處理器中正在執(zhí)行的模塊,判別與上述改寫模塊對應的模塊的執(zhí)行狀態(tài);以及改寫器,根據判別結果通過上述改寫模塊來依次改寫上述軟件存儲器中存儲的上述對應的模塊。
全文摘要
普通處理部102以模塊為單位在執(zhí)行模塊存儲部105中展開并執(zhí)行軟件存儲部108中存儲的程序,改寫模塊存儲部106暫時存儲從傳送部109送來的改寫模塊,改寫表107具有表示改寫模塊的執(zhí)行狀態(tài)的項目,改寫處理部103通過參照改寫表107來判別軟件中未執(zhí)行的模塊,通過改寫模塊存儲部106中存儲的改寫模塊來依次改寫軟件存儲部108中存儲的程序的未執(zhí)行的模塊。
文檔編號G06F9/445GK1318166SQ00801470
公開日2001年10月17日 申請日期2000年8月10日 優(yōu)先權日1999年8月18日
發(fā)明者磯貝勇雄 申請人:松下電器產業(yè)株式會社