خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


بررسی تفاوت Thread و Process

بررسی تفاوت Thread و Process
یک process یا فرآیند اجرای برنامه ای است که به شما امکان می دهد اقدامات مناسب مشخص شده در یک برنامه را انجام دهید. process را به عنوان یک واحد اجرایی که در آن یک برنامه اجرا می شود، می توان تعریف کرد. سیستم عامل به شما کمک می کند تا فرآیندهایی را که توسط CPU استفاده می شود ایجاد، schedule و خاتمه دهید. سایر process ایجاد شده توسط process اصلی، فرآیند فرزند(child process) نامیده می شوند.

نرم افزار سامانه مودیان راهکار
عملیات یک فرآیند را می توان به راحتی با کمک PCB یا Process Control Block کنترل کرد. می‌توانید آن را به‌ عنوان مغز process در نظر بگیرید، که شامل تمام اطلاعات مهم مربوط به پردازش مانند process id، priority، state و محتویات CPU register و غیره است.


آنچه در این مطلب به بررسی آن خواهیم پرداخت، تفاو تبین Thread و Process می باشد.

Thread چیست؟

Thread یا رشته یک واحد اجرایی است که بخشی از یک process است. یک process می تواند چندین رشته داشته باشد که همه به طور همزمان اجرا می شوند. این یک واحد اجرا در برنامه نویسی همزمان یا concurrent programming است. یک Thread می تواند به طور مستقل توسط یک زمان بندی مدیریت شود که این به شما کمک می کند تا performance اپلیکیشن را با استفاده از موازی سازی بهبود بخشید.
Multiple thread ها، اطلاعاتی مانند data ، code، فایل ها و غیره را به اشتراک می گذارند. ما می توانیم thread ها را به سه روش مختلف پیاده سازی کنیم:

Kernel-level threads

User-level threads

Hybrid threads



تفاوت کلیدی:

Process به این معنی است که یک برنامه در حال اجرا است، در حالی که thread به معنای segment یا بخشی از یک Process است.

یک Process ابدا Lightweight نیست و این در حالیست که یک Thread، Lightweight است.

یک Process به زمان بیشتری برای terminate شدن یا خاتمه نیاز دارد، و Thread زمان کمتری برای terminate نیاز دارد.

Process زمان بیشتری برای ایجاد می‌گیرد، در حالی که Thread زمان کمتری را برای ایجاد می‌گیرد.

یک Process عمدتاً ایزوله بوده، در حالی که Thread ها حافظه را به اشتراک می گذارند.

Process داده ها را به اشتراک نمی گذارد و Thread ها داده ها را با یکدیگر به اشتراک می گذارند.



Property های Process ها:


ایجاد هر Process نیاز به system calls جداگانه برای هر Process دارد.
Process یک entity اجرایی مجزا بوده و داده ها و اطلاعات را به اشتراک نمی گذارد.
Process ها از مکانیسم IPC (ارتباط بین فرآیندی یا Inter-Process Communication) برای ارتباط استفاده می کنند که به طور قابل توجهی تعداد system calls ها را افزایش می دهد.
مدیریت Process ها system calls بیشتری را طلب می کند.

در خصوص System Calls می توانید به لینک های زیر مراجعه کنید تا با آنها آشنا شوید.


در حالیکه Thread ها:


یک system call قادر به ایجاد بیش از یک thread می باشد.
Thread ها داده ها و اطلاعات را به اشتراک می گذارند.

بررسی تفاوت Thread و Process

Multithreading چیست؟
Multithreading به اجرای چندین رشته در یک سیستم عامل اشاره دارد. به عبارت ساده، دو یا چند رشته از یک فرآیند به طور همزمان در حال اجرا هستند.

بررسی تفاوت Thread و Process


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز