情報処理学会ホームに戻る
最終更新日:2004.09.16

連続セミナー2004 第3回「ガーベジコレクション技術の基礎」

 

開催日時: 平成16年9月28日(火) 9:30-17:00
開催会場: 東京電機大学 神田キャンパス7号館1F 丹羽ホール(東京都千代田区神田錦町2-2)

コーディネータ:近山 隆(東大)

【セミナー概要】
ソフトウェアの大規模化・複雑化が進む中、メモリ領域の適切な管理が難しさを増してきています。このため、ソフトウェアの効率的な構築と、メモリ管理上の過誤を原因とするセキュリティホール防止のために、ガーベジコレクションを用いた自動メモリ管理を備えたプログラム言語システムが広く用いられるようになってきています。本セミナーは、このガーベジコレクション技術の基礎を解説するとともに、実際のプログラム言語システムへの適用例をご紹介し、システム構築のみならず、こうしたシステムの利用者にとっても有用な情報を提供することを目的として開講いたします。

【プログラム】
セッション1  9:30-11:00 「ガーベジコレクションの基礎知識」
                  近山 隆(東京大学)

【講演概要】ガーベジコレクション(GC)は、使用したメモリ領域を自動的に回収・再利用する技術であり、複雑なデータ構造を扱うソフトウェアにおいて、その開発・保守の手間を大幅に低減する機構である。記号処理言語Lispと共に生まれ発展してきたGC技術は、ソフトウェアの複雑化の進行とともに、またJavaの普及もあって、急速に利用が広がってきている。本講では、GCの役割と基本的な考え方から説き起こし、効率的なGCの実現のための諸手法について概説する。なお、一般的なコンピュータのハードウェアおよびソフトウェアの知識を前提とするが、LispやJavaなどの言語についての知識は前提とせずにお話しする。

セッション2 11:10-12:40 「COBOLオブジェクト指向機能のGC」
                  今城 哲二 (東京国際大学)

【講演概要】COBOLが生まれたのは1960年である。1960年代のCOBOLプログラムの作業領域や入出力領域はすべて目的プログラム中に含んでおり、実行時にわざわざメモリ管理を行う必要はなかった。その後、OSなどのシステム環境や言語仕様の拡張にともない、実行時のメモリ管理が必要になってきた。たとえば、OSのデータ管理(ファイルシステム)の進歩による入出力領域の目的プログラム外での確保、サブプログラムの動的呼び出しや再帰呼び出し機能の追加、オンライン環境での性能面からの要請などが、COBOL実行時でのメモリ管理を複雑にしてきた。さらに、近頃はCOBOLにもオブジェクト指向機能サポートされ、GCも行われるようになった。ここでは、COBOL実行時のメモリ管理の歴史をたどり、その中でのGCの位置づけを解説する。

−昼食−

セッション3 13:40-15:10 「スクリプト言語のGC」
                  前田 敦司(筑波大学)

【講演概要】スクリプト言語、あるいはLightweight Languageと呼ばれるプログラミング言語群は、非定型な処理や小規模なアプリケーションを中心に広く使われてきました。近年では、Webアプリケーションの作成にもこれらの言語が用いられるようになり、その重要性は増しています。これらの言語は、文字列や記号的なデータの操作を簡潔に記述でき、小規模なプログラムでは高い生産性を持つと言われています。その多くはGCによる自動的なメモリ管理機能を備えており、それが生産性の高さの一因となっています。この講演では、いろいろなスクリプト言語のGC機能の現状と問題点について解説し、プログラミングする上で留意すべき点と今後の処理系の動向について述べたいと思います。

セッション4 15:30-17:00 「JavaテクノロジーのGarbage Collection -the Java HotSpot Virtual Machine-」
                  石原 直樹・馬場 忠之(サン・マイクロシステムズ)

【講演概要】銀行のオンラインシステムから、携帯電話まで、広く使用されるようになったJava テクノロジーですが、Garbage Collection はその実行環境で重要な役割を果たしています。本講演では、Java の中核的な実行環境であるJava HotSpot Virtual Machine において、どのような GC システムが採用され、動作しているのか、Java VM の歴史を追いながら説明していきます。また、時間が許せば GCシステムがメモリ管理を行う様子を実機デモにてお見せする予定です。