что именно означает песочницу и изоляцию программных ошибок?

#memory #sandbox #isolation

Вопрос:

я действительно в замешательстве. является ли изоляция программных ошибок тем же самым, что и песочница? или они другие? везде я читаю, что песочница означает, что мы можем запускать ненадежный код, не затрагивая другие программы или хост. хорошо, но как? делают ли они это путем изоляции памяти? я имею в виду, когда программа может получить доступ только к своей собственной памяти и не может получить доступ к другим воспоминаниям, мы называем это песочницей?

Ответ №1:

Песочница позволяет запускать ненадежный код, как вы сказали. Существуют разные уровни песочниц. Изоляция памяти — так что то, что делает операционная система, можно рассматривать как один из видов песочницы. Однако программы по-прежнему могут совместно использовать одни и те же библиотеки и файлы. Итак, есть Докер, который позволяет изолировать их. Но два процесса, запущенные в отдельных контейнерах docker, все еще работают на одной и той же физической машине. Таким образом, существует виртуализация, которую можно рассматривать как еще более высокий уровень песочницы.

Песочница связана с изоляцией чего-либо, запущенного в песочнице, от хост-системы или других приложений, запущенных в хост-системе.

Однако изоляция ошибок программного обеспечения означает поиск (изоляцию) неисправности или обнаружение неисправности. Существует практика при отладке программного обеспечения предоставлять минимально возможный код, воспроизводящий проблему. Таким образом, инженер, который будет работать над устранением проблемы, может быстро найти первопричину, потому что количество возможностей меньше, когда он или она видит проблему «изолированной».

Песочницы могут использоваться для изоляции проблем, особенно при работе с опасными вирусными кодами или системами, которые могут дестабилизировать хост-систему, из которой вы выполняете изоляцию от ошибок.