সফটওয়্যার
ইলেক্ট্রনীয় গণকযন্ত্র বা কম্পিউটারের বিভিন্ন অংশকে কর্মোপযোগী করা, একে পরিচালনা করা এবং একে দিয়ে কোনো বিশেষ ব্যবহারিক কাজ সম্পন্ন করা সফটওয়্যারের উদ্দেশ্য। কম্পিউটারে যেসকল নির্দেশনাক্রম তথা প্রোগ্রাম এবং পুনর্ব্যবহারযোগ্য নির্দেশনাক্রম তথা রুটিন বা ফাংশন ব্যবহার করা হয়,তাদের সবগুলোকে একত্রে সাধারণভাবে কম্পিউটার সফটওয়্যার ঈড়সঢ়ঁঃবৎ ংড়ভঃধিৎব বা কম্পিউটার নির্দেশনাসামগ্রী বলা হয়। এর বিপরীতে কম্পিউটারের ইলেক্ট্রনীয়, বৈদু্যতিক, চৌম্বক ও অন্যান্য সব দৃশ্যমান ও স্পর্শনীয় ভৌত যন্ত্রাংশগুলোকে একত্রে কম্পিউটার যন্ত্রাংশসামগ্রী বা কম্পিউটার হার্ডওয়্যার বলে। কম্পিউটার সফটওয়্যার বা নির্দেশনাসামগ্রীকে দুটি প্রধান শ্রেণিতে ভাগ করা যায়। একটি হলো কম্পিউটারের পরিচালকব্যবস্থা (অপারেটিং সিস্টেম) নির্দেশনাসামগ্রী বা সিস্টেম সফটওয়্যার, যা গণকযন্ত্রেও অভ্যন্তরীণ এবং পারিপার্শ্বিক (কি-বোর্ড, মাউস, মনিটর, উপাত্ত সংরক্ষণাগার বা স্টোরেজ, মুদ্রণযন্ত্র বা প্রিন্টার ইত্যাদি) যন্ত্রাংশগুলোর ক্রিয়াকলাপের মধ্যে সমন্বয় সাধন করে এগুলোকে কর্মোপযোগী করে। দ্বিতীয়টি হলো ব্যবহারিক নির্দেশনাসামগ্রী বা আ্যপিস্নকেশন সফটওয়্যার, যেগুলোতে গণকযন্ত্র বা কম্পিউটারকে এমন সব নির্দেশনা বা আদেশ পালন করতে দেওয়া হয়, যাতে সেটি ব্যবহারকারীর প্রদত্ত উপাত্ত প্রক্রিয়াজাত করে কোনো ব্যবহারিক সমস্যার সমাধান করতে পারে। যেমন- রচনা প্রক্রিয়াজাতকরণ বা ওয়ার্ড প্রসেসিং, সারণিবদ্ধ উপাত্ত হিসাব নিকাশ বা স্প্রেডশিট, তথ্যভান্ডার বা ডেটাবেজ ইত্যাদি। এ ছাড়া তৃতীয় একশ্রেণির নির্দেশনাসামগ্রী বা সফটওয়্যার আছে, যার নাম কম্পিউটার জাল-ব্যবস্থা নির্দেশনাসামগ্রী তথা নেটওয়ার্ক সফটওয়্যার, যেগুলো একটি জালসদৃশব্যবস্থা বা নেটওয়ার্ক গণনাকারী গণকযন্ত্র বা কম্পিউটারগুলোর মধ্যকার যোগাযোগে সমন্বয় সাধন করে। আরও এক ধরনের নির্দেশনাসামগ্রী আছে যেগুলোর কাজ হলো মানুষকে বিভিন্ন ধরনের নির্দেশনাক্রম বা প্রোগ্রাম রচনা করতে সাহায্য করা। এগুলোকে নির্দেশনাক্রম রচনা সরঞ্জাম বা প্রোগ্রামিং টুল বলা হয়। অনেক সময় এগুলোকে একত্রে প্রোগ্র্র্রাম রচনামূলক নির্দেশনাসামগ্রী বা প্রোগ্রামিং সফটওয়্যার নামেও ডাকা হয়। কম্পিউটার নির্দেশনাক্রমগুলো তথা প্রোগ্রামগুলো মানুষের স্বাভাবিক মুখের ভাষার লিখিতরূপে লেখা হয় না। এগুলোকে বিশেষ ধরনের কৃত্রিম সাংকেতিক কিন্তু মানুষের বোধগম্য এক ধরনের ভাষায় রচনা করা হয়, যে ভাষাগুলোকে নির্দেশনাক্রম ভাষা বা প্রোগ্রামিং ভাষা নামে ডাকা হয়।
প্রোগ্রামিং ভাষাতে লেখা সাঙ্কেতিক নির্দেশনাগুলোকে উৎস সঙ্কেত বা সোর্স কোড বলা হয়। কিন্তু গণকযন্ত্র বা কম্পিউটার এ উৎস সঙ্কেতের ভাষা প্রক্রিয়াজাত করতে পারে না। তাই উৎস সঙ্কেতকে কম্পাইলার বা সঙ্কলক নামক আরেকটি প্রোগ্রামের সাহায্যে যান্ত্রিক ভাষা নামের কৃত্রিম ভাষাতে ভাষান্তরিত করা হয় এবং এ ভাষান্তরের ফলে উৎপন্ন যান্ত্রিক সঙ্কেত গণকযন্ত্র বা কম্পিউটার 'বুঝতে' বা প্রক্রিয়াজাত করতে পারে ও এতে অবস্থিত নির্দেশনাগুলো নির্বাহ করতে পারে।
নির্দেশনাসামগ্রী বা সফটওয়্যার সাধারণত দীর্ঘস্থায়ী স্মৃতির শক্ত চাকতি বা হার্ড ডিস্কে চৌম্বকীয় সঙ্কেত হিসাবে সংরক্ষিত থাকে। যখন কোনো নির্দেশনাক্রম বা প্রোগ্রাম নির্বাহ করতে হয়, তখন কম্পিউটার বা গণকযন্ত্রের মূল প্রক্রিয়াকারক অংশ সেন্ট্রাল প্রসেসিং ইউনিট সেটিকে সংরক্ষিত দীর্ঘস্থায়ী স্মৃতি থেকে 'পড়ে' নেয় এবং ওই নির্দেশনাক্রমের একটি অনুলিপি বা কপি কম্পিউটারের ক্ষণস্থায়ী স্মৃতি বার্ যান্ডম অ্যাক্সেস মেমোরিতে স্থাপন করে। সেখান থেকে নির্দেশনাক্রম বা প্রোগ্রামটিকে চালানো বা 'রান' করানো হয়। প্রোগ্রামের কাজ শেষ হয়ে গেলে ক্ষণস্থায়ী স্মৃতি থেকে এগুলো মুছে দেওয়া হয়। তবে কিছু কিছু নির্দেশনাসামগ্রী স্থায়ীভাবে এক বিশেষ ধরনের স্মৃতিতে বিরাজকরে, যাকে শুধু পাঠ্য স্মৃতি বা রিড-অনলি মেমোরি বলে। এ ধরনের নির্দেশনাসামগ্রীকে 'স্থির নির্দেশনাসামগ্রী' তথা ফার্মওয়্যার বা হার্ড সফটওয়্যার বলে।
প্রধান প্রকারভেদ সফটওয়্যার প্রধানত ৩ প্রকার-
১. সিস্টেম সফটওয়্যার বা সফটওয়্যার পদ্ধতি
২. প্রোগ্রামিং সফটওয়্যার বা অপারেটিং সিস্টেম
৩. অ্যাপিস্নকেশন সফটওয়্যার
অ্যাপিস্নকেশন সফটওয়্যার : এটি এমন একটি সফটওয়্যার যা কম্পিউটার সিস্টেমকে বিশেষ ক্রিয়াকলাপ সম্পাদন করতে বা কম্পিউটারের নিজস্ব কাজকর্মের বাইরে বিনোদন ফাংশন সরবরাহ করতে ব্যবহার করে। বিভিন্ন ধরনের অ্যাপিস্নকেশন সফটওয়্যার রয়েছে, যা আধুনিক কম্পিউটারের সাহায্যে সঞ্চালিত হয়।
সফটওয়্যার পদ্ধতি : যা কম্পিউটারের হার্ডওয়্যার আচরণ পরিচালনার জন্য, ব্যবহারকারীদের দ্বারা প্রয়োজনীয় কার্যকারিতা সরবরাহ করার জন্য বা অন্য কোনো সফটওয়্যার যথাযথভাবে চালিত করার জন্য ব্যবহৃত হয়। সিস্টেম সফটওয়্যারটি অ্যাপিস্নকেশন সফটওয়্যার চালানোর জন্য একটি পস্নাটফর্ম সরবরাহ করার জন্যও ডিজাইন করা হয়েছে।
অপারেটিং সিস্টেম : সুপারভাইজারি প্রোগ্রাম, বুট লোডার, শেল এবং উইন্ডো সিস্টেম অপারেটিং সিস্টেমের মূল অংশ।