এম্বেডেড সফ্টওয়্যারটি খুব আলাদা।
একটি ডেস্কটপ অ্যাপ্লিকেশনে, বিমূর্ততা এবং গ্রন্থাগারগুলি আপনাকে প্রচুর বিকাশের সময় সাশ্রয় করে। আপনার কাছে অন্য কোনও দম্পতি র্যামের গিগাবাইট বা 2 গিগা বাইট বা 2 + গিগাহার্টজ 64৪-বিট সিপিইউ কোরের অন্য কোনও দম্পতি নিক্ষেপ করার বিলাসিতা রয়েছে এবং অন্য কেউ (ব্যবহারকারী) সেই হার্ডওয়্যারটির জন্য অর্থ প্রদান করছেন। অ্যাপটি কোন সিস্টেমে চলবে তা আপনি জানেন না।
এম্বেড থাকা প্রকল্পে, সংস্থানগুলি প্রায়শই খুব সীমাবদ্ধ থাকে। একটি প্রকল্পে আমি (পিআইসি 17 এক্স-সিরিজ প্রসেসর) কাজ করেছি হার্ডওয়্যারটিতে প্রোগ্রামের মেমরির 2 কেওয়ার্ডস, 8 স্তরের (ইন-হার্ডওয়্যার) স্ট্যাক এবং 192 বাইট (<0.2 কেবি) র্যাম ছিল। বিভিন্ন আই / ও পিনের বিভিন্ন ক্ষমতা ছিল এবং আপনি হার্ডওয়্যার রেজিস্টারগুলিতে লিখিতভাবে প্রয়োজনীয়ভাবে হার্ডওয়্যারটি কনফিগার করেছিলেন। ডিবাগিং একটি অসিলোস্কোপ এবং যুক্তি-বিশ্লেষক জড়িত।
এম্বেড থাকা অবস্থায়, বিমূর্ততা প্রায়শই পথে চলে যায় এবং আপনার নেই এমন সংস্থানগুলি (এবং ব্যয়) পরিচালনা করবে। যেমন বেশিরভাগ এম্বেড থাকা সিস্টেমে কোনও ফাইল সিস্টেম থাকে না। মাইক্রোওয়েভ ওভেনগুলি এমবেডেড সিস্টেম। গাড়ির ইঞ্জিন নিয়ন্ত্রক। কিছু বৈদ্যুতিক টুথব্রাশ। কিছু গোলমাল বাতিল করা হেডফোন।
এম্বেড থাকা সিস্টেমগুলি বিকাশের ক্ষেত্রে আমার জন্য একটি খুব গুরুত্বপূর্ণ বিষয় হ'ল নির্দেশাবলী, সংস্থানসমূহ, মেমরি এবং সম্পাদন সময়ের ক্ষেত্রে কোডটি কী অনুবাদ করে তা জানা এবং নিয়ন্ত্রণ করা। প্রায়শই নির্দেশাবলী নিয়ন্ত্রণের যথাযথ ক্রম যেমন হার্ডওয়্যার ইন্টারফেস তরঙ্গরূপগুলির জন্য সময় নির্ধারণ।
অ্যাবস্ট্রাকশন এবং পর্দার আড়ালে থাকা 'যাদু' (যেমন একটি আবর্জনা সংগ্রহকারী) ডেস্কটপ অ্যাপ্লিকেশনগুলির জন্য দুর্দান্ত। ময়লা সংগ্রহকারীরা মেমরি ফাঁসের পিছনে তাড়া করতে আপনাকে প্রচুর সময় সাশ্রয় করে, যখন মেমরিটি গতিশীলভাবে বরাদ্দ করা যায়।
তবে রিয়েল-টাইম এম্বেড থাকা বিশ্বে আমাদের জানতে এবং নিয়ন্ত্রণ করা দরকার যে জিনিসগুলি কতক্ষণ সময় নেয়, কখনও কখনও ন্যানোসেকেন্ডে নেমে যায় এবং কোনও সমস্যার জন্য আরও কয়েক দম্পতি র্যাম বা দ্রুত সিপিইউ ফেলে দিতে পারে না। একটি সাধারণ উদাহরণ: যখন ডিউটি চক্রটি নিয়ন্ত্রণের মাধ্যমে এলইডিগুলির সফটওয়্যারটি ম্লান করে দেওয়া হয় (সিপিইউতে কেবলমাত্র এলইডিগুলির নিয়ন্ত্রণ বা বন্ধ ছিল) তখন প্রসেসরের পক্ষে 100 মিমি অবধি আবর্জনা সংগ্রহ করা ঠিক হবে না কারণ প্রদর্শনটি দৃশ্যমানভাবে প্রদর্শিত হবে উজ্জ্বল ফ্ল্যাশ বা বাইরে যান।
আরও অনুমানমূলক উদাহরণ হ'ল একটি ইঞ্জিন নিয়ন্ত্রক যা স্পার্ক-প্লাগগুলিতে সরাসরি গুলি চালায়। যদি সেই সিপিইউ কাজটি বন্ধ করে দেয় এবং 50 মিমি ধরে আবর্জনা সংগ্রহ করে, ইঞ্জিনটি এক মুহুর্তের জন্য কেটে যাবে বা ভুল ক্র্যাঙ্কশ্যাফট অবস্থানে আগুন লাগিয়ে দেয়, সম্ভাব্যভাবে ইঞ্জিনটি স্টল করে (পাস করার সময়?) বা যান্ত্রিকভাবে ক্ষতিগ্রস্থ হত। আপনি কাউকে হত্যা করতে পারেন।