Co to jest kod zarządzany?
„Managed Code” to termin utworzony przez Microsoft® Coproration. Termin ten odnosi się do kodu programu, który wymaga użycia wirtualnej maszyny do wykonywania języka (CLR) w celu użycia. Termin „niezarządzany kod” służy do odwołania się do kodu programu, który nie wymaga tej maszyny wirtualnej.
Wspólny czas wykonywania języka został opracowany, aby umożliwić programom uruchamianie na różnych komputerach i systemach operacyjnych bez wymagania żadnych zmian kodu programu. Aby to zrobić, kod programu komputerowego jest konwertowany na wirtualną maszynę bajtową. Ten kod bajtowy jest następnie interpretowany przez maszynę wirtualną CLR i konwertuje w kod bajtowy dla określonego komputera, na którym działa.
Kod zarządzany może uruchamiać na dowolnym komputerze wyposażonym w maszynę wirtualną CLR. Ten wysoki stopień przenośności nadaje mu ostateczną przewagę nad niezarządzanym kodem. Nie zarządzany kod wymaga, aby programiści zmienili kod programu do użytku na różnych maszynach. Ten proces nOT może być powolne, może również prowadzić do wielu błędów aplikacji.
Kolejną zaletą, jaki ma zarządzany kod, jest jego zwiększone bezpieczeństwo. Bezpieczeństwo programu wykonanego z niezarządzanego kodu zależy w dużej mierze na wdrożeniu wykonanej przez programistów. Korzystanie z maszyny wirtualnej CLR pomaga pobrać dużą część problemów bezpieczeństwa z ramion programistów. Większość problemów bezpieczeństwa, które mogą się pojawić, jest bezpośrednio skoncentrowana w samej maszynie wirtualnej. To samo w sobie pomaga scentralizować problemy, co znacznie szybciej wdrożenie łatek bezpieczeństwa.
Kwestia tego, czy określony zestaw kodu jest zarządzany kodem, czy kodem niezarządzanym, jest niezwykle ważny dla programistów komputerowych. Kod zarządzany ma wyższy stopień przenośności, ale ta przenośność wymaga zainstalowania wspólnego środowiska języka na komputerze docelowym. Z drugiej strony można uruchomić niezarządzany kodbez dodania CLR.
Istnieje wiele zalet korzystania z zarządzanego kodu, ale istnieje również kilka wad. Główną wadą jest koszty ogólne, którego wymaga użycie maszyny wirtualnej CLR. Różnica między prędkością, z jaką działa zarządzany kod w porównaniu z prędkością niezarządzanego kodu, jest często nieistotna, ale w niektórych przypadkach stwarza bardzo zauważalną różnicę w czasie reakcji aplikacji. W rezultacie niezarządzany kod odgrywa kluczową rolę w większości aplikacji, które wymagają wysokiej prędkości nad przenośnością.