Sfoglia il codice sorgente

Merge branch 'master' of u20-24abramyan/up into master

ypv 2 anni fa
parent
commit
7f44d7d87e

BIN
ЭАСвЗИ/Лекции/2.2.600 Методы, способы и средства обеспечения отказоустойчивости автоматизированных систем/1.jpg


BIN
ЭАСвЗИ/Лекции/2.2.600 Методы, способы и средства обеспечения отказоустойчивости автоматизированных систем/2.png


BIN
ЭАСвЗИ/Лекции/2.2.600 Методы, способы и средства обеспечения отказоустойчивости автоматизированных систем/3.png


BIN
ЭАСвЗИ/Лекции/2.2.600 Методы, способы и средства обеспечения отказоустойчивости автоматизированных систем/4.png


+ 55 - 0
ЭАСвЗИ/Лекции/2.2.600 Методы, способы и средства обеспечения отказоустойчивости автоматизированных систем/README.md

@@ -0,0 +1,55 @@
+Методы, способы и средства обеспечения отказоустойчивости автоматизированных систем:  
+
+Отказоустойчивость - это процесс правильной работы системы, несмотря на возникновение сбоев в системе. Даже после выполнения стольких процессов тестирования существует вероятность сбоя в системе. 
+Практически система не может быть полностью безошибочной. следовательно, системы спроектированы таким образом, что в случае наличия ошибок и сбоев система выполняет работу должным образом и 
+выдает правильный результат.  
+  
+Любая система состоит из двух основных компонентов – аппаратного и программного обеспечения. Ошибка может возникнуть в любом из них. Таким образом, существуют отдельные методы обеспечения 
+отказоустойчивости как в аппаратном, так и в программном обеспечении.  
+
+[Картинка 1](1.jpg)  
+  
+В основном для обеспечения отказоустойчивости оборудования используются два метода:  
+  
+BIST –расшифровывается как Build in Self Test. Система снова и снова проверяет себя через определенный промежуток времени, что является методом BIST для обеспечения отказоустойчивости оборудования.
+Когда система обнаруживает неисправность, она отключает неисправный компонент и включает его резервную часть. Система в основном перенастраивает себя в случае возникновения сбоя.  
+  
+TMR - это тройное модульное резервирование. Создаются три резервные копии критически важных компонентов, и все эти три копии выполняются одновременно. Проводится голосование по результатам всех 
+избыточных копий, и выбирается результат большинства. Он может допускать возникновение одной ошибки за раз.  
+  
+Для обеспечения отказоустойчивости программного обеспечения используются три метода. Первые два метода являются общими и в основном являются адаптацией аппаратных методов обеспечения 
+отказоустойчивости:  
+  
+Программирование в N-версии – При программировании с N версиями N версий программного обеспечения разрабатываются N отдельными лицами или группами разработчиков. Программирование в N-версии 
+похоже на TMR в технике аппаратной отказоустойчивости. В N-версии программирования все избыточные копии выполняются одновременно, и полученный результат отличается от каждой обработки. Идея 
+программирования n-версии в основном заключается в том, чтобы получать все ошибки только во время разработки.  
+  
+[Картинка 2](2.jpg)
+  
+Блоки восстановления – Метод блоков восстановления также похож на программирование n-версии, но в методе блоков восстановления избыточные копии генерируются только с использованием разных алгоритмов. В блоке 
+восстановления все резервные копии не запускаются одновременно, и эти копии запускаются одна за другой. Метод блока восстановления может использоваться только в тех случаях, когда сроки 
+выполнения задачи превышают время вычисления задачи.  
+  
+[Картинка 3](3.jpg)
+  
+Восстановление с помощью флажков и отката – Этот метод отличается от двух методов обеспечения отказоустойчивости программного обеспечения. В этом методе система проверяется каждый раз, когда мы выполняем некоторые вычисления. Эти методы в 
+основном полезны при сбое процессора или повреждении данных.  
+  
+[Картинка 4](4.jpg)
+   
+Способы реализации:  
+  
+Есть два принципиально разных подхода, хотя они вполне могут независимо или полузависимо сочетаться для вашей системы. Один подход — это DR (disaster recovery), когда полная копия всей вашей 
+системы может быть поднята в другом датацентре. Данный метод выручает практически в любой ситуации, однако, он может имеет очень длительный промежуток простоя. Я знаю одну систему, в которой это 
+занимает в районе часа. Но тут тоже надо быть очень аккуратным, не только конфигурация системы, но и железо в DR должны совпадать с продакшеном. Например, когда мы тестировали DR, в одной из 
+систем с которыми я работал, то у нас при сильной нагрузке оказалось, что один из компонентов заточен на работу в однопоточной среде и его пропускная способность пропорциональна частоте 
+процессора, а на DR у нас была мега железка с огромным количеством ядер, но с небольшой тактовой частотой, так что этот компонент стал затыкаться. Вобщем, тест был весьма неудачен и «более 
+клевое» железо на текущей конфигурации нашей системы нам явно не подходило.  
+  
+Второй способ — это программно реализовывать отказоустойчивость для каждого из компонент и их взаимодействия. Различных техник сделать вашу систему более устойчивой очень много.  
+  
+
+Источники:  
+1.[translated.turbopages.org](https://translated.turbopages.org/proxy_u/en-ru.ru.a12db7e1-6352f0a5-a7668b83-74722d776562/https/www.geeksforgeeks.org/fault-tolerance-techniques-in-computer-system/) 
+2.[top-technologies.ru](https://top-technologies.ru/ru/article/view?id=34112)  
+3.[habr.com](https://habr.com/ru/post/118496/)