Skip to main content

Co je spravovaný kód?

Spravovaný kód je termín vytvořený společností Microsoft Koprorace.Tento termín odkazuje na programový kód, který vyžaduje použití virtuálního stroje běžeckého runtime (CLR), aby bylo možné použít.Termín ne spravovaný kód se používá k označení programového kódu, který nevyžaduje tento virtuální stroj.

Společný jazyk Runtime byl vyvinut ve snaze umožnit programům běžet na různých počítačích a operačních systémech, aniž by vyžadoval jakékoli změny v programovém kódu.Za tímto účelem je kód počítačového programu převeden na virtuální stroj.Tento bytecode je poté interpretován virtuálním strojem CLR a převedený na bytecode pro konkrétní počítač, na kterém běží.Tento vysoký stupeň přenositelnosti mu dává definitivní výhodu oproti nesprávnému kódu.Neřízený kód vyžaduje, aby programátoři změnili kód programu pro použití na různých strojích.Tento proces může být nejen pomalý, ale také může vést k mnoha chybám aplikací.Zabezpečení programu provedeného s nespravovaným kódem se silně spoléhá na implementaci, kterou programátoři provedli.Použití virtuálního stroje CLR pomáhá odstranit velkou část bezpečnostních problémů z ramen programátorů.Většina bezpečnostních problémů, které mohou nastat, je přímo soustředěna uvnitř samotného virtuálního počítače.To samo o sobě pomáhá centralizovat problémy, takže je mnohem rychlejší implementaci bezpečnostních záplat.Spravovaný kód má vyšší stupeň přenositelnosti, ale tato přenositelnost vyžaduje, aby běh běžného jazyka byl nainstalován v cílovém počítači.Nespravovaný kód, na druhé straně, lze spustit bez přidání CLR.

Pro použití spravovaného kódu existuje mnoho výhod, ale existuje také několik nevýhod.Primární nevýhodou je režie, kterou vyžaduje použití virtuálního počítače CLR.Rozdíl mezi rychlostí, kterou spravovaný kód běží oproti rychlosti neřízeného kódu, je často zanedbatelný, ale v některých případech vytváří velmi znatelný rozdíl v době odezvy aplikace.Výsledkem je, že neřízený kód hraje klíčovou roli ve většině aplikací, které vyžadují vysokou míru rychlosti oproti přenositelnosti.