JP5064134B2 - メモリ管理方法およびその方法を用いるコンピュータ - Google Patents
メモリ管理方法およびその方法を用いるコンピュータ Download PDFInfo
- Publication number
- JP5064134B2 JP5064134B2 JP2007203288A JP2007203288A JP5064134B2 JP 5064134 B2 JP5064134 B2 JP 5064134B2 JP 2007203288 A JP2007203288 A JP 2007203288A JP 2007203288 A JP2007203288 A JP 2007203288A JP 5064134 B2 JP5064134 B2 JP 5064134B2
- Authority
- JP
- Japan
- Prior art keywords
- memory area
- program
- memory
- data
- execution
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
- G06F12/0269—Incremental or concurrent garbage collection, e.g. in real-time systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1012—Design facilitation
Description
Claims (27)
- オブジェクトを含む少なくとも一つのスレッドを有するプログラムが、コンピュータ内のプロセッサにより実行されることにより前記コンピュータ内にメモリ領域を確保し、
前記プログラムの実行に応じて前記メモリ領域に前記オブジェクトを格納し、
前記プログラムによる前記メモリ領域の解放の指示に応答して、前記少なくとも一つのスレッドの以降の実行に必要なオブジェクトが前記解放を指示された前記メモリ領域に存在するか否かをチェックし、
前記チェックの結果、前記少なくとも一つのスレッドの以降の実行に必要なオブジェクトが前記メモリ領域に存在しないとき、前記解放を指示されたメモリ領域を解放し、
前記チェックの結果、前記少なくとも一つのスレッドの以降の実行に必要なオブジェクトが前記メモリ領域に存在するとき、前記オブジェクトを前記解放が指示されたメモリ領域とは異なるメモリ領域へ移動するメモリ管理方法。 - 請求項1のメモリ管理方法において、前記チェックの結果、前記少なくとも一つのスレッドの以降の実行に必要なオブジェクトが前記メモリ領域に存在するとき、前記プログラムにより指示された動作を実行するメモリ管理方法。
- 請求項2のメモリ管理方法において、前記指示された動作の実行は例外処理の実行であるメモリ管理方法。
- 請求項1〜3のいずれか一項に記載のメモリ管理方法において、前記異なるメモリ領域はガベージコレクションの対象であるメモリ管理方法。
- 請求項4に記載のメモリ管理方法において、
前記異なるメモリ領域のガベージコレクションの発生に応じて、前記オブジェクトを前記解放が指示されたメモリ領域とは異なるメモリ領域へ移動するメモリ管理方法。 - 請求項1から5のいずれか一項に記載のメモリ管理方法において、前記少なくとも一つのスレッドの以降の実行に必要なオブジェクトは前記解放を指示されたメモリ領域外のオブジェクトから参照されているオブジェクトであるメモリ管理方法。
- 請求項1から6のいずれか一項に記載のメモリ管理方法において、前記移動したオブジェクトが参照するオブジェクトが前記メモリ領域に存在するとき、該参照されるオブジェクトも前記異なるメモリ領域へ移動するメモリ管理方法。
- 請求項1から7のいずれか一項に記載のメモリ管理方法において、前記プログラムによる指示に応答して、前記オブジェクトを前記メモリ領域とは異なるメモリ領域へ移動するメモリ管理方法。
- 請求項1〜8の何れか一項に記載のメモリ管理方法において、
前記メモリ領域及び前記異なるメモリ領域の少なくとも一方が、不揮発性記録媒体に設けられるメモリ管理方法。 - オブジェクトを含む少なくとも一つのスレッドを有するプログラムが、コンピュータ内のプロセッサにより実行されることにより前記コンピュータ内に確保されたメモリ領域と、
前記メモリ領域とは異なるメモリ領域と、
前記プログラムの実行に応じて前記メモリ領域に前記オブジェクトを格納し、
前記プログラムによる前記メモリ領域の解放の指示に応答して、前記少なくとも一つのスレッドの以降の実行に必要なオブジェクトが前記解放を指示された前記メモリ領域に存在するか否かをチェックし、
前記チェックの結果、前記少なくとも一つのスレッドの以降の実行に必要なオブジェクトが前記メモリ領域に存在しないとき、前記解放を指示されたメモリ領域を解放し、
前記チェックの結果、前記少なくとも一つのスレッドの以降の実行に必要なオブジェクトが前記メモリ領域に存在するとき、前記オブジェクトを前記解放が指示されたメモリ領域とは異なるメモリ領域へ移動する制御部とを有するコンピュータ。 - 請求項10に記載のコンピュータにおいて、前記制御部が、前記チェックの結果、前記少なくとも一つのスレッドの以降の実行に必要なオブジェクトが前記メモリ領域に存在するとき、前記プログラムにより指示された動作を実行するコンピュータ。
- 請求項11に記載のコンピュータにおいて、前記指示された動作の実行は例外処理の実行であるコンピュータ。
- 請求項10〜12のいずれか一項に記載のコンピュータにおいて、前記異なるメモリ領域はガベージコレクションの対象であるコンピュータ。
- 請求項13に記載のコンピュータにおいて、
前記制御部が、
前記異なるメモリ領域のガベージコレクションの発生に応じて、前記オブジェクトを前記解放が指示されたメモリ領域とは異なるメモリ領域に移動するコンピュータ。 - 請求項10から14のいずれか一項に記載のコンピュータにおいて、前記少なくとも一つのスレッドの以降の実行に必要なオブジェクトが、前記解放を指示されたメモリ領域外のオブジェクトから参照されているオブジェクトであるコンピュータ。
- 請求項10から15のいずれか一項に記載のコンピュータにおいて、
前記制御部が、
前記移動したオブジェクトが参照するオブジェクトが前記メモリ領域に存在するとき、該参照されるオブジェクトも前記異なるメモリ領域へ移動するコンピュータ。 - 請求項10から16のいずれか一項に記載のコンピュータにおいて、
前記制御部が、
前記プログラムによる指示に応答して、前記オブジェクトを前記メモリ領域とは異なるメモリ領域へ移動するコンピュータ。 - 請求項10〜19の何れか一項に記載のコンピュータにおいて、
前記メモリ領域及び前記異なるメモリ領域の少なくとも一方が、不揮発性記録媒体に設けられるコンピュータ。 - オブジェクトを含む少なくとも一つのスレッドを有するプログラムであって、
コンピュータに、
前記プログラムの指示に応じてメモリ領域を確保する手順と、
前記プログラムの実行に応じて前記メモリ領域に前記オブジェクトを格納する手順と、
前記プログラムによる前記メモリ領域の解放の指示に応答して、前記少なくとも一つのスレッドの以降の実行に必要なオブジェクトが前記解放を指示された前記メモリ領域に存在するか否かをチェックする手順と、
前記チェックの結果、前記少なくとも一つのスレッドの以降の実行に必要なオブジェクトが前記メモリ領域に存在しないとき、前記解放を指示されたメモリ領域を解放する手順と、
前記チェックの結果、前記少なくとも一つのスレッドの以降の実行に必要なオブジェクトが前記メモリ領域に存在するとき、前記オブジェクトを前記解放が指示されたメモリ領域とは異なるメモリ領域へ移動する手順とを実行させるプログラム。 - 請求項19のプログラムにおいて、
前記チェックする手順の結果、前記少なくとも一つのスレッドの以降の実行に必要なオブジェクトが前記メモリ領域に存在するとき、前記プログラムにより指示された動作を実行する手順を実行させるプログラム。 - 請求項20に記載のプログラムにおいて、
前記指示された動作の実行は例外処理の実行であるプログラム。 - 請求項19〜21のいずれか一項に記載のプログラムにおいて、
前記チェックの結果、前記少なくとも一つのスレッドの以降の実行に必要なオブジェクトが前記メモリ領域に存在するとき、ガベージコレクションの対象であって、前記解放が指示されたメモリ領域とは異なるメモリ領域に、前記オブジェクトを移動する手順を実行させるプログラム。 - 請求項22に記載のプログラムにおいて、
前記異なるメモリ領域のガベージコレクションの発生に応じて、前記オブジェクトを前記解放が指示されたメモリ領域とは異なるメモリ領域へ移動させる手順を実行させるプログラム。 - 請求項19から23のいずれか一項に記載のプログラムにおいて、前記少なくとも一つのスレッドの以降の実行に必要なオブジェクトには、前記解放を指示されたメモリ領域外のオブジェクトから参照されているオブジェクトが含まれるプログラム。
- 請求項19から23のいずれか一項に記載のプログラムにおいて、前記移動したオブジェクトが参照するオブジェクトが前記メモリ領域に存在するとき、該参照されるオブジェクトも前記異なるメモリ領域へ移動する手順を実行させるプログラム。
- 請求項19から23のいずれか一項に記載のプログラムにおいて、前記少なくとも一つのスレッドを有するプログラムによる指示に応答して、前記オブジェクトを前記メモリ領域とは異なるメモリ領域へ移動する手順を実行させるプログラム。
- 請求項19〜23の何れか一項に記載のプログラムにおいて、
前記メモリ領域及び前記異なるメモリ領域の少なくとも一方を、不揮発性記録媒体に確保する手順を実行させるプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007203288A JP5064134B2 (ja) | 2007-08-03 | 2007-08-03 | メモリ管理方法およびその方法を用いるコンピュータ |
US12/038,376 US7979659B2 (en) | 2007-08-03 | 2008-02-27 | Memory management method and computer using the method |
US13/105,636 US8397044B2 (en) | 2007-08-03 | 2011-05-11 | Memory management method and computer using the method |
US13/667,315 US8589653B2 (en) | 2007-08-03 | 2012-11-02 | Memory management method and computer using the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007203288A JP5064134B2 (ja) | 2007-08-03 | 2007-08-03 | メモリ管理方法およびその方法を用いるコンピュータ |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012175538A Division JP5564540B2 (ja) | 2012-08-08 | 2012-08-08 | メモリ管理方法、コンピュータ及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009037547A JP2009037547A (ja) | 2009-02-19 |
JP5064134B2 true JP5064134B2 (ja) | 2012-10-31 |
Family
ID=40339249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007203288A Active JP5064134B2 (ja) | 2007-08-03 | 2007-08-03 | メモリ管理方法およびその方法を用いるコンピュータ |
Country Status (2)
Country | Link |
---|---|
US (3) | US7979659B2 (ja) |
JP (1) | JP5064134B2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0608406D0 (en) * | 2006-04-28 | 2006-06-07 | Ibm | Creating references in a scoped memory system |
US8266190B2 (en) * | 2007-09-25 | 2012-09-11 | International Business Machines Corporation | Memory management for garbage collection of critical real time threads |
CN101809545B (zh) * | 2007-09-25 | 2012-06-13 | 国际商业机器公司 | 存储器管理方法及其设备 |
JP5153539B2 (ja) * | 2008-09-22 | 2013-02-27 | 株式会社日立製作所 | メモリ管理方法およびその方法を用いるコンピュータ |
US8631051B2 (en) * | 2008-09-22 | 2014-01-14 | Filip Pizlo | Hybrid fragmenting real time garbage collection |
JP5281452B2 (ja) | 2009-03-25 | 2013-09-04 | 株式会社日立製作所 | メモリ管理方法、コンピュータ、及び、メモリ管理プログラム |
JP5391422B2 (ja) | 2009-09-01 | 2014-01-15 | 株式会社日立製作所 | メモリ管理方法、計算機システム及びプログラム |
US8539454B2 (en) * | 2009-12-09 | 2013-09-17 | International Business Machines Corporation | Method and system for detecting memory leaks |
JP5380695B2 (ja) * | 2010-02-23 | 2014-01-08 | 株式会社日立製作所 | メモリ管理方法、計算機システム及びメモリ管理プログラム |
JP5459009B2 (ja) * | 2010-03-25 | 2014-04-02 | 富士通株式会社 | 演算処理装置およびメモリリーク検出方法 |
JP5618796B2 (ja) | 2010-12-02 | 2014-11-05 | 株式会社日立製作所 | 計算機、計算機の制御方法及びプログラム |
US20140337597A1 (en) * | 2012-03-02 | 2014-11-13 | Hitachi, Ltd. | Computer, program, and memory management method |
US10810546B2 (en) | 2017-10-02 | 2020-10-20 | R3 Ltd. | Settling obligations via netting transactions |
US11362807B2 (en) * | 2019-08-14 | 2022-06-14 | R3 Llc | Sealed distributed ledger system |
CN114786831A (zh) * | 2019-11-18 | 2022-07-22 | 加拿大蓝色解决方案有限公司 | 碱金属或碱金属合金的层压膜及用于制造层压膜的设备 |
EP4283473A1 (en) * | 2021-08-02 | 2023-11-29 | Samsung Electronics Co., Ltd. | Device and method for reduction of garbage collection operations |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6393055A (ja) * | 1986-10-07 | 1988-04-23 | Fujitsu Ltd | 実時間型ガ−ベジコレクシヨン支援装置 |
US5687368A (en) * | 1994-07-22 | 1997-11-11 | Iowa State University Research Foundation, Inc. | CPU-controlled garbage-collecting memory module |
US6128623A (en) * | 1998-04-15 | 2000-10-03 | Inktomi Corporation | High performance object cache |
JP2001184254A (ja) * | 1999-12-27 | 2001-07-06 | Nec Corp | ガーベージコレクション機能を有する情報処理装置およびその方法ならびに記録媒体 |
US20020105548A1 (en) * | 2000-12-12 | 2002-08-08 | Richard Hayton | Methods and apparatus for creating a user interface using property paths |
US20030097537A1 (en) * | 2001-10-23 | 2003-05-22 | Sun Microsystems, Inc. | Method and apparatus for scoped memory |
JP3939975B2 (ja) * | 2001-12-14 | 2007-07-04 | 松下電器産業株式会社 | ガベージコレクション装置、ガベージコレクション方法及びガベージコレクションプログラム |
JP2003241967A (ja) * | 2002-02-15 | 2003-08-29 | Matsushita Electric Ind Co Ltd | プログラム実行装置およびその方法、並びにそこで実行されるプログラム |
US6804691B2 (en) * | 2002-03-21 | 2004-10-12 | Hewlett-Packard Development Company, L.P. | Method for optimization of memory usage for a computer program |
US6728738B2 (en) * | 2002-04-03 | 2004-04-27 | Sun Microsystems, Inc. | Fast lifetime analysis of objects in a garbage-collected system |
US7496897B1 (en) * | 2004-03-17 | 2009-02-24 | Timesys Corporation | Multiple code sets for multiple execution contexts |
US7484067B1 (en) * | 2004-05-24 | 2009-01-27 | Sun Microsystems, Inc. | System and method for ensuring non-interfering garbage collection in a real time multi-threaded environment |
JP2007086838A (ja) * | 2005-09-20 | 2007-04-05 | National Institute Of Advanced Industrial & Technology | ゼロガベージコレクション通信仲介装置 |
US7644308B2 (en) * | 2006-03-06 | 2010-01-05 | Hewlett-Packard Development Company, L.P. | Hierarchical timestamps |
GB0608406D0 (en) * | 2006-04-28 | 2006-06-07 | Ibm | Creating references in a scoped memory system |
US7756911B2 (en) * | 2006-06-09 | 2010-07-13 | International Business Machines Corporation | Method and system for executing a task and medium storing a program therefor |
-
2007
- 2007-08-03 JP JP2007203288A patent/JP5064134B2/ja active Active
-
2008
- 2008-02-27 US US12/038,376 patent/US7979659B2/en active Active
-
2011
- 2011-05-11 US US13/105,636 patent/US8397044B2/en active Active
-
2012
- 2012-11-02 US US13/667,315 patent/US8589653B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US7979659B2 (en) | 2011-07-12 |
US20090037684A1 (en) | 2009-02-05 |
US20130067185A1 (en) | 2013-03-14 |
US20110213943A1 (en) | 2011-09-01 |
JP2009037547A (ja) | 2009-02-19 |
US8397044B2 (en) | 2013-03-12 |
US8589653B2 (en) | 2013-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5064134B2 (ja) | メモリ管理方法およびその方法を用いるコンピュータ | |
JP5153539B2 (ja) | メモリ管理方法およびその方法を用いるコンピュータ | |
US7945911B1 (en) | Barrier synchronization method and apparatus for work-stealing threads | |
JP3027845B2 (ja) | プログラム制御装置および方法 | |
EP2175370B1 (en) | System and method of using pooled thread-local character arrays | |
JP4265610B2 (ja) | プログラム制御装置、プログラム制御方法、およびプログラム記録媒体 | |
EP3577565B1 (en) | Garbage collector | |
EP3084598B1 (en) | Execution guards in dynamic programming | |
US8966212B2 (en) | Memory management method, computer system and computer readable medium | |
Genç et al. | Dependence-aware, unbounded sound predictive race detection | |
JP5281452B2 (ja) | メモリ管理方法、コンピュータ、及び、メモリ管理プログラム | |
JP4333676B2 (ja) | プログラム制御装置、プログラム制御方法、およびプログラム記録媒体 | |
JP5564540B2 (ja) | メモリ管理方法、コンピュータ及びプログラム | |
JP5380695B2 (ja) | メモリ管理方法、計算機システム及びメモリ管理プログラム | |
JP5756549B2 (ja) | 記憶領域管理方法、計算機システム及びプログラム | |
Middha et al. | Mtss: Multitask stack sharing for embedded systems | |
JP4345748B2 (ja) | メモリ割当装置、メモリ割当方法、およびプログラム記録媒体 | |
JP2000099351A (ja) | プログラム制御装置とメモリ割当装置および方法 | |
JP5199975B2 (ja) | メモリ管理方法、メモリ管理プログラム、及び、情報処理装置 | |
Stilkerich et al. | A practical getaway: Applications of escape analysis in embedded real-time systems | |
Gherghina et al. | A specification logic for exceptions and beyond | |
Iqbal et al. | A comparative study of garbage collection techniques in java virtual machines | |
Higuera-Toledano | Studying the behaviour of the single parent rule in real-time Java | |
Smirnov | Raw pointers in application classes of C++ considered harmful |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100310 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120412 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120424 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120622 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120710 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120808 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5064134 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150817 Year of fee payment: 3 |