TW432317B - System and method for improved program launch time - Google Patents

System and method for improved program launch time Download PDF

Info

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
Application number
TW088105949A
Other languages
English (en)
Inventor
James Edward Walsh
Benjamin Aaron Rudiak-Gould
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Application granted granted Critical
Publication of TW432317B publication Critical patent/TW432317B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program 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)

  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頁
TW088105949A 1998-04-15 1999-04-14 System and method for improved program launch time TW432317B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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