আসসালামু আলাইকুম। 
আপনারা সবাই কেমন আছেন? আশা করি সবাই ভালোই আছেন।
প্রতিদিনের মতো আপনাদের সামনে আমি আবারও নতুন একটি পোস্ট নিয়ে হাঁজির হয়েছি। আমরা আপনাদের কথা মাথায় রেখেই নিত্যনতুন পোস্ট নিয়ে আসি। আজকেও ব্যতিক্রম নয়। আমার এই পোস্ট গুলো পড়লে আপনি কম্পিউটার সম্পর্কে সকল কিছু জানতে পারবেন। কম্পিউটারের অভ্যন্তরীণ ও বাহ্যিক বিভিন্ন কার্যক্রম সম্পর্কে সম্যক ভাবে জানতে পরবেন। তো আর কথা না বাড়িয়ে সরাসরি মূল পোস্টে চলে যায়।
আজকে এই পোস্টের মাধ্যমে আমরা কম্পিউটারের সফটওয়্যার ও ফার্মওয়্যার সম্পর্কে আলোচনা করবো।

সফটওয়্যার ও ফার্মওয়্যার (Define software & firmware) 

সফটওয়্যার (Software) : কম্পিউটারের ভাষায় ‘Soft’ শব্দের অর্থ নরম অর্থাৎ হাত দ্বারা ছোঁয়া যায় না; আর ‘Ware’ শব্দের ‘ অর্থ সূক্ষ্ম। কোনো সমস্যা সমাধানের জন্য কম্পিউটারের ভাষায় ধারাবাহিকভাবে লিখিত সুশৃঙ্খল কতকগুলো নির্দেশের সমষ্টিকে সফ্টওয়্যার বলে। সংকীর্ণ অর্থে, সফ্টওয়্যার (Software)-এর বিকল্প নাম প্রোগ্রাম (Program)। হার্ডওয়্যার (Hardware)-সমৃদ্ধ কোনো কম্পিউটার (Computer)-এ যদি সফ্টওয়্যার (Software) রান করানো না হয় বা করানো না যায়, তাহলে উক্ত কম্পিউটারকে কেবল লোহার বাক্স বলা চলে। আর প্রোগ্রাম সঠিকতার উপর নির্ভর করে সঠিক আউটপুট (Output) প্রাপ্তি। তাই বলা যায়, প্রোগ্রামই কম্পিউটারের প্রশংসার ধারক এবং বাহক। আর ব্যাপক অর্থে, কতিপয় প্রোগ্রামের সমষ্টি হলো সফ্টওয়্যার (software)।  সময়ের চাহিদা মেটাতে সফ্টওয়্যার মডিফাই (Software modify) করা যায়।
ফার্মওয়্যার (Firmware) : ফার্মওয়্যার হচ্ছে এমন একটি প্রোগ্রাম, যাকে কম্পিউটার তৈরির সময়ে কম্পিউটারের মেমরিতে রম-এ স্থায়ীভাবে ধারণ করে দেয়া হয়। এ জাতীয় প্রোগ্রাম কেবলমাত্র কম্পিউটার-এর পর্দায় দেখা যায়। কম্পিউটার ব্যবহারকারী কর্তৃক এ জাতীয় প্রোগ্রাম-কে কোনোরূপ পরিবর্তন বা সংশোধনের সুযোগ থাকে না। যেমন- কম্পিউটার রান করালে স্বয়ংক্রিয়ভাবে কম্পিউটারের মনিটরে বেশকিছু তথ্য দেখা যায়। এগুলো ফার্মওয়্যারের আউটপুট। ফার্মওয়্যার যে-সব কাজ করে থাকে, সেগুলো হলো:-
  •  (ক) কম্পিউটার মেমরি প্রদর্শন করে, 
  •  (খ) নির্দেশনাবলি বা ডাটা লোড করে, 
  •  (গ) প্রোগ্রাম রান করে।

 সফটওয়্যারের প্রকারভেদ (Classify software) :

সফ্টওয়্যার মূলত দুই ধরনেরঃ 
  • (i) সিস্টেম সফ্টওয়্যার (System Software/Operating System)
  • (ii) অ্যাপ্লিকেশন সফ্টওয়্যার (Application Software) 

অ্যাপ্লিকেশন সফটওয়্যার আবার কয়েক প্রকারের হতে পারেঃ

■ কাস্টমাইজড সফ্টওয়্যার (Customized Software)
■ মাল্টিমিডিয়া সফটওয়্যার (Multimedia Software)
■ গ্রাফিক্যাল সফ্টওয়্যার (Graphical Software)
■ ইন্টারনেট-বেইসড সফটওয়্যার (Internet-Based Software) ইত্যাদি।

(i) সিস্টেম সফ্টওয়্যার (System Software/ Operating System)

যে সফ্টওয়্যার কম্পিউটারের হার্ডওয়্যারকে সচল করে ও পরিচালনায় সাহায্য করে, সেই সফ্টওয়্যারকে সিস্টেম সফ্টওয়্যার (System Software) বলে। এই সফ্টওয়্যার কম্পিউটারের হার্ডওয়্যার ও অন্যান্য সফ্টওয়্যার এর সাথে যোগাযোগ রক্ষা করে থাকে। সিস্টেম সফ্টওয়্যার (System Software) এর মধ্যে বিভিন্ন শ্রেণিবিভাগ রয়েছে। অপারেটিং সিস্টেম (Operating System) ও সিস্টেম ইউটিলিটি প্রোগ্রাম হলো সিস্টেম সফ্টওয়্যার (System Software) এর অংশ। সিস্টেম ইউটিলিটি প্রোগ্রাম দ্বারা কম্পিউটারের Repair এর কাজ করা যায় ।

(ii) অ্যাপ্লিকেশন সফ্টওয়্যার (Application Software):

যে সফ্টওয়্যার ব্যবহারকারীর ব্যবহারিক কাজের নিমিত্তে বাণিজ্যিক ভিত্তিতে তৈরি করা হয়, তাকে অ্যাপ্লিকেশন সফ্টওয়্যার (Application Software) বলে। এটি ব্যবহারকারীর নির্দিষ্ট কাজের জন্য তৈরি করা হয়। একে অ্যাপ্লিকেশন প্যাকেজ (Application Package)-ও বলা যেতে পারে।
■ কাস্টমাইজড সফ্টওয়্যার (Customized Software) : এই সফ্টওয়্যার বিভিন্ন জাতীয় বিনোদনমূলক সফ্টওয়্যার, যেমন- Game, Fun ইত্যাদি ।
■ মাল্টিমিডিয়া সফটওয়্যার (Multimedia Software) :  যে সফ্টওয়্যার এর মাধ্যমে অডিও ও ভিডিও গান শুনতে পাই, তা হলো মাল্টিমিডিয়া সফ্টওয়্যার। যেমন- JetAudio, Superdecoder, Xingplayer ইত্যাদি।
■ গ্রাফিক্যাল সফ্টওয়্যার (Graphical Software) : যে সফ্টওয়্যার Graphics এর কাজ করতে সাহায্য করে, তাকে গ্রাফিক্যাল সফটওয়্যার (Graphical Software) বলে। যেমনঃ Illustrator, Photoshop, ইত্যাদি।
ইন্টারনেট বেইসড সফটওয়্যার (Internet Based Software): যে সফটওয়্যার এর মাধ্যমে ইন্টারনেটের কাজ করা হয় তাকে ইন্টরনেট বলে। বেসড সফটওয়্যার (Internet based software) বলে। যেমনঃ Internet Explorer, Netscap, Firefox, Navigator ইত্যাদি।

অপারেটিং সিস্টেম-এর বর্ণনা এবং সিস্টেম সফট্ওয়্যার-এর প্রয়োজনীয়তা (Describe operating system (OS) and the importance of system software)

সিস্টেম সফ্টওয়্যারের প্রয়োজনীয়তা (Importance of system software):
সিস্টেম সফটওয়্যার (System software) : কম্পিউটারের হার্ডওয়্যার ও সফটওয়্যারকে কার্যকর করার নিমিত্তে ব্যবহৃত সাহায্যকারী প্রোগ্রামসমূহকে বলে সিস্টেম সফ্টওয়্যার। সিস্টেম সফ্টওয়্যারের সাহায্যে কম্পিউটারের হার্ডওয়্যার ও সফটওয়্যারকে নিয়ন্ত্রণ, তত্ত্বাবধান ও পরিচালনা করা যায়। সিস্টেম সফ্টওয়্যার কম্পিউটার ও কম্পিউটার ব্যবহারকারীর সাথে সম্পর্ক রক্ষা করে। সিস্টেম সফটওয়্যারের সাহায্যে কম্পিউটার পরিচালিত হয়।
সিস্টেম সফ্টওয়্যারকে বিভিন্ন শ্রেণিতে ভাগ করা যায়, যথাঃ
  • (ক) অপারেটিং সিস্টেম সফ্টওয়্যার (Operating System Software)
  • (খ) ইউটিলিটি সফ্টওয়্যার (Utility Software)
  • (গ) ট্রান্সলেটর বা অনুবাদক সফ্টওয়্যার (Translator software)
  • (ঘ) গ্রাফিক্যাল ইউজার ইন্টারফেস সফ্টওয়্যার (Graphical user interface software)। 

অপারেটিং সিস্টেম সফ্টওয়্যার (Operating system or OS)

অপারেটিং সিস্টেম কতিপয় প্রোগ্রামের সমষ্টি, যা কোনো কম্পিউটার সিস্টেমের রিসোর্সসমূহকে নিয়ন্ত্রণ, পর্যবেক্ষণ ও তত্ত্বাবধান করে। অপারেটিং সিস্টেম কম্পিউটারের হার্ডওয়্যার (Hardware)-কে সচল করে। যদি কোনো কম্পিউটারে কোনো অপারেটিং সিস্টেম না থাকে তাহলে সেই কম্পিউটারে কোনো কাজ করা সম্ভব নয়। তাই কম্পিউটার চালাতে হলে কোনো না কোনো অপারেটিং সিস্টেম থাকতে হবে।
বিভিন্ন ধরনের অপারেটিং সিস্টেম আছে, যেমনঃ
  • ডস (DOS or Disk Operating System)
  • ম্যাকওএস (MacOS)
  • লিনাক্স (Linux)
  • ইউনিক্স (Unix)
  • উইন্ডোজ ৯৫ (Windows-95)
  • উইন্ডোজ ৯৮ (Windows – 98)
  • উইন্ডোজ ২০০০ (Windows-2000)
  • উইন্ডোজ-মিলেনিয়াম (Windows Millennium)
  • উইন্ডোজ এক্সপি (Windows XP )
  • উইন্ডোজ ৭ (Windows 7 )
  • উইন্ডোজ ভিস্তা (Windows Vista)
  • উইন্ডোজ ৮ (Windows 8)
  • উইন্ডোজ ১০ (Windows 10)
যে-কোনো একটি অপারেটিং সিস্টেম থাকলে প্রায় সব ধরনের কাজ করা যায়। অর্থাৎ কাজ করার জন্য যে কোন একটি অপারেটিং সিস্টেম থাকলেই চলবে।
অপারেটিং সিস্টেমের প্রকারভেদঃ
অপারেটিং সিস্টেমের অধীনে যে সমস্ত প্রোগ্রাম রয়েছে তা দুই প্রকার, যথাঃ
  •  (i) ব্যাচ অপারেটিং সিস্টেম (Batch Operating System) ও
  • (iii) রিয়েল টাইম অপারেটিং সিস্টেম (Real Time Operating System)
ব্যাংক কাস্টমারের (Bank Customers) বা লেনদেনকারীর হিসাবে (Account) টাকার পরিমাণ তাৎক্ষণিকভাবে জানার জন্য রিয়েল টাইম অপারেটিং সিস্টেম এবং দিনের শেষে হিসাবসমূহের টাকার পরিমাণ আধুনিকীকরণের (Up to date) জন্য ব্যাচ অপারেটিং সিস্টেম ব্যবহার করা হয়।
বিভিন্নভাবে উপাত্ত প্রক্রিয়াকরণের প্রয়োজনে অনেক অপারেটিং সিস্টেমের উদ্ভব হয়েছে। ব্যাচ অপারেটিং সিস্টেমের কাজকে আরও গতিশীল করার লক্ষ্যে তার অধীনে আরও ছয়টি অপারেটিং সিস্টেম কাজ করে থাকে।
  • (i) ব্যাচ মোড অপারেটিং সিস্টেম (Batch Mode Operating System) 
  • (ii) রিয়েল টাইম অপারেটিং সিস্টেম (Real Time Operating System)
  • (iii) মাল্টি-প্রোগ্রামিং অপারেটিং সিস্টেম (Multi-Programming Operating System)
  • (iv) টাইম শেয়ারিং অপারেটিং সিস্টেম (Time Sharing Operating System)
  • (v) ভার্চুয়াল স্টোরেজ অপারেটিং সিস্টেম (Virtual Storage Operating System)
  • (vi) মাল্টি-প্রসেসিং অপারেটিং সিস্টেম (Multi-Processing Operating System)
তো আজ এই পর্যন্তই। 
উপরের আমার এই পোস্টটি লিখতে অনেক নথির এবং ওয়েসাইটের সাহায্য নিতে হয়েছে। যাদের কৃতজ্ঞতা স্বীকার না করলেই নয়। 
সহায়ক,
মোঃ কামরুল হাসান।
1. Wikipedia.com
2. hpe.com
3. history-computer.com
4. chessprogramming
তো আজ এই পর্যন্তই। পরবর্তীতে নতুন কোনো পোস্ট নিয়ে হাজির হবো ততক্ষণ সবাই ভালো থাকবেন সুস্থ্য থাকবেন।

ধন্যবাদ।

3 thoughts on "কম্পিউটারের সফটওয়্যার ও ফার্মওয়্যার সম্পর্কে বিস্তারিত সবকিকিছু এক পোস্টেই।"

  1. MD Shakib Hasan Author says:
    অনেক সুন্দর লিখেছেন ?
    1. Akash_Ahmed4555 Contributor Post Creator says:
      ধন্যবাদ।

Leave a Reply