ফার্মওয়্যার (Firmware):
ফার্মওয়্যারের ড্রাইভারগুলির মতো একই ফাংশন রয়েছে তবে এটি অপারেটিং সিস্টেমের মধ্যে ড্রাইভার ইনস্টল থাকা অবস্থায় হার্ডওয়্যার ডিভাইসে নিজেই সংরক্ষণ করা হয়। ইলেকট্রনিক সিস্টেম এবং কম্পিউটিংয়ে, ফার্মওয়্যার কম্পিউটার সফ্টওয়্যারের নির্দিষ্ট শ্রেণী যা ডিভাইসের নির্দিষ্ট হার্ডওয়্যারগুলির জন্য নিম্ন স্তরের নিয়ন্ত্রণ সরবরাহ করে। ফার্মওয়্যার ডিভাইসটির আরো জটিল সফ্টওয়্যার বা কম জটিল ডিভাইসগুলির জন্য, সমস্ত নিয়ন্ত্রণ, পর্যবেক্ষণ এবং ডেটা ম্যানিপুলেশন ফাংশন সম্পাদন করে ডিভাইসটির সম্পূর্ণ অপারেটিং সিস্টেম হিসাবে কাজ করে। এটি অর্ধস্থায়ী স্মৃতি ভান্ডারে বা রক্ষিত সফটওয়্যার। হার্ডওয়্যার আর সফটওয়্যার এর সাথে সমন্বয় করে এরা কাজ করে। এদের মধ্যে হার্ডওয়্যার এবং সফটওয়্যার উভয়ের ধর্ম পরিলক্ষিত হয়।
সফটওয়্যার (Software):
ইলেক্ট্রনীয় গণকযন্ত্র বা কম্পিউটারের বিভিন্ন অংশকে কর্মোপযোগী করা, একে পরিচালনা করা এবং একে দিয়ে কোনও বিশেষ ব্যবহারিক কাজ সম্পন্ন করার উদ্দেশ্যে যে বিভিন্ন নির্দেশনাক্রম তথা প্রোগ্রাম এবং পুনর্ব্যবহারযোগ্য নির্দেশনাক্রম তথা রুটিন বা ফাংশন ব্যবহার করা হয়। অন্যভাবে বলা যায় যে; সফটওয়্যার হল একধরনের নির্দেশাবলী, ডেটা বা প্রোগ্রামের একটি সেট যা কম্পিউটার পরিচালনা করতে এবং নির্দিষ্ট কাজ সম্পাদন করতে ব্যবহৃত হয়। সফটওয়্যার হল একটি জেনেরিক শব্দ যা একটি ডিভাইসে চালানো অ্যাপ্লিকেশন, স্ক্রিপ্ট এবং প্রোগ্রামগুলিকে বোঝাতে ব্যবহৃত হয়। এটিকে একটি কম্পিউটারের পরিবর্তনশীল অংশ হিসাবে বলা যেতে পারে।
সফটওয়্যারকে কিছু নির্দেশ এর মিশ্রণ এবং সংগঠন বলা যায়। যার মাধ্যমে কম্পিউটারের দ্বারা একটি বিশেষ কাজ করানোর প্রোগ্রাম করা হয়েছে। ফলে, সফটওয়্যারে থাকা নির্দেশ ও প্রোগ্রাম গুলোর মাধ্যমে কম্পিউটার ডিভাইস এর বিভিন্ন হার্ডওয়্যার গুলোকে নিয়ন্ত্রণ করে কম্পিউটারের বিভিন্ন কাজ প্রোসেস করে।
সফটওয়্যার ও ফার্মওয়্যারের মধ্যে পার্থক্য:
ফার্মওয়্যারের ড্রাইভারগুলির মতো একই ফাংশন রয়েছে তবে এটি অপারেটিং সিস্টেম। সফটওয়্যার ও ফার্মওয়্যারের মধ্যে পার্থক্য নিচে আলোচনা করা হয়েছে-
১। ফার্মওয়্যারের ড্রাইভারগুলির মতো একই ফাংশন রয়েছে তবে এটি অপারেটিং সিস্টেমের মধ্যে ড্রাইভার ইনস্টল থাকা অবস্থায় হার্ডওয়্যার ডিভাইসে নিজেই সংরক্ষণ করা হয়। অন্যদিকে, সফটওয়্যার হল একটি জেনেরিক শব্দ যা একটি ডিভাইসে চালানো অ্যাপ্লিকেশন, স্ক্রিপ্ট এবং প্রোগ্রামগুলিকে বোঝাতে ব্যবহৃত হয়।
২। সফ্টওয়্যারটিতে সঞ্চিত মেমোরিতে সহজেই অ্যাক্সেস থাকে এবং এটি পরিবর্তন করা যেতে পারে। অন্যদিকে, ফার্মওয়্যারের ক্ষেত্রে মেমরিটিতে সহজে অ্যাক্সেস থাকে না এবং ব্যবহারকারী সহজেই পরিবর্তন করতে পারে না।
৩। সফটওয়্যারটির আকার খুব বড়। অন্যদিকে, ফার্মওয়্যারের আকার খুব কম।
৪। নিম্ন স্তরের এবং উচ্চ-স্তরের উভয় ভাষাই সফটওয়্যারটি বিকাশে ব্যবহৃত হয়। অন্যদিকে, ফার্মওয়্যার বিকাশের জন্য কেবল নিম্ন-স্তরের ভাষা ব্যবহার করা হয়।
৫। সফ্টওয়্যার আপডেট করা তুলনামূলকভাবে খুব সহজ। অন্যদিকে, ফার্মওয়্যার আপডেট করা তুলনামূলকভাবে কঠিন।
৬। সফ্টওয়্যারটির ডিজাইনের পেছনের মূল উদ্দেশ্য হল ইন্টারঅ্যাকশন। অন্যদিকে, ফার্মওয়্যারের ক্ষেত্রে এটি মূল উদ্দেশ্য নয়।
৭। সফ্টওয়্যারটি মূলত সিপিইউ এবং প্রধান প্রসেসরে চালিত হয়। অন্যদিকে, ফার্মওয়্যার সাধারণত ছোট প্রসেসরের উপর চলে।
৮। সফ্টওয়্যার পরিবর্তন করা সহজ; তাই অবিচ্ছিন্নভাবে পরিবর্তন করা হয়। অন্যদিকে, ফার্মওয়্যার পরিবর্তন করা এত সহজ নয় এবং খুব কমই পরিবর্তিত হয়।
৯। সফ্টওয়্যার বিকাশ করতে ফার্মওয়্যারের তুলনায় আরও সময় প্রয়োজন। অন্যদিকে, ফার্মওয়্যারের বেশি সময় প্রয়োজন হয় না।