.net - segun - ¿Qué significa "EE" en SOS?



que significa el dia de tu nacimiento (1)

He encontrado que "EE" es una palabra mágica para mí.

Dentro de CLR, hay un "EEClass", que es creado por el cargador de clases CLR. Y no sé por qué se llama EEClass.

Ahora, venga al mundo SOS, hay más EE aquí, como EEHeap, EEStack [-EE], Name2EE ... ¿Representan el mismo significado aquí?


El CLR comenzó su vida útil mucho antes de que fuera adoptado para ejecutar el código .NET. Comenzó como Universal Runtime en el Proyecto 42, un proyecto de alto rendimiento que fracasó pero cuyas partes sobrevivieron en proyectos posteriores, como .NET. Continuó en NGWS (Next Generation Windows Services) antes de que evolucionara como el motor de ejecución para .NET. 42 fue el número de edificio que el grupo trabajó en el campus de Microsoft.

Sobrevivieron varios acrónimos, bastante visibles en el código fuente de SSCLI20 y en los nombres que se ven en los archivos de depuración y encabezado. Un puñado de ellos:

  • URT, Universal Runtime. Antiguo, simplemente permanece en los códigos de error nativos que obtiene del código administrado, tienen el código de instalación 19, FACILITY_URT en el archivo de encabezado WinError.h. Lo que hace que cualquier valor de código de error 0x8013xxxx.

  • COM + o COMPLUS. También antiguo, COM + fue la evolución de COM, notable por la pérdida de la guerra del software intermedio frente a Java y el nombre del grupo en Microsoft que tenía la responsabilidad principal del Proyecto 42. Aún visible en los nombres de las excepciones, incluido el código de excepción nativo para cualquier excepción .NET: 0xe0434f4d. 434f4d son los códigos ASCII para "COM". El CLR en realidad utiliza muy poco código COM, solo para producir el seguimiento de la pila desde el pdb y las interfaces personalizadas de alojamiento, depuración y generador de perfiles.

  • COR, Common Object Runtime. El acrónimo que comienza a aparecer después del proyecto de 42 bits. Sobrevive en todos los nombres de los archivos de encabezado del SDK, como Cor.h, CorError.h, CorDebug.h y varios nombres de api de alojamiento, como CorBindToRuntimeEx. Renombrado a "CLR" en las versiones .NET 4 por cierto.

  • EE, motor de ejecución. Aparece en los nombres de las partes del CLR que se adaptaron específicamente para ejecutar el código .NET. Como te habrás enterado.

  • SOS, hijo de huelga. Una extensión de depurador que utiliza el DAC (componente de acceso a datos) para enlazar y revelar las estructuras de datos internas de CLR. Strike fue el nombre de una extensión de depurador que se usó para hacer funcionar la versión 1.0 de .NET, cuando tenía el nombre interno del proyecto Lightning. Lighting Strike, ya lo tienes. Se desarrolló como una herramienta de depuración general, convirtiéndose así en el hijo de Strike. DAC es visible desde la DLL de soporte de tiempo de ejecución mscordacwks.dll y el mensaje de error que aparece cuando intenta cargar un minidump que se creó con una revisión CLR diferente.

Los nombres de proyectos internos también son visibles de manera prominente en el código fuente de .NET Framework. .NET 1.0 era Lightning, .NET 1.1 era Everett, .NET 2.0 era Whidbey, WPF era Avalon, WCF era Indigo.

En este momento se está llevando a cabo un tipo similar de proyecto de alto rendimiento que involucra al CLR. Súper secreto, su nombre en clave es Midori. Poco se sabe al respecto, aparte de su objetivo de implementar un sistema operativo completo basado en código administrado. Un seguimiento del prototipo Singularity, por lo demás bien publicado.





sos