پردازش در سیستم عامل
مهمترین مفهوم در هر سیستم عامل فرآیند یا
پردازش (process) است . تمامی
نرم افزارهای کامپیوتر از جمله سیستم عامل به تعدادی از پروسس ها سازماندهی و تقسیم بندی میشوند.
یک پردازش برنامهای در حال اجراست . در واقع یک پروسس فقط یک برنامه اجرایی است که علاوه بر کد برنامه (یا بخش متن text segment) شامل مقدار شمارنده برنامه,
رجیسترهای
CPU ,پشته و بخش دادهها(Data segment) است . به عبارتی دیگر میتوان گفت که هر پروسس CPU مجازی خود را دارد . در سیستم چند برنامگی CPU از یک پروسس به پروسسی دیگر سوئیچ میکند و هر کدام را به مدت چند ده یا چند صد میلی ثانیه به اجرا در میآورد.
باید دقت کرد که یک برنامه به خودی خود یک پردازش نیست .برنامه
الگوریتمی است که محتویات یک
فایل بر روی
دیسک ذخیره شده است . به عبارتی دیگر برنامه یک نهاد غیر فعال (passive) است .
در حالیکه پردازش یک نهاد فعال(active) میباشد که در حال اجراست .
مثلاً در یک کامپیوتر کاربران متعددی ممکن است در حال اجرای نسخههای متعددی از برنامه ویرایشگر باشند یا مثلاً یک کاربر میتواند چند نسخه از برنامه ویرایشگر را همزمان اجراء کند , در این حال هر کدام از آنها یک پردازش جداگانهاند و اگر چه بخش متن شان (کدشان )یکسان است ولی بخش دادههایشان متفاوت میباشد .
در سیستمها روشی مورد نیاز است تا در حین کار بتوان پروسسهایی را ایجاد کرد یا از بین برد در
UNIXو پروسسها توسط فراخوان سیستمی fork پدید میآیند, این فراخوانی یک پردازش فرزند تولید میکند که نسخهای دقیقاً یکسان با پروسس پدر خواهد بود.
به همین ترتیب پردازش فرزند نیز میتواند fork را اجراء کرده و لذا سیستم میتواند درختی از پروسسها داشته باشد. بدیهی است هر پروسس فقط یک پدر دارد ولی میتواند صفر یا چندین فرزند داشته باشد.
پیوندهای خارجی
همچنین ببینید