リソース管理
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/01/20 07:47 UTC 版)
リソース管理 (英: resource management)または資源管理 は、組織研究の分野では、必要なときに組織のリソースを効率的かつ効果的に開発することを指す。リソースとは、財源、在庫、人的スキル、生産リソース、情報技術(IT)、天然資源などのこと。
- ^ A Guide to the Project Management Body of Knowledge, Third Edition. Newtown Square, Pennsylvania: Project Management Institute (PMI). (2004). ISBN 1-930699-45-X
- ^ A Guide to the Project Management Body of Knowledge, Fourth Edition. Newtown Square, Pennsylvania: Project Management Institute (PMI). (2008). ISBN 978-1-933890-51-7
- ^ A Guide to the Project Management Body of Knowledge, Sixth Edition. Newtown Square, Pennsylvania: Project Management Institute (PMI). (2017). ISBN 978-1-62825-184-5
- ^ Resource Management Process
- ^ Resource Management Method
- ^ Modern Project Management
- ^ Enterprise Resource Management
- ^ Frank Parth. “Growing in Turbulent Times'”. 2020年12月21日閲覧。
- ^ “5 Reasons Why Resource Management is Important”. 2020年12月21日閲覧。
- 1 リソース管理とは
- 2 リソース管理の概要
リソース管理
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/05 19:25 UTC 版)
「Rust (プログラミング言語)」の記事における「リソース管理」の解説
Rustはメモリやその他リソースの管理にRAIIを採用しており、リソースの利用区間をコンパイル時に静的に検証するボローチェッカー(borrow checker)という機能で実現されている。ガベージコレクションや参照カウントとは異なり、コンパイル時に静的にリソースの利用区間を検証することで、実行時のリソース管理コストを少量に抑えている。
※この「リソース管理」の解説は、「Rust (プログラミング言語)」の解説の一部です。
「リソース管理」を含む「Rust (プログラミング言語)」の記事については、「Rust (プログラミング言語)」の概要を参照ください。
リソース管理
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/27 00:07 UTC 版)
「JavaとC++の比較」の記事における「リソース管理」の解説
Javaは自動ガベージコレクションを必要とする。C++のメモリ管理は普通、手動で行われるか、スマートポインタを通して行われる。C++でガベージコレクションを実装することも不可能ではないが、標準規格で要求されているわけではなく、実際には滅多に使われない。また、C++ではオブジェクトを再配置できないが、一般にオブジェクトの再配置が可能であれば、明示に解放するスタイルより空間と時間効率が良くなることが知られている。C++でのスマートポインタは、主に参照カウントが用いられる。その場合、循環参照の注意が必要という欠点がある。 メモリ割り当ては、C++では任意に可能だが、Javaはオブジェクトインスタンス化を通してのみ可能である。Javaでは、バイト配列を作ることで任意のブロック割り当てを再現できる。もっとも、Javaの配列もオブジェクトである。 JavaとC++はリソース管理に異なる手法を用いる。Javaは主にガベージコレクションに頼り、メモリの再利用だけができ、他のリソースは最後まで回収されないかもしれない。だが、C++は主にRAII (Resource Acquisition Is Initialization) というイディオムに頼る。これは2つの言語間の以下のような様々な違いに現れている。C++では、複合型も組込型同様スタックに割り当てられ、スコープから外れると共に破棄される。Javaでは、複合型は常にヒープに割り当てられ、ガベージコレクタによって回収される(これはあくまで概念上の話で、実装上はエスケープ解析最適化でスタックにオブジェクトを割り当てる仮想マシンもある)。 C++はデストラクタを持っているが、Javaはファイナライザを持っている。双方はオブジェクトの解放時に優先的に呼び出されるが、それらは重大性が異なる。C++オブジェクトのデストラクタは、オブジェクトが解放されるときに必ず呼び出される(ようにコンパイラは実装しなければならない)。例外が投げられたときでも、スタック上のオブジェクトは、スタックの巻き戻し(アンワインド)に伴ってデストラクタが呼ばれる。また、デストラクタは定義さえすれば、利用する側に特別な記述は不要である。このことを利用して確実なリソースの解放を行うのが広義のRAIIである。 Javaでは、オブジェクト解放はガベージコレクタによって暗黙のうちに解放される。Javaオブジェクトのファイナライザは、最後にアクセスされた後と、実際に解放される前に、ときどき非同期に呼び出されるが、決して何も起こらないかも知れない。ファイナライザを要求するオブジェクトはごくわずかにすぎない。ファイナライザは解放状態を優先するオブジェクトの多少のクリーンナップを保証しなければならないオブジェクトによって要求されるだけであり、だいたいはJVM外のリソースへ放出される。Javaでは安全な同期によるリソース解放は、try/finally文を構築して明示的に行われなければならない。 C++では、時としてdangling pointer(破棄されたオブジェクトを参照するポインタ)が存在してしまう。dangling pointerを間接参照するときは、基本的にプログラムのバグである。Javaでは、ガベージコレクタは参照されているオブジェクトは解放しない。 C++では初期化されていないプリミティブなオブジェクトを持つことが可能である。Javaでは、初期化が強制される。 C++では、領域を割り当てられたが到達不能であるオブジェクトが発生してしまうことがある。到達不能オブジェクトとは、それへの到達可能な参照が全く存在しないオブジェクトのことである。到達不能オブジェクトは解放(破棄)することができず、メモリリークを引き起こす。それとは対照的に、Javaではオブジェクトは、それがユーザープログラムによって到達不可能になる「までに」ガベージコレクタによって解放される (注: 異なる到達可能性の「強さ」を考慮に入れた、Javaのガベージコレクタとともに働く、「弱い参照」がサポートされている)。 Javaでは非メモリリソースをリークしないように注意深く解放コードを逐一書く必要がある(ただしJava 7のtry-with-resources文により、ある程度緩和されている)。一方でC++では、前述のRAIIによってリークしにくい例外安全なコードを書きやすくなっている。
※この「リソース管理」の解説は、「JavaとC++の比較」の解説の一部です。
「リソース管理」を含む「JavaとC++の比較」の記事については、「JavaとC++の比較」の概要を参照ください。
リソース管理
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/09/27 04:34 UTC 版)
OpenVZのリソース管理は、ディスククォータ、CPUスケジューラー、I/Oスケジューラー、ユーザービーンカウンタからなる。これらのリソースはコンテナが実行中に再起動することなしに変更することが可能。
※この「リソース管理」の解説は、「OpenVZ」の解説の一部です。
「リソース管理」を含む「OpenVZ」の記事については、「OpenVZ」の概要を参照ください。
リソース管理
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/11/24 15:35 UTC 版)
「Javaに対する批判」の記事における「リソース管理」の解説
Javaはメモリを管理するが、他のリソース(ファイルやJDBCデータベース接続など)は管理しない。これらはC言語およびC++でヒープに動的確保したメモリを明示的に解放する必要があったのと同様、プログラマによって解放されなければならない。
※この「リソース管理」の解説は、「Javaに対する批判」の解説の一部です。
「リソース管理」を含む「Javaに対する批判」の記事については、「Javaに対する批判」の概要を参照ください。
「リソース管理」の例文・使い方・用例・文例
- リソース管理のページへのリンク