نام پژوهشگر: بابک نصری
بابک نصری محسن شریفی
منظور از garbage collection یا جمع آوری اتوماتیک اشیاء، بازگرداندن حافظه مورد استفاده ساختارهای داده ایی است که دیگر در یک برنامه مورد استفاده قرار نخواهند گرفت . در سیستم های تک این عملیات جمع آوری در سطح زبان برنامه نویسی انجام می گیرد اما در سیستم توزیعی و به ویژه در سیستم های توزیعی شیءگرا غالبا رفتار سیستم در زمان اجرا و توسط چند برنامه مستقل از هم کنترل می شود که با مکانیزم های مختلفی به اشیاء همدیگر دسترسی و رجوع دارند. بنابراین هیچ برنامه ای در این سیستم ها به تنهایی اطلاعات کافی برای شناسایی اشیاء اضافی را ندارد و این اطلاعات در مجموعه پردازه های در حال اجرا توزیع شده است . از طرف دیگر شفافیت یکی از مهمترین ویژگیهای یک سیستم توزیعی به شمار می رود و شفافیت مدیریت اشیاء با فراهم کردن امکان جمع آوری اتوماتیک اشیاء اضافی در سیستم توزیعی به صورت پنهان از دید برنامه نویس فراهم می شود. بنابراین یکی از سرویس های یک سیستم توزیعی می تواند سرویس جمع آوری اشیاء باشد. این نوشتار ضمن بررسی روشهای پایه به معرفی یک روش جدید دارای صحت برای جمع آوری اشیاء اضافی در یک سیستم توزیعی می پردازد که در یک سیستم توزیعی بر مبنای استاندارد corba شرایط صحت روش ، نقص نمی گردد. به کمک این روش یک سیستم توزیعی می تواند به صورت شفاف از نظر برنامه نویس توانایی جمع آوری خودکار اشیاء اضافی را داشته باشد. نیازمندی اصلی این روش برای استفاده از آن در یک سیستم توزیعی این است که هر فضا یا پردازه در سیستم توزیعی خود امکان جمع آوری اتوماتیک اشیاء اضافی محلی را داشته باشد به طوری که این سرویس محلی توانایی دادن اطلاعات به اجزاء دیگر سیستم را نیز داشته باشد. به علاوه سیستم توزیعی باید شفافیت مکانی داشته و مهاجرت در سطح شیء در آن ممکن باشد. پیاده سازی روش طراحی شده در یک محصول بر اساس corba با نام visibroker، که معمولترین پیاده سازی این استاندارد است نیز در این پروژه بررسی شده است . با توجه به اینکه بسیاری از سرویس های استاندارد corba در محصولات موجود بر اساس این استاندارد پیاده سازی نشده اند، در عمل امکان پیاده سازی و بررسی تمامی جنبه های روش پیشنهادی وجود نداشته است . اما به هر صورت این روش مشخصات خواسته شده توسط rfp سازمان استانداردسازی corba را برای یک سرویس جمع آوری اشیاء اضافی رعایت نموده است .