কম্পিউটার সফটওয়্যার , বা কেবল
সফ্টওয়্যার ,
একটি জেনেরিক শব্দ যা তথ্য বা কম্পিউটারের নির্দেশনাগুলি বোঝায় যা কম্পিউটারকে কীভাবে কাজ করে তা বোঝায়, প্রকৃত
হার্ডওয়্যার যা সিস্টেমটি তৈরি করা হয় তার বিপরীতে কাজ করে যা আসলে কাজটি করে। কম্পিউটার বিজ্ঞান এবং সফটওয়্যার ইঞ্জিনিয়ারিং, কম্পিউটার সফ্টওয়্যার কম্পিউটার সিস্টেম, প্রোগ্রাম এবং ডেটা দ্বারা সমস্ত তথ্য প্রক্রিয়া। কম্পিউটার সফটওয়্যারের মধ্যে রয়েছে কম্পিউটার প্রোগ্রাম, লাইব্রেরি এবং সম্পর্কিত নন-এক্সিকিউটেবল ডেটা, যেমন অনলাইন ডকুমেন্টেশন বা ডিজিটাল মিডিয়া। কম্পিউটার হার্ডওয়্যার এবং সফ্টওয়্যার একে অপরের প্রয়োজন হয় এবং নাও হতে পারে বাস্তবিকভাবে তার নিজস্ব ব্যবহার করা যায়।
সর্বনিম্ন স্তরে, এক্সিকিউটেবল কোড একটি পৃথক প্রসেসর-বিশেষ করে একটি সেন্ট্রাল প্রসেসিং ইউনিট (CPU) নির্দিষ্ট মেশিন ভাষা নির্দেশিকা গঠিত। একটি মেশিন ভাষা বাইনারি মানগুলির গ্রুপগুলি ধারণ করে যা প্রসেসর নির্দেশাবলীকে নির্দেশ করে যা কম্পিউটারের পূর্ববর্তী অবস্থায় থেকে রাষ্ট্রকে পরিবর্তন করে। উদাহরণস্বরূপ, কোনও নির্দেশনা কম্পিউটারের নির্দিষ্ট সঞ্চয়স্থানে সংরক্ষিত মান পরিবর্তন করতে পারে-এমন একটি প্রভাব যা ব্যবহারকারীকে সরাসরি দৃশ্যমান হয় না। একটি নির্দেশ (পরোক্ষভাবে) কম্পিউটার সিস্টেমের প্রদর্শনীতে কিছু প্রকাশ করতে পারে- একটি রাষ্ট্রীয় পরিবর্তন যা ব্যবহারকারীকে দৃশ্যমান হওয়া উচিত। প্রসেসরগুলি নির্দেশিত নির্দেশাবলী বহন করে থাকে, যদি না তা অন্য নির্দেশে "লাফালাফির" নির্দেশ দেওয়া হয় বা অপারেটিং সিস্টেম দ্বারা বাধাগ্রস্ত হয়। (এখন পর্যন্ত মাল্টি-কোর প্রসেসরগুলি প্রভাবশালী, যেখানে প্রতিটি কোর নির্দেশাবলী চালাতে পারে যাতে, তবে, প্রতিটি
অ্যাপ্লিকেশন সফ্টওয়্যার শুধুমাত্র একটি কোর ডিফল্ট দ্বারা চালায়, কিন্তু বেশ কিছু সফটওয়্যার চালানোর জন্য তৈরি করা হয়েছে)।
বেশিরভাগ সফটওয়্যার উচ্চ স্তরের প্রোগ্রামিং ভাষাগুলিতে লিখিত হয় যা প্রোগ্রামারদের জন্য সহজ এবং আরো কার্যকরী হয় কারণ তারা প্রাকৃতিক ভাষাগুলিতে মেশিনের ভাষাগুলির কাছাকাছি। একটি কম্পাইলার ব্যবহার করে উচ্চ স্তরের ভাষাগুলি মেশিন ভাষাতে অনুবাদ করা হয় অথবা একটি দুষ্প্রাপক বা দুটি সংমিশ্রণ। সফটওয়্যারটি নিম্ন-স্তরের সমাবেশ ভাষাতেও লেখা যেতে পারে, যা কম্পিউটারের মেশিন ভাষা নির্দেশিকাগুলির সাথে শক্তিশালী যোগাযোগ রয়েছে এবং একটি এসেম্বলর ব্যবহার করে মেশিন ভাষাতে অনুবাদ করা হয়।