Let the wind blow out the candles
পোস্ট টি একেবারেই আমার মত নবীনদের জন্য। লিনাক্স ওপারেটিং সিস্টেম (ফেডোরা, উবুন্টু ইত্যাদি) সেটাপ দেবার সময় হার্ডডিস্কের পার্টিশনে swap area তৈরি করতে হয়। স্বাভাবিক ভাবেই আমার প্রশ্ন ছিল এই swap area কি কাজে লাগে
লিনাক্স সেটাপের সময় আমাদেরকে হার্ডডিস্ক পার্টিশনের সময় দুটি ফরম্যাট এর জন্য প্রয়োজনীয় স্পেস নির্ধারণ করে দিতে হয়। একটি হচ্ছে ext3 যা লিনাক্সের ফাইল সিস্টেম। এই অংশে লিনাক্সের root বা "/" পয়েন্ট করে দিতে হয় (Mount Point)।
যার মানে কিনা লিনাক্স অপারেটিং সিস্টেমের যাবতীয় ফাইলসহ ইউজারের যাবতীয় সকল ফাইল এই অংশেই জমা থাকবে।
তাহলে swap area টা কি কাজে লাগে? ext3 যেমন রুট কে পয়েন্ট করে থাকে, swap সেইরকম কাউকে পয়েন্ট ও করে না (পয়েন্ট করা মানে হল কোন কোন ফাইল হার্ডডিস্কের এই পারটিশনে সেইভ হবে)। এখানেই আমার প্রশ্ন ছিল swap তাহলে কি কাজে ব্যবহৃত হয় ও swap এর জন্য কতটুকু এলাকা (size) নির্ধারণ করব।
যাইহোক, swap এর কাজটা মুলত এমন: swap কম্পিউটারের RAM (ফিজিকাল মেমরি, মানে যেই মেমরি হাতে ধরা যায় ) এর সাহায্যকারী হিসেবে কাজ করে। RAM হচ্ছে কম্পিউটারের মূল মেমরি বা স্মৃতি, যাকে Physical Memory বলে।
কারণ এটা একটা ডিভাইস, যা চাইলেই হাত দিয়ে খুলে ফেলা যায়, নতুন একটা র্যাম লাগানো যায় ইত্যাদি। র্যামের কাজটা হল এরকম: আপনি যখন একটা সফ্টওয়্যার চালাবেন, তখন সেই সফ্টওয়্যারের যাবতীয় তথ্যাদি হার্ডডিস্কের কোন একটা অংশ থেকে র্যামে এসে জমা হবে। একই সাথে সেই সফ্টওয়য়ার যেসব ফাইলকে ব্যব হার করবে সেই সব ফাইল ও হার্ডডিস্ক থেকে র্যামে এসে জমা হয়। কম্পিউটারের সি.পি.ইউ তখন র্যাম থেকে ডাটা নিয়ে প্রয়োজনীয় কাজ-কর্ম করে থাকে।
তাহলে প্রশ্ন হল সি.পি.ইউ কেন হার্ডডিস্ক থেকে সরাসরি ডাটা নিয়ে কাজ করতে পারে না? ব্যাপরাটা হল এরকম: হার্ডডিস্ক র্যামের তুলনায় অনেক ধীর গতি তে কাজ করে।
হার্ডডিস্ক কাজ করে মিলিসেকেন্ডে, যেখানে র্যাম কাজ করে ন্যানোসেকেন্ডে। র্যামের থেকেও দ্রুতগতিতে কাজ করে ক্যাশ আর সি.পি.ইউ। মানে হল হার্ডডিস্ক থেকে সরাসরি ডাটা নিয়ে কাজ করতে গেলে সি.পি.ইউ এর বারোটা বেজে যবে তাই হার্ডডিস্ক থেকে সরাসরি কোন ডাটা নিয়ে কাজ না করে প্রথমে তাকে র্যামে নিয়ে আসা হয়। কাজ শেষ হলে আবার সেটা হার্ডডিস্কে ফিরে যায়।
এখন আপনি সফ্টওয়ার/ফাইল নিয়ে কাজ করার সময় এমন পরিস্হিতি হতে পারে: যে সফ্টওয়ার/ফাইল এর আকার র্যামের থেকে অনেক বড়।
বা অনেক বেশি ফাইল নিয়ে একই সাথে কাজ করার সময় র্যাম পূর্ণ হয়ে যেতে পারে। তখন ই SWAP কাজে লাগে। অর্থাৎ , SWAP র্যামের সাহায্যকারী হিসেবে কাজ করে। যেমন টা করে থাকে উইনডোজ এর ভারচুয়াল মেমরি। লিনাক্স র্যামকে ছোট ছোট অংশে ভাগ করে, যাকে pages বলা হয়।
Swapping করার সময় এই pages কে আগে থেকেই প্রস্তুত করে রাখা হার্ডডিস্কের বিশেষ পারটিশনে নিয়ে যাওয়া হয়। তখন র্যামের সেই সব অংশ খালি হয়ে যায়, ফলে র্যাম আবার নতুন নতুন ডাটা নিয়ে কাজ করতে পারে। আপনি নিশ্চয়ই বুঝে ফেলেছেন যে এই বিশেষ পারটিশনটাই হল swap space।
Swapping মূলত দুটি কাজে লাগে। প্রথম টি হল র্যাম বেশি পূর্ণ হয়ে গেলে র্যামের অংশবিশেষ "FREE" করা, যাতে র্যাম অন্য ফাইল/এপ্লিকেশন নিয়ে কাজ করতে পারে।
২য়টি কারণটিও গুরুত্বপূর্ণ। অনেক এপ্লিকেশন(সফ্টওয়্যার) যখন চালু (run) করা হয়, তখন কিছু কিছু অংশ ভেরিয়েবল ডিক্লেয়ার, ইনিশিয়ালাইজেশন অর্থাৎ প্রারম্ভিক কাজ-কর্ম করার জন্য ব্যবহার করা হয়, যা পরে আর কোন কাজে আসে না। এই সব অংশ বা page কে swap space এ পাঠিয়ে দিয়ে র্যাম অনেকটাই নির্ভার হতে পারে।
Swapping এর নেতিবাচক দিক ও আছে। আমরা আগেই জেনেছি যে Swap হল হার্ডডিস্কের বিশেষ একটা পারটিশন।
হার্ডডিস্ক যেহেতু র্যাম থেকে অনেক ধীরগতির, তাই অনেক বেশি Swapping করা হলে কম্পিউটারের গতি কমে যাবে। সেক্ষেত্রে র্যাম এর পরিমাণ বাড়ানোই একমাত্র সমাধান।
Swap এর সাইজ কেমন হওয়া উচিৎ? র্যামের দ্গিগুণ পরিমাণ Swap রাখা ভাল। অর্থাৎ র্যাম যদি ৫১২ মে.বাইট হয় তাহলে Swap নির্ধারণ করে দিতে হবে ১ গিগাবাইট। রেফারেন্স: Click This Link
Swap সম্পর্কে আরো জানতে আর অ্যাডভান্সড ইউজার হিসেবে Swap নিয়ে কাজ করতে নিচের পাতাগুলো সাহায্য করবে।
Click This Link
পুরো আরটিকেল এর রেফারেন্স: http://www.linux.com/feature/121916
হার্ডডিস্ক, র্যাম, Swap নিয়ে কোন তথ্যে অনিচ্ছাকৃত ভুল থাকলে তা সংশোধন করে দেবার অনুরোধ থাকল
।
অনলাইনে ছড়িয়ে ছিটিয়ে থাকা কথা গুলোকেই সহজে জানবার সুবিধার জন্য একত্রিত করে আমাদের কথা । এখানে সংগৃহিত কথা গুলোর সত্ব (copyright) সম্পূর্ণভাবে সোর্স সাইটের লেখকের এবং আমাদের কথাতে প্রতিটা কথাতেই সোর্স সাইটের রেফারেন্স লিংক উধৃত আছে ।