بایگانی برچسب‌ها : فرایند

تسک منیجر Task Manager

تسک منیجر یا Task Manager چیست؟

تسک منیجر (Task Manager) به گونه‌ای از برنامه های نظارت سیستمی گفته می‌شود که پیرامون فرایندها و اپلیکیشن های در حال اجرا و همچنین وضعیت کلی سیستم اطلاعاتی را در اختیار کاربر قرار می‌دهد. Task Manager در زبان فارسی به معنای “مدیریت وظایف” است.

در برخی از تسک منیجرها امکاناتی برای بستن اجباری فرایندها و اپلیکیشن ها و یا تغییر اولویت زمان بندی فرایندها مهیا شده است.

تسک منیجر در ویندوز

در سیستم عامل ویندوز، به صورت پیشفرض برنامه‌ای به نام Task Manager (یا Windows Task Manager) برای مشاهده اطلاعات مربوط به اپلیکیشن ها، فرایندها و مدیریت آن‌ها اختصاص داده شده است. این برنامه دارای تعدادی زبانه مجزاست که هر زبانه برای نمایش اطلاعات خاصی در نظر گرفته شده است.

نحوه اجرای برنامه Task Manager در ویندوز

برای دسترسی به این برنامه در ویندوز XP می‌توانید کلیدهای Ctrl + Alt + Delete را به صورت همزمان فشار دهید. استفاده از ترکیب این کلیدها در نسخه های جدیدتر ویندوز صفحه‌ای را در اختیارتان قرار می‌دهد که می‌توانید در آن گزینه‌ای برای اجرای Task Manager مشاهده کنید. به علاوه کاربر می‌تواند با راست کلیک کردن روی نوار وظیفه (Taskbar) ویندوز و انتخاب گزینه Task Manager این برنامه را اجرا نماید.

بخش های مختلف تسک منیجر

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

زبانه Processes (یا فرایندها) اطلاعات مربوط به فرایندها و اپلیکیشن های در حال اجرا همراه با وضعیت آن‌ها، میزان استفاده فرایند از پردازنده، مموری، شبکه و … را نمایش می‌دهد. در صورتی که یک اپلیکیشن یا فرایند قادر به پاسخگویی به دستورات کاربر نباشد (Not Responding) یا به اصطلاح هنگ کرده باشد کاربر می‌تواند با راست کلیک روی فرایند مربوطه در این لیست و انتخاب End Task برای سیستم عامل تقاضای بستن فرایند و آزاد کردن مموری منتسب به آن را ارسال کند. در زبانه Details (یا جزئیات) کاربر می‌تواند علاوه بر مشاهده اطلاعات دقیق‌تر پیرامون فرایندها با راست کلیک کردن روی هر فرایند، میزان اولویت (Priority) و وابستگی آن (Affinity – اینکه فرایند توسط کدام پردازنده قابل اجرا باشد) را تغییر دهد.

در زبانه Performance (یا کارایی) آمار و اطلاعات مربوط به وضعیت سیستم از جمله میزان کلی استفاده از پردازنده مرکزی، مموری، شبکه، پردازنده گرافیکی و دیسک همراه با نمودارهای مربوطه و اطلاعات دیگری نظیر تعداد هسته های پردازنده و حافظه نهان، ظرفیت دیسک، نشانی IP و … نمایش داده می‌شود.

از جمله دیگر زبانه‌هایی که در تسک منیجر ویندوز 8 و 10 دیده می‌شود می‌توان به زبانه‌های App History (تاریخچه اپلیکیشن ها)، Startup (برای مشاهده و مدیریت برنامه هایی که همراه با بالا آمدن ویندوز به طور خودکار اجرا می‌شوند)، Users (حاوی اطلاعات مربوط به فرایندهایی که توسط کاربران لاگین شده در حال اجراست) و Services (حاوی اطلاعات مربوط به سرویس ها) اشاره کرد. در نسخه های قدیمی‌تر ویندوز ممکن است از نظر امکانات و اطلاعات موجود در تسک منیجر تفاوت‌هایی را مشاهده کنید؛ زبانه‌هایی نظیر Applications و Networking از جمله همین تفاوت‌ها هستند که در نسخه‌های جدید، اطلاعات موجود در آن‌ها با سایر زبانه‌ها ادغام شده است.

دلیل اجرا نشدن Task Manager چیست؟

جالب است بدانید برخی از بدافزارها، Task Manager را غیرفعال می‌کنند و یا به محض باز شدن، آن را می‌بندند تا احتمال شناسایی شدنشان توسط کاربر و امکان متوقف کردن آن‌ها کاهش پیدا کند.

تسک منیجر Task Manager
برنامه Task Manager در سیستم عامل ویندوز 10 – زبانه Processes

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

ماشین مجازی Virtual Machine

ماشین مجازی یا Virtual Machine چیست؟

ماشین مجازی (Virtual Machine به اختصار VM) یک همسان‌سازی از سیستم‌های رایانه‌ای است. در واقع ماشین‌های مجازی می‌توانند رفتار و عملکرد یک رایانه فیزیکی را تقلید کنند. معمولا این همسان سازی حاصل ترکیبی از نرم‌افزار و سخت‌افزارهای ویژه می‌باشد.

به عبارت ساده‌تر، ماشین مجازی یک کامپیوتر نرم‌افزاری – سخت‌افزاری است که مشابه یک کامپیوتر فیزیکی می‌تواند برنامه یا یک سیستم عامل را اجرا کند. سابقه ماشین‌های مجازی به دهه 1960 میلادی برمی‌گردد.

اغلب ماشین‌های مجازی براساس یک معماری رایانه‌ای طراحی می‌شوند اما برخی از آنها قادر هستند رفتار معماری‌های مختلف را همسان‌سازی کنند و به این ترتیب از عهده اجرای نرم افزارها و سیستم عامل‌های طراحی شده برای چند معماری مختلف برمی‌آیند.

به نرم‌افزار یا سخت‌افزاری که امکان ایجاد و اجرای یک ماشین مجازی را فراهم می‌کند Hypervisor (هایپروایزر) گفته می‌شود. سیستم فیزیکی که ماشین مجازی روی آن اجرا می‌شود ماشین میزبان (Host Machine) نامیده می‌شود و هر ماشین مجازی را نیز یک ماشین مهمان (Guest Machine) می‌نامند.

انواع ماشین‌های مجازی و کاربردهای آن‌ها

شاید بتوان گفت محرک اصلی برای شکل‌گیری ماشین‌های مجازی، تمایل کاربران به اجرای همزمان چند سیستم عامل بوده است. ماشین‌های مجازی سیستمی (System Virtual Machine) که تحت عنوان ماشین‌های با مجازی‌سازی کامل (Full Virtualization) نیز شناخته می‌شوند با تقلید رفتار یک ماشین واقعی می‌توانند یک سیستم عامل کامل را اجرا کنند. در این مدل با روش‌های مختلف و بهره‌گیری از تکنیک‌های اشتراک زمانی (Time Sharing) امکان ایجاد ماشین‌های مجازی مجزا (مدیریت و اشتراک منابع سخت‌افزاری یک ماشین واقعی مابین VM ها) فراهم می‌شود. این نوع ماشین‌های مجازی را می‌توان توسعه‌ای از حافظه مجازی (Virtual Memory) به شمار آورد و در کنار کاربردهایی همچون امکان اجرای همزمان چند سیستم عامل، اشکال‌زدایی آسانتر و بوت سریعتر هنگام توسعه یک سیستم عامل، به منظور تست نرم‌افزارهای در حال توسعه روی سیستم‌های مختلف و هم‌چنین نصب نرم‌افزارهایی که هنوز در مراحل آزمایشی به سر می‌برند یا عملکردشان به طور کامل شناخته شده نیست نیز استفاده می‌شود. گفتنی است مجازی سازی با کمک سخت افزار (Hardware-assisted Virtualization) رویکردی است که در آن امکان مجازی سازی کامل و کارامد با بهره‌گیری از قابلیت‌های سخت‌افزار میزبان (به خصوص پردازنده) مهیا می‌شود. VMware Workstation و Oracle VM VirtualBox دو نمونه از مشهورترین هایپروایزرهای این دسته به شمار می‌روند.

ماشین مجازی فرایندی (Process Virtual Machine) که به ماشین مجازی اپلیکیشن نیز مشهور است گونه دیگری از VM هاست که مشابه یک اپلیکیشن معمولی در سیستم عامل رایانه میزبان اجرا می‌شود. هدف از طراحی این ماشین‌ها ایجاد محیطی مستقل از پلتفرم است که امکان اجرای یک برنامه روی هر پلتفرمی را فراهم می‌آورد. این VM ها بر اساس یک مفسر ساخته می‌شوند و از مشهورترین آن‌ها می‌توان به ماشین مجازی جاوا (Java Virtual Machine) و Common Language Runtime اشاره نمود که به ترتیب برای اجرای برنامه‌های جاوا و برنامه‌های مبتنی بر .Net Framework طراحی شده‌اند.

ماشین مجازی Virtual Machine
نمایی از یک ماشین مجازی در حال اجرای Windows 7 و نرم افزار Mozilla Firefox – همانطور که مشاهده می‌کنید این ماشین مجازی روی Windows 10 در حال اجراست.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

پردازنده یا واحد پردازش مرکزی Central Processing Unit – CPU

پردازنده یا Central Processing Unit – CPU چیست؟

پردازنده (Processor) یا واحد پردازش مرکزی (Central Processing Unit) که به اختصار با عنوان سی پی یو (CPU) نیز شناخته می‌شود یک مدار الکترونیکی در رایانه است که مسئولیت پردازش و انجام دستورالعمل‌های یک برنامه را برعهده دارد.

از CPU به عنوان مغز و مهم‌ترین جزء یک دستگاه رایانه‌ای نیز یاد می‌شود. با وجود اینکه فرم، طراحی و نحوه‌ی ساخت پردازنده‌ها در طول تاریخ با تغییرات زیادی همراه بوده است اما عملکرد اصلی آن‌ها تقریبا دست نخورده باقی مانده است. اجزای اصلی یک CPU عبارتند از:

  • واحد محاسبه و منطق یا Arithmetic Logic Unit (به اختصار ALU): که اعمال منطقی و حسابی را انجام می‌دهد.
  • ثبات‌های پردازنده یا CPU Registers: که عملوندهای مورد نیاز واحد محاسبه و منطق را فراهم می‌آورند و هم‌چنین حاصل اعمال آن را نگه‌داری می‌کنند.
  • واحد کنترل یا Control Unit: که اعمال پردازنده را هدایت و کنترل می‌کند. به عبارت بهتر، چگونگی واکنش واحد محاسبه و منطق، مموری و دستگاه‌های ورودی و خروجی در برابر دستورالعمل‌ها را تعیین می‌کند.

بسیاری از ریزپردازنده‌های امروزی دارای بخشی به نام واحد مدیریت حافظه (MMU) نیز هستند. اغلب رایانه‌های امروزی از پردازنده‌های چند هسته‌ای (Multi-Core Processor) استفاده می‌کنند. در این رایانه‌ها، یک یا چند CPU که به آن‌ها هسته (Core) گفته می‌شود روی یک چیپ واحد قرار می‌گیرند و امکان پردازش موازی و اجرای چندین دستور به طور همزمان را فراهم می‌کنند. البته چندنخی‌سازی (Multithreading) نیز قابلیتی رایج در پردازنده‌های ساده و هر هسته موجود در پردازنده‌های چند هسته‌ای است که امکان اجرای همزمان چندین فرایند (Process) یا نخ (Thread) را فراهم می‌آورد.

نحوه‌ی عملکرد پردازنده

دستوراتی که قرار است توسط پردازنده اجرا شوند (برنامه) روی نوعی حافظه رایانه‌ای قرار می‌گیرند. به این ترتیب روند اجرای دستورات توسط CPU نیازمند انجام سه مرحله‌ی واکشی (Fetch)، دیکد یا رمزگشایی (Decode) و اجرا (Execute) می‌باشد.

در فرایند واکشی، براساس محتوای ثبات شمارنده برنامه (Program Counter یا PC) محل دستور روی حافظه مشخص می‌شود. پس از اجرای یک دستور، با افزایش مقدار شمارنده برنامه، این روند برای دستور بعدی تکرار می‌شود. در صورتی که یک دستور جهش (Jump) اجرا شود شمارنده برنامه به آدرس دستوری که جهش به آن نقطه انجام شده است تغییر می‌یابد.

در مرحله رمزگشایی، دستور به سیگنال‌هایی تبدیل می‌شود که عملکرد سایر بخش‌های پردازنده را کنترل می‌کند. در مرحله نهایی برای اجرای دستور، براساس سیگنال‌های حاصل از مرحله دیکد بخش‌هایی از پردازنده به یکدیگر متصل می‌شوند تا هنگام وقوع پالس در کلاکِ پردازنده، عمل مورد نظر انجام شود. گفتنی است هر پردازنده (تک هسته) تنها قادر به اجرای یک دستور در هر کلاک می‌باشد. استفاده از روش‌های موازی‌سازی امکان رسیدن به این حداکثر کارایی را برای یک پردازنده فراهم می‌سازد (سیگنال کلاک با یک نرخ مشخص، فرکانس عملکردی یک پردازنده یا چیپ را تعیین می‌کند. هرچه این فرکانس بالاتر باشد و تعداد دستورات قابل انجام در یک کلاک توسط سی پی یو نیز مقدار بیشتری باشد کارایی یا سرعت آن پردازنده نیز بالاتر خواهد بود).

یک پردازنده ی ساخت شرکت اینتل
یک CPU ساخت شرکت اینتل