Process কি?

Process হল active program অর্থাৎ একটি program যা সেই সময় execute হচ্ছে। আবার একটু অন্য ভাবে বলা যায়, কোন program দ্বারা নির্দেশিত action execute হওয়া কেই Process বলে।

Process এর মধ্যে থাকে program code, program counter, process stack, registers ইত্যাদি।

উদাহরন স্বারুপ ধরা যাক , যখন কোন program, C বা C++ এ লেখা হয় এবং compile করা হয়, compiler তখন সেই program টির একটি binary code তৈরি করে। আসল program এবং তার binary code দুটিই programs । যখন binary code টি run করা হয় তখন তাকে process বলা হয়।

Process এর operation গুলি PCB(Process Control Block) এর সাহায্যে controll করা যায়। সুতরাং একে process এর মস্তিস্ক ও বলা যায়, যেখানে process সংক্রান্ত সব information যেমন – process id, priority, state, CPU registers ইত্যাদি অবস্থান করে।

Process Management কি?

Process management বলতে অনেক গুলি কাজ কে একত্রে বোঝানো হয়, যেমন – creation, scheduling, termination of processes, এবং dead lock।

Operating System এর কাজ হল system এর মধ্যে running process গুলিকে manage করা। এবং process scheduling ও resource allocation এর সাহায্যে system এর operation গুলিকে সঠিক ভাবে handle করা।

Operating System, প্রতিটি process এর জন্য resources allocate করে যা process গুলিকে information আদান প্রদান করার অনুমতি দেয়। এবং Operating System বিভিন্ন process এর মধ্যে resource গুলি কে synchronize করে, যাতে প্রতিটি process তাদের দরকার মত resource গুলি কে ব্যবহার করতে পারে ।

Process Architecture

Process-architecture-Image

এই একটি Process এর Architecture diagram

  • Stack: Stack এর মধ্যে temporary data যেমন function parameters, returns addresses, এবং local variables ইত্যাদি store করা থাকে।
  • Heap: process চলা কালিন Dynamically allocated memory
  • Data: process এর জন্য সব global variable
  • Text: Process কে অনেক সময় Text Section বলা হয়, Program Counter দ্বারা নির্দেশিত current activity ও থাকে।

Process Control Blocks

PCB বা Process Control Block হল process এর data structure। প্রতিটি PCB এর একটি Process ID (PID) থাকে , যার সাহায্যে process সংক্রান্ত সব দরকারি information এবং running process কে track করা হয়। process সংক্রান্ত সব দরকারি information গুলি হল, যেমন –

  • Process state
  • Program counter
  • CPU registers
  • CPU scheduling information
  • Accounting and business information
  • Memory-management information
  • I/O status information