Все эти Тунисы, Египты и Ливии - это проявление багов в системе. Просто система не электронно-вычислительная, а избирательная. И такая же проблема себя уже проявляла в другом контексте.
В операционных системах Windows 95/98/ME если установил случайно какую-то хрень с вроде как привлекательного сайта с многообещающим функционалом, то потом от нее ни за что не отделаешься. Вроде как и деинсталлятор есть, но не работает. И Касперский должен проблему решить, но не всегда с этим справляется. Да и случаев, где свежеустановленное чудо первым же делом подминало под себя касперских, нортонов и макаффи, предостаточно.
В итоге разочарованный пользователь в сердцах форматировал диск, после чего система начинала новую жизнь.
Поэтому задача для олимпиады по системному программированию - дана среднестатистическая страна. Не обязательно ближневосточная, Президента США тоже отозвать проблематично. Есть механизм более-менее реального фидбэка граждан в режиме реального времени - это интернет. Есть механизм отзыва приложений с уровнем администратора - это перевыборы. Разработать алгоритм оптимального запуска перевыборов, чтобы и система стабильной оставалась, и приложение с уровнем администратора не пожирало системные ресурсы.
При этом учесть несколько факторов:
- В большинстве случаев среднее настроение в стране насчет работы правительства будет более негативным, чем позитивным. Это не из-за того, что все правители уж совсем никудышные, а из-за того, что нерешенные проблемы лежат на поверхности, а вот решенные быстро забываются. Народ будет жаловаться на нехватку гречки, но быстро забудет об изобилии свеклы, несмотря на то, что калорийная ценность в данном случае эквивалентна. Т.е. алгоритм типа "если 51% населения недовольны, запускай перевыборы" слишком дестабилизирует систему.
- У некоторых приложений есть мотивация запустить kill -9 по отношению к другим процессам. Такие будут как влиять на работу в информационном плане ("А вы знаете, что приложение Х на днях еще 30 гиг дискового пространства запросило в самом лучшем секторе?"), так и через консолидацию усилий за счет других ресурсов ("Получите в подарок $20, если на перевыборах проголосуете за меня").
- Любое приложение, заполучившее статус администратора, будет пытаться перелопатить систему распределения ресурсов под себя, мотивируя это целями стабильности и безопасности системы в целом.
оригинал:
http://moskalyuk.name/3359