অপারেটিং সিস্টেম কম্পিউটারের হার্ডওয়্যার নিয়ন্ত্রণ করে। তারা সংস্থানগুলি পরিচালনা করে, অ্যাপ্লিকেশন বিকাশ করতে এবং কোড চালানোর জন্য ব্যবহারকারীদের কাছে হার্ডওয়্যার প্রকাশ করে।
কিন্তু সব অপারেটিং সিস্টেম সমানভাবে তৈরি হয় না।
উইন্ডোজের মতো ডেস্কটপ ওএসগুলি সর্বত্র থাকলেও, অন্যান্য ওএসগুলি আমাদের দৃষ্টিভঙ্গি থেকে লুকানো থাকে। অধিকাংশ মানুষ এমনকি তাদের অস্তিত্ব জানেন না.
আমরা এমবেডেড অপারেটিং সিস্টেম সম্পর্কে কথা বলছি।
আসুন দেখি একটি এমবেডেড ওএস কী এবং এটি নন-এমবেডেড ওএস থেকে কীভাবে আলাদা?
এমবেডেড ওএস কি?
একটি এমবেডেড অপারেটিং সিস্টেম হল সফ্টওয়্যারের একটি অংশ যা একটি এমবেডেড সিস্টেম নিয়ন্ত্রণ করার উদ্দেশ্যে।
একটি এমবেডেড সিস্টেম হল হার্ডওয়্যার এবং সফ্টওয়্যারের সংমিশ্রণ যা অত্যন্ত বিশেষায়িত কাজগুলি সম্পাদন করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, একটি আধুনিক স্মার্ট টিভির উদাহরণ বিবেচনা করুন। টিভির ভিতরে মাইক্রোপ্রসেসর এবং সংশ্লিষ্ট হার্ডওয়্যার একটি এমবেডেড ওএস দ্বারা নিয়ন্ত্রিত হয়।
সুতরাং, একটি এমবেডেড ওএস একটি এমবেডেড সিস্টেমের হার্ডওয়্যার সংস্থানগুলিকে নিয়ন্ত্রণ করে এবং কোডটিকে হার্ডওয়্যারে চালানোর অনুমতি দেয়। যে কোডটি একটি এমবেডেড OS চালায় তা নির্দিষ্ট কিছু কাজ করে যেমন ইন্টারনেট অফ থিংস (IoT) ডিভাইসগুলি নিয়ন্ত্রণ করা।
কিভাবে একটি এমবেডেড OS কাজ করে?
একটি এমবেডেড ওএস কিছু বড় পার্থক্য সহ একটি নিয়মিত ওএসের মতো কাজ করে। যেহেতু একটি এমবেডেড ওএস একটি সম্পূর্ণ ডেস্কটপ ওএসের তুলনায় অনেক কম সংস্থান সহ একটি সিস্টেম পরিচালনা করতে ব্যবহৃত হয়, তাই এটি অত্যন্ত দক্ষ এবং শুধুমাত্র একটি নির্দিষ্ট সেট কাজ সম্পাদন করে।
রিংয়ের মতো ডোরবেল ক্যামেরার ভিতরে কাজ করা এমবেডেড ওএসের উদাহরণ নেওয়া যাক। এমবেডেড ওএস যা ক্যামেরা হার্ডওয়্যার নিয়ন্ত্রণ করে কোডটি কার্যকর করে যা ক্যামেরাকে তার কাজ করতে দেয়।
একটি Wi-Fi নেটওয়ার্কের সাথে সংযোগ করা থেকে শুরু করে গতি শনাক্ত করা এবং ভিডিও রেকর্ড করা পর্যন্ত, এমবেডেড OS এটিকে সম্ভব করার জন্য হার্ডওয়্যার সংস্থানগুলি পরিচালনা করার জন্য দায়ী৷
সর্বোচ্চ স্তরে, যখনই একটি এমবেডেড সিস্টেম সহ একটি ডিভাইস চালু করা হয়, এমবেডেড OS ডিভাইসটিকে শক্তি প্রদান করে বুট করা হয়৷ এই বুট-আপ পর্যায়ে, OS সহ এমবেডেড সিস্টেমের কাজ করার জন্য প্রয়োজনীয় সমস্ত কোডও লোড করা হয় এবং কার্যকর করার জন্য প্রস্তুত করা হয়।
অতএব, একটি ডেস্কটপ ওএসের বিপরীতে, একটি এমবেডেড ওএসকে প্রতিবার একটি ফাংশন চালানো হলে মেমরি থেকে কোড লোড করার প্রয়োজন হয় না।
এমবেডেড OS প্রকার
এমবেডেড ওএসগুলি যে সিস্টেমে ব্যবহার করা হবে তার চাহিদা মেটাতে তৈরি করা হয়েছে৷ যেখানে কিছু এমবেডেড ওএস কন্ট্রোল সিস্টেম যা পুনরাবৃত্তি করার সময় শুধুমাত্র একটি কাজ সম্পাদন করে, অন্যরা এমবেডেড ওএস সিস্টেম পরিচালনা করে যা এক সময়ে একাধিক কাজ করে।
সাধারণভাবে, এমবেডেড অপারেটিং সিস্টেমগুলি মাল্টিটাস্কিং, রিয়েল-টাইম এবং একক লুপে বিভক্ত।
মাল্টিটাস্কিং
একটি মাল্টিটাস্কিং এমবেডেড ওএস হল একটি ওএস যা একটি এমবেডেড সিস্টেম নিয়ন্ত্রণ করে যা একাধিক কাজ সম্পাদন করতে হয়। এমবেডেড সিস্টেমে ব্যবহৃত মাইক্রোপ্রসেসর যদি এটি করতে সক্ষম হয় তবে কাজগুলি একযোগে সঞ্চালিত হতে পারে, অথবা সেগুলি একটি শিডিউলিং অ্যালগরিদম অনুযায়ী চালানোর জন্য নির্ধারিত হতে পারে।
একটি মাল্টিটাস্কিং এমবেডেড OS এর একটি উদাহরণ হল ইন্টারনেট অফ থিংস ডিভাইসে ব্যবহৃত অপারেটিং সিস্টেম যেমন স্মার্ট স্পিকার। স্মার্ট স্পিকারগুলিকে শুধুমাত্র সঙ্গীত আউটপুট করতে হবে না, ইন্টারনেটের সাথে সংযোগ করতে হবে এবং সঙ্গীত অনুসন্ধান করতে হবে।
প্রকৃত সময়
একটি রিয়েল টাইম এমবেডেড ওএস হল এমন একটি যা কঠোর সময়ের সীমাবদ্ধতার অধীনে কাজ করে। এই ধরনের একটি এমবেডেড OS অবশ্যই বরাদ্দ সময়ের মধ্যে ইনপুট গ্রহণ এবং প্রক্রিয়া করতে হবে বা সিস্টেম ব্যর্থ হবে।
গাড়িতে জরুরী ব্রেকিং সিস্টেমের উদাহরণ বিবেচনা করুন। যত তাড়াতাড়ি সিস্টেম অনুভব করে যে একটি সংঘর্ষ আসন্ন, এমবেডেড OS ব্রেকিং সিস্টেমটিকে সক্রিয় করে। যদি OS সময়মতো ব্রেক প্রয়োগ করতে ব্যর্থ হয়, তাহলে ভয়াবহ পরিণতির সাথে সংঘর্ষ হতে পারে।
একক লুপ
সিঙ্গেল লুপ এমবেডেড ওএস হল এক ধরনের ওএস যা একই কাজ বারবার করে। এই ধরনের এমবেডেড ওএসের একমাত্র কাজ হল ইনপুট নেওয়া এবং লুপে আউটপুট তৈরি করা।
একটি একক লুপ এমবেডেড OS এর একটি সাধারণ উদাহরণ হল মোশন সেন্সিং লাইটিংয়ে ব্যবহৃত একটি OS। মোশন সেন্সিং লাইট সেন্স মোশন এবং এমবেডেড সিস্টেম মোশন শনাক্ত হলে লাইট চালু করে।
এমবেডেড বনাম নন-এমবেডেড ওএস: পার্থক্য কী?
একটি এমবেডেড OS এবং একটি নন-এমবেডেড OS-এর মধ্যে সবচেয়ে বড় পার্থক্য হল অপারেটিং সিস্টেম চালিত অ্যাপ্লিকেশনগুলির সেট৷ একটি এমবেডেড OS এর ক্ষেত্রে, অ্যাপ্লিকেশন সেট স্থির করা হয়। একটি এমবেডেড সিস্টেমের হার্ডওয়্যারটি সেই নির্দিষ্ট অ্যাপ্লিকেশন সেট চালানোর জন্য ডিজাইন করা হয়েছে।
অন্যদিকে, Windows এবং macOS-এর মতো নন-এমবেডেড ওএসগুলি ব্যবহারকারীর অ্যাপ্লিকেশনগুলিতে হার্ডওয়্যার অ্যাক্সেস দেওয়ার জন্য ডিজাইন করা হয়েছে। ব্যবহারকারীরা যেকোন অ্যাপ ইনস্টল করতে পারবেন যতক্ষণ না এটি OS-এ চালানোর জন্য ডিজাইন করা হয়েছে। হার্ডওয়্যার যা একটি নন-এমবেডেড OS এ চলে তাও কিছুটা কাস্টমাইজযোগ্য।
এছাড়াও, একটি এমবেডেড OS নির্দিষ্ট। অন্য কথায়, বিভিন্ন এমবেডেড সিস্টেমে বিভিন্ন এমবেডেড ওএস রয়েছে। অন্যদিকে, নন-এমবেডেড ওএস সাধারণ উদ্দেশ্য এবং বিভিন্ন হার্ডওয়্যার কনফিগারেশন সমর্থন করে।
সাধারণভাবে, একটি এমবেডেড OS নিয়ন্ত্রণ করে এমন একটি সিস্টেম প্রায়শই একটি বড় সিস্টেমের অংশ।