TW432317B - System and method for improved program launch time - Google Patents
System and method for improved program launch time Download PDFInfo
- Publication number
- TW432317B TW432317B TW088105949A TW88105949A TW432317B TW 432317 B TW432317 B TW 432317B TW 088105949 A TW088105949 A TW 088105949A TW 88105949 A TW88105949 A TW 88105949A TW 432317 B TW432317 B TW 432317B
- Authority
- TW
- Taiwan
- Prior art keywords
- disk
- file
- files
- magnetic
- startup
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3485—Performance evaluation by tracing or monitoring for I/O devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Description
4 3 23 1 7 五、發明說明(i) 技藝範疇 本發明說明於一硬碟機上儲存資料;且更明確地說明以 一種儲存資料之方法,使程式啟動和其它密集磁碟操作期 間,減少從一磁碟讀中取該資料所需的時間。 發明背景 就用以儲存電腦資料的磁碟機而論,利用該名詞M片段” 意指一磁碟區或邏輯磁碟上該等非相鄰排列的檔案。片段 檔案,可意指該相同磁碟檔的各部分散置於該邏輯磁碟上 不同的區域,或意指該全部檔案的散置,以致檔案間有未 使用的空間。片段通常發生於"從該邏輯磁碟中刪除舊的 i檔案”和增加新的擋案"時□當刪除檔案時,該先前使用 的空間變成可用的,故該電腦的作業系統將新的檔案寫入 該邏輯磁碟中該空的區域。然而,如一個新的檔案太大以 j 致無法裝入一個空的區域中時,則該作業系統可藉儲存該 檔案的各部分於數個空的區域中以將該檔案分成片段,其 中該檔案可能散置在該邏輯磁碟各處。同樣地,一個現存 檔可變成片段的,如該檔案的大小增大至超過和π儲存該 檔案空間"相鄰之該相鄰閒置空間的大小時。該作業系統 維持”一個檔案每一個部分儲存在何處π之一個記錄,因此 從該邏輯磁碟中讀取該檔案時,可以該合適的次序擷取該 檔案。 於從頭到尾均線性讀取一個檔案的狀況下,片段將減緩 磁碟的存取,並削減該磁碟操作的全面性能。公用程式可 有效的重整片段磁碟上的該等檔案。除了重新排列該等檔
第6頁 y.) 五、發明說明¢2) __ _ 案以便將每個檔案儲存於哕 ^ 通常排列該等擋案、传A ^磁碟中相鄰的部分,該等程式 將空的空間合併至兮斑二句儲存在該邏輯磁碟的前部□此 系統不需費時長久^她a尾部,並視為有益的,因該作業 褚案,且較可妒妝尋以找出足夠可用的空間儲存新的 片段的),而非n新^儲存於相鄰的磁串中(即非 串組中。 ;很夕、散置在該磁碟各處較小的磁 d ϋ t線性讀取該等非片段檔案時,片段整合係有 係=笨i y良性能。然而,當執行某些操作時,該電腦 同&=片可預知的序列從數個不同的檔案中擷取資料段, 〜個,r=從每—個檔案中讀取少數資料段。例如,啟動 分—子=理程式可導致載入該主要可執行的一第一個部 i部:動^連結函數庫的一部分、該主要可執行的-第二 如:權V Η射個優先槽…等等。當選取某些程式命令時(例 作的型)亦產生類似的磁碟活動。該等密集磁碟操 之磁雄二可導致很多從一個實體磁串到另一個實體磁串 平均揩慕1的移動。因現代的微處理器,較之一磁碟機的 許多X ^間來說係如此的快,又因必須從該磁碟中讀取 式所需以啟動一典型的H故大部分啟動一程 磁頭從一^ ^ 費在該微處理器閒置不動、等待該磁碟 武 ▲,磁串移動至另—個磁串上。 啟ί:: 2察研究,當執行-個密集磁碟操作(例如, 集磁碟操或啟動和某些命令相關的編碼)時’將該密 、下期間該邏輯磁碟區上(且如是在該實體磁碟上)
第7頁 4 3 i、發明說明(3) 所使用的該等資料段以"該操作期間存取該等資料段的次 序”排列係有利的。此將導致因設計使該等程式枰眘八忐 片段,並將藉著減少載入該邏輯磁碟該/求資非 楯序式磁碟存取總數以改良性能。 該先前技藝說明了該重新架構或片段應用檔案之型態, 以使該應用啟動處理最佳化。例如,〖β Μ的技術揭露土示 序號· 卜說明了所謂的簡述導引重 新架構”。與其根據有關檔案參考形態的傳統假設來排列 稽案’該系統係動態地將擋案存取形態判定成執行程式, 『酉己置磁碟空fe1,以使在每一個石更體/ *體架構上執行該 性能ί大化。為達此目地,當該程式啟動 簡述資料的樓案中。在預定的區厂:的f區記錄至-包含 判定-較佳的槽案配置結構二解析該簡f資料以 運算器可執行一重新架構的程式了 °、此的。如可忐,則該 指示的該等磁碟存取形態將磁碟;該簡f資料中所 將該磁碟資料段存取位置從:配置給檔帛。該程式 案上,且將該等經常存取的射至其相關的樓 該磁碟上。該產生的磁碟資 ·^貫肢密接地一起置放於 架構的該共用存取形態來說將^己K構,對該特殊電腦 微軟公司亦發表其"視窗9 8,,作 土 式啟動期間容許它監督磁碟 業系統將包括"於應用程 的檔案,以便以序列的方式M ,和”重新排列該等儲存 11之特徵。 X列啟動期間所使用的資料段
五、發明說明(4) 雖然該先前技藝說明了一個用以最佳化程式啟動檔案之 處理,但卻是在程式安裝於一個電腦上、並繼之由一個使 用者啟動之後才執行該等技藝。該方法包括數個缺點。例 如,直到安裝和啟動了一個程式、並監督該啟動處理時, 才會發生最佳化。於程式啟動期間該監督磁碟存取的處理 可顯著地減緩該啟動處理。於監督該啟動處理之後,該電 腦必須執行一個耗時的最佳化常式,將防止該使用者於該 最佳化處理期間使用該電腦,或要求該使用者離開該電腦 以於數小時後可執行該常式。最後,該方法只適合監督和 最佳化該啟動處理,但不適合其它的密集磁碟操作,如載 入該和某些命令C例如π檔案開啟")相關的編碼。
於作業系統軟體中執行該等最佳化特徵的情況下,一個 使用者必須獲得和安裝該作業系統一個適當版本的複製, 以利用該等最佳化的特徵。在許多的事例中,使用者不願 花費該要求的金錢和時間,將他們的作業系統軟體升級以 利用新的特徵,或許在一個公司中,使用者本身並不作這 樣的決策。此導致多數使用者使用一作業系統較舊的版 本,且無法在應用啟動上感受到改良的性能。 I | 因此,於該技藝中需要一個改良的系統和方法,以啟動i 應用或命令時存取資料的次序將該資料儲存於一邏輯磁碟 上。該一種方法應避免於一邏輯磁碟上安裝了應用程式 檔案之後該監督該等應用程式檔案的需要π ,並不應要求 使用者獲得和安裝其作業系統軟體一新的版本。 發明總結
第9頁
五、發明說明(5)
| 本發明藉安裝或於稍後重新排列一個程式以滿足該上、,| I所需,故於啟動該程式或執行一個命令時所讀取之^ 述丨 相關的部分,係儘可能以"一典型啟動期間讀取該啟動相 ! 關部分"相近的次序儲存之。於安裝期間或安裝之猞μ ^ I用的該軟體,包括該等必要的程式檔案和一載入序列表 !以辨識讀取該等檔案啟動相關部分的次序。於安裝式独, | 4稍後 :重新整理期間,將該等檔案該等啟動相關的部分以該栽 序列表中所指示的次序排列,最好將該等啟動相關的部八 I儲存於該邏輯磁碟上相鄰的磁串中。將該等檔案剩餘的; 分安裝於該磁碟上其它閒置的空間中。當一個使用者執& ;該程式時,因該電腦可以該適當的次序從該邏輯磁碟上相 ;鄰的磁串中讀取該等啟動檔案,故減少了啟動時間,藉以 減少和"從非相鄰磁串中讀取資料”相關的延遲。 1 J 一般來說,本發明提供一個電腦可讀取的安裝媒體,並 容許以~種加速"該啟動"、”一程式或其它密集磁碟操作” 丨處理之方法》安裝或於稍後重新排列程式^該安裝媒體包 I括多個樓案,其中該多個檔案包括啟動相關的部分和一個| '序列表°該載入序列表指示一個邏輯磁碟上排列該等丨
丨2 Γ β玄等啟動相關部分的次序。該安裝媒體亦包括電腦可I 執行的指冬,m ,, 丨新整理勺紅用以執行安裝或重新整理的步驟。安裝或重| 丨將該多:抨識該邏輯磁碟上至少-組相鄰的閒置磁串。 I串中,將該等啟動相關的部分安裝至一組相鄰閒置磁 次序儲在等啟動相關的部分以該載入序列表中所指示的 廿於喊硬碟機上。
第10頁 發明說明(6) 梦^ ^ 方面來說,本發明提供一種”將程式碼從一個安 I =安裝到一個硬碟機"之方法。該方法包括"從 I 上儲存的一載入序列表讀取條目之該牛驟。过—、 |】條目辨識一個和該程式碼相關的部?:母 丨目所辨識的該樓案部分,並將該稽案部=碟中讀取該條 二組相鄰的閒置磁串中,案部分係二:入該硬碟機上 列表中該條目的次序儲存於該硬碟機上。對應至該載入 又就另一方面來說,本發明提供—種" ^、亚將該程式碼從一個安裝磁碟安裝 生程式 方法”亥方法包括"產生包含啟動相關乂八、輯磁碟上" :程式啟動或其它密集磁碟操作期間二:檔案,,及 ^相關部分的次序Μ。產生一個載入序列^漬取該等啟 期間,讀取該等啟動相關部分 ^反映1程式啟 ^程式包括電腦可執行的指令,用以:;裳磁碟上=該 ;至少-組相鄰的閒置磁串,並將該多個::個邏輯磁碟 :部分安…組或多組相鄰的閒置以該等,動: 磁磲上。 所扣不的次序儲存於該邏輯 然而又就另 碟上,用以安 生多個包含和 嵫碟操作期間 本發明提供~ 式碼"之方法 相關的檔案" 等密集磁碟部 種”於一邏輯磁 該方法包括"產 及"於該等密集 分的次序"之該
第11頁 一方面來說, 裝和最佳化程 密集磁碟操作 ’判定讀取該 d Ί ) 7
五、發明說明(7) I 等步驟。產生一個載入序列表以指示"該等密集磁碟操作 i 期間,讀取該等密集磁碟部分的次序"。該多個檔案和該 載入序列表安裝於一個邏輯磁碟上。於安裝之後,藉'’辨 識該邏輯磁碟上至少一組相鄰的閒置磁串”和'’重新排列該 等閒置磁串中該等密集磁碟部分”,以使該等密集磁碟部 分最佳化。該等密集磁碟部分以該載入序列表中所指示的 次序儲存於該邏輯磁碟上。 從視察下面所揭露體系的詳述中,並參考該附加的圖示| 和專利申請,將可更清楚、多方面的瞭解和察知本發明。| 圖式簡單說明 圖1為一個提供該作業環境給本發明一個體系的個人電 腦之方塊圖; i 圖2為一個流程圖,例證說明一種"用以產生一個安裝磁 碟,將檔案以程式啟動期間载入的次序安裝於一邏輯磁碟 上"之代表性的方法; 圖3為一個流程圖,例證說明一種”用以將檔案從一個安 裝磁碟安裝到一個邏輯磁碟上、並以程式啟動期間載入該 等檔案的次序儲存該等檔案M之代表性的方法;
I 圖4為一個表,例證說明該一代表性載入序列檔的内 丨 容; 圖5為一個表,例證說明"該三個檔案該啟動相關的元件 "和M該等元件一代表性的載入次序"; 圖6為一個表,例證說明一種"用以將檔案元件寫入一邏 輯磁碟上閒置磁串中"之代表性的方法; 丨五、發明說明(8) 圖7為一個表,例證說明一種”用以將檔案元件寫入一邏 -i輯磁碟上閒置磁_令π之代表性的方法; 圖8為一個流程圖,例證說明一種η於一邏輯磁碟機上安 裝檔案部分之後,將檔案部分最佳化π之選擇性的方法。 發明詳述 ; 本發明針對一種”用以於一硬碟機上安裝一程式π之改良 的系統和方法。於一代表性的體系中,將該等應用相關的 擋案安裝於一邏輯磁碟區上(即一個實體磁碟機的一個邏 輯子集合),以便啟動該程式或選取一命令時所讀取之該 等啟動相關的部分,以啟動期間讀取的次序儲存之。該安 裝軟體包括該等必要的檔案和一載入序列表,以辨識啟動
I |期間載入該等檔案啟動相關部分的次序。於安裝期間,以 該載入序列表中所指示的次序安裝啟動期間所用之該等檔I 案的該等部分,最好將該等啟動相關的部分儲存於該邏輯 磁碟上相鄰的磁串中。將該等檔案剩餘的部分安裝於該邏 :輯磁碟上其它間置的空間中。選擇性地,可以一種傳統的 方法安裝該等程式檔,並繼之以一載入序列表中所指示的 次序重新排列該等啟動相關的部分。當一個使用者啟動該 程式或選取一個命令時,因該電腦可以該適當的次序從該 磁碟上相鄰的磁_中讀取該等啟動相關部分的檔案,故減 少了啟動時間,藉以減少和"從非相鄰磁串中讀取資料”相
I 關的延遲。
I | 現在參考該等圖示,其中類似的數字代表遍布於該等若 干圖示上類似的元件,將多方面的說明本發明,並說明一
第13頁 五、發明說明¢9) 個代表性的作業環境。 代表性的作業根境 圖1和該下面的討論係對—個合適的計算環境提供一個 i簡短概略的說明,其中該計算環境可執行本發明。當就該 —個啟動程式c利用該啟動程式將一個應用程式安裝在一 !個與一人電腦相關的硬碟機上)的概述說明本發明時,則 對那些熟知此技藝的人來說’將察知亦可與多種程式模組 共同執行本發明’包括應用程式模組,作業系統程式模 I組,公用程式模組…等等。一般來說’程式模組包括常 ;式,程式,元件,貧料結構…等等,用以執行特殊的工作 或特殊的摘要資料型態。此外’對那些熟知此技藝的人來 !說’將察知可和其它的電腦系統架構實行本發明,包括掌 i上型裝置,多處理器系統,植基於微處理器或可程式化的 :消耗者電子學,迷你電腦,大型主機電腦..,等等。亦可於 分散式計算環境中實行本發明,其中藉遠端處理裝置(經 由一通訊網路連結之遠端處理裝置)執行工作。於一分散 式計算環境中,可同時於本地記憶體儲存裝置和遠端記憶 :體儲存裝置中設定程式模組。 參考圖1,一用以執行本發明(包括一傳統個人電腦2 0 ) 之代表性的系統’包括一處理單元2 1,一系統記憶體2 2, 和一將該系統記憶體耦合至該處理單元2 1之系統匯流排 23。該系統記憶體22包括唯讀記憶體(R〇M) 24和隨機存取 記憶體(RAM) 25。一儲存於R〇m 24中的基本輸入/輸出系統 i (BIOS )26,包含該等基本常式協助個人電腦2〇内元件間的
第14頁 ------- 五、發明說明(10) 〜·'-- 資訊轉移’如啟動期間。個人電腦20更進一步勺 機27,-可移式磁碟機28,例如從_可移式: = 寫入一可移式磁碟29中,和一光學磁碟機3〇,例或 唯讀光碟機(CD-R0M)31,或從其它光學媒體讀取1 二 它光學媒體中。硬碟機27,可移式磁磲機以和光學磁: 3辟藉一硬碟機界面32、—磁碟機界面33和-光Ϊ磁 碟界面3 4分別連接至系統匯流排2 3上。今擎 腦可讀取媒體提供非揮發性儲存:給個=二其。相 P —熟知此技藝的人來說’將察知—一 61 包括-個或多個"區”或”邏輯磁碟:, 俨硬碟機27 的邏輯子集合。雖然該上述電腦可讀取^體二體驅動裝置 ;碟機、-可移式磁碟和一唯讀媒=兄明意指-技藝的人來筇 處々土甘^> γ ^ 仁對那些熟知此 如磁性卡册 由一電腦讀取的媒體型式, 1 ’亦可用於該代表性的作業環境中。“努力卜· —作業動器上或議25中儲存若干程式模%,包括 應用程Ϊί 5(例如微軟公司的,'視窗阶作業系統),-套 ;的應用程式37和資料38。典型上一套j_;—個或多個其 將作業系統軚Μ $ $用二#攸一個光碟3 1或軟碟29 事例中,^ ^於硬碟機27上。於多數的 式或安裝二;存在該唯讀光碟機或軟碟機上的-個ΐ。 制該安裝Ϊ :里:連同3玄作業系統或應用相關的檔案-起控 —個使用
i r~~-----——-----— 丨五、發明說明(11) 42)將命令和資訊輪入至個人電腦2〇中。其它的輸入裝置 (未顯示)可包括一擴音器,搖桿,遊戲墊,衛星盤,掃瞄 器或類似的東西。通常將該等輸入裝置和其它的輸入裝置 經由一序列埠界面46連接炱處理單元21 ,其中序列埠界面 4 6和該系統匯流排耦合,但可藉其它的界面將該等輸入裝 置連接至處理單元21,如一個遊戲埠或一個萬用序列匯流 排(USB)。一個監視器47或其它型式的顯示裝置,亦可經 由一個界面連接至系統匯流排23 ’如一個視訊界面卡4 8。 除了該監視器之外,個人電腦典型地包括其它的週邊輸出 I裝置(未顯示),如°刺吧或印表機。 | 個人電腦2 0可利用邏輯連接至一個或多個遠端電腦上, I如—個遠端電腦49 ,以於一網路環境中執行。該遠端電腦 | 49可以為__個信件伺服器(包括一個或多個訊息儲存),— 個檔案伺服器(包括一個或多個檔案儲存),一個路由器, ~個同層裝置或其它共用的網路節點,且其典型地包^节 斤述和個人電腦2 〇相關的許多或所有元件,雖然圖1中口 例證說明了 一個記憶體儲存裝置5 〇。圖1中所描述的該等 邏輯連接,包括一個區域網路(LAN) 和一個廣域網路 (WAN) 5 2。於辦公室、廣泛困難工作(企業遍及)的電腦網 路、内部網路和國際網際網路中,這樣的網路環境'\ 普通的。 戸节 當使用於一個LAN的網路環境中時,個人電腦2〇經由— |網路界面53連接至LAN 51上.當使用於一個WAN的網路環 |境中時,個人電腦20典型地包括一個數據機54或其它用1
第16頁 i五、發明說明(12) ;於WAN 如窗 !可為内部的或 ‘流排2 3 °於一 相關部分的程 中d將察知1 該等電腦間設 傳統的磁碟格 在說明本發 機上的方法將 硬碟機容許 碟讀取資料和 括一個或多個 ί集合。通常將 每一個檔案均 上儲存的位置 容許電腦快速 當格式化一 丨成同心圓,稱 丨小而定。該磁 丨典楚地說,將 軌、位於該磁' 區占有較多的 同的資料量’’ | 將每一個磁- 丨際網際網路)上設立通訊的裝置。數據機5 4 外部的’且缓由序列埠界面46連接至系統匯 個網路環境中,說明有關個人電腦2 0或與其 式模組’可儲存於該遠端記憶體儲存裝置 °玄專所示的網路連接係代表性的,且其它於 立一通訊連結的裝置亦可使用。 式化 有助於說明本發明的特徵:……… 該儲存於其上的資料,“從該磁 區或邏Μ入邊磁碟上。一個實體的磁碟機包 ^資料杜磁碟,其為該實體磁碟機的邏輯子 邊身枓儲存於一邏輯磁碟上如 為獨立可左%以 平领的彳田荼’ ,並將,莖〃的。辨識每一個檔案在該磁碟 地存取;專置儲存於-個資料結構令,以 地存取该邏輯磁碟上的任 個硬磲檣以佔田 作磁軚。一磁碟夺 磁碟上的儲存區分割 碟上的I 碟上的磁軌總數視該磁碟的大 '、,母一個磁軌均分割成相等的g γ h 該等磁區排列成片,以致數。 碟外邊的磁區,比該等靠近二磁 線性空間。然而,利用每::;::=之磁 典型妯% 個磁區儲存一相 科^地為5 12個位元組。 轨上的該等磁區聚合成磁串“· 1 五、發明說明(13) _____ 統執行"該等磁區聚合成礤串",且如β 』太 磁串”不是一個實體的劃界。° 等磁區聚合成 相同的磁串數,且該磁碟上的母—個磁軌包含 數。通常-個磁串包括同的礙區 定,且通常每-個磁區儲存512個位元組::的二小而 磁串係獨立可存取的。 ,*料每—個 -個電腦的作業系統將每個檔f儲存於 一個或多個磁串中。大的檔案可能需要數個磁串仅上的 案相關的所有資料’同時可將非常小的:存和 二:故如該棺案未包含足夠的資料填滿該2的資 : 卜個磁串中將有一個或多 :::的磁 料量相當小;,ί κ案的大小,如每個磁串中儲存的資 磁性硬磲機,::利用磁碟空間。、 性铭圓盤或金屬^地” 一叠數個塗敷1性材料的硬 存資 =屬'專板。在每-個金屬薄板的上、】 上。藉由磁化节=寫頭榻取資料或増加資料至該磁碟 資料。藉-個:賣窝碟的表面區,以編碼該每-個磁碟上的 上。該磁碟機頭擁取資料或將資料增加至該磁碟 的桿子上、極=個磁頭,由一個接附在…旋轉軸 靠近該等磁電磁鐵所組成’ i放該電磁鐵於非常 表面提供-個,:對每:個金屬薄板上的每-個記錄 種-般幅射的軌、首:磁頭。5亥等杯子於旋軸上旋轉,以一 7軌道在該等磁碟表面上來回移動該等磁頭。
ή ^ ^ 1 7 五、發明說明(14) i |該等裝以旋軸桿子上的磁頭驅動器,控制該等磁頭的移 丨 !動。當資料寫入一個磁碟上時,該磁頭定位於該寫入資料 i i磁碟上的適當區域。供應一束電子電流給該磁頭以產生一丨 I | 個磁場,磁化該磁碟中靠近該磁頭的一個小區域。該小的丨
I 磁化區域代表一個數位位元。同樣地,當從一個磁碟機讀 I取資料時,該磁頭定位於該磁碟上該適當的磁化區,以感i 應到該磁頭中的一束電流。繼之,將該磁頭t感應到的電 流解碼成數位資料。 該磁碟機所有的金屬薄板均連接至一單一的轉軸上。該 轉軸連接至一個馬達上,以一個不變的速率一致性的旋轉 該等磁碟。雖然該磁碟的該等磁區可占有不同的空間量, 但儲存於每個磁區内的該資料量卻是相同的。此容許該等 磁碟以一個不變的速率旋轉,以擷取相等的資料量,而不 管該磁碟上該磁區的位置在哪。 當存取該磁碟上一個新的磁串時,則必須於該磁頭實際 開始讀取或寫入資料前,先產生兩個機械操作。首先,將 i ! 丨該磁頭從其目前的位置移至該包含該目地磁串的磁軌位置丨 I i 上。”搜尋時間M意指該桿子保持該磁頭以克服該慣性和摩| 擦影響、並使其移動生效所需的時間。搜尋時間亦包括π 1 設定時間",為該磁頭移動後、將該磁頭設定在一個固定 位置中所需的時間。其次,該磁頭必須等待Μ該包含該合 i適資料的磁串旋轉於該磁頭下。該時間意指為”旋轉等候 i ί 期11。因該磁碟以一不變的速率旋轉,故該磁頭必須等待 該合適磁串通過磁頭底下的最大時間量為Μ該金屬薄板完
第19頁 ---*— ---------- 五、發明說明(15) ~ 轉所需的時間M。因此’一個新的磁串其每 存:產生—個承襲延遲,主要係因存取該磁碟 " 域時該機械上的需求。 ’、上正確區 磁碟上該磁區的:w::獨1二的辨識號碼,以該邏輯 -個磁串均為該辨識號碼的根據1樣地,每 得相鄰的磁區和磁串:::磁t號碼。指定辨識號碼,使 :輯部分作為樓案資料儲存"之主要= 能樓案系統(HPFS) 3ΑΤ) °其它的樓案系統包括該高性 的檔案系統。 發明,但本發明亦可適用於其它型式 於一個FAT;^安备& i 或區的前部,且別AT t,將該FAT儲存在靠近該邏輯磁碟 個條目。以磁串的V碼 邏輯磁碟上每一個磁串的- °。該每—個磁串二^ ’於該FAT中連續地表列出"磁串 號碼包含該檔案串的下—條目包含該磁串的號碼,該磁串的 之該磁串的FAT條目—個部分。包含一個檔案該最後資料 此,該邏輯磁碟、t蚀十包含了 一個檔案終點(E0F)條目。因 -"-個或多個磁事、,的每一個插#,在FAT中均描述成 置給一個檔案,但f 該FAT指示是否將每—個磁串配 給定的磁串屬於二::;告知該電腦的作業系統',-個
第20頁 4 3 2 V; 7 五、發明說明(16) 如上所述’如每一個磁串均相當小(例如四千位元組), 則可最有效益地利用磁碟空間。然而,—個磁碟區F Α τ的 大小判定一個邏輯磁碟可包含之最大磁串總數,並因此判 定該等磁串的大小。例如’於一個FAT 1 6的檔案系統中, 該FAT利用一個1 6-位元的號碼代表每—個磁串。此容許該 磁碟上擁有的最大磁串總數為65, 536個(即64K)。可藉該 FAT的大小分割一個磁碟的大小,以判定每一個磁串之最 小的大小,如表I中的例證說明: 磁碟大小 最小的磁串大小(位元組) 達3 2百萬位元組 512 >32到64百萬位元組 > 6 4到1 2 8百萬位元組 > 1 2 8到2 5 6百萬位元組 > 2 5 6到5 1 2百萬位元組 > 5 1 2百萬位元組到十憶 >十憶到二十憶位元組 1024 (1K) 2048 (2K) 4096 (4K) 8192 (8K) 位元組 1 6384 (1 6K) 32768 (32K)
表I 該FAT 32檔案系統利用一個28-位元的號碼代表每—個 磁串,並且能夠保存228個磁串的磁軌,如是即使在非常大 的邏輯磁碟上,亦容許4千位元組或較小位元組的磁串。 FAT 32可用於”視窗95"作業系統的OSR2(原始製造廠商版 本2)版本、及隨後的”視窗"作業系統一如"視窗98”作業系 統中。 一個稱為目錄的資料結構,包括一個所有儲存於該邏輯
第21頁 五、發明說明(π) 磁碟上"檔案"和”子目錄"(某些係以該目錄位元集合儲存 的,如正規檔一樣)的表列。該根目錄和子目錄不同,根 目錄沒有父目錄、且典型地儲存於靠近該邏輯磁碟的前部 (在用以儲存檔案資料的磁區之前)。該目錄有一個條目給 每個檔案,包含了儲存該檔案第一個部分之該磁串號碼。 藉著儲存該每一個檔案的啟始磁串號碼,該目錄將每個擋 案限制至在該FAT上。 為了存取該邏輯磁碟上的一個檔案,該電腦的作業系統 讀取該檔案的目錄項,以判定''相對應至該儲存檔案資料 的第一個磁串”之該FAT條目。接著,該作業系統從該檔案 的第一個FAT條目開始,讀取該整個FAT條目鏈。利用該第 一個磁串的位置和該FAT中該磁串鏈,該作業系統可判定 屬於該檔案的每一個磁串,並因而存取每一個磁串。 如增加資料至該邏輯磁碟或從該邏輯磁碟中刪除資料, 則該磁碟可變成片段的。片段意指一個單一檔案的各部分 儲存於該邏輯磁碟上非相鄰的磁串中。當將一個檔案寫入 該邏輯磁碟時,該作業系統將該資料儲存於該FAT閒置磁 串表中所辨識之空的空間内。利用該空的空間儲存該資料 時,可包括數個非相鄰的磁串。 安裝或重新排列一個程式以改良啟動時間 · 於圖2 -圖7中,例證說明一種''以一個安裝應用相關檔案 之方式、改良一個程式啟動時間π之代表性的方法。對那 些熟知此技藝的人來說,將察知可連同各種應用、公用程 式和作業系統相關的程式(包括華盛頓R e d m ο n d微軟公司發
第22頁 五、發明說明(18) 行的π微軟辦公室π應用程式組套)一起使用本發明。 如該先前技藝,本發明必須判定”程式啟動期間從一個 邏輯磁碟讀取檔案部分的次序"。然而,不像該先前技藝” 於該等檔案安裝於該邏輯磁碟上之後,才作判定並重新排 列該等檔案,本發明係於該等檔案一開始安裝在該邏輯磁 碟上時,即以近乎最佳的次序排列該等檔案。就一般的觀 點而言,此係藉"啟動期間,判定存取該等檔案不同部分 的次序Μ、”產生一個包含於該安裝磁碟上的載入序列表Μ 和”以該載入序列表所要求的次序,安裝該等檔案該等啟 動相關的部分"完成的。選擇性地,可利用該載入序列表 於該等檔案安裝於該邏輯磁碟上之後,重新排列該等擋 案。可經由國際網際網路或其它的分配裝置,將該載入序 列表分配於一個安裝磁碟上。 圖2和圖3為流程圖,例證說明"用以產生一安裝磁碟1'和 "以啟動期間載入檔案的該次序,將檔案安裝於一邏輯磁 碟上π之代表性的方法。圖2的流程圖例證說明一種"用以 產生一個安裝磁碟”之方法2 0 0,包括應用相關的檔案、一 個或多個載入序列表和一個安裝程式。圖3的流程圖例證 說明一種Μ以啟動期間讀取檔案的該次序,將檔案從該安 裝磁碟安裝到一個邏輯磁碟上並儲存π之方法30 0。 首先參考圖2,例證說明一種用以產生一個安裝磁碟之 方法2 0 0。方法2 0 0的第一個步驟為產生該等應用相關的檔 案(步驟2 0 5 )。於一代表性的方法中,以一個傳統、且為 那些熟知此技藝的人所熟悉之方式執行該步驟,該步驟包 4 3-281 7 五、發明說明(19) 括產生該所有和該程式(例如一應用程式)相關的檔案。該 等檔案可包括可執行檔,動態連結函數庫,資料檔案,優 先檔…等等。 於產生該等檔案之後,方法2 0 0進行至步驟2 1 0。於該階 段上,將該等檔案安裝於一個電腦上並啟動該程式。由儀 器碼監督或11安裝π啟動過處理,其中該儀器碼能夠判定" 啟動期間,存取該等檔案的哪些部分°該儀器碼產生一 個載入序列表,指示”讀取擋案的哪個部分和讀取的次序
"C 於圖4中,例證說明該一個代表性載入序列表的格式。 該表中的每一個條目辨識該存取的檔案、該擋案中的位移 和該讀取的資料量。和該檔案啟始相關的該位移和長度, 係以位元組測量的。該位移和長度定義該讀取部分的啟始 和長度。該步驟導致"程式啟動期間,所有接觸到的檔案 之一個表列”、”每一個讀取檔案内的該位置”’及π啟動該 程式時’從該磁碟讀取的該資料量。 方法20 0從步驟210進行至步驟220。對那些熟知此技藝 的人來說,將察知步驟2 1 0產生的該啟始載入序列表(包括 開機期間所有接觸到的檔案之記錄),包括那些不是程式 本身一部分的檔案。例如,當啟動一個應用程式時,可要 求該電腦讀取不同系統檔案的部分、或其它存在該應用程 !式本身之外的共享檔案。於步驟220,方法2 0 0解析該啟始 !載入序列表的内容,並移除那些"在安裝該程式時、不會 在一個使用者電腦上最佳化或重新安裝"的檔案。該等移
第24頁
•—V
i五、發明說明(20) 除的檔案,包括該安裝程式無法或不應變更的檔案及那些 經常可能變更的檔案(例如優先檔)。對那些熟知此技藝的 人來說,將察知可以不同的方法達成該步驟,包括利用一 個移除表防止檔案包含於該啟始載入序列表中,或於安裝 時間處理該載入序列表以忽略某些檔案。 於編輯該載入序列表、移除該等不會最佳化的檔案之 後,方法200進行至步驟225,產生一個或多個最終載入序 列表。對那些熟知此技藝的人來說,將察知各種和該電腦 :相關的因素可影響該用以載入擋案的序列,其中該程式將 安裝於該電腦上。例如,該作業系統的特殊版本(包括主 版本和輔助更新)和該與該電腦相關的磁串大小,對用以 於該邏輯磁碟上安裝檔案部分的該最佳序列可能有某些意 !義。因此,對該每一個行動方案,可產生不同的載入序列 I h |表。例如,一用於一作業系統一特殊版本上之載入序列表
I I可對另一個機器架構的該最佳載入序列"增加補充的檔案" ;或"刪除檔案"。同樣地,可提供一個載入序列表用於不同 | !大小的磁串上。選擇性地,可提供一個用於小磁串(例如 4K)上的單一載入序列表,且於檔案排序的時間時,從該 單一載入序列表推論出其它大小磁串的載入序列表。該等 最終載入序列表列可和圖.4該範例一樣具有相同的格式。 於步驟2 3 0,產生該實際的安裝磁碟(例如一唯讀光碟機 或軟碟機)。該安裝磁碟將包括該等應用相關的檔案、該 等載入序列表和一個設定或安裝程式。當該安裝磁碟插入 該使用者電腦上的一個磁碟中時,該使用者將啟動該安裝
第25頁 43-317
丨五、發明說明(21) I |程式啟以將該等檔案安裝於該電腦的邏輯磁碟上。根據從! !該電腦中讀取的使用者輸入和架構資訊,該安裝程式將判ί ! :: |定需安裝哪些檔案及應安裝該等檔案的次序,並將導致Μ I從該安裝磁碟中讀取該等檔案π和"將該等檔案以適當的 次序寫入該磁碟上"。 I 圖3例證說明一種π用以將檔案從一個安裝磁碟安裝到一 I個邏輯磁碟上Μ、並11將該等啟動相關的程式部分以程式啟 動期間讀取的該次序儲存之”之方法3 0 0。於一代表性的體 系中,藉該包含於該安裝磁碟上的安裝程式執行方法 i 300,其為一個插入磁碟機30的唯讀光碟(圖1)。 | 方法30 0從一個使用者啟動該安裝程式開始,並進行至 ί步驟3 0 5。於步驟3 0 5,該安裝程式詢問該電腦,並獲得有 I關該電腦上安裝之作業系統的資料、該硬碟機的特徵等 i 丨等。 | 於步驟3 1 0,該安裝程式提示該使用者,並獲得有關該 使用者想要安裝之該(等)特殊程式的資訊。該安裝程式亦 !可於該安裝進行之前,要求該使用者輸入他或她的名字和 丨一個序號。 ! 於步驟3 1 5,該安裝程式利用步驟3 1 0和3 1 5所獲得的該 !資訊,判定應將該安裝磁碟中的哪些檔案安裝於該硬碟機丨 丨上。. i 於步驟320,該安裝程式利用該步驟310和315所獲得的 I該資訊,判定應使用哪一個載入序列表,以判定”於該邏 i輯磁碟上,應安裝和儲存該等檔案該等啟動相觀部分的該
第26頁 五、發明說明(22) 次序”。如早先所提及,可提供不同的載入序列表以適應 一個作業系統不同的版本、不同的硬碟機磁串大小等等。 圖5例證說明四個應用檔案(檔案A,B,C和D)部分的範 例和一個簡單的載入序列表,辨識該等啟動相關的檔案部 分、及啟動該程式時載入該等啟動相關的檔案部分之次 序。於該範例中,該應用程式包括檔案A,B,C和D。當 然,一個應用程式可包括許多補充的檔案。每一個檔案包 括多重部分(例如A卜A8,B卜B6,C1-C5和D卜D5)。然而, 只有檔案A,B和C包括應用啟動期間載入的部分。該等啟 動相關的部分包括A1-A4,B卜B3和tn-C3的部分。於啟動 期間,未載入檔案A,B和C該剩餘的部分、及整個檔案D。 對那些熟知此技藝的人來說,將察知每一個檔案該等啟動 相關的部分(例如A卜A4 )不需為相鄰的,或優於該檔案該 等非啟動相關的部分(例如A 5 - A 8 )。圖· 3的最後一行例證 說明該啟動載入列,其說明了啟動期間載入檔案A,B和C 該等啟動相關部分的次序。於該範例中,該啟動載入序列 為Al , B3 , A3 , B2 , Bl , C2 , Cl , A2 , C3 , A4 ° 該安裝處理剩餘部分的目標,為以該上述啟動載入程序 (步驟325,3 3 0及3 35 )是將該等啟動相關的檔案部分安裝 至該邏輯磁碟上相鄰的磁串中。如是,可說明該安裝處理 具有兩個目的:(1 )以適當的次序寫入該等啟動相關的檔 案部汾,及(2)確保該等啟動相關的檔案部分儲存於該邏 輯磁碟上相鄰的磁區中。藉該載入序列表的條款,導引出 "以適當的次序寫入該啟動相關的檔案部分"之目標。"確
第27頁 4 3^3 五、發明說明(23) 保該等檔案部分儲存於相鄰的磁串中”為一種挑戰’因在 大部分的個人電腦上係使用該不同特徵的FAT檔案系統。 一般來說’ FAT檔案系統將稽案以,|磁串閒置表"的次序 寫入该邏輯磁碟中。換言之,當一個檔案寫入一個硬碟機 時’會將該檔案的第一個磁串寫入該FAT中所辨識的該第 一個閒置磁串中,將該檔案的第二個磁串寫入該FAT中所 辨識的該下—個閒置磁串中…等等。於許多的事例中, i該等間置磁串為非相鄰的。因此,當安裝一個程式時,辨 識該邏輯磁碟上一個"包含足夠相鄰閒置磁串"的部分、以 儲存該等程式啟動相關的檔案部分係較可取的^可以磁串 ,閒置表的次序將該等擋案的剩餘部分寫入。 於步戰325,該安裝程式辨識用以儲存該等檔案該等啟 I動相關部分之相鄰閒置磁串的區塊(該邏輯磁碟上)^本發 ;明考慮數種方法,用以辨識足夠的可用磁碟空間以儲在哮 丨等啟動檔案部分。 βκ 第一種方法假設現存的檔案儲存於該邏輯磁碟的前部, 且,尾部有一足夠之相鄰的閒置空間量。雖然該假設為不 真實的,但可於該安裝處理期間,藉提議該使用者=用— 傳統的片段整合公用程式重整該邏輯磁碟以實現該一 !方、重整έ亥磁碟後’可將該應用程式安裝至該磁碟尸Α Λ 置空間中,該等檔案的該等啟動相關的部分儲存=:1"的閒 磁串中°對那些熟知此技藝的人來說,將察知該方:鄰的 可取’因其要求於安裝之前重整該邏輯磁磲、較不 ^考可忐不願或無法執行該提議的段整合” ~仗 I ’貫'。
4 3 23 1 1 五、發明說明(24) 第二種方法假設該磁碟尾部有一個大的閒置空間,但在 該磁碟的前部有一些非相鄰的閒置磁串。於該方法中,將 在最後安裝該載入序列表中的該等啟動相關的檔案部分。 此將容許先安裝該等應用檔案剩餘的部分(即該等非啟動 相關的部分),並以磁串閒置表的次序儲存於該磁碟上。 於大多數的事例中,儲存這種大量的擋案資料應導致該等 非相鄰的閒置磁串填滿非啟動相關的檔案部分,且該等檔 案該等啟動相關的部分,最後將安裝於該磁碟尾部該等仍 然維持可用之相鄰的閒置磁串中。 第三種”辨識足夠的相鄰閒置磁串"之方法,包括讀取該 整個閒置磁串表和追蹤任何一個相鄰間置磁串組的大小。 接著以大小儲存該表,以找出該等最大的相鄰閒置磁串 組。辨識該等最大的閒置磁串組並加註記號,用作儲存該丨 等啟動相關的檔案部分。在辨識了該等啟動檔案的該等目 地磁串後,該處理返諸該原始的閒置磁_表,並開始將資 料寫入該邏輯磁碟上。如該等目地磁串並非該表中的該等 第一個閒置磁串,則將一個暫存檔寫入該等需要填滿的閒 置磁串中,以便接觸該等合適的目地磁-。在將該等啟動 檔案寫入該等相鄰的目地磁串之後,刪除該暫存檔,並將 1 該等磁串歸還給該磁串閒置表。將於下更詳細的討論該等| 暫存檔案的使用。 第四種方法,和第三種方法類似,但減少了該可能需要 寫入該暫存檔中的資料量。”第三種方法將要求寫入大量 的資料至該磁碟前部中大量的小磁串組''係可能的。為了
第29頁 4 - I五、發明說明(25) ί使該活動量減至最低,第四種方法利用該等最前面的的相 鄰磁串組或組套,以於程式啟動時間内提供一個顯著的改 良。 在辨識了足夠的相鄰閒置磁串用以安裝該等啟動相關的 檔案部分之後,該安裝程式進行至步驟330,並將該等啟 動相關的檔案部分以該適當的次序寫入該閒置空間中。對 那些熟知此技藝的人來說,將察知該等”將該等啟動檔案 部分以該載入序列表所要求的次序寫入該閒置空間中Μ所 需之特殊步驟,將視各種因素而定。該最重要的因素可能 |是該電腦的特殊作業系統,提供”用以將檔案寫入該邏輯 磁碟上Μ的工具,並提供Μ何種檔案可寫入該硬碟機上的 |限制。將於下說明兩種適用於Μ視窗9 5η作業系統的方法。 ί 對那些熟知此技藝的人來說,將察知當該閒置空間均為 '相鄰的、且位在該邏輯磁碟尾部,同時當該作業系統未企 圖強迫擋案為相鄰的時,則產生該用以將該等啟動檔案寫 入該邏輯磁碟上之最簡單的行動方案。於該簡單但可能不 真實的行動方案中,可如下執行將該等檔案寫入該邏極磁 1碟上的處理。首先,該安裝程式開啟該唯讀光碟(用作讀 !取)和該邏輯磁碟上(用作寫入)該等必要的檔案。接著, 從該唯讀光碟中讀取該載入序列表中所列的該第一個磁 串,並將該第一個磁串寫入該硬碟機上。於某些事例中, 必須清除該輸出檔案,以確保該資料真的寫入該磁碟上。 重複該等步驟,直到該載入序列表中該所有的磁串均寫入 該邏輯磁碟上。於該階段上,該安裝程式可進行至步驟
五、發明說明(26) 335 ’其中從該唯讀光碟中讀取該等梓 等非啟動相關的部分),並將該剩 #剩餘的部分(即該 碟上。當所有的檔案均寫入時,結*分寫入該邏輯磁 案,且該作業系統更新該FAT擋案系絲X專讀取和寫入檔 錄3 4 0終止,並完成該安裝。 '' 接著方法3 0 0於步 將就"視窗95"的作業系統而f,討 入非相鄰磁串上之特殊方法(步驟33〇f 以將個別檔案寫 統企圖將標案保存於相鄰的磁串中。所、現窗95"作業系 寫入一個單一檔案時,該作業系統試著=丄當將多重磁串 磁串中。於本發明的一個體系中’利用.二們放入相鄰的 機上的空間以克服該作業系統的該特徵,=2、占,該硬碟 案該等啟動相關的部分均以該合適的次宜迫每一個檔 串中。對那些熟知此技藝的人來言兒,將知=2相鄰的磁 該檔,系統就可能寫入擋案的該次序課加某:二:系:和 f的是,以單調增加的次序配置一個樓案的^等磁串。重 5之,將一個檔案的該第一個磁串配置 換 磁串之前等等,而不管資訊寫入該樓案二 於圖6 t例證說明該等暫存檔使用的一個範兑。 二於該不同階段的安裝處理期間,該邏輯磁碟上該: 磁串的内容”。於該範例中,將圖5的該丨〇個檔案摘 圖6所不的該丨2個磁串中。於該安裝開始之前/哕丨2 _、入 磁串,則該安裝程式將一個暫存播寫入磁串心:該〜等個
'隨意地編號為〇-n)於該閒置磁串表中為相鄰:礙 如方:4閒置磁串表中,該相鄰的磁串〇 _丨〗不是 。
I 五、發明說明(27) ~~---—~~ i 磁 I 磁串中。此導致磁串〇為锋pq $ , | 馬°亥閒置磁串表中該第一個閒置 丨串。 | 裝程式將從該適當的载人序列表讀取該合適的磁串 從該唯讀光碟中讀取該等磁串,並將該等磁串寫入 ί 碟上的磁串0~9中°因該作業系統要求以單調增 ?= 個樓案的該等磁串寫入,故將該等擋案寫入 _ ^ ^ 』要求夕重經過該閒置空間,並包括 存檔的使兩以確保f料寫入該等合適的磁串中。 乂康參考圖6,於該第一個經過中,該安裝程式讀取該 =序:表’並判定應先載入磁串Α1。因磁串為樓案a 的::個磁串,故可將磁串A1立即寫入磁串"。, 接:,該安裝程式判定應將磁串β3寫 缺 串Β3。因此,哕安裝;:2某機’,故尚無法儲存磁 ^ μ y- ^ 裝牙式將—個暫存檔tl寫入磁^中。 將暫存檔11寫入後,該安奘和;τ 1 Ύ 然而,因磁串: 式判定應將磁串以寫入。 U磁串Α2尚未寫入該硬碟機 Α 3。因此,缽忠驻 敗’式诚仔磁串 接菩脸: 將一個暫存檔t2寫入磁串2中 接者,將暫存檔t3寫入磁串3中,闲古?|中。 硬碟機中之德,十At抑十』Γ Ψ 因直到磁串B1寫入a τ灸俊,才能儲存磁串β 2。 1八遠 將暫存槽t 3寫入後,該安罗妒斗,、丄,, 串4中。因斑虫β1ΐι 、矛王式判定應將磁串βΐ穹 因磁争B1為檔案β的第一個磁电从 冩八磲 寫 入該硬碟機的磁串4中。 支可將磁串Β 在磁串Β1之後,該安罗程4技杯+ 因直到儲户?』士女裝私式將暫存檔t4寫入磁串5 士 直到儲存了磁扣之後,才能儲存磁串^。磁串5中
五、發明說明(28) 接著,該安裝程式判定應將磁串C1寫入磁串6中^ 串C1為檔案C的第一個磁串’故將磁串(^寫入磁串6中。 接著,該安裝程式判定應將磁串A2寫入磁串7 e 將磁串A1寫入,故可將磁串Al寫入磁串7中。 在將磁串A2寫入該硬碟機上之後,該 磁串C3寫入磁串8中。然而,因尚未儲存磁、叫疋將 :將磁陶入。該安裝程式將一個暫存㈣入= 接著,該安裝程式判定應將磁串六4寫入磁 块 二寫入該硬碟機中,故該安裝程式將-個暫存檔t6寫入磁串9中。 相ί Ϊ:ί程式將資料寫入該等所有將用以儲存該等啟動 ==的磁串中之後,該安裝程式將-個大的暫存 檔t 7寫^該磁碟上該剩餘的閒置空間中。 二ί ί ::經過期間,該安裝程式繼續"將該等啟動相 關= 增加的次序寫入該硬碟機上',之處理。 串二I;:經過期間,因未儲存磁_,故仍無法將磁 串Β3冩入邊硬碟機上。 此因:::磁串A1和心’故可將磁串A3寫入磁串2中。因 中:。…程式刪除暫存檔t2 ’並將磁串以寫入磁串2
因已儲存磁串B1 ,故可將磁串β2 兮安F 程式刪除暫存樓u,並將磁串82寫=:3串3中…裝 因已儲存磁虫ri 1八嵫串3中。 磁串C1 ,故可將磁串C2寫入磁串5中。該安裝
第33頁 7 d ——-—— 五、發明說明(29) 程式刪除暫存檔t5,並將磁串口寫入磁 因已儲存磁串C1和C2,故可將磁_C3 安裝程式刪除暫存槽t5 ,並將磁串㈡寫:磁"串中。。言亥 最後存磁串ah3,故可將磁串a4寫入 ^該女裝程式刪除暫存如,並將磁串A4寫入磁串9 於經過3期間,因已儲存磁“1和B2,故最後可將磁由 B3寫二1串2中。該安裴程式刪除暫存檔U,並將磁串B3 寫入磁串1中。 T艰肀lid 在將該所有啟動相關的檔案部分寫入之後,該 刪除暫存如7,並刪除任何“磁串^之前的磁^私式 存檔。此將该等未使用的磁率歸還給該閒置磁串表 階段上,⑽該唯讀光碟中讀取該等剩餘的程 於: 等非啟動相關的稽案部分),並將該等剩餘的程式= 入該硬碟機中。將該等檔案以磁串閒置表的 儲刀寫 硬碟機上。 域存於I玄 某些視® 9 5 ',作業系統的版本使用一種樓案配 該策略假設如兩個檔案為開啟的、且將一個程 :’ 該兩個檔案中,則該程式將於該等檔案間要求〜些門:二 空間。圖7例證說明一種,,用以將啟動檔案部分寫 磁串〇-"、而*管該作㈣統的特徵"之第二::硬J 第二種方法和圖6該例證說明的方法非常類似,但訪决。/ 種方法要求一額外的、經由該等閒置磁串之經過,"一 每一個閒置的磁串中產生暫存檔。 u於s玄
第34頁 五、發明說明(30) 於圖7的該範例中 碟機的磁串"中。於將圖.5的該10個標案部分寫入該硬 0-⑴於該閒置磁串安裝開始之前’該12個磁串(編號 表中,該相鄰的磁㈣閒置磁串 程式將-個暫存檔;A 1 t等第-個磁串’則該安裝 磁串0為該閒置磁串二磁丄0之:的該等磁串中。此導致 甲表中該第一個閒置磁串。 於,過1flii』=6亥安裝程式將個別的暫存檔(t 1_tl0)寫 入該母一Λ 儲存該載入序列纟中所辨識的一檔案磁 串"之磁Λ磁/另—個暫存檔tu寫入緊隨磁串9之後該 所有的沒 中。此確保該作業系統將無法於該安裝程 式寫入的忒專磁串間留置空間。 經過2 4 ,就如圖.β的經過丨_ 3 一樣的進行,並利用經過 2-4將該等檔案磁串以單調增加的次序寫入^然而,於經 過2期間,因:等磁串Al ’ Bl,C1和Α1可分別寫入磁串}, 4,6和7中之前,必須先將該等暫存檔tl,t5,口和。刪 除0 於將該等啟動相關的檔案部分寫入該邏輯磁碟^之後, |該安裝程式刪除該暫存檔til’並刪除任何寫入磁串〇之前 丨的磁串中的暫存樓。此將s亥等未使用的磁串歸還給該閒置 磁串表。於該階段上,從該唯讀光碟中讀取該等剩餘的檔 案部分(即s亥專非啟動相關的樓案部分),並將該等剩餘的 檔案部分寫入該邏輯磁碟中。將該等檔案以磁_閒置表的 次序儲存至該邏輯磁碟中。 該先前的討論已就數個體系說明了本發明"一般而t,
第35頁 丨五、發明說明(31) 該等體系包括一個載入序列表,用以辨識該邏輯磁碟上相 ;鄰的磁串上應安裝那些啟動相關的程式部分,用以辨識足 夠的相鄰閒置磁串數之方法,及用以將程式部分以該合適 的次序寫入該等相鄰磁串中之方法°
I 本發明家已考慮數個可編入本發明體系中的補充特徵。 : 可將本發明的該等方法擴充至不僅包括該等新檔案啟動
I !相關的部分,但亦包括該邏輯磁碟上的現存檔和該新程式 |的補充部分。 例如,可利用本發明最佳化系統檔案和其它先前安裝的 檔案(如其包含於該載入序列表中)。為了達成該最佳化, !將如上所述進行該安裝處理,但亦將包括開啟該用以讀取 的現存檔案和開啟一用以寫入、新的暫存檔。將該現存檔 該等相關的磁串連同其它啟動相關的程式部分一起寫入該 等相鄰的閒置磁串中。於將該等啟動相關的部分寫入該邏 I輯磁碟上相鄰的磁串中之後,將刪除該原始的現存檔,並 1將該暫存檔重新命名成''和該刪除的原始檔案相同的名字 ! „ I ° ! 如上所述,可利用本發明的原則裝置和安裝(或重新排 I ! | 列)該程式其它共同的、密集磁碟的部分。例如,可裝置 1 該執行常式的編碼(如開啟,儲存,載入和列印),且該等 ;結果包含於該安裝磁碟上一載入序列檔案中。接著,當安
I |裝該新的程式時,該安裝程式可利用該資訊將該編碼的該 等部分寫入該邏輯磁碟的相鄰部分,或於安裝該安裝程式 之後1重新排列該編碼該等相關的部分。
第36頁 4
j五、發明說明C32) I ! 如上所述,於該某些階段的安裝處理中,可利用暫存檔丨 i 占據該邏輯磁碟上幾忽所有的閒置空間。於該安裝處理一 i 完成,即典型地由該安裝程式刪除該等暫存檔。然而,為 了確保移除該等暫存檔及該該電腦可使用該未使用的空 間,可將該作業系統所實行之該開機自我測試-重新開機 或”開始"的處理,規劃成檢視該一個或多個存在的暫存 檔,且如果找到時刪除該等檔案。亦可利用該啟動處理的 該開機自我測試-重新開機之部分,刪除和重新命名'’任何 該等無法刪除或重新命名的最佳化系統檔,因於該安裝處 理期間該等最佳化檔係在"使用中”。 圖8為一例證說明一選擇性方法8 0 0之流程圖,該方法為 "於一邏輯磁碟上安裝該編碼之後,利用本發明的該等原 則將啟動和其它密集磁碟操作相關的編碼部分最佳化11 。 如圖3的該方法,方法8 0 0使用一個包括一個或多個載入序 列表和程式檔之安裝磁碟。然而,於該體系中,首先以一 個傳統的方法將該等程式檔連同該載入序列表的一個複製 一起安裝在一邏輯磁碟上。於該安裝之後的某些階段上1 i 一個開始程式可利用該載入序列表以一個最佳的方式重新 ί
I I |排列該密集磁碟的資料。 : 於步驟8 0 5,方法8 00包括以一個傳統的方法將該等程式 檔案安裝在該邏輯磁碟上。於該階段上,亦可將該載入序 列表的一個複製複製到該邏輯磁碟上。 於安裝了該程式之後,可利用一個獨立的程式重新排列 該等和密集磁碟操作(如程式啟動)相關的程式部分。可以
第37頁 j - ~ " 五、發明說明(33) 不同的次數執行該"開始n或重新排列程式。例如,該電腦 |於程式安裝之後第一次重新啟動時,可自動地執行該開始 |程式。每逢該使用者決定在他或她的電腦上執行維護活動 i I時,亦可手動地執行該開始程式。 該開始或重新排列處理的第一個步驟為步驟8 1 0。於步 驟8 1 0,該開始程式詢問該電腦,並獲得有關該電腦上安 裝之作業系統的資料、該硬碟機的特徵等等。 於步驟8 1 5,該開始程式利用該步驟8 1 0所獲得的資訊, 判定應使用哪一個載入序列表,以判定”於該邏輯磁碟 上,應重新排列該等檔案之該等密集磁碟部分的該次序 I "。如早先所提及,可提供不同的載入序列表一適應一個
I 作業系統不同的版本、不同的硬碟機磁串大小等等D 丨 對那些熟知此技藝的人來說,將察知程式組套(如μ微軟 ;辦公室”的程式組套)包括一個以上的應用程式。亦可藉提 供一個載入序列表給每一個應用程式,將本發明應用在該 —個程式組套的安裝上。如支援一個作業系統的多重版 本,本發明可於每一個支援系統的每一個應用程式上提供 ! 一個載入序列表。當該等程式為Μ最佳化”時(於安裝期間
I |或安裝之後),則可以一預定的次序將該等合適的載入序 列表鏈結在一起。如一個啟動相關的標案部分包含於一個 以上的載入序列表中,則可從該所有的載入序列表中移除 該部分,除了第一個載入序列表包含該部分□接著,該最 佳化將根據該合併的載入序列表進行15 於步驟8 2 0,該開始程式辨識將用以儲存該等檔案該等
第38頁 丨五、發明說明(34) I密集磁碟部分 所述,本發明 部分的可用磁 | 在辨識了足 I鄰閒置磁串之 I當的次序於該 部分。 概略的說, 丨完之後)重新去 i !擋案。藉利用 j :藝中所使用的 ! 最後,該等 寫入功能。該 I 裝處理將損毀 I那些熟知此技 |寫入資料之低 j I求該安裝程式 I 接者返回和修 i 丨但該方法在” 1 1 i卻提供了一個 ! ;詳述檢視 丨 從該先前的 I ; 和方法,以一 1動時間。"於」 的相鄰閒置磁串區塊J邏輯磁碟上)。如上 考慮數個”用以辨識足夠儲存該等啟動擋案 碟空間"之方法° 夠的、用以安裝該等啟動相關檔案部分之相| 後’該安裝程式進行至步驟825,並以該適 閒置的空間中重新排列該等密集磁碟的檔案 圖.8的該方法容許檔案於安裝時(或一安裝 t列’亦容許於安裝後隨時開始開始或安排 該載入序列表達成該開始’而無需該先前技, 該監督功能。 ' ,〜八ITT 热S貝叫和 的強而有力,且實質地免除了該安 更碟,上資料的可能性。然*,對 階功能:資ΞΙ知J:用在該磁串階層上 將該等檔案部分寫入該等適當的磁;:法要 補™。雖然就本發明而適:的磁:中,並 亥硬碟機上的資料將以某種;法;用二法’ 較高的風險。 樘方法又到知毁,,上 說明中,蔣R a I # ^ _ 寻①知本發明提供一個改ρ μ $ 種方法安奘忐击& 叫叹良的系 #裝一個程式之後, /式的 鞛k供一個或多個載 4 3 2 3 1 7 I五、發明說明(35)
j序列表,免除該監督啟動處理之需要"即為本發明的一個 丨基本利益。 I I該等上述的體系,監督該程式的啟動處理,並於密集磁 碟操作期間、判定從一個磁碟讀取檔案部分的次序,如啟 動該程式和選取某些程式命令°利用該資料產生一個載入 序列表,指示啟動期間讀取該等檔案不同部分的次序。於 安裝期間,該安裝程式從該載入序列表中讀取該資料,並 將該等啟動相關的檔案部分以該讀取的次序寫入該邏輯磁 |碟上相鄰的磁申中。選擇性地,於安裝該程式之後,根據 I該載入序列表重新排列該等檔案該等啟動相關的部分°於 1重新排列完之後,該電腦可以相鄰磁碟磁串中該適當的次 序從該邏輯磁碟中讀取啟動相關的資料,如該等磁碟的磁 |頭必須在非相鄰磁串間移動以讀取該啟動的資料時,則可 使因磁碟存取而浪費的時間減至最小或免除。 亦可於植基於一個或多個程式模組、並執行圖.2 - 8中例 證說明的該等特性中,執行本發明。未說明用以實行該等 上述不同程續之特殊的程式語言,因將該等上述之操作、 步驟和程續,及該等伴隨圖示中的例證說明,視為已足夠 |揭露、並允許對此技藝有一般認知的人實行本發明。此 |外,可利用許多種電腦和作業系統實行本發明,因此無法 提供詳細的電腦程式以適用於所有眾多不同的系統。一個 特殊電腦的每個使用者,均應知曉哪種語言和工具最適用 |於該使用者的需求和目地。 ( 此外,雖然主要係就一個安裝程式在"視窗9 5 Μ的作業系
第40頁 五、發明說明(36) ! 統下安裝應用程式說明本發明,但對那些熟知此技藝的人 來說,將察知本發明可適用於不同型態的程式模組和執行 各種作業系統、並利用各種檔案系統的系統上。例如’可i 利用本發明安裝應用程式,公用程式,作業系統程式模 ! 組…等等。如上所述,亦可使用本發明排列和各種密集磁 碟操作相關的該程式資料,包括啟動一個應用程式,啟動 該和一個程式命令相關的編碼(例如檔案開啟)…等等。 已就特殊的體系說明本發明,該等體系意欲就全面性例 證說明本發明,而非限制性。對那些熟知此技藝的人來 說,將顯見未偏離本發明的精髓和範疇、本發明有關之選 擇性的體系。如是,藉該附加的專利申請(而非先前所述) 定義本發明的範疇。
Claims (1)
- 4 3 2317 邮t〇5l K :六、申請專利範圍 1. 一種電腦可讀取媒體,包括: 多個包括啟動相關部分的檔案; 一個載入序列表,指示將該等多個檔案的啟動相關部分 :安裝於一磁碟上之次序; 電腦可執行指令,用以執行如下之步驟包括: 辨識該磁碟上至少一組相鄰的閒置磁及 將該等多個程式之啟動相關部分安裝於該至少一組相鄰 ;的閒置磁串中,將該等啟動相關的部分以該載入序列表中 I :所指示的該次序儲存於該磁碟上。 2. 如申請專利範圍第1項之電腦可讀取媒體,其中該載 I 丨入序列表包括多個條目’該每一個條目辨識該等多個檔案 1中的一個檔案和該檔案安裝的部分。 1 3.如申請專利範圍第1項之電腦可讀取媒體,其中安裝 I該等啟動相關部分的該步驟,包括以下步驟_· I 讀取該載入序列表中的一個條目’該條目辨識該等多個 ;檔案中的一個檔案和該檔案待讀取的部分; 從該等多個檔案中被辨識出的檔案中,讀取該檔案的該 部分; •將該檔案的該部分寫入該磁碟上。 I 4.如申請專利範圍第1項之電腦可讀取媒體,其中辨識第42頁 I六、申請專利範圍 5. 如申請專利範圍第1項之電腦可讀取媒體,其令該等 多個檔案包括非啟動相關的部分,該等非啟動相關的部分 I於安裝該等多個檔案啟動相關部分的該步驟之後,儲存於 i 該磁碟上。 6. 如申請專利範圍第1項之電腦可讀取媒體,其中於電 腦開啟時,讀取該等啟動相關的部分。 7. 如申請專利範圍第1項之電腦可讀取媒體,其申當執 行一個程式命令時,讀取該等啟動相關的部分。 8. —種用以將程式碼從一個安裝磁碟安裝至一個磁碟上 |之方法,包括以下步驟: 從儲存於該安裝磁碟上之一個載入序列表中讀取多個條 目,每一個條目辨識一和該程式碼相關的檔案部分; 對每一個從該載入序列表中讀取的條目,從該安裝磁碟 中讀取該條目所辨識的該檔案部分;及 對每一個從該載入序列表中讀取的條目,將該讀取的檔 案部分寫入該磁碟上一組相鄰的閒置磁串中,該等檔案部 ]分以一相對應至該載入序列表中該等條目的次序儲存於該 磁碟上。 | 9.如申請專利範圍第8項之方法,其中該載入序列表辨 識程式啟動期間讀取多個啟動相關的程式部分之該次序。 1 0.如申請專利範圍第8項之方法,其中該載入序列表中 1 |的每一個條目,包括一檔案辨識符號和從該辨識到的檔案 !中讀取該資料的位置。 1 1.如申請專利範圍第8項之方法,其中該載入序列表中第43頁 :六、申請專利範圍 I的每一個條目包括一檔案名稱,該命名檔案中的一個位 移,和準備從該已命名檔案中讀取的一資料量。 1 2.如申請專利範圍第8項之方法,進一步包括了將該等 和該載入序列表中每一個條目相關的檔案部分寫入之後, i I將該安裝磁碟中非啟動相關的程式碼寫入該磁碟上之步 驟。 ! I 1 3. —種用以將程式碼從一個安裝磁碟安裝至一個磁碟 ! I : 上之方法,包括以下步驟: 產生多個包括啟動相關部分的擋案; 判定讀取該等啟動相關部分的次序; 產生一個載入序列表,指示讀取該等啟動相關部分的該 次序;及 儲存該等多個檔案,該載入序列表,和一安裝磁碟上的 i 一安裝程式; 該包括電腦可執行指令的安裝程式,用以執行以下步 驟: j | 辨識一個磁碟上至少一組相鄰閒置的磁串;及 ! 將該等多個檔案的啟動相關部分安裝於該至少一組相鄰 的閒置磁串中,將該等啟動相關的部分以該載入序列表中 所指示的該次序儲存於該磁碟上。 丨 1 4.如申請專利範圍第1 3項之方法,其中該載入序列表 包括多個條目,每一個條目包括該等多個播案中一個棺案 的名稱和該待安裝檔案的部分。 i 1 5.如申請專利範圍第1 3項之方法,其中該安裝該等啟第44頁 A 々、申請專利範圍 動相關部分的步驟包括以下步 2取該載入序列表中的,該條目 中的-個標案和該待讀取樓案的-部分; 專枯案 分從該等檔案中被辨識出的—個檔案巾,讀取該檔案的部 將該檔案的部分寫入該磁碟上。 16如申請專利範圍第13 法’其中該辨 組相鄰閒置磁串的步驟,包貝括以下步驟: 至夕― 組 1 7.如申請專利範圍第丨3項之方法,其中該等檔案 啟動相關的部分,該等非啟動相關的部分於安 之該等啟動相關都么〇 一祕,儲存於該磁碟3等權 從儲該磁碟上的資料中讀取一可用閒置磁串表. 辨識该等具有最大相鄰間置磁串總數之相鄰閒置礤串 '〜祀因弗i 3項之: :啟動:關的部分,該等非啟動 案之忒等啟動相關部分的步驟之後,儲存於該磁 18 —^ 田”ί 丄a 、〇 裡用从於一個邏輯磁碟上安裝和最佳化裎 &括以下步驟: 式碼之 方法,包括以下步驟: 、 產生多個i 4 次序 於該密集:C碟操作相關的部分之稽案; 序;磁碟細作期間’判定讀取該等密集磁碟部分的 產生一個恭λ # d + ^ ^ ^ ^ 序列表,指示於該等密集磁碟接你b 項取该等密集礙碟部分的該次序; ㈣作期間, 儲存該等多伯 一安裝程式:稽案’該載入序列表,和-安裝磁碟上的 將遠安褒磁碟中該等程式和該載入序列O:\57\57990.PTD _ 衣主邏輯 in 第45頁 六、申請專利範圍 磁碟上; 於該邏輯磁碟上安裝之後,藉執行以下步驟以最佳化該 等密集磁碟部分: 辨識該邏輯磁碟上至少一組相鄰的閒置磁串;及 以該載入序列表中所顯示的該次序重新排列該等密集磁 碟部分。 1 9.如申請專利範圍第1 8項之方法,其中該載入序列表 包括多個條目,該每一個條目包括該等多個檔案中一個檔 案的名稱和該擋案待重新排列的部分。 2 0.如申請專利範圍第1 9項之方法,其中由該檔案開端 的一個位移和從該檔案中讀取的一個資料量辨識該部分。 2 1.如申請專利範圍第1 8項之方法,其中重新排列該等 密集磁碟部分的該步驟包括以下步驟: 讀取該載入序列表中的一個條目,該條目辨識該等檔案 中的一個檔案和該檔案一待讀取的部分; 從該等檔案中該辨識的一個檔案中,讀取該檔案的部 分; 將該檔案的該部分寫入該邏輯磁碟上。O:\57\57990.PTD 第46頁
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/060,702 US6202121B1 (en) | 1998-04-15 | 1998-04-15 | System and method for improved program launch time |
Publications (1)
Publication Number | Publication Date |
---|---|
TW432317B true TW432317B (en) | 2001-05-01 |
Family
ID=22031234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW088105949A TW432317B (en) | 1998-04-15 | 1999-04-14 | System and method for improved program launch time |
Country Status (7)
Country | Link |
---|---|
US (1) | US6202121B1 (zh) |
EP (2) | EP1607855B1 (zh) |
JP (2) | JP4235362B2 (zh) |
CN (1) | CN1212563C (zh) |
DE (2) | DE69943066D1 (zh) |
TW (1) | TW432317B (zh) |
WO (1) | WO1999053395A1 (zh) |
Families Citing this family (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6954804B2 (en) * | 1998-03-26 | 2005-10-11 | Micro, Inc. | Controller for portable electronic devices |
US6895448B2 (en) * | 1998-03-26 | 2005-05-17 | O2 Micro, Inc. | Low-power audio CD player for portable computers |
US6675233B1 (en) * | 1998-03-26 | 2004-01-06 | O2 Micro International Limited | Audio controller for portable electronic devices |
US6202121B1 (en) * | 1998-04-15 | 2001-03-13 | Microsoft Corporation | System and method for improved program launch time |
US6317875B1 (en) * | 1999-01-15 | 2001-11-13 | Intel Corporation | Application execution performance through disk block relocation |
JP2001007745A (ja) * | 1999-06-24 | 2001-01-12 | Techno Collage:Kk | 非接触データ転送システム |
JP2001117783A (ja) * | 1999-08-10 | 2001-04-27 | Seiko Epson Corp | プログラム起動システム及びプログラム起動制御方法 |
EP1218882A4 (en) * | 1999-08-24 | 2009-07-22 | O2Micro Int Ltd | LOW ENERGY CONSUMPTION LAUNCHED CD-ROM READER FOR PORTABLE COMPUTERS |
US6496977B1 (en) * | 1999-10-21 | 2002-12-17 | International Business Machines Corporation | Method and system for implementing network filesystem-based aid for computer operating system upgrades |
US6735678B2 (en) * | 2000-05-24 | 2004-05-11 | Seagate Technology Llc | Method and apparatus for disc drive defragmentation |
US7130930B1 (en) * | 2000-06-16 | 2006-10-31 | O2 Micro Inc. | Low power CD-ROM player with CD-ROM subsystem for portable computer capable of playing audio CDs without supply energy to CPU |
US6681391B1 (en) * | 2000-06-21 | 2004-01-20 | Microsoft Corporation | Method and system for installing software on a computer system |
US6763428B1 (en) | 2000-08-02 | 2004-07-13 | Symantec Corporation | Methods and systems for performing push-pull optimization of files while file storage allocations are actively changing |
US7526349B2 (en) * | 2000-12-01 | 2009-04-28 | O2Micro International Limited | Low power digital audio decoding/playing system for computing devices |
US7522966B2 (en) * | 2000-12-01 | 2009-04-21 | O2Micro International Limited | Low power digital audio decoding/playing system for computing devices |
US7522965B2 (en) * | 2000-12-01 | 2009-04-21 | O2Micro International Limited | Low power digital audio decoding/playing system for computing devices |
US7522964B2 (en) | 2000-12-01 | 2009-04-21 | O2Micro International Limited | Low power digital audio decoding/playing system for computing devices |
US20020069353A1 (en) * | 2000-12-01 | 2002-06-06 | Smith R. Doug | Automated device driver installation |
US7890741B2 (en) * | 2000-12-01 | 2011-02-15 | O2Micro International Limited | Low power digital audio decoding/playing system for computing devices |
US7818443B2 (en) * | 2000-12-01 | 2010-10-19 | O2Micro International Ltd. | Low power digital audio decoding/playing system for computing devices |
EP1423783A2 (en) * | 2000-12-22 | 2004-06-02 | Koninklijke Philips Electronics N.V. | Method and system for reducing fragmentation |
US6480932B1 (en) * | 2001-01-31 | 2002-11-12 | Western Digital Technologies, Inc. | Computer system having a host computer coupled to a disk drive with a drive-selected-application partition for storing data for execution by the host computer in response to drive-determined conditions |
JP2002304823A (ja) * | 2001-04-10 | 2002-10-18 | Fujitsu Ltd | リオーダリングコントローラ、リオーダリング方法及び記憶装置 |
US6990574B2 (en) * | 2001-05-01 | 2006-01-24 | General Electric Company | Object oriented framework for scanner/workstation configuration |
US20030079217A1 (en) * | 2001-10-19 | 2003-04-24 | Chern-Muh Wang | Method for subserving preloaded programs |
US6924667B2 (en) * | 2002-07-19 | 2005-08-02 | O2Micro International Limited | Level shifting and level-shifting amplifier circuits |
US20040068667A1 (en) * | 2002-10-03 | 2004-04-08 | International Business Machines Corporation | Method and apparatus for securing and managing cluster computing in a network data processing system |
WO2004072973A1 (en) * | 2003-02-12 | 2004-08-26 | Koninklijke Philips Electronics N.V. | Storage medium with reserved area for file system data and application start-up data |
GB2399188B (en) * | 2003-03-04 | 2005-11-30 | Fujitsu Serv Ltd | Reducing the boot-up time of a computer system |
US7607000B1 (en) | 2003-05-13 | 2009-10-20 | Apple Inc. | Method for booting an operating system |
TW591538B (en) * | 2003-07-25 | 2004-06-11 | Via Tech Inc | Process for loading operating system |
US20070162707A1 (en) * | 2003-12-03 | 2007-07-12 | Matsushita Electric Industrial Co., Ltd. | Information recording medium data processing apparatus and data recording method |
US20050165856A1 (en) * | 2004-01-27 | 2005-07-28 | International Business Machines Corporation | System and method for autonomic performance enhancement of storage media |
US7536593B2 (en) * | 2004-03-05 | 2009-05-19 | International Business Machines Corporation | Apparatus, system, and method for emergency backup |
US7275150B2 (en) * | 2004-03-15 | 2007-09-25 | International Business Machines Corporation | Method and system for adding frequently selected applications to a computer startup sequence |
JP2005301801A (ja) * | 2004-04-14 | 2005-10-27 | Nec Corp | 情報処理装置、メモリ管理装置、およびプログラム |
CN100580611C (zh) * | 2004-06-30 | 2010-01-13 | 松下电器产业株式会社 | 程序执行设备及该程序执行方法 |
FR2875923B1 (fr) * | 2004-09-28 | 2006-12-22 | Thales Sa | Dispositif d'optimisation et de mise en route d'une application commandee par un calculateur a systeme d'exploitation multitache |
US7689979B1 (en) * | 2005-08-02 | 2010-03-30 | Adobe Systems Inc. | Methods and apparatus to improve application launch time |
US7926053B1 (en) * | 2005-08-26 | 2011-04-12 | Adobe Systems Incorporated | Methods and apparatus for optimizing installation location of software |
US7669044B2 (en) * | 2006-09-29 | 2010-02-23 | Microsoft Corporation | Accelerated system boot |
CN100451993C (zh) * | 2006-12-21 | 2009-01-14 | 威盛电子股份有限公司 | 多来源数据处理方法 |
US8087017B1 (en) * | 2007-04-09 | 2011-12-27 | Moka5, Inc. | Trace-assisted prefetching of virtual machines in a distributed system |
US7793266B2 (en) * | 2007-06-04 | 2010-09-07 | International Business Machines Corporation | Method, apparatus and computer program product for optimizing access to the content of a virtual application container on a fixed, read-only medium |
US7793265B2 (en) * | 2007-06-04 | 2010-09-07 | International Business Machines Corporation | Method, apparatus and computer program product for optimizing file accesses for an application executing in a virtual container |
KR101434297B1 (ko) * | 2007-09-11 | 2014-08-27 | 삼성전자주식회사 | 파일할당표를 이용한 파일 디바이드 및 머지 방법 |
US8799429B1 (en) | 2008-05-06 | 2014-08-05 | American Megatrends, Inc. | Boot acceleration by consolidating client-specific boot data in a data storage system |
US8127122B2 (en) * | 2008-09-16 | 2012-02-28 | Hewlett-Packard Development Company, L.P. | Selection of boot drive in a computer system |
CN101478462B (zh) * | 2008-12-17 | 2010-12-08 | 成都市华为赛门铁克科技有限公司 | 存储数据读取和写入的装置和方法及固态硬盘 |
US20110099327A1 (en) * | 2009-10-27 | 2011-04-28 | Sony Ericsson Mobile Communications Ab | System and method for launching an application programming utilizing a hybrid version of demand paging |
US8661433B2 (en) * | 2009-10-30 | 2014-02-25 | Hewlett-Packard Development Company, L.P. | Systems and methods of creating a restorable computer installation |
US8443167B1 (en) | 2009-12-16 | 2013-05-14 | Western Digital Technologies, Inc. | Data storage device employing a run-length mapping table and a single address mapping table |
US8194340B1 (en) | 2010-03-18 | 2012-06-05 | Western Digital Technologies, Inc. | Disk drive framing write data with in-line mapping data during write operations |
US8699185B1 (en) | 2012-12-10 | 2014-04-15 | Western Digital Technologies, Inc. | Disk drive defining guard bands to support zone sequentiality when butterfly writing shingled data tracks |
US8687306B1 (en) | 2010-03-22 | 2014-04-01 | Western Digital Technologies, Inc. | Systems and methods for improving sequential data rate performance using sorted data zones |
US8856438B1 (en) | 2011-12-09 | 2014-10-07 | Western Digital Technologies, Inc. | Disk drive with reduced-size translation table |
US8693133B1 (en) | 2010-03-22 | 2014-04-08 | Western Digital Technologies, Inc. | Systems and methods for improving sequential data rate performance using sorted data zones for butterfly format |
US9330715B1 (en) | 2010-03-22 | 2016-05-03 | Western Digital Technologies, Inc. | Mapping of shingled magnetic recording media |
US8621133B1 (en) | 2010-06-29 | 2013-12-31 | Western Digital Technologies, Inc. | Reading multiple metadata files across multiple tracks |
CN102375850B (zh) * | 2010-08-23 | 2013-10-30 | 联想(北京)有限公司 | 电子设备的文件排布方法、启动方法及电子设备 |
JP5342522B2 (ja) * | 2010-08-26 | 2013-11-13 | 株式会社デジタル | インストール方法及びプログラム |
US8478979B2 (en) | 2010-09-09 | 2013-07-02 | Hewlett-Packard Development Company, L.P. | Disable a feature of a computing machine |
US8756361B1 (en) | 2010-10-01 | 2014-06-17 | Western Digital Technologies, Inc. | Disk drive modifying metadata cached in a circular buffer when a write operation is aborted |
US8954664B1 (en) | 2010-10-01 | 2015-02-10 | Western Digital Technologies, Inc. | Writing metadata files on a disk |
US8832708B2 (en) | 2010-10-12 | 2014-09-09 | Microsoft Corporation | Process pool of empty application hosts to improve user perceived launch time of applications |
US9569351B2 (en) | 2010-10-25 | 2017-02-14 | Seagate Technology Llc | Storing corresponding data units in a common storage unit |
US8793429B1 (en) | 2011-06-03 | 2014-07-29 | Western Digital Technologies, Inc. | Solid-state drive with reduced power up time |
US8756382B1 (en) | 2011-06-30 | 2014-06-17 | Western Digital Technologies, Inc. | Method for file based shingled data storage utilizing multiple media types |
EP2557497A1 (en) * | 2011-08-08 | 2013-02-13 | Advanced Digital Broadcast S.A. | Method for improving booting of a computing device |
US9213493B1 (en) | 2011-12-16 | 2015-12-15 | Western Digital Technologies, Inc. | Sorted serpentine mapping for storage drives |
WO2013094003A1 (ja) * | 2011-12-19 | 2013-06-27 | 富士通株式会社 | ソフトウェアのインストール順序を決定する方法、プログラム、及び装置 |
US8819367B1 (en) | 2011-12-19 | 2014-08-26 | Western Digital Technologies, Inc. | Accelerated translation power recovery |
US8612706B1 (en) | 2011-12-21 | 2013-12-17 | Western Digital Technologies, Inc. | Metadata recovery in a disk drive |
CN102609291B (zh) * | 2012-02-29 | 2015-05-27 | 记忆科技(深圳)有限公司 | 基于固态硬盘的系统启动方法和固态硬盘 |
US10078474B1 (en) * | 2012-06-29 | 2018-09-18 | Emc Corporation | Method of maintaining list of scratch volumes in shared filesystems across multiple nodes |
CN102981874B (zh) * | 2012-11-15 | 2015-12-02 | 北京奇虎科技有限公司 | 计算机处理系统和注册表重定向方法 |
CN103530319B (zh) * | 2013-09-16 | 2017-12-15 | 华为技术有限公司 | 一种操作请求的处理方法和装置 |
US8953269B1 (en) | 2014-07-18 | 2015-02-10 | Western Digital Technologies, Inc. | Management of data objects in a data object zone |
US9875055B1 (en) | 2014-08-04 | 2018-01-23 | Western Digital Technologies, Inc. | Check-pointing of metadata |
JP6668840B2 (ja) * | 2016-03-11 | 2020-03-18 | 富士通株式会社 | ソフトウェア導入支援プログラム、ソフトウェア導入支援装置、及びソフトウェア導入支援方法 |
CN107402721A (zh) * | 2017-06-30 | 2017-11-28 | 郑州云海信息技术有限公司 | 一种硬盘的控制方法、装置及服务器 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05216594A (ja) * | 1992-01-31 | 1993-08-27 | Nec Corp | 再配置ディスク装置 |
US5325532A (en) * | 1992-09-25 | 1994-06-28 | Compaq Computer Corporation | Automatic development of operating system boot image |
US5473767A (en) * | 1992-11-03 | 1995-12-05 | Intel Corporation | Method and apparatus for asynchronously stopping the clock in a processor |
US5432937A (en) * | 1993-08-20 | 1995-07-11 | Next Computer, Inc. | Method and apparatus for architecture independent executable files |
JP3564732B2 (ja) | 1994-06-30 | 2004-09-15 | ソニー株式会社 | ディスク制御方法および装置 |
US5732266A (en) * | 1994-09-02 | 1998-03-24 | Compaq Computer Corporation | Storage medium storing application programs and application initialization files and automatic launching of computer applications stored on the storage medium |
US5574907A (en) | 1994-11-30 | 1996-11-12 | Microsoft Corporation | Two-pass defragmentation of compressed hard disk data with a single data rewrite |
US5778392A (en) | 1996-04-01 | 1998-07-07 | Symantec Corporation | Opportunistic tile-pulling, vacancy-filling method and apparatus for file-structure reorganization |
JPH09293007A (ja) * | 1996-04-26 | 1997-11-11 | Nec Corp | プログラムインストール装置 |
US5802593A (en) * | 1996-09-06 | 1998-09-01 | Intel Corporation | Method and apparatus for improving disk drive performance |
US5857101A (en) * | 1997-04-15 | 1999-01-05 | Acceleration Software International Corporation | Program lunch acceleration |
US5933630A (en) * | 1997-06-13 | 1999-08-03 | Acceleration Software International Corporation | Program launch acceleration using ram cache |
US6202121B1 (en) * | 1998-04-15 | 2001-03-13 | Microsoft Corporation | System and method for improved program launch time |
-
1998
- 1998-04-15 US US09/060,702 patent/US6202121B1/en not_active Expired - Lifetime
-
1999
- 1999-04-08 WO PCT/US1999/007690 patent/WO1999053395A1/en active IP Right Grant
- 1999-04-08 EP EP05013102A patent/EP1607855B1/en not_active Expired - Lifetime
- 1999-04-08 CN CNB998050040A patent/CN1212563C/zh not_active Expired - Lifetime
- 1999-04-08 DE DE69943066T patent/DE69943066D1/de not_active Expired - Lifetime
- 1999-04-08 JP JP2000543892A patent/JP4235362B2/ja not_active Expired - Fee Related
- 1999-04-08 DE DE69926227T patent/DE69926227T2/de not_active Expired - Lifetime
- 1999-04-08 EP EP99918472A patent/EP1073947B1/en not_active Expired - Lifetime
- 1999-04-14 TW TW088105949A patent/TW432317B/zh not_active IP Right Cessation
-
2008
- 2008-04-16 JP JP2008107164A patent/JP4571992B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1296582A (zh) | 2001-05-23 |
US6202121B1 (en) | 2001-03-13 |
JP4571992B2 (ja) | 2010-10-27 |
CN1212563C (zh) | 2005-07-27 |
JP2008251018A (ja) | 2008-10-16 |
JP2002511615A (ja) | 2002-04-16 |
EP1607855B1 (en) | 2010-12-22 |
DE69926227T2 (de) | 2006-04-13 |
JP4235362B2 (ja) | 2009-03-11 |
DE69943066D1 (de) | 2011-02-03 |
EP1607855A3 (en) | 2007-07-04 |
EP1607855A2 (en) | 2005-12-21 |
EP1073947B1 (en) | 2005-07-20 |
DE69926227D1 (de) | 2005-08-25 |
WO1999053395A1 (en) | 1999-10-21 |
EP1073947A1 (en) | 2001-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW432317B (en) | System and method for improved program launch time | |
US5996088A (en) | High-speed database checkpointing through sequential I/O to disk | |
CN100412823C (zh) | 存储系统中元数据道的原子更新的管理方法和系统 | |
RU2352001C2 (ru) | Динамическая энергонезависимая память с произвольным доступом | |
US5933593A (en) | Method for writing modified data from a main memory of a computer back to a database | |
JP3526452B2 (ja) | ディスクアレイ装置及びデータバックアップ方法 | |
US6397311B1 (en) | System and method for defragmenting a file system | |
US5930828A (en) | Real-time apparatus and method for minimizing disk fragmentation in a computer system | |
US8782089B2 (en) | Selective file erasure using metadata modifications and apparatus | |
US6185575B1 (en) | In-place disk partition canonization and storage optimization | |
US5559957A (en) | File system for a data storage device having a power fail recovery mechanism for write/replace operations | |
EP1739535A2 (en) | File system storing transaction records in flash-like media | |
CN106662981A (zh) | 存储设备、程序和信息处理方法 | |
EP1744247A2 (en) | Optimized startup verification of file system integrity | |
CZ9701859A3 (cs) | Ukládání počítačových dat | |
US5983319A (en) | Information recording and reproduction apparatus and a method of data caching including read-ahead capability | |
JP2007234026A (ja) | ユニークブロックプールマネージャを含むデータ記憶システムおよび階層記憶装置における応用 | |
JP3610266B2 (ja) | ログ構造化ターゲット記憶装置にデータを書き込む方法 | |
US20070061540A1 (en) | Data storage system using segmentable virtual volumes | |
US20060149899A1 (en) | Method and apparatus for ongoing block storage device management | |
JPH06259197A (ja) | アレイ型ディスクシステムの制御方式 | |
JP2000298608A (ja) | コンピュータデータ記憶媒体及びメモリ管理方法 | |
US20140331007A1 (en) | Virtual library controller and control method | |
Do et al. | Fast peak-to-peak behavior with SSD buffer pool | |
JPH07152498A (ja) | 情報処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |