ثبت بازخورد

لطفا میزان رضایت خود را از دیجیاتو انتخاب کنید.

واقعا راضی‌ام
اصلا راضی نیستم
چطور میتوانیم تجربه بهتری برای شما بسازیم؟

نظر شما با موفقیت ثبت شد.

از اینکه ما را در توسعه بهتر و هدفمند‌تر دیجیاتو همراهی می‌کنید
از شما سپاسگزاریم.

تکنولوژی

دستور COM Surrogate چیست و چرا روی ویندوز اجرا می شود؟

اگر به طور اتفاقی سری به تسک منیجر ویندوز بزنید، احتمال آن زیاد است که حداقل یکی از دستورات در حال اجرای «COM Surrogate» را ببینید. این دستورات که اغلب روی تمام پی سی ها، ...

نیما فرشین
نوشته شده توسط نیما فرشین | ۱۰ بهمن ۱۳۹۶ | ۲۰:۰۰

اگر به طور اتفاقی سری به تسک منیجر ویندوز بزنید، احتمال آن زیاد است که حداقل یکی از دستورات در حال اجرای «COM Surrogate» را ببینید. این دستورات که اغلب روی تمام پی سی ها، در حال اجرا دیده می شوند حاوی فایلی به نام «dllhost.exe» هستند که در اصل جزء جدا ناپذیر ویندوز به حساب می آیند.

فرقی هم نمی کند که از چه ویندوزی استفاده کنید. چرا که در هر صورت آن ها روی تمام نسخه های ویندوز حضور دارند و مطمئنا این حضور پررنگ در آینده نیز ادامه پیدا خواهد کرد. اما این سوال برای بسیاری از کاربران پیش آمده که واقعا این دستور چیست و دقیقا چه کاری در ویندوز انجام می دهد.

COM Surrogate چیست؟

ریشه COM به عبارت «Component Object Model» باز می گردد و در اصل به رابطی اشاره دارد که مایکروسافت از آن در سال ۱۹۹۳ میلادی پرده براشت. به کمک این رابط به توسعه دهندگان این اجازه داده شد تا با ساخت «COM object» ها بتوانند از چندین و چند زبان مختلف برنامه نویسی استفاده کنند.

در اصل COM object ها به اپلیکیشن های دیگر افزوده می شوند و گسترش دادن آن ها را ممکن می سازند. به عنوان مثال، زمانی که وارد یک پوشه می شوید، فایل منیجر ویندوز برای ساخت تصاویر بندانگشتی از فایل ها، به سراغ COM object ها می رود.

به بیانی دیگر، COM object ها وظیفه ساختن تصاویر بند انگشتی از تصاویر، ویدیوها یا هر فایل دیگری را به عهده می گیرند و به نوعی گستره امکانات فایل منیجر ویندوز را افزایش می دهند.

البته همین موضوع می تواند باعث بروز برخی مشکلات اساسی هم بشود. اگر فعالیت یک COM object با مشکل رو به رو شود، تمام هاست پراسس هایش را با خود نابود می کند و مشکلات مخربی را برای ویندوز به همراه می آورد.

به عنوان مثال، همین موضوع می تواند باعث شود که فایل منیجر ویندوز به طور کل از ساخت تصاویر بندانگشتی بازبماند و بخشی از فعالیت هایش از کار بیفتند. از این رو، مایکروسافت برای جلوگیری از به وجود آمدن چنین مسائلی، دستورات COM Surrogate را در ویندوز تعریف کرده.

COM Surrogate ها خارج از پردازش اصلی درخواست شده، یک COM object به اجرا در می آورند تا در صورت کرش COM object فقط پردازش های COM Surrogate از مدار خارج شوند و در کار هاست پراسس های اصلی اختلالی به وجود نیاید.

به عنوان مثال، فایل اکسپلورر ویندوز در هر زمانی که بخواهد تصاویر بندانگشتی بسازد، باید یک COM Surrogate به اجرا درآورد. این COM Surrogate، پردازش های کام آبجکتی را که قرار است این کار را انجام دهد، میزبانی می کند تا در صورت کرش کردن آن، مشکلی برای فعالیت های فایل اکسپلورر ایجاد نشود.

چطور بفهمیم که COM object ها توسط کدام COM Surrogate میزبانی می شوند؟

تسک منیجر استاندارد ویندوز همانطور که از ظاهر ساده اش پیداست قادر به نمایش اطلاعات جزئی نیست و نمی تواند بگوید که هر COM object توسط کدام COM Surrogate میزبانی می شود.

با این حال اگر به دنبال چنین اطلاعاتی هستید، پیشنهاد می کنیم از ابزار Process Explorer مایکروسافت استفاده کنید. فقط کافیست پس از دانلود و نصب آن، وارد پنجره اش شوید و با پیدا کردن پردازش های dllhost.exe در مورد COM Object ها و  COM Surrogate ها اطلاعات بیشتری کسب کنید.

آیا امکان متوقف کردن COM Surrogate ها وجود دارد؟

همانطور که پیش تر نیز اشاره کردیم، COM Surrogate جزء جدایی ناپذیر ویندوز است. به همین منظور نمی توان فعالیت آن ها را متوقف کرد. چرا که در این صورت بسیاری از پردازش های سیستم با مشکل مواجه می شوند و ویندوز نمی تواند فعالیت هایش را آنطور که باید به انجام رساند.

آیا آن ها ویروس هستند؟

خب مسلما پاسخ این سوال یک نه قاطع است. با این حال، بدافزارها می توانند از دستورات کام استفاده کنند و در امور اجرایی سیستم اختلال به وجود آورند. شاید بهترین مثالی هم که بتوان در این مورد زد بدافزار Trojan.Poweliks باشد که با آلوده کردن فایل های dllhost.exe، فعالیت های مخرب خود را آغاز می کند.

به همین منظور اگر متوجه شدید که میزان استفاده از پردازنده سیستم به لطف پردازش های فایل های COM Surrogate به طور قابل توجهی بالا رفته، باید احتمال آلوده شدن کامپیوترتان به یک بدافزار مخرب را بدهید.

دیدگاه‌ها و نظرات خود را بنویسید
مجموع نظرات ثبت شده (3 مورد)
  • یگانه کاظمی
    یگانه کاظمی | ۲۷ آذر ۱۴۰۰

    این یعنی چی؟ هر چند بار ببندمش دوباره میاد مشکل از کجاست؟

  • یگانه کاظمی
    یگانه کاظمی | ۲۷ آذر ۱۴۰۰

    نزدیک یک ماهه من هر دفعه که کامپیوتر رو روشن میکنم با این پیام مواجه میشم (COM Surrogate has stopped working) و مهم نیست چند بار close the program رو بزنم، دوباره پنجره باز میشه مشکل از کجاست؟

  • Benyamin Alami
    Benyamin Alami | ۵ اسفند ۱۳۹۶

    واسه کام ساروجیت پیش از شروع هر کاری، از اتصال هر دو کامپیوتر به یک شبکه خاص اطمینان حاصل کنید.
    دقیقا همین کافیه واسه مچ کردن مک و ویندوز
    مایکروسافت اخیرا با همکاری با لینوکس و مک انعطاف پذیریشو نشون دادو با همکاری با آی او اسو اندروید حجتو رسما تموم کرد
    به نظممرم مایکروسافت همه جوره یونیورساله و کسی که محصولاتشو اورجینال از خود مایکروسافت استفاده میکنه یه آدم کامل و جهانیه بهترین راهشم تهیه از خود سایت microsoftlicense.com هستش

مطالب پیشنهادی