বিষয় - সূচি

Swapping কি?

Swapping হল একটি memory management প্রক্রিয়া। system এর performance improve করার জন্য এর ব্যবহার করা হয়। এর প্রক্রিয়াতে যে সমস্ত process , waiting state বা suspend অথবা temporary suspend অবস্থায় আছে তাদের main memory থেকে disk বা backing store তে পাঠান হয়।

সব process, main memory তেই অবস্থান করে কিন্তু যদি system সব process, main memory তে রাখতে হয় তবে অনেক বড় main memory প্রয়োজন।

উদাহরন স্বারুপ ধরা যাক –

কোন কম্পিউটার এ Windows operating system, boot হবার সাথে সাথে 50-100 process execut হওয়া শুরু হল, হয়তো সেই সময় এই process গুলির তেমন কোন কাজ নাই কিন্তু এরা main memory তে 5-10 MB memory space দখল করে আছে। এগুল সব নিজে থেকে হয়ে গেছে, কিন্তু user এখন কোন কাজ করতে শুরুই করেনি।

বর্তমানে প্রায় সব application শুরু হতে 500 MB memory space দখল করে। সুতরাং আগের সব process এবং user এর application , এই সব process, main memory তে একসাথে রাখার জন্য বড় main memory দরকার।

এবং main memory বাড়ানোর সঙ্গে সঙ্গে system এর cost ও বৃদ্ধি পায়। এই সমস্যার সমাধানের জন্য swapping এবং virtual memory নামে দুটি প্রক্রিয়া ব্যবহার করা হয়।

Swapping

কোন process এর execution শুরু করতে হলে তাকে main memory তে অবস্থান করতে হবে। সুতরাং process কে execution করার জন্য তাকে main memory তে আনা হয়। তার জন্য প্রথমে, main memory তে যদি কোন process blocked অবস্থায় থাকে তাকে temporary ভাবে swaps out করে disk এ পাঠান হয়। এবং এ ভাবে নতুন process এর জন্য main memory তে জায়গা তৈরি করা হয়। আর এই swaps out করা process টি execution এর জন্য ready হলে আবার main memory তে swaps in করা হয়।

swapping process

সাধারনত এই memory manager এই swap process এতো দ্রুত করে যে main memory এ সর্বদা execute করার জন্য process ready থাকে।

Swapp পদ্ধতি priority-based preemptive scheduling ওপর নির্ভর করে। সুতরাং যে process গুলি higher priority তে থাকে memory manager তাকের আগে swap in করে main memory তে execution এর জন্য নিয়ে আসে।