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