(57)【要約】【課題】コンピュータシステムの柔軟性を確保しながら、小型、安価で起動が高速なコンピュータシステムを提供する。【解決手段】メモリ確保の要求元に対応する確保用メモリ量を先行確保部１１１に問い合わせ、確保量が要求元の要求に応えられない旨の返答を先行確保部１１１から受けた場合に、通常のメモリ確保処理を行い、要求された領域をメモリ３００内に確保する通常確保部１１２と、通常確保部１１２からの問い合わせに対してメモリ確保情報２０１を参照し、メモリ確保情報２０１に示された確保量が要求元の要求に応えられる確保量か否かを判定し、要求に応えられる場合に、メモリ確保情報２０１に示された要求元に対応する確保量をメモリ３００内に確保してその旨を通常確保部１１２に返答し、要求に応えられない場合に、確保量が要求元の要求に応えられない旨を通常確保部１１２に返答する行確保部１１１とを有する。【選択図】図１
2008225617.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムの起動方法であって、
オペレーティングシステムとユーザプログラムが動作を行うために必要なメモリ量に関するメモリ情報を、予め前記コンピュータシステムの所定の記憶領域に格納する格納ステップと、
前記コンピュータシステムの起動時に、前記オペレーティングシステムが、前記メモリ情報に基づいて、前記オペレーティングシステム及び前記ユーザプログラム用のメモリ領域を確保する確保ステップとを備えることを特徴とする起動方法。
【請求項２】
前記格納ステップにおいて、
前記メモリ情報として、前記オペレーティングシステム及び前記ユーザプログラムが起動動作時に確保したメモリ量を記憶し、当該メモリ量を前記オペレーティングシステム及び前記ユーザプログラム毎に対応付けて前記記憶領域に格納することを特徴とする請求項１に記載の起動方法。
【請求項３】
前記確保ステップにおいて、
前記オペレーティングシステム又は前記ユーザプログラムが動作を行うために必要なメモリ量の要求に対し、前記メモリ情報に基づいて、要求元の前記オペレーティングシステム又は前記ユーザプログラムに対応するメモリ量をメモリ内に確保し、当該確保済みメモリ量及びそのメモリ領域を前記要求元に対して通知することを特徴とする請求項１又は請求項２に記載の起動方法。
【請求項４】
前記オペレーティングシステム又は前記ユーザプログラムが動作を行うために必要なメモリ量の要求に対し、前記メモリ情報に基づいて、要求元の前記オペレーティングシステム又は前記ユーザプログラムに対応するメモリ量をメモリ内に確保可能か否かを判定する判定ステップを備え、
確保可能な場合に前記メモリ情報に基づいたメモリ量を前記確保ステップにおいて確保した旨を前記要求元に対して通知することを特徴とする請求項１から請求項３のいずれか１項に記載の起動方法。
【請求項５】
確保可能な場合に前記メモリ情報に基づいたメモリ量を前記確保ステップにおいて確保した旨及びそのメモリ領域を前記要求元に対して通知することを特徴とする請求項４に記載のプログラム。
【請求項６】
確保可能でない場合に、通常のメモリ確保処理を行って前記メモリ内に前記必要なメモリ量を確保し、確保したメモリの位置を前記要求元に対して通知することを特徴とする請求項４又は請求項５に記載の起動方法。
【請求項７】
オペレーティングシステムとユーザプログラムを有する情報処理装置において、
前記オペレーティングシステムと前記ユーザプログラムが動作を行うために必要なメモリ量に関するメモリ情報を、予め前記コンピュータシステムの所定の記憶領域に格納する格納手段と、
起動時に、前記オペレーティングシステムが、前記メモリ情報に基づいて、前記オペレーティングシステム及び前記ユーザプログラム用のメモリ領域を確保する確保手段とを備えることを特徴とする情報処理装置。
【請求項８】
前記格納手段は、
前記メモリ情報として、前記オペレーティングシステム及び前記ユーザプログラムが起動動作時に確保したメモリ量を記憶し、当該メモリ量を前記オペレーティングシステム及び前記ユーザプログラム毎に対応付けて前記記憶領域に格納することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記確保手段は、
前記オペレーティングシステム又は前記ユーザプログラムが動作を行うために必要なメモリ量の要求に対し、前記メモリ情報に基づいて、要求元の前記オペレーティングシステム又は前記ユーザプログラムに対応するメモリ量をメモリ内に確保し、当該確保済みメモリ量及びそのメモリ領域を前記要求元に対して通知することを特徴とする請求項７又は請求項８に記載の情報処理装置。
【請求項１０】
前記オペレーティングシステム又は前記ユーザプログラムが動作を行うために必要なメモリ量の要求に対し、前記メモリ情報に基づいて、要求元の前記オペレーティングシステム又は前記ユーザプログラムに対応するメモリ量をメモリ内に確保可能か否かを判定する判定手段を備え、
確保可能な場合に前記メモリ情報に基づいたメモリ量を前記確保手段によって確保した旨を前記要求元に対して通知することを特徴とする請求項７から請求項９のいずれか１項に記載の情報処理装置。
【請求項１１】
確保可能な場合に前記メモリ情報に基づいたメモリ量を前記確保手段によって確保した旨及びそのメモリ領域を前記要求元に対して通知することを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
確保可能でない場合に、通常のメモリ確保処理を行って前記メモリ内に前記必要なメモリ量を確保し、確保したメモリの位置を前記要求元に対して通知することを特徴とする請求項１０又は請求項１１に記載の情報処理装置。
【請求項１３】
情報処理装置上で実行されるプログラムであって、
前記情報処理装置に、
オペレーティングシステムとユーザプログラムが動作を行うために必要なメモリ量に関するメモリ情報を、予め前記コンピュータシステムの所定の記憶領域に格納する格納処理と、
前記コンピュータシステムの起動時に、前記オペレーティングシステムが、前記メモリ情報に基づいて、前記オペレーティングシステム及び前記ユーザプログラム用のメモリ領域を確保する確保処理とを実行させることを特徴とするプログラム。
【請求項１４】
前記格納処理において、
前記メモリ情報として、前記オペレーティングシステム及び前記ユーザプログラムが起動動作時に確保したメモリ量を記憶し、当該メモリ量を前記オペレーティングシステム及び前記ユーザプログラム毎に対応付けて前記記憶領域に格納することを特徴とする請求項１３に記載のプログラム。
【請求項１５】
前記確保処理において、
前記オペレーティングシステム又は前記ユーザプログラムが動作を行うために必要なメモリ量の要求に対し、前記メモリ情報に基づいて、要求元の前記オペレーティングシステム又は前記ユーザプログラムに対応するメモリ量をメモリ内に確保し、当該確保済みメモリ量及びそのメモリ領域を前記要求元に対して通知することを特徴とする請求項１３又は請求項１４に記載のプログラム。
【請求項１６】
前記情報処理装置に、前記オペレーティングシステム又は前記ユーザプログラムが動作を行うために必要なメモリ量の要求に対し、前記メモリ情報に基づいて、要求元の前記オペレーティングシステム又は前記ユーザプログラムに対応するメモリ量をメモリ内に確保可能か否かを判定する判定処理を実行させ、
確保可能な場合に前記メモリ情報に基づいたメモリ量を前記確保処理において確保した旨を前記要求元に対して通知することを特徴とする請求項１３から請求項１５のいずれか１項に記載のプログラム。
【請求項１７】
確保可能な場合に前記メモリ情報に基づいたメモリ量を前記確保処理において確保した旨及びそのメモリ領域を前記要求元に対して通知することを特徴とする請求項１６に記載のプログラム。
【請求項１８】
前記情報処理装置に、
確保可能でない場合に通常のメモリ確保処理を行って前記メモリ内に前記必要なメモリ量を確保し、確保したメモリの位置を前記要求元に対して通知する処理を実行させることを特徴とする請求項１６又は請求項１７に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムの起動方法に関するものである。
【背景技術】
【０００２】
従来、一例として特許文献１（特開平６−４４０８８号公報）にも記載されているように、コンピュータシステムが起動を行う際、オペレーティングシステムと種々のユーザプログラムは各々に必要なメモリを確保して起動処理を行う。起動時には多くの処理が行われるため、オペレーティングシステム、ユーザプログラムともに頻繁にメモリの確保を行う必要がある。オペレーティングシステム、ユーザプログラムの双方とも、オペレーティングシステムにメモリ確保を要求することによって必要なメモリを確保する。オペレーティングシステムはメモリの確保に成功した場合、確保したメモリ領域の位置を要求元に返答する。従来のオペレーティングシステムは、以下のいずれかの方法でメモリを確保する。
【０００３】
第一の方法は、要求されたメモリ量そのものを確保するという最も単純な方法である。オペレーティングシステムはメモリの確保を要求されると、要求に応えることができるメモリの空き領域を検索し、検索に成功した場合は要求元に空き領域の位置を返答する。
【０００４】
しかし、この方法を採用した場合、空き領域の検索はメモリ確保を要求される度に実行される。コンピュータシステムの起動時には、前述のように頻繁にメモリの確保要求が行われるため、空き領域の検索処理が頻繁に行われることになる。よってこの方法は、コンピュータシステムの起動に長い時間がかかるという問題を有している。
【０００５】
この様な問題に対し、第二の方法は、要求されたメモリ量よりも大きな空き領域を検索した上で、その先頭位置を要求元に返答し、要求されたメモリ量を超える余りの部分はオペレーティングシステムが内部的に保留しておくという方法である。要求元が再びメモリの確保要求を行った場合、オペレーティングシステムは保留されているメモリ領域の先頭位置を要求元に返答する。この方法によりメモリ空き領域の検索処理実行回数を削減できるので、コンピュータシステムの起動が高速化される。
【０００６】
また、第三の方法は、メモリ確保の要求元と要求量だけを記録し、確保要求の時点では実際のメモリ確保を一切行わない、という方法である。ただし要求元にはあたかもメモリが確保されたかのように、仮想的なメモリ位置を返答しておく。この方法は、オペレーティングシステムが実行されるハードウェアが、仮想記憶機能と呼ばれる既存の技術を実現している場合に可能な方法である。仮想記憶機能を持つハードウェアは、メモリ確保を要求したプログラムが前述の仮想的なメモリ位置に読み書きを行った場合に、オペレーティングシステムに対してそのことを通知する機能を有している。オペレーティングシステムはこの通知を受け取った場合に初めて実際のメモリ確保を行う。メモリ確保処理ではまずメモリの空き領域を検索し、空き領域が見つかればその領域を前述の仮想的なメモリ位置に割り付ける。
【０００７】
さらに、従来、コンピュータシステムの起動を高速化するための方法として、システムが動作しているある時点でメモリに格納されている全情報をシステムの不揮発記憶領域に格納しておき、起動時に該情報をメモリ上に展開することで該情報を格納した時点でのシステム状態を復元する、という方法が知られている。通常のコンピュータシステムでは、起動時に実行するユーザプログラムの動作設定を変更することによって、システムの振る舞いを簡単に変更することができる。
【特許文献１】特開平６−４４０８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、従来の第二の方法は、保留しているメモリ量よりも大きな領域を確保するよう要求された場合は、この方法では対応することができない。その場合、確保要求に応えられる新たな空き領域を検索するための処理を行い、新たな領域を確保した上で要求元にその位置を返答する必要がある。内部的に保留するメモリ量を大きく設定すれば空き領域の検索処理実行回数を減らすことができるが、その場合使われずに保留されているだけのメモリ量が増大するため、メモリの利用効率が悪化するという問題が生じる。
【０００９】
また、従来の第三の方法のように、実際にはメモリが割り付けられていない仮想的なメモリ位置への読み書きに起因して行われる処理のことを、一般に「ページフォルト処理」と呼ぶところ、この方法ではメモリの確保を要求された時点における処理を大きく省略することができるが、要求元が実際にメモリへの読み書きを行った場合はページフォルト処理として結局メモリの空き領域を検索する必要がある。よって全体的な処理の量は第一の方法とほとんど変わらず、コンピュータシステムの起動には第一の方法と同等程度の長い時間を要するという問題がある。
【００１０】
さらに、従来の起動高速化方法を用いた場合、システムの振る舞いを変更するためには、システムを所望の状態とした後にメモリ上の全情報を不揮発記憶領域に出力し、出力した情報を前記情報と置き換える、といった複雑な手順が必要となる。そのためこの方法は、システムの柔軟な運用を困難にするという問題を有している。加えて該情報を格納するためには、コンピュータシステムに備わる全メモリ量と同じ大きさの不揮発記憶領域が必要なため、システムの大型化、高価格化を招くという問題もあった。
【００１１】
（発明の目的）
本発明の目的は、このような問題を解決し、コンピュータシステムの柔軟性を確保しながら、小型、安価で起動が高速なコンピュータシステムを提供することである。
【課題を解決するための手段】
【００１２】
上記目的を達成するため本発明は、コンピュータシステムの起動方法において、オペレーティングシステムとユーザプログラムが動作を行うために必要なメモリ量に関するメモリ情報を、予め前記コンピュータシステムの所定の記憶領域に格納する格納ステップと、前記コンピュータシステムの起動時に、前記オペレーティングシステムが、前記メモリ情報に基づいて、前記オペレーティングシステム及び前記ユーザプログラム用のメモリ領域を確保する確保ステップとを備えることを特徴とする。
【００１３】
（作用）
オペレーティングシステムとユーザプログラムが動作を行うために必要なメモリ量に関するメモリ情報を予め格納しておき、前記コンピュータシステムの起動時に、前記オペレーティングシステムが、前記メモリ情報に基づいて、前記オペレーティングシステム及び前記ユーザプログラム用のメモリ領域を確保するため、従来必要であったページフォルト処理や空きメモリ領域の検索処理を削減することができる。
【発明の効果】
【００１４】
本発明によれば、従来必要であったページフォルト処理や空きメモリ領域の検索処理を削減することができるため、コンピュータシステムの起動を高速化することができる。
【００１５】
その理由は、オペレーティングシステムとユーザプログラムが動作を行うために必要なメモリ量に関するメモリ情報を予め格納しておき、前記コンピュータシステムの起動時に、前記オペレーティングシステムが、前記メモリ情報に基づいて、前記オペレーティングシステム及び前記ユーザプログラム用のメモリ領域を確保するからである。
【発明を実施するための最良の形態】
【００１６】
（第１の実施の形態）
本発明の第１の実施の形態によるコンピュータシステムを図面を用いて詳細に説明する。
【００１７】
（第１の実施の形態の構成）
図１に、本発明の第１の実施の形態による起動高速化手段を備えたコンピュータシステムの構成図を示す。なお、コンピュータシステムに通常備わっているが本発明とは無関係な部分については説明を省略する。
【００１８】
図１を参照すると、本実施の形態によるコンピュータシステム１００は、オペレーティングシステム１１０と、不揮発記憶領域２００と、メモリ３００と、ユーザプログラム１２０（ユーザプログラムＡ１２１、ユーザプログラムＢ１２２等）とを備える。
【００１９】
オペレーティングシステム１１０は、後述するメモリ確保情報２０１に基づいてメモリ３００の所定の領域を先行的に確保する本発明の特徴的構成である先行確保部１１１と、従来と同じ動作を行ってメモリ３００の所定の領域の確保を行うことが可能な通常確保部１１２とを備える。すなわち、先行確保部１１１及び通常確保部１１２は、使用するメモリ領域をメモリ３００内に確保する。
【００２０】
図２に、オペレーティングシステム１１０の詳細な構成図を示す。
【００２１】
図２を参照すると、通常確保部１１２は、メモリ量問い合わせ手段１１２１と、通常確保手段１１２２とを備え、先行確保部１１１はメモリ確保情報読み込み手段１１１１と、判定手段１１１２と、先行確保手段１１１３と、返答手段１１１４とを備える。
【００２２】
メモリ量問い合わせ手段１１２１は、メモリ確保の要求元（オペレーティングシステム１１０等）に対応する確保用メモリ量を先行確保部１１１に問い合わせる機能を有する。
【００２３】
通常確保手段１１２２は、確保量が要求元の要求に応えられない旨の返答を先行確保部１１１から受けた場合に、通常のメモリ確保処理を行い、要求された領域をメモリ３００内に確保する機能を有する。
【００２４】
メモリ確保情報読み込み手段１１１１は、通常確保部１１２からの問い合わせに対してメモリ確保情報２０１を読み込む機能を有する。
【００２５】
判定手段１１１２は、通常確保部１１２からの問い合わせに対してメモリ確保情報２０１を読み込み、メモリ確保情報２０１に示された確保量が要求元の要求に応えられる確保量か否かを判定する機能を有する。
【００２６】
先行確保手段１１１３は、要求に応えられる場合に、メモリ確保情報２０１に示された要求元に対応する確保量をメモリ３００内に確保する機能を有する。
【００２７】
返答手段１１１４は、要求に応えられない場合に、確保量が要求元の要求に応えられない旨を通常確保部１１２に返答し、要求に応えられる場合にその旨及び確保により使用可能となったメモリ領域の位置を通常確保部１１２に返答する機能を有する。
【００２８】
ユーザプログラム１２０中の各ユーザプログラムＡ１２１、ユーザプログラムＢ１２２等は、本実施の形態によるコンピュータシステムの起動時に実行されるユーザプログラムである。
【００２９】
不揮発記憶領域２００は、コンピュータシステムが起動する際に実行される各プログラムがある一時点で確保するメモリ量の最大値に関する情報をメモリ確保情報２０１を構成する情報として記録する機能を有する。このため、メモリ確保情報２０１には、コンピュータシステム起動時にメモリの確保を要求したプログラム（要求元）毎に、ある一時点において確保したメモリの確保量が対応付けて記録されている。なお、不揮発記憶領域２００内には、メモリ確保情報２０１があらかじめ格納されている要求元も、格納されていない要求元も存在しうる。
【００３０】
ここで、コンピュータシステム１００のハードウェア構成の説明をする。
【００３１】
図３は、本実施の形態によるコンピュータシステム１００のハードウェア構成例を示すブロック図である。
【００３２】
図３を参照すると、本発明によるサーバ３０は、一般的なコンピュータ装置と同様のハードウェア構成によって実現することができ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１００１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメインメモリであり、データの作業領域やデータの一時退避領域に用いられる主記憶部１００２、ネットワーク４００を介してデータの送受信を行う通信制御部１００３、液晶ディスプレイ、プリンタやスピーカ等の提示部１００４、キーボードやマウス等の入力部１００５、周辺機器と接続してデータの送受信を行うインタフェース部１００６、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置である補助記憶部１００７、本情報処理装置の上記各構成要素を相互に接続するシステムバス１００８等を備えている。
【００３３】
本発明によるコンピュータシステム１００は、その動作を、コンピュータシステム１００内部にそのような機能を実現するプログラムを組み込んだ、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等のハードウェア部品からなる回路部品を実装してハードウェア的に実現することは勿論として、上記した各構成要素の各機能を提供するプログラムを、コンピュータ処理装置上のＣＰＵ１００１で実行することにより、ソフトウェア的に実現することができる。
【００３４】
すなわち、ＣＰＵ１００１は、補助記憶部１００７に格納されているプログラムを、主記憶部１００２にロードして実行し、コンピュータシステム１００の動作を制御することにより、上述した各機能をソフトウェア的に実現する。
【００３５】
（第１の実施の形態の動作）
図４は、本発明の第１の実施の形態によるコンピュータシステムの動作を示すフローチャートである。
【００３６】
図１、図２及び図４を参照して本実施の形態の動作を説明する。
【００３７】
コンピュータシステム１００が起動すると、オペレーティングシステム１１０が実行を開始する（ステップＳ１０１）。
【００３８】
オペレーティングシステム１１０が実行を開始した初期の段階で、通常確保部１１２が、要求元（この場合オペレーティングシステム自身）の要求に応えられるだけのメモリ量が既に確保されているか否かをメモリ量確認手段１１２１によって先行確保部１１１に問い合わせる（ステップＳ１０２）。
【００３９】
先行確保部１１１は、通常確保部１１２のメモリ量問い合わせ手段１１２１から問い合わせ受け、メモリ確保情報読み込み手段１１１１によって、不揮発記憶領域２００に格納されたメモリ確保情報２０１を読み込む（ステップＳ１０３）。メモリ確保情報２０１は、上述したように、コンピュータシステムが起動する際、ある一時点でプログラムが確保しているメモリ量の最大値をあらかじめ測定し不揮発記憶領域２００に格納しておいたものである。
【００４０】
先行確保部１１１は、読み込んだメモリ確保情報２０１に基づき、判定手段１１１２によって、要求元の要求に応えられるだけのメモリ量を確保可能か否か判定する（ステップＳ１０４）。
【００４１】
先行確保部１１１は、確保可能な場合、読み込んだメモリ確保情報２０１に基づき、先行確保手段１１１３によって、コンピュータシステム１００のメモリ３００から各ユーザプログラム１２０用にメモリ領域を確保する（ステップＳ１０５）。図１には、オペレーティングシステム１１０用に領域Ｘ、ユーザプログラム１２１用に領域Ｙ、ユーザプログラム１２２用に領域Ｚを、メモリ３００の「Ｐ部」で示した領域に確保した様子が図示されている。
【００４２】
先行確保部１１１は、先行確保手段１１１３によってメモリの確保を行った後、返答手段１１１４によって、要求元の要求に応えられるだけのメモリ量を確保した旨及び確保により使用可能となったメモリ領域の位置を通常確保部１１２に返答する（ステップＳ１０６）。
【００４３】
通常確保部１１２は、その返答をそのまま要求元に返答する（ステップＳ１０７）。
【００４４】
オペレーティングシステム１１０はコンピュータシステム１００の各種初期化処理を行う。初期化処理は、処理に必要なメモリを随時確保しながら行われる。そのためオペレーティングシステム１１０は、通常確保部１１２によって、各種初期化処理に必要なメモリを随時確保する（ステップＳ１０８）。
【００４５】
上記処理は、従来の課題に記した第一・第二・第三のメモリ確保方法で必要だったメモリ空き領域の検索や、第三の方法で必要だったページフォルト処理を伴わないため、極めて高速に行われる。加えて、先行確保部１１１が確保しているメモリの量はあらかじめ測定に基づいて記録されたものなので、従来の課題に記した第二のメモリ確保方法のようにメモリの利用効率が悪化することもない。
【００４６】
一方、ステップＳ１０４において、判定手段１１１２によって、要求元の要求に応えられるだけのメモリ量を確保できないと判定した場合、返答手段１１１４は、要求元の要求に応えられない旨を通常確保部１１２に返答する（ステップＳ１０９）。
【００４７】
この場合、通常確保部１１２は、通常確保手段１１２２によって通常のメモリ確保処理を行ってメモリ３００内に領域を確保し（ステップＳ１１０）、確保した領域の位置を要求元に返答する（ステップＳ１１１）。図１の「Ｑ部」には、オペレーティングシステム１１０の要求に従って通常確保部１１２が確保したメモリ領域が（ＯＳ）として示されている。
【００４８】
オペレーティングシステム１１０がコンピュータシステム１００の基本的な初期化処理を完了すると、オペレーティングシステム１１０はユーザプログラムを起動する。図１では、ユーザプログラム１２０のうち、ユーザプログラムＡ１２１とユーザプログラムＢ１２２の２つが起動されることとする。
【００４９】
ユーザプログラムＡ１２１及びユーザプログラムＢ１２２はオペレーティングシステム１１０では行われない種々の初期化処理を実行する。オペレーティングシステム１１０が全ての初期化を行わないのは、次の理由による。
【００５０】
オペレーティングシステム１１０は、ユーザプログラムＡ１２１及びユーザプログラム１２２Ｂを実行するために必要な、システムの基盤となる機能を提供する。基盤となる機能とは、本発明に関連するメモリの確保や、コンピュータシステム１００に搭載された各種ハードウェアの制御等である。そのため、オペレーティングシステム１１０の設定を、変更したり新しいものに入れ替えたりすると、その影響はコンピュータシステム１００全体に波及する。その結果コンピュータシステム１００が、起動できなくなったり予期しない異常な動作を引き起こす可能性がある。よってオペレーティングシステム１１０の機能は必要最小限とし、ユーザプログラムで行える処理はできる限りユーザプログラム側で行うことによって、コンピュータシステムの柔軟性と安定性を最大化する方法が一般に採用されている。
【００５１】
図１に示したユーザプログラムＡ１２１及びユーザプログラムＢ１２２は、ともに定められた初期化処理を行う。前述したオペレーティングシステム１１０の初期化処理と同様に、ユーザプログラムＡ１２１及びユーザプログラムＢ１２２も初期化処理のために一定のメモリ領域を必要とする。そのためユーザプログラムＡ１２１及びユーザプログラムＢ１２２は、オペレーティングシステム１１０の通常確保部１１２にメモリの確保を要求する。通常確保部１１２の動作は、前述のオペレーティングシステム１１０内部からメモリ確保要求があった場合の動作と全く同じである。
【００５２】
図１の「Ｑ部」には、ユーザプログラムＡ１２１のメモリ確保要求に従って通常確保部１１２が確保したメモリ領域を（Ａ）、ユーザプログラムＢ１２２のメモリ確保要求に従って通常確保部１１２が確保したメモリ領域を（Ｂ）として示した。
【００５３】
前述したように、初期化処理の一部をオペレーティングシステム１１０ではなくユーザプログラム１２０（１２１、１２２）で行うのは、コンピュータシステムの柔軟性を高めるためである。この目的に即し、コンピュータシステムの使用者はユーザプログラム１２０（１２１、１２２）の動作を変更することが一般に可能である。ユーザプログラム１２０（１２１、１２２）の動作が変更されると、確保が必要なメモリの量も変動する。その結果、ユーザプログラム１２０（１２１、１２２）はメモリ確保情報２０１に格納されているメモリ確保量よりも多くのメモリ領域を必要とする場合がある。この場合、本発明による起動高速化方法では通常確保部１１２が従来と同じようにメモリ確保を行う。そのため、従来の課題に記した従来の起動高速化方法が有していた問題点、すなわちシステムの柔軟性が損なわれるということもなく、動作に支障をきたすことなしにシステムの柔軟性を保つことができる。
【００５４】
ただしこの場合は、ページフォルト処理およびメモリの空き領域検索処理が実行されるために、本発明による起動高速化効果が十分発揮されない状態となる。しかし本発明による起動高速化方法によれば、必要なメモリ量を再測定してメモリ確保情報２０１を書き換えるたけで、再び容易に最大の起動高速化効果を得ることができる。このときメモリ確保情報２０１として格納すべき情報は、上述したように、メモリ確保の要求元と、各要求元がある一時点で確保しているメモリ量の最大値を対応付けた情報のみであり、その情報量は非常に小さい。よって従来の課題に記した従来の起動高速化方法が有していた問題点、すなわち不揮発記憶領域の容量は動作状態における全メモリ情報を記録できるだけの大きさが必要となるといった問題は生じず、メモリ確保情報２０１が不揮発記憶領域２００の容量を圧迫することはない。
【００５５】
以上のように本発明の第１の実施の形態は、高いメモリの利用効率を保った上で、コンピュータシステムの柔軟性を損なわず、不揮発記憶領域の容量も圧迫せずに起動を高速化できるという利点を有する。
【００５６】
（第１の実施の形態の効果）
本実施の形態によれば、以下の効果を達成することができる。
【００５７】
第１に、コンピュータシステムの起動を高速化することができる。
【００５８】
その理由は、先行確保部１１１が、あらかじめ記録されたメモリ確保情報２０１に基づいて必要なメモリ量を確保しておくことにより、従来必要であったページフォルト処理や空きメモリ領域の検索処理を削減することができるからである。
【００５９】
第２に、コンピュータシステムの起動を高速化しながら、コンピュータシステムの柔軟性を損なうことがない。
【００６０】
その理由は、初期化処理の一部をオペレーティングシステム１１０ではなくユーザプログラム（１２１、１２２）で行うからである。ユーザプログラム（１２１、１２２）の動作が変更され、確保が必要なメモリの量も変動した結果、ユーザプログラム（１２１、１２２）はメモリ確保情報２０１に格納されているメモリ確保量よりも多くのメモリ領域を必要とする場合があるが、このような場合には通常確保部１１２が従来と同じようにメモリ確保を行うからである。
【００６１】
第３に、コンピュータシステムの起動を高速化しながら、小型で安価なコンピュータシステムを提供することができる。
【００６２】
その理由は、メモリ確保情報２０１が、メモリ確保の要求元と、各要求元がある一時点で確保しているメモリ量の最大値及びメモリ領域を対応付けた情報のみから構成され、その情報量が非常に小さいため、不揮発記憶領域２００の容量を圧迫しないからである。
【００６３】
以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
【図面の簡単な説明】
【００６４】
【図１】本発明の第１の実施の形態による起動高速化手段を備えたコンピュータシステムの構成図である。
【図２】第１の実施の形態によるオペレーティングシステムの詳細な構成を示すブロック図である。
【図３】第１の実施の形態によるコンピュータシステムのハードウェア構成例を示すブロック図である。
【図４】第１の実施の形態によるコンピュータシステムの動作を示すフローチャートである。
【符号の説明】
【００６５】
１００：コンピュータシステム
１１０：オペレーティングシステム
１１１：先行確保部
１１１１：メモリ確保情報読み込み手段
１１１２：判定手段
１１１３：先行確保手段
１１１４：返答手段
１１２：通常確保部
１１２１：メモリ量問い合わせ手段
１１２２：通常確保手段
１２０：ユーザプログラム
１２１：ユーザプログラムＡ
１２２：ユーザプログラムＢ
２００：不揮発記憶領域
２０１：メモリ確保情報
３００：メモリ
１００１：ＣＰＵ
１００２：主記憶部
１００３：通信制御部
１００４：提示部
１００５：入力部
１００６：インタフェース部
１００７：補助記憶部
１００８：システムバス
４００：ネットワーク
【図１】
2008225617.tif 000003
【図２】
2008225617.tif 000004
【図３】
2008225617.tif 000005
【図４】
2008225617.tif 000006