যেমন আপনি জানেন, সিস্টেম সফ্টওয়্যার অন্তর্নিহিত হার্ডওয়্যার সিস্টেমের জন্য একটি ইন্টারফেস হিসাবে কাজ করে। এখানে আমরা কয়েকটি গুরুত্বপূর্ণ সিস্টেম সফটওয়্যার নিয়ে বিশদ আলোচনা করব।
অপারেটিং সিস্টেম
অপারেটিং সিস্টেম (ওএস) কম্পিউটারের লাইফলাইন। আপনি সিপিইউ, মনিটর, কীবোর্ড এবং মাউসের মতো সমস্ত বুনিয়াদি ডিভাইসগুলি সংযুক্ত করেন; পাওয়ার সাপ্লাই প্লাগ ইন করুন এবং আপনার নিজের জায়গায় সবকিছু আছে তা ভেবে এটিকে স্যুইচ করুন। তবে কম্পিউটার এটিতে কোনও অপারেটিং সিস্টেম ইনস্টল না করা থাকলে কম্পিউটার শুরু বা জীবনে আসবে না কারণ ওএস -
- ব্যবহারকারীর নির্দেশাবলী অনুসরণ করার জন্য সমস্ত হার্ডওয়্যার অংশগুলিকে তাত্পর্যপূর্ণ অবস্থায় রাখে
- বিভিন্ন ডিভাইসের মধ্যে সমন্বয় করে
- অগ্রাধিকার হিসাবে একাধিক কাজ সূচী
- প্রতিটি কাজের জন্য সংস্থান বরাদ্দ করে
- কম্পিউটার অ্যাক্সেস করতে সক্ষম করে
- ব্যবহারকারীদের অ্যাপ্লিকেশন সফ্টওয়্যার অ্যাক্সেস এবং ব্যবহার করতে সক্ষম করে
প্রাথমিক বুট করার পাশাপাশি এটি একটি অপারেটিং সিস্টেমের কিছু কাজ -
- হার্ডওয়্যার, সফ্টওয়্যার, শেয়ার্ড রিসোর্স ইত্যাদির মতো কম্পিউটার রিসোর্সগুলি পরিচালনা করা
- সম্পদের বন্টন
- সফ্টওয়্যার ব্যবহারের সময় ত্রুটি প্রতিরোধ করুন
- কম্পিউটারের ভুল ব্যবহার নিয়ন্ত্রণ করুন
প্রথম দিকের অপারেটিং সিস্টেমগুলির মধ্যে একটি ছিল এমএস-ডস, আইবিএম পিসির জন্য মাইক্রোসফ্ট তৈরি করেছিল। এটি একটি কমান্ড লাইন ইন্টারফেস (সিএলআই) ওএস ছিল যা পিসি বাজারে বিপ্লব ঘটায়। ডস এর ইন্টারফেসের কারণে ব্যবহার করা কঠিন ছিল। ব্যবহারকারীদের তাদের কাজগুলি করার জন্য নির্দেশাবলী মনে রাখা দরকার। কম্পিউটারগুলিকে আরও অ্যাক্সেসযোগ্য এবং ব্যবহারকারী-বান্ধব করে তুলতে মাইক্রোসফ্ট গ্রাফিকাল ইউজার ইন্টারফেস (জিইউআই) ভিত্তিক ওএস উইন্ডোজ নামে বিকাশ করেছিল যা লোকেরা কম্পিউটার ব্যবহারের পদ্ধতিতে রূপান্তর করেছিল।
এসেম্বলার
এসেম্ব্লার এমন একটি সিস্টেম সফ্টওয়্যার যা সমাবেশ লেভেল প্রোগ্রামগুলিকে মেশিন লেভেল কোডে রূপান্তর করে।
এসেম্বলার
এগুলি সমাবেশ স্তরের প্রোগ্রামিং দ্বারা প্রদত্ত সুবিধাগুলি -
- প্রোগ্রামারটির দক্ষতা বৃদ্ধি করে কারণ স্মৃতিবিজ্ঞানের কথা মনে রাখা সহজ
- ত্রুটির সংখ্যা হ্রাস হওয়ায় উত্পাদনশীলতা বৃদ্ধি পায় এবং তাই সময় ডিবাগিং হয়
- প্রোগ্রামারটির হার্ডওয়্যার রিসোর্সে অ্যাক্সেস রয়েছে এবং তাই নির্দিষ্ট কম্পিউটারে কাস্টমাইজড প্রোগ্রামগুলি লেখার ক্ষেত্রে নমনীয়তা রয়েছে
Interpreter
সমাবেশ স্তরের ভাষার প্রধান সুবিধা ছিল মেমরির ব্যবহার এবং হার্ডওয়্যার ব্যবহারের অনুকূলকরণের দক্ষতা। তবে প্রযুক্তিগত অগ্রগতির সাথে কম্পিউটারে আরও মেমরি এবং ভাল হার্ডওয়্যার উপাদান ছিল। সুতরাং লেখার প্রোগ্রামগুলি সহজেই মেমরি এবং অন্যান্য হার্ডওয়্যার সংস্থানগুলির অনুকূলকরণের চেয়ে গুরুত্বপূর্ণ হয়ে ওঠে।
এছাড়াও, মুষ্টিমেয় প্রশিক্ষিত বিজ্ঞানী এবং কম্পিউটার প্রোগ্রামারদের থেকে প্রোগ্রামিং নেওয়ার প্রয়োজন অনুভব করা হয়েছিল, যাতে আরও বেশি জায়গায় কম্পিউটার ব্যবহার করা যায়। এর ফলে উচ্চ স্তরের ভাষাগুলির বিকাশ ঘটল যা ইংরেজি ভাষার সাথে আদেশের সাদৃশ্যগুলির কারণে বুঝতে সহজ ছিল।
উচ্চ স্তরের ভাষার উত্স কোডটি মেশিন স্তরের ভাষা অবজেক্ট কোড লাইনে লাইন দ্বারা অনুবাদ করতে ব্যবহৃত সিস্টেম সফ্টওয়্যারকে দোভাষী বলা হয়। একজন দোভাষা কোডের প্রতিটি লাইন নিয়ে যায় এবং এটিকে মেশিন কোডে রূপান্তরিত করে অবজেক্ট ফাইলে সংরক্ষণ করে।
দোভাষী ব্যবহার করার সুবিধা হ'ল এগুলি লেখার পক্ষে খুব সহজ এবং তাদের জন্য একটি বড় মেমরির জায়গার প্রয়োজন হয় না। যাইহোক, দোভাষী ব্যবহার করার ক্ষেত্রে একটি বড় অসুবিধা রয়েছে, অর্থাত্ ব্যাখ্যা করা প্রোগ্রামগুলি কার্যকর করতে দীর্ঘ সময় নেয়। এই অসুবিধা অতিক্রম করার জন্য, বিশেষত বড় প্রোগ্রামগুলির জন্য, সংকলকগুলি বিকাশ করা হয়েছিল।
Compiler
সিস্টেম সফ্টওয়্যার যা সম্পূর্ণ প্রোগ্রাম সঞ্চয় করে, এটি স্ক্যান করে, সম্পূর্ণ প্রোগ্রামটিকে বস্তু কোডে অনুবাদ করে এবং তারপরে একটি এক্সিকিউটেবল কোড তৈরি করে তাকে সংকলক বলে। এর মুখের সংকলকগণ দোভাষীদের সাথে তুলনামূলকভাবে তুলনামূলক তুলনা করেন কারণ তারা -
- দোভাষীর চেয়ে জটিল
- আরও স্মৃতি স্থান প্রয়োজন
- উত্স কোড সংকলনে আরও সময় নিন
যাইহোক, সংকলিত প্রোগ্রামগুলি কম্পিউটারগুলিতে খুব দ্রুত সম্পাদন করে। নিম্নোক্ত চিত্রটি কীভাবে উত্স কোডকে একটি কার্যকরযোগ্য কোডে রূপান্তরিত হয় - এর ধাপে ধাপে প্রক্রিয়াটি দেখায় -
এগুলি সম্পাদনযোগ্য কোডে উত্স কোডটি সংকলনের পদক্ষেপগুলি -
Pre-processing - এই পর্যায়ে প্রাক-প্রসেসরের নির্দেশাবলী, সাধারণত সি এবং সি ++ এর মতো ভাষার দ্বারা ব্যবহৃত হয়, তা ব্যাখ্যা করা হয়, অর্থাৎ সংসদীয় স্তরের ভাষায় রূপান্তরিত।
লেক্সিকাল বিশ্লেষণ - এখানে সমস্ত নির্দেশিকাগুলি লেস্টিকাল ইউনিটে যেমন কনস্ট্যান্টস, ভেরিয়েবলস, গাণিতিক চিহ্নগুলিতে রূপান্তরিত হয় etc.
পার্সিং - এখানে সমস্ত নির্দেশাবলীরাই ভাষার ব্যাকরণের নিয়মগুলি মেনে চলে কিনা তা পরীক্ষা করে দেখুন। যদি ত্রুটিগুলি থাকে, সংকলক আপনাকে এগিয়ে যাওয়ার আগে সেগুলি ঠিক করতে বলবে।
Compiling - এই পর্যায়ে উত্স কোডটি অবজেক্ট কোডে রূপান্তরিত হয়।
Linking - যদি বাহ্যিক ফাইল বা লাইব্রেরিতে কোনও লিঙ্ক থাকে তবে প্রোগ্রামে তাদের এক্সিকিউটেবলের ঠিকানা যুক্ত করা হবে। এছাড়াও, যদি বাস্তবিক প্রয়োগের জন্য কোডটি পুনরায় সাজানো দরকার হয় তবে সেগুলি পুনরায় সাজানো হবে। চূড়ান্ত আউটপুট হল এক্সিকিউটেবল কোড যা মৃত্যুদন্ড কার্যকর করার জন্য প্রস্তুত


