আপনি কি স্থান শক্ত করার মোকাবেলা করেছেন?


62

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

আমি গুগল লুনার চ্যালেঞ্জের সাথে যুক্ত কয়েকটি প্রকল্পের দিকে তাকিয়ে ছিলাম এবং ভাবছিলাম যে এটি চাঁদে কোড পেতে এমনকি ঠিক মহাকাশে কী পেতে পারে। আমি জানি যে স্পেস কড়া বোর্ডগুলি এইরকম কঠোর পরিবেশে কিছুটা পবিত্রতা দেয়, তবে আমি ভাবছি (একজন সি প্রোগ্রামার হিসাবে) আমি যদি মহাকাশে চালিত এমন কিছু লিখতাম তবে কীভাবে আমার চিন্তাভাবনা এবং কোড সামঞ্জস্য করতে হবে?

আমি মনে করি পরের কয়েক বছর বেসরকারী মহাকাশ সংস্থাগুলিতে আরও বৃদ্ধি দেখাতে পারে, আমি সত্যিই কমপক্ষে সেরা অনুশীলনগুলি সম্পর্কে কিছুটা জ্ঞানী হতে চাই।

রেডিয়েশন, সর্দি বা তাপ এমন একটি বোর্ডকে বোমা ফাটিয়ে যদি কোনও বোর্ডের ক্ষতি হয় যা এর নিরোধকের ক্ষতি করে? আমি মনে করি লক্ষ্যটি মানুষকে একটি স্পেস ক্রাফ্টের ভিতরে রাখে (যতক্ষণ না স্থির করা বা স্ট্যাপ অদলবদল করা) এবং জিনিসগুলি ঠিক করার মিশনগুলি এড়িয়ে চলে।

তদ্ব্যতীত, যদি বোর্ড কিছু সমালোচনা ব্যবস্থা বজায় রাখে তবে প্রাথমিক সতর্কতাগুলি সর্বজনীন বলে মনে হচ্ছে।

পরীক্ষার এবং পরীক্ষার এবং ত্রুটির মাধ্যমে কীভাবে এটির অভিজ্ঞতা লাভ করে (নিজের ব্যক্তিগত স্যাটেলাইট উৎক্ষেপণ ব্যতীত?)


3
আমি স্পেস-এক্স এবং অন্যদের কাছে ই-মেইল প্রেরণ করেছি যাতে তারা এসওয়ে যোগ দিতে এবং এর উত্তর দিতে সহায়তা করে। নাসায় কেউ যদি কাউকে চেনে তবে এখনই তাদের ইমেল করার সময় এসেছে। তেমনি, সম্ভবত আপনি একজন অবসরপ্রাপ্ত দম্পতি জানেন? আমি শীঘ্রই এটিকে আর বন্ধ করতে যাচ্ছি না।
টিম পোস্ট

7
"নিষিদ্ধ গতিশীল মেমরি বরাদ্দ" স্পেস প্রোবগুলির পক্ষে অনন্য নয়, তবে বাস্তবে কোনও দৃ tight়ভাবে সীমাবদ্ধ এম্বেড থাকা হার্ডওয়ার (এমনকি হ্যান্ডহেল্ড ভিডিও গেমস) এর ক্ষেত্রে মোটামুটি সাধারণ।
ক্র্যাশ ওয়ার্কস


@ মার্ক, উত্তরগুলি মুছে ফেলার জন্য এখন কি রসিকতা যথেষ্ট?

5
এটি এত কঠিন হতে পারে না, এটি রকেট বিজ্ঞান নয়। ওহ অপেক্ষা করুন ...
মার্ক রান্সম

উত্তর:


52

স্পেস সফটওয়্যার আরকেন ম্যাজিক নয়। আপনি এখনও 0 এবং 1 ব্যবহার করছেন, 1 এবং 3 ব্যবহার করছেন না। সুতরাং সম্ভবত কোন ওয়াও ফ্যাক্টর যা বিকাশকারী সফ্টওয়্যারটিতে যায় তা বর্ণনা করার সাথে জড়িত নেই।

এই মুহুর্তে মাথায় আসা কিছু সামান্য পার্থক্য হ'ল:

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

এখন অবধি, তবে স্মৃতিচারণকারী আসার আগ পর্যন্ত অপেক্ষা করুন!
lsalamon

আপনি বলছেন যে তিনবার কোড পর্যালোচনাগুলি নেতিবাচক।
কর্টুক

4
@ কর্টুক: এটি জোর দিয়েছিল যে আপনি অন্যান্য ধরণের প্রকল্পের চেয়ে কোড রিভিউগুলি প্রায়শই প্রায়শই দেখবেন যেহেতু ব্যর্থতার ফলস্বরূপ কেবল কয়েকশ মিলিয়ন ডলারের উপগ্রহের ক্ষয়ক্ষতি। এবং ব্যক্তিগতভাবে, আমি বিশ্বাস করি তারা অবশ্যই একটি নেতিবাচক তবে প্রয়োজনীয় মন্দ। আমি পর্যালোচনা রাখা ঘৃণা করি এবং আমি পর্যালোচনা সম্পাদন করা ঘৃণা করি তবে তাদের মূল্য আছে কারণ তারা সমস্যা আবিষ্কার করে অন্য কোনও পদ্ধতিতে পারে না।
ডাঙ্ক

100% সম্মত। প্রয়োজনীয় মন্দ একটি গ্রহণযোগ্য বিবরণ।
কর্টুক

9
"স্পেস সফটওয়্যারটি আরকেন ম্যাজিক নয়" তবে, যদি এটি যথেষ্ট উন্নত স্পেস সফটওয়্যার হয় তবে এটি আরকেন ম্যাজিক থেকে পৃথক হতে পারে।
রবার্ট

29

আমি আপনার আকর্ষণীয় প্রশ্নে হোঁচট খেয়েছি।

আমি অ্যাপোলো চলাকালীন ইনস্ট্রুমেন্টেশন ল্যাবে ছিলাম এবং পরে যখন "শীতল যুদ্ধ" চলাকালীন যখন এটিকে ড্রপার ল্যাব বলা হয়েছিল।

অ্যাপোলো গাইডেন্স কম্পিউটারের জন্য, কোরটি র‌্যামের জন্য ব্যবহৃত হত, এবং রমের জন্য একটি বিশেষ ব্রেকিড কোর ব্যবহার করা হয়েছিল। মেশিনটি নিজেই পুরোপুরি এনওআর গেটগুলির বাইরে তৈরি হয়েছিল এবং নির্ভরযোগ্যতার জন্য বেশ ধীর হয়ে গিয়েছিল।

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

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


21

বিশেষত সি-তে শক্ত পরিবেশের নির্ভরযোগ্যতা পেতে, এখানে কিছু সত্যই কংক্রিট জিনিস রয়েছে যা আমি দেখেছি।

মিস্রা-সি: স্বয়ংচালিত সি উপসেট। রাভেনস্কর এডিএ / জাভার মতো কিছুটা।

নজরদারিগুলি: প্রোগ্রামটি লকআপ না করে তা নিশ্চিত করুন

ইসি মেমরি (কখনও কখনও)

চেকসামস: বিট ফ্লিপ খুঁজছেন আমি এই তিনটিটিই একটি সিস্টেমে দেখেছি:

1) প্রোগ্রামটি অবিচ্ছিন্নভাবে চেকসাম করুন (এটি ইপ্রোমে ছিল তবে এখনও বিস্কুট বিট পেয়েছিল)।

2) চেকসাম নির্দিষ্ট ডেটা স্ট্রাকচার পর্যায়ক্রমে।

3) সিপিইউ স্যানিটি পর্যায়ক্রমে চেক করে।

৪) চেক করুন আইও রেজিস্টারগুলিতে তাদের থাকার কথা রয়েছে।

4 খ) স্বাধীন ইনপুটগুলিতে ফিরে আউটপুটগুলি পড়ুন এবং যাচাই করুন।


এবং, সমস্ত ব্যর্থতার প্রতিক্রিয়াগুলি সম্পূর্ণরূপে পরিকল্পনা করুন, তাদের প্রয়োজন হবে এই দৃiction় বিশ্বাসের ভিত্তিতে।
মাইক ডুনলাভে

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

9

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

তদ্ব্যতীত, নিম্নলিখিত দুটি ঘটনা স্পষ্টভাবে কোনও কিছু প্রেরণ করার সময় সফটওয়্যার ইঞ্জিনিয়ারদের যে সমস্যার মুখোমুখি হতে হয়েছে তার গুণগতভাবে চিত্রিত করে:


মার্স পোলার ল্যান্ডার (অপর্যাপ্ত পরীক্ষা)
টিম উইলিসক্রফ্ট

1
মঙ্গল গ্রহের জলবায়ু কক্ষপথ: একক বিভ্রান্তি। কেবল এসআই ব্যবহার করুন এবং এটি দিয়ে সম্পন্ন করুন।
টিম উইলিসক্রফ্ট

6

আমি এই নথির (2009 প্রায়) পাওয়া C প্রোগ্রামিং ভাষা জন্য আদর্শ কোডিং JPL প্রাতিষ্ঠানিক উপর জেট প্রপালশন ল্যাবরেটরি নির্ভরযোগ্য সফটওয়্যার (Lars) জন্য ল্যাবরেটরি সাইট।

এখানে ডকুমেন্টেড বিধিগুলির একটি সংক্ষিপ্তসার রয়েছে:

  1. ভাষার সম্মতি

    • ভাষার সংজ্ঞা বাইরে ভ্রষ্ট করবেন না।
    • সক্ষম সমস্ত সতর্কতা সহ সংকলন; স্থির উত্স কোড বিশ্লেষক ব্যবহার করুন।
  2. অনুমানযোগ্য মৃত্যুদণ্ড

    • সমাপ্ত হওয়ার জন্য বোঝানো সমস্ত লুপের জন্য যাচাইযোগ্য লুপের সীমা ব্যবহার করুন।
    • প্রত্যক্ষ বা অপ্রত্যক্ষ পুনরাবৃত্তি ব্যবহার করবেন না।
    • কার্য শুরুর পরে গতিশীল মেমরি বরাদ্দ ব্যবহার করবেন না।
    • টাস্ক যোগাযোগের জন্য আইপিসি বার্তা ব্যবহার করুন।
    • টাস্ক সিঙ্ক্রোনাইজেশনের জন্য টাস্ক বিলম্ব ব্যবহার করবেন না।
    • * ভাগ করে নেওয়া ডেটা অবজেক্টের জন্য স্পষ্টভাবে লিখন-অনুমতি (মালিকানা) স্থানান্তর করুন।
    • সেমফোরস এবং লকগুলির ব্যবহারের উপর বিধিনিষেধ স্থাপন করুন।
    • মেমরি সুরক্ষা, সুরক্ষা মার্জিন, বাধা নিদর্শন ব্যবহার করুন।
    • গোটো, সেটজ্যাম্প বা লংজ্যাম্প ব্যবহার করবেন না।
    • এনাম তালিকার উপাদানগুলিতে বাছাই করা মান অ্যাসাইনমেন্ট ব্যবহার করবেন না।
  3. ডিফেন্সিভ কোডিং

    • সুযোগের ক্ষুদ্রতম স্তরে ডেটা অবজেক্টগুলি ঘোষণা করুন।
    • অ-শূন্য ফাংশনগুলির রিটার্ন মানটি পরীক্ষা করুন বা স্পষ্টতই (অকার্যকর) castালাই করুন।
    • ফাংশনে পাস হওয়া মানগুলির বৈধতা পরীক্ষা করুন।
    • স্যানিটি চেক হিসাবে স্থির এবং গতিশীল assertions ব্যবহার করুন।
    • * পূর্বনির্ধারিত সি ডেটা যেমন ইন্ট, শর্ট ইত্যাদির পরিবর্তে ইউ 32, আই 16 ইত্যাদি ব্যবহার করুন
    • যৌগিক এক্সপ্রেশনগুলিতে মূল্যায়নের ক্রমটি স্পষ্ট করে তুলুন।
    • পার্শ্ব প্রতিক্রিয়া সহ অভিব্যক্তি ব্যবহার করবেন না।
  4. কোড স্পষ্টতা

    • সি প্রাক-প্রসেসরের কেবলমাত্র খুব সীমিত ব্যবহার করুন।
    • কোনও ফাংশন বা একটি ব্লকের মধ্যে ম্যাক্রো সংজ্ঞায়িত করবেন না।
    • ম্যাক্রোকে অপরিচিত বা পুনরায় সংজ্ঞায়িত করবেন না।
    • #If বা #ifdef এর সাথে মিল রেখে একই ফাইলটিতে #else, #elif, এবং #endif রাখুন।
    • * পাঠ্যের লাইন প্রতি একাধিক বিবৃতি বা ঘোষণা রাখবেন না।
    • * সীমিত সংখ্যক পরামিতি সহ সংক্ষিপ্ত ফাংশন ব্যবহার করুন।
    • * ঘোষণাপত্রে দু'দিকেরও বেশি ইন্ডিরিয়ারেশন ব্যবহার করবেন না।
    • * প্রতি বস্তু রেফারেন্সে দুই স্তরের বেশি ডিফেরেন্স ব্যবহার করবেন না।
    • * ম্যাক্রো বা টাইপিডেফের মধ্যে ডেরিফারেন্স অপারেশনগুলি গোপন করবেন না।
    • * অ-ধ্রুবক ফাংশন পয়েন্টার ব্যবহার করবেন না।
    • অন্য ধরণের ফাংশন পয়েন্টারগুলি কাস্ট করবেন না।
    • # অন্তর্ভুক্ত নির্দেশিকার আগে কোড বা ঘোষণাগুলি রাখবেন না।

*) সমস্ত নিয়মগুলি বিধি হিসাবে চিহ্নিত হয়, একটি নক্ষত্রের সাথে চিহ্নিত চিহ্ন ব্যতীত shall


5

স্পেস-প্রুফ কম্পিউটিং সিস্টেমগুলি নির্ভরযোগ্যতা সম্পর্কে সমস্ত। ক্ষেত্রটির গভীর পরিচয় আলিগিরদাস অ্যাভিয়েনিস, জিন-ক্লাড ল্যাপ্রি এবং ব্রায়ান র্যান্ডেল দ্বারা নির্ভরযোগ্যতার মৌলিক ধারণাগুলিতে পাওয়া যাবে ।

রিয়েল-টাইম স্পেস কম্পিউটিংয়ের জন্য একটি মূল ধারণা। পঙ্ক্রাট হিসাবে, আমি হারম্যান কোপেটজ দ্বারা রিয়েল-টাইম সিস্টেমগুলির প্রস্তাব করব।

স্পেস কম্পিউটিংয়ের চ্যালেঞ্জগুলির বাস্তববাদী ধারণা দেওয়ার জন্য, ভেবে দেখুন:

  • মহাশূন্যের চরম পরিস্থিতি: খুব উত্তপ্ত যখন সূর্যের দিকে লক্ষ্য করা যায়, অন্যদিকে খুব শীতল থাকে, অনেক মহাজাগতিক রশ্মি যা স্মৃতিতে বিটগুলি বিভ্রান্ত করতে পারে, প্রচণ্ড ত্বরণ এবং কম্পনের সময় কম্পন ঘটে ... স্থানের জন্য হার্ডওয়্যার অবশ্যই হার্ডওয়ারের চেয়ে অনেক বেশি শক্তিশালী হতে হবে সামরিক জন্য।

  • আন্তর্জাতিক স্পেস স্টেশন বা হাবল স্পেস টেলিস্কোপ ব্যতীত যখন কোনও ব্যর্থতা দেখা দেয় তখন কেউই ব্যর্থ হওয়া সিস্টেমটি প্রতিস্থাপন করে না। সর্বাধিক পর্যবেক্ষণযোগ্যতা এবং আদেশযোগ্যতা এবং স্যুইচ করার জন্য অতিরিক্ত সিস্টেমের মাধ্যমে স্থল থেকে সবকিছু স্থির করতে হবে। এটি পৃথিবীর উপগ্রহের পক্ষে সহজ। স্পেস প্রোবগুলির সাথে এটি আরও কঠিন, যার জন্য যোগাযোগের বিলম্বটি এক ঘন্টা দীর্ঘ হতে পারে। সত্যই, সবকিছু প্রথম স্থানে যথাসম্ভব নির্ভরযোগ্য হতে হবে।


3

আমি ইন্টার্ন হিসাবে জড়িত একটি প্রকল্প থেকে আমি যা শিখেছি:

আপনার হার্ডওয়্যার চশমা বদলে যাবে, সাধারণত খারাপের জন্য!

উদাহরণস্বরূপ, স্থানটি শক্ত করে দেওয়া সিপিইউ যা নকশায় ব্যবহৃত হচ্ছে প্রতিশ্রুতি দেওয়া হয়েছিল, প্রতিশ্রুতি দেওয়া হয়েছিল , মনে রাখবেন, এটি 20 মেগাহার্টজ এ চালিত হবে।

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

সুতরাং, মূল নকশায় কিছু অতিরিক্ত সংস্থান উপলব্ধ করার চেষ্টা করুন এবং সমস্ত উপলব্ধ সিপিইউ এবং মেমরি ব্যবহার না করার চেষ্টা করুন।


3

একটি সফ্টওয়্যার দৃষ্টিকোণ জন্য, একটি সুবিধাজনক কাজ লিখুন যা মাঝে মধ্যে, এলোমেলোভাবে, আপনার কোডটিতে বিট ফ্লিপ করে এবং দেখুন কীভাবে এটি এর সাথে ডিল করে। এটি আপনার সিমুলেটর।

হার্ডওয়্যার-ভিত্তিক, অংশগুলি পুরানো হবে, কারণ স্থান নির্ধারণের জন্য কিছু পেতে অনেক সময় লাগে। এছাড়াও, নতুন অংশগুলি ক্রমাগত আকারে সঙ্কুচিত হয় এবং একটি বৈশিষ্ট্যটি যত ছোট থাকে (কোনও আইসিতে মেমরি সেল মনে করেন) তেজস্ক্রিয় ঘটনা থেকে দুর্নীতির জন্য এটি যত বেশি সংবেদনশীল।


2

আমি একটি সুরক্ষা সমালোচনামূলক ডিভাইসে কাজ করেছি এবং আমাদের কিছু অনুরূপ হুপ দিয়ে যেতে হয়েছিল।

আমাদের সুরক্ষা সমালোচনাশীল ভেরিয়েবল ছিল। ভেরিয়েবলের বিপরীতটির একটি অনুলিপি ছিল। প্রতিটি লুপের পরে, ভেরিয়েবলটি তার বিপরীতটির বিরুদ্ধে পরীক্ষা করা হয়েছিল।

আমাদের সমস্ত রেজিস্টারগুলির একটি ওয়াকিং ও জিরো পরীক্ষা ছিল। যে প্রোগ্রাম কাউন্টার অন্তর্ভুক্ত!

আমাদের কাছে মাইক্রো ইন্সট্রাকশন সেটটির সমস্ত অপকডের একটি পরীক্ষা ছিল। আমাদের নিশ্চিত হতে হয়েছিল যে আপনি যদি 2 টি রেজিস্টার যুক্ত করেন তবে নিবন্ধগুলি যুক্ত করা হয়েছিল।

এর মধ্যে কিছু সম্ভবত স্থানের প্রোগ্রামগুলির সাথে সম্পর্কিত নয় তবে এটি আপনাকে পরীক্ষা করার তীব্রতার অনুভূতি দেয় that


1

আমি বিশ্বাস করি যে পরিবেশের চেয়ে খারাপ তত বেশি ত্রুটি সংশোধন কোড ব্যবহৃত হয় এবং ইসিসির স্মৃতি রয়েছে যা কিছুটা ব্যবহার করা যেতে পারে।

যদি কেউ ত্রুটির মাত্রাটি অনুমান করতে পারে তবে একটি ত্রুটি সংশোধনকারী কোড তৈরি করতে পারে যা প্রবর্তিত ত্রুটিগুলি পরিচালনা করতে পারে।


0
  • হ্যাঁ, গবেষণা বোর্ডগুলিতে মূল স্মৃতি রয়েছে।
  • এম্বেড থাকা সিস্টেমগুলির জন্য গতিশীল মেমরি ভাল নয়। নির্ভরযোগ্যতা সমস্যা।

আমি অনুমান করব যে সফটওয়্যার ইসিসি ডেটা এবং তথ্য তত্ত্ব এবং মেমরির ব্যর্থতাগুলি পরিচালনা করতে সিস্টেমের চারপাশে ডেটা ছড়িয়ে দেওয়ার জন্য একটি কাস্টম লডার ব্যবহার শুরু করা হবে। তবে, আমি রেড-হার্ড সফ্টওয়্যার অধ্যয়ন করি না তাই আমি এর সাথে পরিচিত নই, এটি কেবল অনুমান।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.