JP2010044503A - Computer program, and recording medium - Google Patents

Computer program, and recording medium Download PDF

Info

Publication number
JP2010044503A
JP2010044503A JP2008207057A JP2008207057A JP2010044503A JP 2010044503 A JP2010044503 A JP 2010044503A JP 2008207057 A JP2008207057 A JP 2008207057A JP 2008207057 A JP2008207057 A JP 2008207057A JP 2010044503 A JP2010044503 A JP 2010044503A
Authority
JP
Japan
Prior art keywords
area
computer program
cpu
computer
function
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2008207057A
Other languages
Japanese (ja)
Inventor
Takeo Ichikawa
剛生 市川
Shingo Fukui
真吾 福井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Buffalo Inc
Original Assignee
Buffalo Inc
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 Buffalo Inc filed Critical Buffalo Inc
Priority to JP2008207057A priority Critical patent/JP2010044503A/en
Publication of JP2010044503A publication Critical patent/JP2010044503A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To use a non-administration region being a region other than a restricted specific region, and to improve the convenience of a user in that case, in a computer system in which the administration region of a main memory which is controlled by an operating system is restricted to a specific region. <P>SOLUTION: A CPU automatically performs setting to validate a PAE (Physical Address Extension) mode when installing an RAM disk driver in a computer system. Afterwards, the CPU performs the mapping of an non-administration region 130 of a main memory 100 in a virtual address space 200 of the RAM disk driver. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、コンピュータプログラム、および、記録媒体に関するものである。   The present invention relates to a computer program and a recording medium.

例えば、Intel x86 32Bit CPU(または、その互換CPU)を搭載したコンピュータシステム(x86コンピュータシステム)は、メインメモリの物理アドレス空間を利用する際に、通常の物理アドレス指定モードにおいては、32Bitのアドレス指定で表現できる4GBまでの物理アドレス空間しか利用できない。しかし、CPUの拡張機能である物理アドレス拡張(PAE:Physical Address Extension)モードを利用することで、4GBを超える、より広範囲の物理アドレス空間が利用可能となる。これをプロセスごとの仮想アドレス空間にマッピングすることで、1プロセスあたりの仮想アドレス空間の上限は4GBのままであるが、システム全体としては4GBを超えるメモリ容量を活用することができる。Microsoft社のWindowsオペレーティングシステム(以下、「OS」とも言う)には、PAEモードの設定が実装されており、特にサーバ向けエディションのWindowsOSでは、PAEモードを有効に設定することで、前述のような形で4GBを超えるメモリ容量を活用できるようになっている。   For example, when a computer system (x86 computer system) equipped with an Intel x86 32-bit CPU (or compatible CPU) uses the physical address space of the main memory, in the normal physical addressing mode, 32-bit addressing is performed. Only the physical address space up to 4 GB that can be expressed by However, by using a physical address extension (PAE) mode that is an extended function of the CPU, a wider physical address space exceeding 4 GB can be used. By mapping this to the virtual address space for each process, the upper limit of the virtual address space per process remains 4 GB, but the entire system can utilize a memory capacity exceeding 4 GB. Microsoft's Windows operating system (hereinafter also referred to as “OS”) has a PAE mode setting. In particular, in the Windows OS for server editions, the PAE mode is set to be effective, as described above. The memory capacity exceeding 4 GB can be utilized in the form.

特表2002−539555号公報Special table 2002-539555 gazette 米国特許第5802605号明細書US Pat. No. 5,802,605 米国特許第6032240号明細書US Pat. No. 6,032,240

しかし、汎用のパーソナルコンピュータ向けエディションや、ワークステーション向けエディションのWindowsOSでは、PAEモードの設定は実装されているものの、WindowsOS自身が管理する物理アドレス範囲が4GBまでに制限されている。   However, in the general-purpose personal computer edition and the workstation edition of Windows OS, although the PAE mode setting is implemented, the physical address range managed by the Windows OS itself is limited to 4 GB.

また、近年、コンピュータのチップセットの性能向上や、DRAM(Dynamic Random Access Memory)の大容量化・低価格化により、4GB以上のメインメモリを搭載したコンピュータを安価に入手可能となったにも関わらず、現在の主流であるパーソナルコンピュータ向けエディションやワークステーション向けエディションのWindowsOSにおいては、4GBを超える範囲のメモリ領域を利用することができないという問題があった。   In addition, in recent years, computers equipped with main memory of 4 GB or more have become available at low cost due to the performance improvement of computer chip sets and the increase in capacity and price of DRAM (Dynamic Random Access Memory). However, the current mainstream editions for personal computers and editions for workstations have a problem that a memory area exceeding 4 GB cannot be used.

また、多くのx86コンピュータシステムにおいては、メインメモリの物理アドレス空間の上位数百MB程度の領域に、予約領域、すなわち、コンピュータに搭載された各種ハードウェアコンポーネントの入出力を行うためのメモリ領域や、BIOS(Basic Input/ Output System)のプログラムやデータの領域がマッピングされている。したがって、これらの予約領域と重なる物理アドレス範囲のメモリ領域が利用できなくなってしまう。これを回避するために、多くのx86コンピュータシステムでBIOSに物理アドレス再マッピング機能が用意されており、重なる範囲のメモリ領域を、4GB以降の物理アドレス空間に再配置することができる。この機能を利用することで、例えば、4GBのメインメモリを搭載したx86コンピュータシステムにおいては、予約領域と重なる分の数百MB程度の容量のメモリが、4GB以降の物理アドレス空間に再配置される。ところが、パーソナルコンピュータ向けエディションやワークステーション向けエディションのWindowsOSおいては、前述の通り、4GBを越える範囲のメモリ領域を利用することができないため、この数百MB程度の再配置範囲には結局アクセスできず、4GBのメインメモリを搭載したシステムであるにも関わらず、4GBよりも数百MB少ない容量のメモリしか利用することができないという問題があった。   In many x86 computer systems, a reserved area, that is, a memory area for inputting / outputting various hardware components mounted on the computer, is provided in an area of about several hundred MB in the physical address space of the main memory. BIOS (Basic Input / Output System) programs and data areas are mapped. Therefore, the memory area in the physical address range that overlaps with these reserved areas cannot be used. In order to avoid this, a physical address remapping function is prepared in the BIOS in many x86 computer systems, and the overlapping memory area can be relocated to a physical address space of 4 GB or more. By using this function, for example, in an x86 computer system equipped with a 4 GB main memory, a memory having a capacity of about several hundred MB corresponding to the reserved area is relocated to a physical address space after 4 GB. . However, since the Windows OS of the edition for personal computers and the edition for workstations cannot use the memory area exceeding 4 GB as described above, the relocation range of about several hundred MB is eventually accessible. In spite of the fact that the system is equipped with a 4 GB main memory, there is a problem that only a memory having a capacity of several hundred MB less than 4 GB can be used.

本発明は、上述の課題を解決するためになされたものであり、オペレーティングシステムが管理するメインメモリの管理領域が所定領域に制限されているコンピュータシステムにおいて、制限された所定領域以外の領域である管理外領域を利用できるようにするとともに、その際のユーザの利便性を向上させることを目的とする。   The present invention has been made to solve the above-described problems, and is an area other than the limited predetermined area in a computer system in which the management area of the main memory managed by the operating system is limited to the predetermined area. An object is to make it possible to use an unmanaged area and to improve the convenience of the user at that time.

本発明は、上述の課題の少なくとも一部を解決するために以下の形態又は適用例として実現することが可能である。   The present invention can be realized as the following forms or application examples in order to solve at least a part of the above-described problems.

[適用例1]オペレーティングシステムが管理するメインメモリの管理領域が所定領域に制限されているコンピュータシステムにおいて、前記メインメモリの前記所定領域以外の領域である管理外領域を利用可能にするためのコンピュータプログラムであって、前記オペレーティングシステムが管理するメモリ領域を前記管理外領域にまで拡張する物理アドレス拡張モードを有効にする設定を行う設定機能と、前記物理アドレス拡張モードを有効にする設定がなされているときに、前記メインメモリの前記管理外領域を、仮想アドレス空間にマッピングするマッピング機能と、をコンピュータに実現させるためのコンピュータプログラム。   Application Example 1 In a computer system in which a management area of a main memory managed by an operating system is limited to a predetermined area, a computer for making an unmanaged area that is an area other than the predetermined area of the main memory available A setting function for enabling a physical address expansion mode for extending a memory area managed by the operating system to the non-management area, and a setting for enabling the physical address expansion mode. A computer program for causing a computer to realize a mapping function for mapping the non-managed area of the main memory to a virtual address space when the computer is in the middle.

適用例1のコンピュータプログラムをコンピュータが実行することによって、コンピュータシステムに精通していないユーザにとって困難な設定作業をユーザが行うことなく、物理アドレス拡張モードを有効にする設定を行い、メインメモリの管理外領域を利用できるようにすることができる。つまり、適用例1のコンピュータプログラムによって、オペレーティングシステムが管理するメインメモリの管理領域が所定領域に制限されているコンピュータシステムにおいて、制限された所定領域以外の領域である管理外領域を利用できるようにするとともに、その際のユーザの利便性を向上させることができる。   When the computer program of the application example 1 is executed by the computer, the setting for enabling the physical address extension mode is performed without the user performing difficult setting work for the user who is not familiar with the computer system, and the main memory is managed. The outside area can be made available. In other words, in the computer system in which the management area of the main memory managed by the operating system is restricted to a predetermined area by the computer program of Application Example 1, an unmanaged area that is an area other than the restricted predetermined area can be used. In addition, the convenience of the user at that time can be improved.

[適用例2]適用例1記載のコンピュータプログラムであって、さらに、前記管理外領域に記憶されているデータを、所定のタイミングで、外部記憶装置にバックアップする機能を前記コンピュータに実現させるためのコンピュータプログラム。   [Application Example 2] The computer program according to Application Example 1, which further causes the computer to realize a function of backing up data stored in the non-management area to an external storage device at a predetermined timing. Computer program.

適用例2のコンピュータプログラムをコンピュータが実行することによって、メインメモリの上記管理外領域に記憶されているデータが消失するのを回避することができる。なお、上記管理外領域に記憶されているデータを、外部記憶装置にバックアップする所定のタイミングは、ユーザによるバックアップ指示がコンピュータに入力されたタイミングであってもよいし、ユーザによるバックアップ指示とは無関係なタイミングであってもよい。   When the computer program of the application example 2 is executed by the computer, it is possible to prevent the data stored in the unmanaged area of the main memory from being lost. The predetermined timing for backing up the data stored in the unmanaged area to the external storage device may be the timing when the backup instruction by the user is input to the computer, or is independent of the backup instruction by the user. It may be a proper timing.

[適用例3]適用例2記載のコンピュータプログラムであって、前記所定のタイミングは、前記メインメモリへの通電状態が非通電状態に移行するタイミングである、コンピュータプログラム。   [Application Example 3] The computer program according to Application Example 2, wherein the predetermined timing is a timing at which an energized state of the main memory shifts to a non-energized state.

[適用例4]適用例2記載のコンピュータプログラムであって、前記所定のタイミングは、前記管理外領域へのデータの書き込みがあったタイミングである、コンピュータプログラム。   Application Example 4 The computer program according to Application Example 2, wherein the predetermined timing is a timing when data is written to the non-management area.

適用例3,4のコンピュータプログラムをコンピュータが実行することによって、上記管理外領域に記憶された最新のデータを、ユーザによるバックアップ指示とは無関係なタイミングで、外部記憶装置に自動的にバックアップすることができる。なお、メインメモリへの通電状態が非通電状態に移行するタイミングとしては、例えば、コンピュータシステムのシャットダウン時や、再起動時や、休止状態に移行するときが挙げられる。   When the computer program of application examples 3 and 4 is executed, the latest data stored in the unmanaged area is automatically backed up to an external storage device at a timing unrelated to the backup instruction by the user. Can do. The timing at which the energized state of the main memory shifts to the non-energized state includes, for example, when the computer system is shut down, restarted, or shifted to the hibernation state.

[適用例5]適用例2ないし4のいずれかに記載のコンピュータプログラムであって、さらに、前記外部記憶装置にバックアップされたデータを、前記管理外領域にリストアする機能を前記コンピュータに実現させるためのコンピュータプログラム。   [Application Example 5] The computer program according to any one of Application Examples 2 to 4, wherein the computer further realizes a function of restoring data backed up in the external storage device to the non-management area. Computer program.

適用例5のコンピュータプログラムをコンピュータが実行することによって、外部記憶装置にバックアップされたデータを、上記管理外領域にリストアすることができる。なお、リストアのタイミングとしては、例えば、コンピュータシステムの起動時や、休止状態からの復帰時が挙げられる。   When the computer executes the computer program of Application Example 5, the data backed up in the external storage device can be restored to the unmanaged area. Note that the restoration timing includes, for example, when the computer system is activated and when the computer is restored from the hibernation state.

[適用例6]適用例1ないし5のいずれかに記載のコンピュータプログラムであって、前記設定機能は、前記コンピュータシステムで起動しているオペレーティングシステムの種類に応じて、前記設定時の処理内容を切り換える機能を含む、コンピュータプログラム。   [Application Example 6] The computer program according to any one of Application Examples 1 to 5, wherein the setting function determines processing contents at the time of setting according to a type of an operating system running on the computer system. A computer program that includes a switching function.

適用例6のコンピュータプログラムをコンピュータが実行することによって、例えば、Microsoft社のWindows XPやWindows Vista等のオペレーティングシステムの種類に応じて、適切な設定処理を行うことができる。なお、さらに、メインメモリやCPUの種類等、コンピュータシステムの環境に応じて、上記設定時の処理内容を切り換えるようにしてもよい。   When the computer program of the application example 6 is executed by a computer, an appropriate setting process can be performed according to the type of operating system such as Windows XP or Windows Vista of Microsoft Corporation. Furthermore, the processing content at the time of the setting may be switched according to the environment of the computer system, such as the main memory and CPU type.

[適用例7]適用例1ないし6のいずれかに記載のコンピュータプログラムであって、前記コンピュータは、32ビットマイクロプロセッサを備えており、前記オペレーティングシステムは、前記32ビットマイクロプロセッサに対応したオペレーティングシステムであり、前記所定領域の容量は、4ギガバイトである、コンピュータプログラム。   Application Example 7 The computer program according to any one of Application Examples 1 to 6, wherein the computer includes a 32-bit microprocessor, and the operating system is an operating system corresponding to the 32-bit microprocessor. And the capacity of the predetermined area is 4 gigabytes.

本発明は、上述のコンピュータプログラムとしての構成の他、このコンピュータプログラムを記録した記録媒体、そのプログラムを含み搬送波内に具現化されたデータ信号など種々の態様で実現することが可能である。なお、記録媒体としては、フレキシブルディスクやCD−ROM、DVD−ROM、光磁気ディスク、ICカード、ROMカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置(RAMやROMなどのメモリ)および外部記憶装置などコンピュータが読み取り可能な種々の媒体を利用できる。   The present invention can be realized in various forms such as the above-described configuration as a computer program, a recording medium storing the computer program, a data signal including the program and embodied in a carrier wave. The recording medium includes a flexible disk, a CD-ROM, a DVD-ROM, a magneto-optical disk, an IC card, a ROM cartridge, a punch card, a printed matter on which a code such as a barcode is printed, an internal storage device of a computer (RAM or Various types of computer-readable media such as a memory such as a ROM and an external storage device can be used.

以下、本発明の実施の形態について、実施例に基づき以下の順序で説明する。
A.コンピュータシステム(本発明の概要):
B.各種処理:
B1.RAMディスクドライバのインストール処理:
B2.PAEモード設定処理:
B3.初期化処理:
B4.搭載メモリ容量の自動認識、リストア、フォーマット処理:
B4.1.リストア処理:
B4.2.フォーマット処理:
B4.3.バックアップ処理:
B5.リード・ライト処理:
B6.非通電状態移行処理:
B7.通電状態復帰処理:
B8.デバイス停止処理:
B9.RAMディスクドライバのアンインストール処理:
B10.PAEモード解除処理:
C.変形例:
Hereinafter, embodiments of the present invention will be described in the following order based on examples.
A. Computer system (outline of the invention):
B. Various processing:
B1. RAM disk driver installation process:
B2. PAE mode setting process:
B3. Initialization processing:
B4. Automatic recognition, restoration, and formatting of installed memory capacity:
B4.1. Restore processing:
B4.2. Format processing:
B4.3. Backup process:
B5. Read / write processing:
B6. Non-energized state transition processing:
B7. Energized state recovery processing:
B8. Device stop processing:
B9. RAM disk driver uninstall process:
B10. PAE mode release processing:
C. Variation:

A.コンピュータシステム(本発明の概要):
本実施例のコンピュータシステムは、汎用のパーソナルコンピュータであり、CPUや、RAM(メインメモリ)や、ROMや、ハードディスクや、キーボードや、マウスや、ディスプレイ等を備えている。そして、本実施例では、CPUは、Intel x86 32Bit CPU(または、その互換CPU)であり、RAMは、8GBのメモリ容量を有しているものとする。また、本実施例のコンピュータシステムは、Microsoft社の汎用のパーソナルコンピュータ向けエディションのWindowsOS(32ビット版)(以下、単に「OS」と呼ぶ)を備えているものとする。
A. Computer system (outline of the invention):
The computer system of this embodiment is a general-purpose personal computer, and includes a CPU, a RAM (main memory), a ROM, a hard disk, a keyboard, a mouse, a display, and the like. In this embodiment, the CPU is an Intel x86 32-bit CPU (or a compatible CPU), and the RAM has a memory capacity of 8 GB. The computer system of this embodiment is assumed to include a Windows OS (32-bit version) (hereinafter, simply referred to as “OS”) for a general-purpose personal computer manufactured by Microsoft Corporation.

図1は、本発明の概要を模式的に示す説明図である。本実施例のコンピュータシステムにおいて、メインメモリ100の物理アドレス空間は、OSが管理するOS管理領域110と、BIOS等が利用する予約領域120と、通常の物理アドレス指定モードではOSが管理しない(アクセスできない)OS管理外領域130とからなる。なお、OS管理領域110は、約3〜3.5GBに制限されている。また、予約領域120は、約0.5〜1GBである。また、メインメモリ100における、OS管理領域110、および、予約領域120以外の4GBを超える領域が、OS管理外領域130である。   FIG. 1 is an explanatory view schematically showing the outline of the present invention. In the computer system of this embodiment, the physical address space of the main memory 100 is not managed by the OS in the OS management area 110 managed by the OS, the reserved area 120 used by the BIOS, and the normal physical addressing mode (access). (Not) OS non-management area 130. The OS management area 110 is limited to about 3 to 3.5 GB. The reserved area 120 is about 0.5 to 1 GB. Further, an area exceeding 4 GB other than the OS management area 110 and the reserved area 120 in the main memory 100 is an OS non-management area 130.

そして、本実施例のコンピュータシステムでは、本発明のコンピュータプログラムとしてのRAMディスクドライバをCPUが実行することによって、メインメモリ100のOS管理外領域130をディスクイメージ用メモリ領域として利用可能とする。具体的には、図中に一点鎖線で囲まれた矩形で示したように、ディスクイメージ上の、読み書きしたい箇所にあたるメモリ領域を、必要に応じてRAMディスクドライバが仮想アドレス空間200にマッピングし、OSがRAMディスクドライバを介して、OS管理外領域130にアクセス可能とする。   In the computer system of this embodiment, the CPU executes the RAM disk driver as the computer program of the present invention, so that the OS unmanaged area 130 of the main memory 100 can be used as a disk image memory area. Specifically, as indicated by the rectangle surrounded by the alternate long and short dash line in the figure, the RAM disk driver maps the memory area corresponding to the location to be read / written on the disk image to the virtual address space 200 as necessary, The OS can access the non-OS management area 130 via the RAM disk driver.

さらに、本実施例のコンピュータシステムでは、RAMディスクドライバの仮想アドレス空間200(対応するOS管理外領域130)に記憶されたデータを、ユーザのバックアップ指示によらずに、所定のタイミングで、ハードディスク300上に作成された自動バックアップファイルにバックアップすることができる。また、RAMディスクドライバの仮想アドレス空間200(対応するOS管理外領域130)に記憶されたデータを、ユーザによるバックアップ指示に応じて、ハードディスク300上に作成された手動バックアップファイルにバックアップすることもできる。   Further, in the computer system of the present embodiment, the data stored in the virtual address space 200 (corresponding non-OS management area 130) of the RAM disk driver is transferred to the hard disk 300 at a predetermined timing regardless of the user backup instruction. You can backup to the automatic backup file created above. In addition, data stored in the virtual address space 200 (corresponding non-OS management area 130) of the RAM disk driver can be backed up to a manual backup file created on the hard disk 300 in accordance with a backup instruction from the user. .

また、本実施例のコンピュータシステムでは、ハードディスク300上の自動バックアップファイルにバックアップされたデータを、ユーザのリストア指示によらずに、所定のタイミングで、RAMディスクドライバの仮想アドレス空間200(対応するOS管理外領域130)に自動的にリストアすることができる。また、手動バックアップファイルにバックアップされたデータを、ユーザのリストア指示に応じて、RAMディスクドライバの仮想アドレス空間200(対応するOS管理外領域130)にリストアすることもできる。   Further, in the computer system of this embodiment, the data backed up in the automatic backup file on the hard disk 300 is transferred to the virtual address space 200 (corresponding OS) of the RAM disk driver at a predetermined timing without depending on a user restore instruction. It is possible to automatically restore to the non-management area 130). In addition, data backed up in the manual backup file can be restored to the virtual address space 200 (corresponding non-OS management area 130) of the RAM disk driver in accordance with a user restore instruction.

以下、本実施例のコンピュータシステムにおいて、RAMディスクドライバを用いてCPUが実行する各種処理について説明する。   Hereinafter, various processes executed by the CPU using the RAM disk driver in the computer system of this embodiment will be described.

B.各種処理:
B1.RAMディスクドライバのインストール処理:
図2は、RAMディスクドライバのインストール処理の流れを示すフローチャートである。この処理は、RAMディスクドライバ、および、RAMディスクドライバの設定ユーティリティが記録された記録媒体が、コンピュータシステムが備えるドライブに挿入されたときに、CPUが自動的に実行する処理である。
B. Various processing:
B1. RAM disk driver installation process:
FIG. 2 is a flowchart showing the flow of RAM disk driver installation processing. This process is a process that is automatically executed by the CPU when a RAM disk driver and a recording medium on which a RAM disk driver setting utility is recorded are inserted into a drive included in the computer system.

まず、CPUは、RAMディスクドライバの設定ユーティリティのインストール先フォルダ選択などの設定画面(図示省略)をディスプレイに表示する(ステップS100)。そして、この設定画面でユーザによって必要な設定情報が入力されると、CPUは、後述するPAEモード設定処理を行う(ステップS110)。このPAEモード設定処理によって、PAEモードが有効にされ、OSの再起動後に、メインメモリ100のOS管理外領域130がディスクイメージ用メモリ領域として利用可能となる。   First, the CPU displays a setting screen (not shown) for selecting an installation destination folder for the RAM disk driver setting utility on the display (step S100). When necessary setting information is input by the user on this setting screen, the CPU performs a PAE mode setting process described later (step S110). By this PAE mode setting process, the PAE mode is validated, and the OS unmanaged area 130 of the main memory 100 can be used as a disk image memory area after the OS is restarted.

次に、CPUは、RAMディスクドライバをシステムにインストールする(ステップS120)。次に、CPUは、RAMディスクドライバの設定ユーティリティをシステムにインストールする(ステップS130)。そして、CPUは、OSの再起動を行う(ステップS140)。以上の処理によって、RAMディスクのインストール処理は終了する。   Next, the CPU installs a RAM disk driver in the system (step S120). Next, the CPU installs a RAM disk driver setting utility in the system (step S130). Then, the CPU restarts the OS (step S140). With the above processing, the RAM disk installation processing is completed.

B2.PAEモード設定処理:
図3は、図2のステップS110におけるPAEモード設定処理の流れを示すフローチャートである。
B2. PAE mode setting process:
FIG. 3 is a flowchart showing the flow of the PAE mode setting process in step S110 of FIG.

まず、CPUは、コンピュータシステムで起動しているOSの種別を判断し(ステップS200)、OSの種別に応じて、以降の処理内容を切り換える。本実施例では、OSがWindows Vistaであるか、Windows XPであるかを判断するものとした。OSがWindows Vistaである場合には、CPUは、”bcdedit /set pae ForceEnable”コマンドを実行して、PAEモードを有効にする設定を行い、PAEモード設定処理を終了する。   First, the CPU determines the type of OS running in the computer system (step S200), and switches subsequent processing contents according to the type of OS. In this embodiment, it is determined whether the OS is Windows Vista or Windows XP. When the OS is Windows Vista, the CPU executes a “bcdedit / set pae ForceEnable” command to perform setting for enabling the PAE mode, and ends the PAE mode setting process.

ステップS200において、OSがWindows XPである場合には、CPUは、OSのboot.iniファイルの[operating systems]セクションの内容を読み込み(ステップS220)、[operating systems]セクションに2行以上のブートエントリが存在するか否かを判断する(ステップS230)。例えば、コンピュータシステムに、複数種類のOSがインストールされており、[operating systems]セクションに2行以上のブートエントリが存在する場合には(ステップS230:YES)、CPUは、PAEモード設定を追加するブートエントリをユーザが選択するための選択画面(図示省略)をディスプレイに表示する(ステップS240)。そして、この選択画面でユーザによってPAEモード設定を追加するブートエントリが選択されると、CPUは、ユーザによって選択されたブートエントリに「/PAE」オプションを付加し(ステップS250)、編集したブートエントリをboot.iniファイルに上書きする(ステップS260)。   In step S200, if the OS is Windows XP, the CPU reads the contents of the [operating systems] section of the OS boot.ini file (step S220), and the [operating systems] section contains two or more boot entries. Is determined (step S230). For example, when a plurality of types of OSs are installed in the computer system and there are two or more boot entries in the [operating systems] section (step S230: YES), the CPU adds the PAE mode setting. A selection screen (not shown) for the user to select a boot entry is displayed on the display (step S240). When the user selects a boot entry for adding the PAE mode setting on the selection screen, the CPU adds the “/ PAE” option to the boot entry selected by the user (step S250), and the edited boot entry. Is overwritten in the boot.ini file (step S260).

ステップS230において、[operating systems]セクションにブートエントリが1行しか存在しない場合には(ステップS230:NO)、CPUは、そのブートエントリに「/PAE」オプションを付加し(ステップS250)、編集したブートエントリをboot.iniファイルに上書きする(ステップS260)。以上の処理によって、PAEモード設定処理を終了する。   In step S230, if there is only one boot entry in the [operating systems] section (step S230: NO), the CPU adds the “/ PAE” option to the boot entry (step S250) and edits it. The boot entry is overwritten on the boot.ini file (step S260). With the above processing, the PAE mode setting processing is completed.

図4は、PAEモード設定処理におけるboot.iniファイルの編集の様子を示す説明図である。図4(a)に、編集前のboot.iniファイルの内容の一例を示した。また、図4(b)に、編集後のboot.iniファイルの内容の一例を示した。ここでは、[operating systems]セクションに1行のブートエントリが存在する場合について示した。図4(a),(b)に、破線、および、一点鎖線で囲んで示したように、PAEモード設定処理によって、[operating systems]セクションのブートエントリには、「/PAE」オプションが付加される。   FIG. 4 is an explanatory diagram showing how the boot.ini file is edited in the PAE mode setting process. FIG. 4A shows an example of the contents of the boot.ini file before editing. FIG. 4B shows an example of the contents of the edited boot.ini file. Here, the case where a one-line boot entry exists in the [operating systems] section is shown. 4A and 4B, the “/ PAE” option is added to the boot entry in the [operating systems] section by the PAE mode setting process, as indicated by the dashed line and the alternate long and short dash line. The

上述したインストール処理後、RAMディスクの設定ユーティリティが起動されると、CPUは、図5に示したグラフィカル・ユーザ・インタフェースとしての表示画面WD1をディスプレイに表示する。   When the RAM disk setting utility is started after the installation process described above, the CPU displays the display screen WD1 as the graphical user interface shown in FIG. 5 on the display.

図5は、RAMディスクの設定ユーティティが起動されたときに、CPUがディスプレイに表示する表示画面WD1の一例を示す説明図である。図示するように、この表示画面WD1には、「手動バックアップ」ボタンと、「手動リストア」ボタンと、「自動バックアップファイルの削除」ボタンと、「動作設定」ボタンと、「アンインストール」ボタンとが配置される。   FIG. 5 is an explanatory diagram showing an example of a display screen WD1 that the CPU displays on the display when the RAM disk setting utility is activated. As shown in the figure, the display screen WD1 includes a “manual backup” button, a “manual restore” button, an “delete automatic backup file” button, an “operation setting” button, and an “uninstall” button. Be placed.

表示画面WD1において、ユーザによって「手動バックアップ」ボタンが押下されると、CPUは、ユーザによって指定された手動バックアップファイルをハードディスク300上に作成し、現在のディスクイメージ用メモリ領域の内容を、指定された手動バックアップファイルにバックアップする。これは、後述する「バックアップ処理」を、ファイル名を指定して呼び出すものである。   When the “manual backup” button is pressed by the user on the display screen WD1, the CPU creates a manual backup file designated by the user on the hard disk 300, and the contents of the current disk image memory area are designated. Back up to a manual backup file. This calls "backup processing" to be described later by specifying a file name.

また、表示画面WD1において、ユーザによって「手動リストア」ボタンが押下されると、CPUは、ハードディスク300上に存在する、ユーザによって指定された手動バックアップファイルの内容を、ディスクイメージ用メモリ領域へリストアする。これは、後述する「リストア処理」を、ファイル名を指定して呼び出すものである。   When the “manual restore” button is pressed by the user on the display screen WD1, the CPU restores the contents of the manual backup file specified by the user existing on the hard disk 300 to the disk image memory area. . In this method, “restoration processing” to be described later is called by specifying a file name.

また、表示画面WD1において、ユーザによって「自動バックアップファイルの削除」ボタンが押下されると、CPUは、ハードディスク300上に存在する自動バックアップファイルを削除し、後述する「フォーマット処理」直後のドライブ状態に戻す。RAMディスクの内容が破損した場合に、破損した自動バックアップファイルをリストアしてしまうのを防止するためである。これは、後述する「搭載メモリ容量の自動認識、リストア、フォーマット処理」を呼び出すものである。   On the display screen WD1, when the “delete automatic backup file” button is pressed by the user, the CPU deletes the automatic backup file existing on the hard disk 300, and enters the drive state immediately after “format processing” described later. return. This is to prevent the damaged automatic backup file from being restored when the contents of the RAM disk are damaged. This calls up “automatic recognition, restoration, and format processing of installed memory capacity” described later.

また、表示画面WD1において、ユーザによって「動作設定」ボタンが押下されると、CPUは、後述する動作設定画面WD2をディスプレイに表示し、ユーザに対して、RAMディスクドライバの動作設定を促す。   On the display screen WD1, when the “operation setting” button is pressed by the user, the CPU displays an operation setting screen WD2 described later on the display, and prompts the user to set the operation of the RAM disk driver.

また、表示画面WD1において、ユーザによって「アンインストール」ボタンが押下されると、CPUは、後述する「アンインストール処理」を実行する。「アンインストール処理」は、RAMディスクドライバ、および、RAMディスクドライバの設定ユーティリティを、システムからアンインストールする処理である。   On the display screen WD1, when the “uninstall” button is pressed by the user, the CPU executes an “uninstall process” to be described later. “Uninstallation process” is a process of uninstalling the RAM disk driver and the RAM disk driver setting utility from the system.

図6は、動作設定画面WD2の一例を示す説明図である。図示するように、動作設定画面WD2には、RAMディスクドライバのドライブレターを指定するためのプルダウンメニューと、「バックアップ機能設定」のON/OFFを設定するためのチェックボックスとが配置される。本実施例では、「バックアップ機能設定」を設定するためのチェックボックスとして、RAMディスクドライバの「自動バックアップ機能」を有効(ON)にするためのチェックボックスと、さらに、「常時バックアップ機能」を有効(ON)にするためのチェックボックスとが配置されるものとした。なお、本実施例では、「自動バックアップ機能」が有効(ON)の場合にしか「常時バックアップ機能」を有効(ON)にすることができないものとした。「自動バックアップ機能」が有効(ON)に設定されると、後述するように、メインメモリ100への通電状態が非通電状態に移行するときに、後述する「バックアップ処理」が行われる。さらに、「常時バックアップ機能」が有効(ON)に設定されると、後述すように、RAMディスクへの書き込みが行われるごとに、後述する「バックアップ処理」が行われる。   FIG. 6 is an explanatory diagram showing an example of the operation setting screen WD2. As shown in the drawing, a pull-down menu for designating a drive letter of the RAM disk driver and a check box for setting ON / OFF of “backup function setting” are arranged on the operation setting screen WD2. In this embodiment, as a check box for setting “backup function setting”, a check box for enabling (ON) the “automatic backup function” of the RAM disk driver and further, “always backup function” is enabled. It is assumed that a check box for turning on (ON) is arranged. In this embodiment, it is assumed that the “always backup function” can be enabled (ON) only when the “automatic backup function” is enabled (ON). When the “automatic backup function” is set to valid (ON), as will be described later, when the energized state of the main memory 100 shifts to the non-energized state, “backup processing” described later is performed. Further, when the “always backup function” is set to be valid (ON), as will be described later, every time data is written to the RAM disk, a “backup process” described later is performed.

B3.初期化処理:
図7は、初期化処理の流れを示す説明図である。この処理は、PAEモードが有効であって、OSからRAMディスクドライバのAddDevice関数が呼び出されたときに、CPUが実行する処理である。
B3. Initialization processing:
FIG. 7 is an explanatory diagram showing the flow of the initialization process. This processing is executed by the CPU when the PAE mode is valid and the AddDevice function of the RAM disk driver is called from the OS.

まず、CPUは、搭載メモリ容量の自動認識、リストア、フォーマット処理を行う(ステップS300)。これらの処理については、後述する。   First, the CPU performs automatic recognition, restoration, and formatting of the installed memory capacity (step S300). These processes will be described later.

次に、CPUは、RAMディスクドライバの初期化設定を行う(ステップS400)。このRAMディスクドライバの初期化処理は、デバイスの追加や、ドライブレターの追加など、RAMディスクドライバの一般的な初期化処理であるので、詳細な説明は省略する。   Next, the CPU performs initialization setting of the RAM disk driver (step S400). Since the initialization process of the RAM disk driver is a general initialization process of the RAM disk driver, such as addition of a device or addition of a drive letter, detailed description thereof is omitted.

B4.搭載メモリ容量の自動認識、リストア、フォーマット処理:
図8は、図7のステップS300における搭載メモリ容量の自動認識、リストア、フォーマット処理の流れを示すフローチャートである。
B4. Automatic recognition, restoration, and formatting of installed memory capacity:
FIG. 8 is a flowchart showing the flow of automatic recognition, restoration, and formatting processing of the installed memory capacity in step S300 of FIG.

まず、CPUは、システムに搭載されているメインメモリ100のOS管理外領域130を自動認識する(ステップS310)。この手法としては、例えば、BIOSのコマンドを利用して空きメモリ領域の情報を取得する、実際に書き込み・読み込みを試行しデータが破壊されない範囲を探索する、などの手法が挙げられる。そして、OS管理外領域130を認識できなかった場合には(ステップS320:NO)、エラー扱いで、搭載メモリ容量の自動認識、リストア、フォーマット処理を終了する。一方、OS管理外領域130を認識できた場合には(ステップS320:YES)、CPUは、ハードディスク300上に自動バックアップファイルが存在しているか否かを判断する(ステップS330)。   First, the CPU automatically recognizes the OS unmanaged area 130 of the main memory 100 installed in the system (step S310). Examples of this method include a method of acquiring information on a free memory area using a BIOS command, and searching for a range where data is not destroyed by actually trying to write / read. If the OS unmanaged area 130 cannot be recognized (step S320: NO), the automatic recognition of the installed memory capacity, the restoration, and the formatting process are terminated as an error. On the other hand, when the OS unmanaged area 130 can be recognized (step S320: YES), the CPU determines whether or not an automatic backup file exists on the hard disk 300 (step S330).

ハードディスク300上に自動バックアップファイルが存在している場合には(ステップS330:YES)、CPUは、後述するリストア処理を行う(ステップS340)。そして、CPUは、リストア処理が成功したか否かを判断する(ステップS350)。OS管理外領域130の容量と自動バックアップファイルの容量とが不整合であるために、すなわち、自動バックアップファイルの容量がOS管理外領域130の容量よりも大きいために、リストア処理が失敗した場合には、不整合エラー扱いで、搭載メモリ容量の自動認識、リストア、フォーマット処理を終了する。また、リストア処理が成功した場合には、搭載メモリ容量の自動認識、リストア、フォーマット処理を終了する。また、OS管理外領域130の容量と自動バックアップファイルの容量との不整合以外の理由で、リストア処理が失敗した場合には、後述するフォーマット処理を行う(ステップS360)。   If an automatic backup file exists on the hard disk 300 (step S330: YES), the CPU performs a restore process described later (step S340). Then, the CPU determines whether or not the restore process is successful (step S350). When the restore process fails because the capacity of the OS unmanaged area 130 and the capacity of the automatic backup file are inconsistent, that is, the capacity of the automatic backup file is larger than the capacity of the OS unmanaged area 130 Is handled as an inconsistency error, and the automatic recognition, restoration, and formatting of the installed memory capacity are terminated. If the restoration process is successful, the automatic recognition of the installed memory capacity, restoration, and formatting process are terminated. If the restore process fails due to reasons other than inconsistency between the capacity of the OS unmanaged area 130 and the capacity of the automatic backup file, a format process described later is performed (step S360).

次に、CPUは、RAMディスクドライバの常時バックアップ機能がONであるか否か(図6参照)を判断する(ステップS370)。RAMディスクドライバの常時バックアップ機能がONである場合には(ステップS370:YES)、CPUは、ハードディスク300上に自動バックアップファイルを作成し(ステップS380)、後述するバックアップ処理を行う(ステップS390)。そして、搭載メモリ容量の自動認識、リストア、フォーマット処理を終了する。一方、RAMディスクドライバの常時バックアップ機能がOFFfある場合には(ステップS370:NO)、そのまま搭載メモリ容量の自動認識、リストア、フォーマット処理を終了する。   Next, the CPU determines whether or not the constant backup function of the RAM disk driver is ON (see FIG. 6) (step S370). When the constant backup function of the RAM disk driver is ON (step S370: YES), the CPU creates an automatic backup file on the hard disk 300 (step S380), and performs a backup process described later (step S390). Then, the automatic recognition of the installed memory capacity, restoration, and formatting process are terminated. On the other hand, when the constant backup function of the RAM disk driver is OFFf (step S370: NO), the automatic recognition of the mounted memory capacity, the restoration, and the formatting process are finished as they are.

なお、ステップS330において、ハードディスク300上に自動バックアップファイルが存在しない場合には(ステップS330:NO)、ステップS360に進み、CPUは、後述するフォーマット処理を行い、その後、ステップS370〜S390の処理を行う。   In step S330, if the automatic backup file does not exist on the hard disk 300 (step S330: NO), the process proceeds to step S360, and the CPU performs format processing described later, and then performs the processing in steps S370 to S390. Do.

B4.1.リストア処理:
図9は、図8のステップS340におけるリストア処理の流れを示すフローチャートである。
B4.1. Restore processing:
FIG. 9 is a flowchart showing the flow of restore processing in step S340 of FIG.

まず、CPUは、OS管理外領域130の容量と自動バックアップファイルの容量とが整合しているか否か、すなわち、OS管理外領域130の容量が自動バックアップファイルの容量以上か否かを判断する(ステップS500)。そして、OS管理外領域130の容量が自動バックアップファイルの容量未満である場合には(ステップS500:NO)、不整合エラーであるものとして(ステップS510)、リストア処理を終了する。OS管理外領域130の容量が自動バックアップファイルの容量以上である場合には(ステップS500:YES)、CPUは、OSのMmMapIoSpace関数を使用して、処理対象のディスクイメージ用メモリ領域を、RAMディスクドライバの仮想アドレス空間200にマッピングする(ステップS520)。   First, the CPU determines whether the capacity of the OS unmanaged area 130 matches the capacity of the automatic backup file, that is, whether the capacity of the OS unmanaged area 130 is greater than or equal to the capacity of the automatic backup file ( Step S500). If the capacity of the OS unmanaged area 130 is less than the capacity of the automatic backup file (step S500: NO), it is determined that an inconsistency error has occurred (step S510), and the restore process is terminated. If the capacity of the OS unmanaged area 130 is greater than or equal to the capacity of the automatic backup file (step S500: YES), the CPU uses the MMMapIoSpace function of the OS to set the disk image memory area to be processed as a RAM disk. Mapping to the virtual address space 200 of the driver (step S520).

そして、CPUは、マッピングした領域のオフセットアドレス/サイズの範囲に対応するハードディスク300上の自動バックアップファイル領域のデータを、マッピングした領域に読み込む(ステップS530)。そして、CPUは、マッピングした領域を、OSのMmUnmapIoSpace関数を使用して、アンマッピングする(ステップS540)。   Then, the CPU reads the data of the automatic backup file area on the hard disk 300 corresponding to the offset address / size range of the mapped area into the mapped area (step S530). Then, the CPU unmaps the mapped area using the MmUnmapIoSpace function of the OS (step S540).

そして、CPUは、未処理のメモリ領域があるか否かを判断する(ステップS550)。未処理の領域がある場合には(ステップS550:YES)、ステップS520に戻る。一方、未処理の領域がない場合には(ステップS550:NO)、リストア処理を終了する。   Then, the CPU determines whether there is an unprocessed memory area (step S550). If there is an unprocessed area (step S550: YES), the process returns to step S520. On the other hand, if there is no unprocessed area (step S550: NO), the restore process is terminated.

B4.2.フォーマット処理:
図10は、図8のステップS360におけるフォーマット処理の流れを示すフローチャートである。
B4.2. Format processing:
FIG. 10 is a flowchart showing the flow of the formatting process in step S360 of FIG.

まず、CPUは、OSのMmMapIoSpace関数を使用して、処理対象のディスクイメージ用メモリ領域を、RAMディスクドライバの仮想アドレス空間200にマッピングする(ステップS600)。そして、CPUは、マッピングした領域をゼロで埋める(ステップS610)。そして、CPUは、マッピングした領域を、OSのMmUnmapIoSpace関数を使用して、アンマッピングする(ステップS620)。   First, the CPU maps the disk image memory area to be processed to the virtual address space 200 of the RAM disk driver using the MMMapIoSpace function of the OS (step S600). Then, the CPU fills the mapped area with zero (step S610). Then, the CPU unmaps the mapped area using the MmUnmapIoSpace function of the OS (step S620).

そして、CPUは、未処理のメモリ領域があるか否かを判断する(ステップS630)。未処理の領域がある場合には(ステップS630:YES)、ステップS600に戻る。一方、未処理の領域がない場合には(ステップS630:NO)、CPUは、FAT32フォーマットでファイルシステムを構築し(ステップS640)、フォーマット処理を終了する。   Then, the CPU determines whether there is an unprocessed memory area (step S630). If there is an unprocessed area (step S630: YES), the process returns to step S600. On the other hand, if there is no unprocessed area (step S630: NO), the CPU constructs a file system in the FAT32 format (step S640) and ends the formatting process.

B4.3.バックアップ処理:
図11は、図8のステップS390におけるバックアップ処理の流れを示すフローチャートである。
B4.3. Backup process:
FIG. 11 is a flowchart showing the flow of backup processing in step S390 of FIG.

まず、CPUは、OSのMmMapIoSpace関数を使用して、処理対象のディスクイメージ用メモリ領域を、RAMディスクドライバの仮想アドレス空間200にマッピングする(ステップS700)。そして、CPUは、マッピングした領域にあるデータを、そのオフセットアドレス/サイズの範囲に対応するハードディスク300上の自動バックアップファイル領域に書き込む(ステップS710)。そして、CPUは、マッピングした領域を、OSのMmUnmapIoSpace関数を使用して、アンマッピングする(ステップS720)。   First, the CPU maps the disk image memory area to be processed into the virtual address space 200 of the RAM disk driver using the MMMapIoSpace function of the OS (step S700). Then, the CPU writes the data in the mapped area to the automatic backup file area on the hard disk 300 corresponding to the offset address / size range (step S710). Then, the CPU unmaps the mapped area using the MmUnmapIoSpace function of the OS (step S720).

そして、CPUは、未処理のメモリ領域があるか否かを判断する(ステップS730)。未処理の領域がある場合には(ステップS730:YES)、ステップS700に戻る。一方、未処理の領域がない場合には(ステップS730:NO)、バックアップ処理を終了する。   Then, the CPU determines whether there is an unprocessed memory area (step S730). If there is an unprocessed area (step S730: YES), the process returns to step S700. On the other hand, if there is no unprocessed area (step S730: NO), the backup process is terminated.

B5.リード・ライト処理:
図12は、リード・ライト処理の流れを示すフローチャートである。この処理は、PAEモードが有効であって、OSからRAMディスクドライバのディスクリード・ライト処理(IRP_MJ_READ,IRP_MJ_WRITE)が呼び出されたときに、CPUが実行する処理である。
B5. Read / write processing:
FIG. 12 is a flowchart showing the flow of read / write processing. This process is executed by the CPU when the PAE mode is valid and the disk read / write process (IRP_MJ_READ, IRP_MJ_WRITE) of the RAM disk driver is called from the OS.

まず、CPUは、OSのMmMapIoSpace関数を使用して、OSから指示されたオフセットアドレス/サイズの範囲に対応するディスクイメージ用メモリ領域を、RAMディスクドライバの仮想アドレス空間200にマッピングする(ステップS800)。   First, the CPU maps the disk image memory area corresponding to the offset address / size range instructed by the OS into the virtual address space 200 of the RAM disk driver, using the MMMapIoSpace function of the OS (step S800). .

次に、CPUは、OSから呼び出された処理がリードかライトかを判断する(ステップS810)。OSから呼び出された処理がリードである場合には、CPUは、マッピングした領域にあるデータを、OSから渡されたバッファへコピーし(ステップS820)、OSのMmUnmapIoSpace関数を使用して、マッピングした領域をアンマッピングして(ステップS860)、リード・ライト処理を終了する。   Next, the CPU determines whether the process called from the OS is read or write (step S810). When the process called from the OS is a read, the CPU copies the data in the mapped area to the buffer passed from the OS (step S820), and uses the OS's MmUnmapIOSpace function to perform mapping. The area is unmapped (step S860), and the read / write process is terminated.

一方、ステップS810において、OSから呼び出された処理がライトである場合には、CPUは、OSから渡されたデータを、マッピングした領域へコピーする(ステップS830)。そして、CPUは、RAMディスクドライバの常時バックアップ機能がONであるか否かを判断する(ステップS840)。   On the other hand, if the process called from the OS is write in step S810, the CPU copies the data passed from the OS to the mapped area (step S830). Then, the CPU determines whether or not the constant backup function of the RAM disk driver is ON (step S840).

RAMディスクドライバの常時バックアップ機能がOFFである場合には(ステップS840:NO)、そのままマッピングした領域を、OSのMmUnmapIoSpace関数を使用して、アンマッピングして(ステップS860)、リード・ライト処理を終了する。一方、RAMディスクドライバの常時バックアップ機能がONである場合には(ステップS840:YES)、CPUは、OSから指示されたオフセットアドレス/サイズの範囲に対応するハードディスク300上の自動バックアップファイル領域に、OSから渡されたデータを書き込む(ステップS850)。そして、CPUは、マッピングした領域を、OSのMmUnmapIoSpace関数を使用して、アンマッピングして(ステップS860)、リード・ライト処理を終了する。   When the RAM disk driver always backup function is OFF (step S840: NO), the mapped area is unmapped using the OS MmUnmapIOSpace function (step S860), and the read / write processing is performed. finish. On the other hand, when the regular backup function of the RAM disk driver is ON (step S840: YES), the CPU stores the automatic backup file area on the hard disk 300 corresponding to the offset address / size range instructed by the OS. Data passed from the OS is written (step S850). Then, the CPU unmaps the mapped area using the MmUnmapIoSpace function of the OS (step S860), and ends the read / write process.

B6.非通電状態移行処理:
図13は、非通電状態移行処理の流れを示すフローチャートである。この処理は、PAEモードが有効であって、OSからRAMディスクドライバに、メインメモリ100への通電状態が非通電状態(シャットダウン、再起動、休止状態)に移行する旨、通知されたときに、CPUが実行する処理である。
B6. Non-energized state transition processing:
FIG. 13 is a flowchart showing the flow of the non-energized state transition process. This process is performed when the PAE mode is valid and the OS notifies the RAM disk driver that the energized state of the main memory 100 shifts to a non-energized state (shutdown, restart, hibernate). This is a process executed by the CPU.

まず、CPUは、RAMディスクドライバの自動バックアップ機能がONであるか否か(図6参照)を判断する(ステップS900)。RAMディスクドライバの自動バックアップ機能がONである場合には(ステップS900:YES)、CPUは、さらに、RAMディスクドライバの常時バックアップ機能がONであるか否かを判断する(ステップS910)。RAMディスクドライバの常時バックアップ機能がOFFである場合には(ステップS910:NO)、CPUは、図11に示したバックアップ処理を行い(ステップS920)、その後、OSに移行成功を通知して(ステップS930)、非通電状態移行処理を終了する。一方、RAMディスクドライバの常時バックアップ機能がONである場合には(ステップS910:YES)、CPUは、バックアップ処理を行わずに、OSに移行成功を通知して(ステップS930)、非通電状態移行処理を終了する。   First, the CPU determines whether or not the automatic backup function of the RAM disk driver is ON (see FIG. 6) (step S900). If the automatic backup function of the RAM disk driver is ON (step S900: YES), the CPU further determines whether or not the constant backup function of the RAM disk driver is ON (step S910). If the constant backup function of the RAM disk driver is OFF (step S910: NO), the CPU performs the backup process shown in FIG. 11 (step S920), and then notifies the OS of successful migration (step S920). S930), the non-energized state transition process is terminated. On the other hand, when the regular backup function of the RAM disk driver is ON (step S910: YES), the CPU notifies the OS of the success of the transition without performing the backup process (step S930), and the transition to the de-energized state is made. The process ends.

なお、ステップS900において、RAMディスクドライバの自動バックアップ機能がOFFである場合には(ステップS900:NO)、CPUは、OSに移行不可を通知して(ステップS940)、非通電状態移行処理を終了する。   In step S900, if the automatic backup function of the RAM disk driver is OFF (step S900: NO), the CPU notifies the OS that the migration is impossible (step S940), and ends the de-energized state migration process. To do.

B7.通電状態復帰処理:
図14は、通電状態復帰処理の流れを示すフローチャートである。この処理は、PAEモードが有効であって、OSからRAMディスクドライバに、非通電状態から通電状態への復帰が通知されたときに、CPUが実行する処理である。この処理では、CPUは、図8に示した搭載メモリ容量の自動認識、リストア、フォーマット処理を行い(ステップS1000)、通電状態復帰処理を終了する。
B7. Energized state recovery processing:
FIG. 14 is a flowchart showing the flow of the energized state return process. This process is executed by the CPU when the PAE mode is valid and the OS notifies the RAM disk driver of the return from the non-energized state to the energized state. In this process, the CPU performs automatic recognition, restoration, and formatting of the installed memory capacity shown in FIG. 8 (step S1000), and ends the energization state return process.

B8.デバイス停止処理:
図15は、デバイス停止処理の流れを示すフローチャートである。この処理は、PAEモードが有効であって、OSからRAMディスクドライバに、メインメモリ100の停止/取り外し(IRP_MN_QUERY_STOP_DEVICE/IRP_MN_QUERY_REMOVE_DEVICE)が通知されたとき、または、OSからRAMディスクドライバのDriverUnload関数が呼び出されたときに、CPUが実行する処理である。
B8. Device stop processing:
FIG. 15 is a flowchart showing the flow of device stop processing. In this process, when the PAE mode is valid and the OS notifies the RAM disk driver of the stop / removal of the main memory 100 (IRP_MN_QUERY_STOP_DEVICE / IRP_MN_QUERY_REMOVE_DEVICE), or the DriverUnload function of the RAM disk driver is called from the OS. Is a process executed by the CPU.

まず、CPUは、RAMディスクドライバの自動バックアップ機能がONであるか否かを判断する(ステップS1100)。RAMディスクドライバの自動バックアップ機能がONである場合には(ステップS1100:YES)、CPUは、さらに、RAMディスクドライバの常時バックアップ機能がONであるか否かを判断する(ステップS1110)。RAMディスクドライバの常時バックアップ機能がOFFである場合には(ステップS1110:NO)、CPUは、図11に示したバックアップ処理を行い(ステップS1120)、デバイス停止処理を終了する。   First, the CPU determines whether or not the automatic backup function of the RAM disk driver is ON (step S1100). When the automatic backup function of the RAM disk driver is ON (step S1100: YES), the CPU further determines whether or not the constant backup function of the RAM disk driver is ON (step S1110). If the always-on backup function of the RAM disk driver is OFF (step S1110: NO), the CPU performs the backup process shown in FIG. 11 (step S1120) and ends the device stop process.

なお、ステップS1100において、RAMディスクドライバの自動バックアップ機能がOFFである場合(ステップS1100:NO)、および、ステップS1110において、RAMディスクドライバの常時バックアップ機能がONである場合には(ステップS1100:YES)、バックアップ処理を行わずに、デバイス停止処理を終了する。   If the RAM disk driver automatic backup function is OFF in step S1100 (step S1100: NO), and if the RAM disk driver always backup function is ON in step S1110 (step S1100: YES). ) End the device stop process without performing the backup process.

B9.RAMディスクドライバのアンインストール処理:
図16は、RAMディスクドライバのアンインストール処理の流れを示すフローチャートである。この処理は、図5に示した表示画面WD1において、ユーザによって、「アンインストール」ボタンが押下されたときに、CPUが実行する処理である。
B9. RAM disk driver uninstall process:
FIG. 16 is a flowchart showing the flow of the RAM disk driver uninstall process. This process is a process executed by the CPU when an “uninstall” button is pressed by the user on the display screen WD1 shown in FIG.

まず、CPUは、RAMディスクドライバをシステムから削除する(ステップS1200)。次に、CPUは、RAMディスクドライバの設定ユーティリティをシステムから削除する(ステップS1210)。次に、CPUは、後述するPAEモード解除処理を行う(ステップS1220)。そして、CPUは、OSの再起動を行う(ステップS1230)。以上の処理によって、RAMディスクのアンインストール処理は終了する。   First, the CPU deletes the RAM disk driver from the system (step S1200). Next, the CPU deletes the RAM disk driver setting utility from the system (step S1210). Next, the CPU performs a PAE mode release process described later (step S1220). Then, the CPU restarts the OS (step S1230). With the above process, the RAM disk uninstall process is completed.

B10.PAEモード解除処理:
図17は、図16のステップS1220におけるPAEモード解除処理の流れを示すフローチャートである。
B10. PAE mode release processing:
FIG. 17 is a flowchart showing the flow of PAE mode release processing in step S1220 of FIG.

まず、CPUは、コンピュータシステムで起動しているOSの種別を判断する(ステップS1300)。本実施例では、OSがWindows Vistaであるか、Windows XPであるかを判断するものとした。OSがWindows Vistaである場合には、CPUは、”bcdedit /set pae ForceDisable”コマンドを実行して、物理アドレス指定モードのPAEモードを解除し、PAEモード解除処理を終了する。   First, the CPU determines the type of OS running on the computer system (step S1300). In this embodiment, it is determined whether the OS is Windows Vista or Windows XP. When the OS is Windows Vista, the CPU executes a “bcdedit / set pae ForceDisable” command to cancel the PAE mode of the physical addressing mode, and ends the PAE mode canceling process.

ステップS1300において、OSがWindows XPである場合には、CPUは、OSのboot.iniファイルの[operating systems]セクションの内容を読み込み(ステップS1320)、[operating systems]セクションに2行以上のブートエントリが存在するか否かを判断する(ステップS1330)。[operating systems]セクションに2行以上のブートエントリが存在する場合には(ステップS1330:YES)、CPUは、PAEモード設定を解除するブートエントリをユーザが選択するための選択画面(図示省略)をディスプレイに表示する(ステップS1340)。そして、CPUは、この選択画面でユーザによって選択されたブートエントリの「/PAE」オプションを削除し(ステップS1350)、編集したブートエントリをboot.iniファイルに上書きする(ステップS1360)。   In step S1300, if the OS is Windows XP, the CPU reads the contents of the [operating systems] section of the OS boot.ini file (step S1320), and the boot entry having two or more lines in the [operating systems] section. Whether or not exists is determined (step S1330). If there are two or more boot entries in the [operating systems] section (step S1330: YES), the CPU displays a selection screen (not shown) for the user to select a boot entry for canceling the PAE mode setting. It is displayed on the display (step S1340). Then, the CPU deletes the “/ PAE” option of the boot entry selected by the user on this selection screen (step S1350), and overwrites the edited boot entry in the boot.ini file (step S1360).

ステップS1330において、[operating systems]セクションにブートエントリが1行しか存在しない場合には(ステップS1330:NO)、CPUは、そのブートエントリの「/PAE」オプションを削除し(ステップS1350)、編集したブートエントリをboot.iniファイルに上書きする(ステップS1360)。以上の処理によって、PAEモード解除処理を終了する。   If there is only one boot entry in the [operating systems] section in step S1330 (step S1330: NO), the CPU deletes the “/ PAE” option of the boot entry (step S1350) and edits it. The boot entry is overwritten on the boot.ini file (step S1360). With the above processing, the PAE mode release processing is completed.

以上説明したRAMディスクドライバをCPUが実行することによって、コンピュータシステムに精通していないユーザにとって困難な設定作業をユーザが行うことなく、物理アドレス拡張モード(PAEモード)を有効にする設定を行い、メインメモリ100のOS管理外領域130を利用できるようにすることができる。つまり、本実施例のRAMディスクドライバによって、オペレーティングシステムが管理するメインメモリの管理領域が所定領域に制限されているコンピュータシステムにおいて、制限された所定領域以外の領域である管理外領域を利用できるようにするとともに、その際のユーザの利便性を向上させることができる。   By executing the RAM disk driver described above by the CPU, the setting for enabling the physical address expansion mode (PAE mode) is performed without the user performing difficult setting work for a user who is not familiar with the computer system. It is possible to make the OS unmanaged area 130 of the main memory 100 available. That is, the RAM disk driver of the present embodiment can use an unmanaged area that is an area other than the limited predetermined area in a computer system in which the management area of the main memory managed by the operating system is limited to the predetermined area. In addition, the convenience of the user at that time can be improved.

また、本実施例のRAMディスクドライバによれば、OS管理外領域130に記憶されているデータを、メインメモリ100への通電状態が非通電状態に移行するときや、OS管理外領域130へのデータの書き込みがあったときに、ハードディスク300に自動的にバックアップすることができるので、OS管理外領域130に記憶されているデータが消失するのを回避することができる。   Further, according to the RAM disk driver of the present embodiment, data stored in the OS unmanaged area 130 can be transferred to the OS unmanaged area 130 when the main memory 100 is switched from the energized state to the non-energized state. Since data can be automatically backed up to the hard disk 300 when data is written, it is possible to avoid losing data stored in the OS unmanaged area 130.

C.変形例:
以上、本発明の実施の形態について説明したが、本発明はこのような実施の形態になんら限定されるものではなく、その要旨を逸脱しない範囲内において種々なる態様での実施が可能である。例えば、以下のような変形が可能である。
C. Variation:
Although the embodiments of the present invention have been described above, the present invention is not limited to such embodiments, and can be implemented in various modes without departing from the scope of the present invention. For example, the following modifications are possible.

C1.変形例1:
上記実施例では、図3に示したPAEモード設定処理において、コンピュータシステムで起動しているOSの種別に応じて、処理内容を切り換えるものとしたが、本発明は、これに限られない。さらに、メインメモリ100やCPUの種類等、コンピュータシステムの環境に応じて、上記設定時の処理内容を切り換えるようにしてもよい。この場合、上記実施例では、boot.iniファイルの内容を変更するものとしたが、さらに、例えば、BIOSの設定を変更するようにしてもよい。
C1. Modification 1:
In the above embodiment, in the PAE mode setting process shown in FIG. 3, the processing contents are switched according to the type of OS running on the computer system. However, the present invention is not limited to this. Furthermore, the processing contents at the time of the setting may be switched according to the environment of the computer system such as the main memory 100 and the type of CPU. In this case, in the above embodiment, the contents of the boot.ini file are changed. However, for example, the BIOS settings may be changed.

C2.変形例2:
上記実施例では、CPUは、RAMディスクドライバを実行することによって、PAEモードの設定機能の他に、自動バックアップ機能、および、自動リストア機能等の種々の機能を実現するものとしたが、本発明は、これに限られず、自動バックアップ機能、および、自動リストア機能を省略してもよい。
C2. Modification 2:
In the above embodiment, the CPU realizes various functions such as the automatic backup function and the automatic restore function in addition to the PAE mode setting function by executing the RAM disk driver. However, the present invention is not limited to this, and the automatic backup function and the automatic restore function may be omitted.

C3.変形例3:
上記実施例では、自動バックアップ処理時に、ハードディスク300上の自動バックアップファイルにデータをバックアップするものとしたが、本発明は、これに限られない。他の外部記憶装置上に自動バックアップファイルを作成し、この自動バックアップファイルにデータをバックアップするようにしてもよい。
C3. Modification 3:
In the above embodiment, data is backed up to an automatic backup file on the hard disk 300 at the time of automatic backup processing, but the present invention is not limited to this. An automatic backup file may be created on another external storage device, and data may be backed up to this automatic backup file.

本発明の概要を模式的に示す説明図である。It is explanatory drawing which shows the outline | summary of this invention typically. RAMディスクドライバのインストール処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the installation process of a RAM disk driver. PAEモード設定処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a PAE mode setting process. PAEモード設定処理におけるboot.iniファイルの編集の様子を示す説明図である。It is explanatory drawing which shows the mode of edit of the boot.ini file in a PAE mode setting process. RAMディスクの設定ユーティティが起動されたときにCPUがディスプレイに表示する表示画面WD1の一例を示す説明図である。It is explanatory drawing which shows an example of display screen WD1 which a CPU displays on a display when the setting utility of a RAM disk is started. 動作設定画面WD2の一例を示す説明図である。It is explanatory drawing which shows an example of operation setting screen WD2. 初期化処理の流れを示す説明図である。It is explanatory drawing which shows the flow of an initialization process. 搭載メモリ容量の自動認識、リストア、フォーマット処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the automatic recognition of a mounted memory capacity, a restoration, and a format process. リストア処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a restore process. フォーマット処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a format process. バックアップ処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a backup process. リード・ライト処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a read / write process. 非通電状態移行処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a non-energized state transfer process. 通電状態復帰処理の流れを示すフローチャートである。It is a flowchart which shows the flow of an energization state return process. デバイス停止処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a device stop process. RAMディスクドライバのアンインストール処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the uninstallation process of a RAM disk driver. PAEモード解除処理の流れを示すフローチャートである。It is a flowchart which shows the flow of PAE mode cancellation | release process.

符号の説明Explanation of symbols

100…メインメモリ
110…OS管理領域
120…予約領域
130…OS管理外領域
200…仮想アドレス空間
300…ハードディスク
DESCRIPTION OF SYMBOLS 100 ... Main memory 110 ... OS management area 120 ... Reserved area 130 ... Non-OS management area 200 ... Virtual address space 300 ... Hard disk

Claims (8)

オペレーティングシステムが管理するメインメモリの管理領域が所定領域に制限されているコンピュータシステムにおいて、前記メインメモリの前記所定領域以外の領域である管理外領域を利用可能にするためのコンピュータプログラムであって、
前記オペレーティングシステムが管理するメモリ領域を前記管理外領域にまで拡張する物理アドレス拡張モードを有効にする設定を行う設定機能と、
前記物理アドレス拡張モードを有効にする設定がなされているときに、前記メインメモリの前記管理外領域を、仮想アドレス空間にマッピングするマッピング機能と、
をコンピュータに実現させるためのコンピュータプログラム。
In a computer system in which a management area of a main memory managed by an operating system is limited to a predetermined area, a computer program for making available an unmanaged area that is an area other than the predetermined area of the main memory,
A setting function for setting to enable a physical address expansion mode for extending a memory area managed by the operating system to the non-management area;
A mapping function for mapping the non-managed area of the main memory to a virtual address space when the setting for enabling the physical address extension mode is made;
A computer program for realizing a computer.
請求項1記載のコンピュータプログラムであって、さらに、
前記管理外領域に記憶されているデータを、所定のタイミングで、外部記憶装置にバックアップする機能を前記コンピュータに実現させるためのコンピュータプログラム。
The computer program according to claim 1, further comprising:
A computer program for causing the computer to realize a function of backing up data stored in the non-management area to an external storage device at a predetermined timing.
請求項2記載のコンピュータプログラムであって、
前記所定のタイミングは、前記メインメモリへの通電状態が非通電状態に移行するタイミングである、
コンピュータプログラム。
A computer program according to claim 2,
The predetermined timing is a timing at which an energized state of the main memory shifts to a non-energized state.
Computer program.
請求項2記載のコンピュータプログラムであって、
前記所定のタイミングは、前記管理外領域へのデータの書き込みがあったタイミングである、
コンピュータプログラム。
A computer program according to claim 2,
The predetermined timing is a timing when data is written to the non-management area.
Computer program.
請求項2ないし4のいずれかに記載のコンピュータプログラムであって、さらに、
前記外部記憶装置にバックアップされたデータを、前記管理外領域にリストアする機能を前記コンピュータに実現させるためのコンピュータプログラム。
The computer program according to any one of claims 2 to 4, further comprising:
A computer program for causing the computer to realize a function of restoring data backed up in the external storage device to the unmanaged area.
請求項1ないし5のいずれかに記載のコンピュータプログラムであって、
前記設定機能は、前記コンピュータシステムで起動しているオペレーティングシステムの種類に応じて、前記設定時の処理内容を切り換える機能を含む、
コンピュータプログラム。
A computer program according to any one of claims 1 to 5,
The setting function includes a function of switching processing contents at the time of setting according to the type of operating system running on the computer system.
Computer program.
請求項1ないし6のいずれかに記載のコンピュータプログラムであって、
前記コンピュータは、32ビットマイクロプロセッサを備えており、
前記オペレーティングシステムは、前記32ビットマイクロプロセッサに対応したオペレーティングシステムであり、
前記所定領域の容量は、4ギガバイトである、
コンピュータプログラム。
A computer program according to any one of claims 1 to 6,
The computer comprises a 32-bit microprocessor;
The operating system is an operating system corresponding to the 32-bit microprocessor;
The capacity of the predetermined area is 4 gigabytes,
Computer program.
請求項1ないし7のいずれかに記載のコンピュータプログラムをコンピュータ読み取り可能に記録した記録媒体。   8. A recording medium on which the computer program according to claim 1 is recorded so as to be readable by a computer.
JP2008207057A 2008-08-11 2008-08-11 Computer program, and recording medium Pending JP2010044503A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008207057A JP2010044503A (en) 2008-08-11 2008-08-11 Computer program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008207057A JP2010044503A (en) 2008-08-11 2008-08-11 Computer program, and recording medium

Publications (1)

Publication Number Publication Date
JP2010044503A true JP2010044503A (en) 2010-02-25

Family

ID=42015856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008207057A Pending JP2010044503A (en) 2008-08-11 2008-08-11 Computer program, and recording medium

Country Status (1)

Country Link
JP (1) JP2010044503A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012008672A (en) * 2010-06-23 2012-01-12 Lenovo Singapore Pte Ltd Backup method of main memory and data protection system
JP2020112855A (en) * 2019-01-08 2020-07-27 凸版印刷株式会社 IC chip and IC card

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012008672A (en) * 2010-06-23 2012-01-12 Lenovo Singapore Pte Ltd Backup method of main memory and data protection system
JP2020112855A (en) * 2019-01-08 2020-07-27 凸版印刷株式会社 IC chip and IC card

Similar Documents

Publication Publication Date Title
US6205558B1 (en) Recovery of file systems after modification failure
JP5021190B2 (en) Memory dump generation with fast restart
US6317845B1 (en) System for computer recovery using removable high capacity media
US7366887B2 (en) System and method for loading programs from HDD independent of operating system
US7093089B2 (en) Systems and methods for storing data on computer systems
JP4248510B2 (en) Computer system, disk device, and data update control method
US7203804B2 (en) Process, apparatus, and system for passing data between partitions in a storage device
JP2013520744A (en) Method and apparatus for generating minimum boot image
JP2004152301A (en) Electric power control block used in nonvolatile memory system
US20080109676A1 (en) Processing device and storage medium
JP2008225765A (en) Network storage system, its management method, and control program
US7200705B2 (en) Method of checkpointing state of virtual memory for process
US8370612B2 (en) Computer system with built-in hidden two operating devices
CN101996109A (en) Computer system, control method thereof and recording medium storing computer program thereof
JP4289028B2 (en) Hard disk backup recovery system and information processing apparatus
JP2010044503A (en) Computer program, and recording medium
JP6554881B2 (en) Semiconductor device and storage medium control method
JP2005506632A (en) Security device for mass storage devices
JP2007164392A (en) Computer
JP4471274B2 (en) How to boot OS from hard disk image file
JP3292448B2 (en) Application program uninstallation method and computer
JP2003076614A (en) Backup and restoration method for data in hard disc device
JP2010282645A (en) Linux program start-up system
JP2003150429A (en) File system protection method and device thereof
JP2008071188A (en) Information processor, program and system recovery method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101130

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20110329

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20110407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110628

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110809