grmd-0.2 -- General Resource Management Daemon
紹介
====
grmdはUNIX系OS上で、各種リソースの排他制御機能を提供する汎用的なデーモ
ンです。
従来、ファイルの排他制御であれば、mkdir(),symlink()等を利用してビジー
ウェイトさせる手法であったり、flock(),lockf(),fcntl()等を駆使して排他
制御を行ったりしていました。またファイル以外のリソースを排他制御する場
合は、セマフォ等を使って制御していたと思います。これらの排他制御の質は
個々のプログラマの力量に左右されたり、プログラム個々にコーディングされ
ることにより、システム全体として統一した制御はなかなか難しく、仮に優秀
なプログラマが綿密に設計したとしても、デッドロック等の不可避な問題が常
に付きまとっていました。
grmdはクライアントサーバ方式で制御を行い、あらゆるリソースの排他制御を
共通のインタフェースで行うことができます。特徴としては、
o 排他レベルは2段階(共有ロック、排他ロック)利用することができ、プロ
セスの並列度をできるだけ損なわずに排他制御を行えます。
o リソースの解放待ち状態が発生した場合はビジーウェイト等に頼ること無
く、リソースが解放されるまで自動的に待ち合わせます。
o デッドロック状態をタイムアウト等に頼ること無く瞬時に判断し、クライ
アントに通知します。
等を揚げることができます。
Ver. 0.1 -> 0.2 変更点
o リソースの状態を取得するインターフェース・コマンド `getpr',
`getrp' を追加した。
o `getpr' を利用し、lockされたまま残されたリソースを強制unlockする
perlのサンプルスクリプト(grmd_sweep.pl)を追加した。
オフィシャルサイト
==================
http://myh.no-ip.org/~tyserv/grmd/
--
Masahiko Ito <m-ito@myh.no-ip.org>
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735