Das ist aber mal ein spannender Aspekt: Wenn ich also eine .NET-Anwendung habe und die "Amok" läuft, dann ist das Risiko, dass sie dabei den gesamten Rechner runterreißt geringer als bei einer nativen Anwendung? Lässt sich das pauschalieren oder gibt es auch hier wieder gewisse Rahmenbedingungen, die diese Sicherheit erst ermöglichen?
Ja, diese Rahmenbedingungen sind die sogenannten Application Domains, die es in .NET gibt.
Stürzt ein .NET Programm ab, betrifft das nur die einzelne Application Domain, in der es läuft. Natürlich kann man mehrere Applications in einer Domain laufen lassen, aber man kann sie auch isolieren.
Bei ASP.NET ist es z.B. besonders interessant, da man hier mehrere Webanwendungen parallel laufen lassen kann und keine von diesen den gesamten Prozess des Webservers betrifft sondern nur die einzelne Applikation. Das funktionierte in älteren IIS-Versionen so gut, dass inzwischen mit IIS 7 und 7.5 die komplette Pipeline des IIS in Managed code läuft und sogar
ISAPI-Extensions inzwischen von Managed code aus in unterschiedlichen Appdomains geladen werden, damit diese nicht den gesamten Webserver abschiessen können.