در بخش اول پراسسها در لینوکس، پراسسها را بررسی کردیم و حالا قصد داریم پراسس را با مفهومی مشابه خودش یعنی ترد مقایسه کرده و تفاوتهایشان را بشناسیم.
پراسس یک نمونه اجرایی از یک برنامه است. بلوک کنترل پراسس (PCB) که شامل اطلاعات مربوط به پراسس است، عملکرد هر پراسس را کنترل میکند. این اطلاعات شامل اولویت پراسس، شناسه پراسس، وضعیت پراسس و… میباشد.
یک پراسس میتواند پراسسهای دیگری را ایجاد کند که به عنوان پراسسهای فرزند شناخته میشوند. زمان خاتمه پراسس نسبت به ترد بیشتر است. همچنین پراسس ایزوله نیز هست، به این معنی که حافظه خود را با هیچ پراسسی به اشتراک نمیگذارد.
ترد یک واحد اجرایی است که بخشی از یک پراسس است. یک پراسس میتواند چندین ترد داشته باشد که همه بهصورت همزمان اجرا میشوند.
ترد سبک است و میتواند توسط زمانبند (Scheduler) به طور مستقل مدیریت شود. همچنین کمک میکند تا بتوان با استفاده از موازیسازی، عملکرد برنامه را بهبود داد. یک ترد دارای 3 حالت running ، ready, block است. تردها بر خلاف پراسس ایزوله نیستند، به این معنی که تردهای یک پراسس حافظه اشتراکی دارند.
فرآیند Context Switch، فرآیند ذخیره وضعیت یک پراسس یا ترد است. بهگونهای که میتوان آن را بازیابی و مجدداً در مرحله بعد اجرا کرد.
فرآیند Context Switch اجازه میدهد تا چندین پراسس به صورت اشتراکی از یک CPU در بازههای کوتاهمدت استفاده کنند که این امکان، یکی از ویژگیهای اساسی یک سیستمعامل Multi Tasking میباشد.