Svchost چیست و چه نقش و کاربردی در ویندوز دارد؟
نویسنده: جمشید عینعلی
چگونه سرویس های ضروری و غیر ضروری ویندوز را مدیریت نموده و به این طریق منابع سیستم را آزاد کنیم.
اگر شما هم از اینکه تعداد زیادی Processes با نام svchost.exe در سیستمتان در حال اجرا می باشد و نیز نمی توانید به اجرای آنها پایان دهید و یادتان هم نمی آید که شما آنها را اجرا کرده باشید، شگفت زده شده اید، حتماً این مقاله را بخوانید.
در حقیقت svchost.exe نامی عمومی برای عملکردهایی است که از طریق DLLها و یا از داخل آنها اجرا می شوند. فایل svchost.exe که در پوشه SystemRoot%\System32% قرار دارد، در هنگام آغاز اجرای ویندوز، قسمت Services رجیستری را چک می کند و لیستی از سرویس هایی را که باید اجرا شوند، ایجاد می کند. موارد متعددی از svchost می توانند همزمان با هم اجرا شوند که هر کدام از آنها شامل گروهی خاص از سرویس ها می شود. پس به همین دلیل، سرویس های جداگانه می توانند همزمان و فارغ از اینکه svchost کی اجرا شده باشد، با هم اجرا شوند تا روند بالا آمدن ویندوز تسریع گردد. در ضمن این شیوه گروه بندی سرویس ها، باعث ایجاد کنترل بهتر و Debug سریعتر می شود.
واقعیت امر این است که از مدتها قبل، مایکروسافت شروع به انتقال تمامی توابع عملیاتی سرویس های داخلی ویندوز به داخل فایل های dll. به جای فایل های exe. (فایل های dll. همان توابع کتابخانه ای ویندوز می باشند) نمود. یعنی به جای اینکه این توابع در فایل های exe. باشند، آنها را در فایل های dll. قرار داد تا در صورت نیاز، فراخوانی شوند. نگاه کردن به این موضوع از دید یک برنامه نویس، این نتیجه را می دهد که یک تابع می تواند بارها مورد استفاده قرار گیرد... ولی مشکل اینجاست که شما نمی توانید یک فایل dll. را به طور مستقیم از داخل ویندوز اجرا کنید، بلکه باید توسط یک برنامه در حال اجرا (exe.) فراخوانی شود. بدینسان svchost.exe متولد شد!
لازم به ذکر است، این سرویس ها در گروه های منطقی دسته بندی می شوند، و سپس یک svchost.exe برای هر گروه ایجاد می شود. برای مثال یک svchost.exe، سرویس هایی را که به firewall مربوط می شوند، اجرا می کند و دیگری تمامی سرویس هایی را که به رابط کاربر مربوط می شوند، به اجرا در می آورند. اما فراموش نکنید که برخی از این سرویس ها مورد نیاز شما نبوده و فقط به عنوان یک سربار، سبب سنگین شدن بی دلیل پیکره ویندوز و به همان نسبت کندن شدن آن می شوند.
بدین طریق تب Services فعال می شود و سرویس هایی که تحت نظر این svchost.exe کار می کنند، به حالت انتخاب در می آیند.
در اینجا شما می توانید نام واقعی هر سرویس را در ستون Description مشاهده کنید، و سپس با دانستن نام و کاربرد مورد نظر آن سرویس، در صورتی که به آن نیاز دارید، آن را به حالت Disable در آورید.
و یا اینکه روی یکی از svchost.exe دو بار کلیک کنید و در پنجره باز شده، به تب Services بروید و Service مورد نظر را با زدن دکمه Stop متوقف کنید.
مشخصات و نشانی دانلود این برنامه:
(حجم Process Explorer 11.20 (1.53MB
License: Free
link:http://www.download.com/Process-Explorer/3000-2094_4-10223605.html
نکته: اگر گزینه Startup Type را به حالت Disabled تغییر دهید، در راه اندازی بعدی سیستم، این سرویس اجرا نمی شود و اگر دکمه Stop را کلیک کنید، آن سرویس در همان لحظه متوقف می شود.
بدین ترتیب شما می توانید با بهره گیری از آنچه در این نوشتار، بدانها اشاره شد، با درک بهتری از سرویس های مورد نیاز ویندوز و شناخت عناصری که می توان آنها را غیر فعال نموده و بدینوسیله بار پردازشی و تخصیص منابع را بر روی سیستم کاهش داد، عملیات بهینه سازی سیستم خود را در رابطه با پردازش ها و سرویس های غیر ضروری، به نحو احسن انجام دهید.
منبع: ماهنامه دانش و کامپیوتر، شماره ی 75
اگر شما هم از اینکه تعداد زیادی Processes با نام svchost.exe در سیستمتان در حال اجرا می باشد و نیز نمی توانید به اجرای آنها پایان دهید و یادتان هم نمی آید که شما آنها را اجرا کرده باشید، شگفت زده شده اید، حتماً این مقاله را بخوانید.
svchost.exe چیست؟
در حقیقت svchost.exe نامی عمومی برای عملکردهایی است که از طریق DLLها و یا از داخل آنها اجرا می شوند. فایل svchost.exe که در پوشه SystemRoot%\System32% قرار دارد، در هنگام آغاز اجرای ویندوز، قسمت Services رجیستری را چک می کند و لیستی از سرویس هایی را که باید اجرا شوند، ایجاد می کند. موارد متعددی از svchost می توانند همزمان با هم اجرا شوند که هر کدام از آنها شامل گروهی خاص از سرویس ها می شود. پس به همین دلیل، سرویس های جداگانه می توانند همزمان و فارغ از اینکه svchost کی اجرا شده باشد، با هم اجرا شوند تا روند بالا آمدن ویندوز تسریع گردد. در ضمن این شیوه گروه بندی سرویس ها، باعث ایجاد کنترل بهتر و Debug سریعتر می شود.
واقعیت امر این است که از مدتها قبل، مایکروسافت شروع به انتقال تمامی توابع عملیاتی سرویس های داخلی ویندوز به داخل فایل های dll. به جای فایل های exe. (فایل های dll. همان توابع کتابخانه ای ویندوز می باشند) نمود. یعنی به جای اینکه این توابع در فایل های exe. باشند، آنها را در فایل های dll. قرار داد تا در صورت نیاز، فراخوانی شوند. نگاه کردن به این موضوع از دید یک برنامه نویس، این نتیجه را می دهد که یک تابع می تواند بارها مورد استفاده قرار گیرد... ولی مشکل اینجاست که شما نمی توانید یک فایل dll. را به طور مستقیم از داخل ویندوز اجرا کنید، بلکه باید توسط یک برنامه در حال اجرا (exe.) فراخوانی شود. بدینسان svchost.exe متولد شد!
چرا تعداد زیادی svchost.exe در حال اجرا وجود دارد؟
لازم به ذکر است، این سرویس ها در گروه های منطقی دسته بندی می شوند، و سپس یک svchost.exe برای هر گروه ایجاد می شود. برای مثال یک svchost.exe، سرویس هایی را که به firewall مربوط می شوند، اجرا می کند و دیگری تمامی سرویس هایی را که به رابط کاربر مربوط می شوند، به اجرا در می آورند. اما فراموش نکنید که برخی از این سرویس ها مورد نیاز شما نبوده و فقط به عنوان یک سربار، سبب سنگین شدن بی دلیل پیکره ویندوز و به همان نسبت کندن شدن آن می شوند.
حالا ما چه کارهایی می توانیم انجام بدهیم؟
از طریق Command Line (ویستا یا اکس پی)
استفاده از Task Manager ویندوز ویستا
بدین طریق تب Services فعال می شود و سرویس هایی که تحت نظر این svchost.exe کار می کنند، به حالت انتخاب در می آیند.
در اینجا شما می توانید نام واقعی هر سرویس را در ستون Description مشاهده کنید، و سپس با دانستن نام و کاربرد مورد نظر آن سرویس، در صورتی که به آن نیاز دارید، آن را به حالت Disable در آورید.
استفاده از برنامه کاربردی Process Explorer
و یا اینکه روی یکی از svchost.exe دو بار کلیک کنید و در پنجره باز شده، به تب Services بروید و Service مورد نظر را با زدن دکمه Stop متوقف کنید.
مشخصات و نشانی دانلود این برنامه:
(حجم Process Explorer 11.20 (1.53MB
License: Free
link:http://www.download.com/Process-Explorer/3000-2094_4-10223605.html
از کار انداختن سرویس ها
نکته: اگر گزینه Startup Type را به حالت Disabled تغییر دهید، در راه اندازی بعدی سیستم، این سرویس اجرا نمی شود و اگر دکمه Stop را کلیک کنید، آن سرویس در همان لحظه متوقف می شود.
بدین ترتیب شما می توانید با بهره گیری از آنچه در این نوشتار، بدانها اشاره شد، با درک بهتری از سرویس های مورد نیاز ویندوز و شناخت عناصری که می توان آنها را غیر فعال نموده و بدینوسیله بار پردازشی و تخصیص منابع را بر روی سیستم کاهش داد، عملیات بهینه سازی سیستم خود را در رابطه با پردازش ها و سرویس های غیر ضروری، به نحو احسن انجام دهید.
منبع: ماهنامه دانش و کامپیوتر، شماره ی 75