Red de conocimiento informático - Aprendizaje de código fuente - ¿Cuál es la diferencia entre código administrado y código no administrado?

¿Cuál es la diferencia entre código administrado y código no administrado?

A grandes rasgos, el código administrado es un lenguaje de programación integrado en la plataforma de desarrollo que estés utilizando. Por ejemplo: La biblioteca de tiempo de ejecución .Net más común actualmente integra componentes y funciones de procesamiento de más de 20 lenguajes como VC, C#, VB, F#... etc.

Código administrado:

El significado de "administrado" es que las operaciones en segundo plano (implícitas) de estos lenguajes las completa este sistema de administración (.Net). Pon tu programación delega en la plataforma de desarrollo (biblioteca). Cuando utiliza estos lenguajes, completa todo tipo de trabajo, como llamar, reciclar y compilar algunos recursos del sistema. Solo necesita concentrarse en la implementación de las funciones del programa.

Código no administrado:

Se refiere a programas (código) que no están en su entorno de desarrollo integrado, sino que están escritos utilizando otras plataformas de desarrollo. Por ejemplo, lenguaje Java (no jscript), lenguaje básico (no VB), lenguaje C (no VC/C/C#), etc... También tienen sus propias plataformas y programas de desarrollo, y programas escritos en estos lenguajes. son "no-..." Escrow".

Cuando se ejecuta código no administrado en su plataforma de alojamiento, su plataforma de alojamiento no puede manejar bien algunas operaciones en segundo plano (implícitas) y necesita escribir código adicional para que sean armoniosas y seguras.

El ejemplo más simple:

C y lenguaje ensamblador, son los primeros lenguajes de alto nivel en ingresar al campo de la informática (el ensamblador ya no puede considerarse un lenguaje de alto nivel :)), pueden operar directamente (lectura/escritura) hardware como CPU, memoria, bus, E/S, disco duro, etc. Los sistemas operativos como DOS, Windows e iOS se escriben utilizando ellos.

Entonces, cuando utilices estos lenguajes directamente en el entorno integrado .Net, encontrarás grandes obstáculos. Los obstáculos provienen de la llamada "plataforma de alojamiento", que considera que estas operaciones son inseguras y. voluntad Se rechaza la compilación y ejecución.

Sin embargo, las características de estos lenguajes son operación directa, velocidad extremadamente rápida (en comparación con las plataformas de alojamiento) y extremadamente específicas y específicas cuando necesitamos ejecutar programas con las características anteriores, C y ensamblador. can Es el lenguaje más ideal. Si desea que "interactúen pacíficamente" con la plataforma de alojamiento, debe compilar código adicional para que cumplan con las especificaciones de seguridad y administración de la plataforma de alojamiento, y también debe tener habilidades de programación muy avanzadas. De lo contrario, nos esperarán dos resultados: uno es que el programa no se puede ejecutar y el otro es que causa directamente daños al software o al hardware (las operaciones subyacentes pueden dañar el hardware).

¿Te lo expliqué claramente?