কম্পিউটার তৈরি করার সময় কম্পিউটার মেমরিতে কিছু প্রোগ্রামকে স্থায়ীভাবে সংরক্ষণ করে দেওয়া হয়। এর মধ্যে ফার্মওয়্যার অন্যতম। এসকল প্রোগ্রাম পরিবর্তন বা মুছে ফেলা যায় না। কম্পিউটার প্রস্তুতকারক প্রতিষ্ঠান কম্পিউটার তৈরির সময় কম্পিউটারের সেমিকন্ডাক্টর রমে প্রয়োজনীয় প্রোগ্রামগুলোকে স্থায়ীভাবে রাখার ব্যবস্থা করেন।
ফার্মওয়্যার (Firmware) হলো এমন একটি প্রোগ্রাম, যাকে কম্পিউটার তৈরি সময়ে কম্পিউটারের মেমোরিতে (ROM) এ স্থায়ীভাবে সংরক্ষণ করে দেওয়া হয়। ব্যবহারকারী কর্তৃক এ জাতীয় প্রোগ্রামকে কোন পরিবর্তন বা সংশোধনের সুযোগ থাকে না। উদাহরণস্বরুপ কম্পিউটার চালু করলে স্বয়ংক্রিয়ভাবে কম্পিউটারের মনিটরে কিছু তথ্য দেখা যায়। এগুলো মূলত ফার্মওয়্যারের আউটপুট।
ফার্মওয়্যার মূলত সফটওয়্যার এবং হার্ডওয়্যারের মধ্যে মধ্যস্থতাকারী হিসাবে কাজ করার জন্য ডিজাইন করা হয়েছে। যখন কোন কম্পিউটার বা ডিভাইস রান করানো হয়, তখন ফার্মওয়্যার ডিভাইস চালানোর জন্য প্রসেসরে প্রয়োজনীয় নির্দেশাবলী পাঠায়।
ফার্মওয়্যারের উদাহরণের মধ্যে রয়েছে BIOS (Basic Input/Output System), EFI (Extensible Firmware Interface)। ডিভাইস ড্রাইভার, প্রিন্টার ড্রাইভার, গ্রাফিক্স ড্রাইভার ইত্যাদি।
1. সফটওয়্যার হল নির্দিষ্ট কাজ সম্পাদনের জন্য কম্পিউটার দ্বারা ব্যবহৃত প্রোগ্রাম, পদ্ধতি, ডেটা বা নির্দেশাবলীর একটি সেট এবং যা ব্যবহারকারীকে কম্পিউটারের সাথে যোগাযোগ করতে দেয়।
ফার্মওয়্যার হল এক ধরণের সফটওয়্যার প্রোগ্রাম যা অন্যান্য কম্পিউটার হার্ডওয়্যারের সাথে ডিভাইসটি কীভাবে যোগাযোগ করে তার প্রয়োজনীয় নির্দেশাবলী প্রদান করে।
2. সফটওয়্যারের প্রকারের মধ্যে রয়েছে অ্যাপ্লিকেশন সফটওয়্যার, শেয়ারওয়্যার, সিস্টেম সফটওয়্যার ইত্যাদি। ফার্মওয়্যারের প্রকারের মধ্যে রয়েছে BIOS, EFI ইত্যাদি।
3. সফটওয়্যার সাধারণত আকারে খুব বড় এবং সাধারণত শত কিলোবাইট (KB) থেকে কয়েক গিগাবাইট (GB) এর মধ্যে থাকে। ফার্মওয়্যারের আকার খুব ছোট এবং সাধারণত কয়েক কিলোবাইটের (কেবি) মধ্যে থাকে।
4. সফটওয়্যার সাধারণত নিম্ন-স্তরের ভাষা এবং উচ্চ-স্তরের ভাষা ব্যবহার করে তৈরি করা হয়। ফার্মওয়্যার সাধারণত নিম্ন-স্তরের ভাষা ব্যবহার করে তৈরি করা হয়।
5. সফটওয়্যার ফার্মওয়্যার হতে পারে না। কিন্তু ফার্মওয়্যার সফটওয়্যার হতে পারে।
6. সফটওয়্যার আপডেট করা খুব সহজ। ফার্মওয়্যার আপডেট করা সাধারণত কঠিন।
7. সফটওয়্যার মেমরি অ্যাক্সেসযোগ্য এবং পরিবর্তনযোগ্য। ফার্মওয়্যার মেমরি অ্যাক্সেসযোগ্য নয় এবং ব্যবহারকারী দ্বারা পরিবর্তন করা যায় না।
8. সফটওয়্যার সাধারণত CPU এবং প্রধান প্রসেসরে চলে। ফার্মওয়্যার CPU-তে চলে না, বরং ছোট প্রসেসরে চলে।
9. সফটওয়্যার কম্পিউটারের সেকেন্ডারি স্টোরেজ ডিভাইসে রাখা হয়। ফার্মওয়্যার রাখার জন্য হার্ডওয়্যারের ফ্ল্যাশ স্টোরেজ ব্যবহার করা হয়।