En software, ¿qué implica el término "Embebido"?


9

Así que he estado buscando profundizar mis conocimientos en la programación de hardware integrada y de nivel inferior, sin embargo, cada vez que busco trabajos que mencionan "incrustada" siempre es algo de alto nivel. Para mí, eso no tiene mucho sentido.

Entonces, ¿qué implica exactamente "incrustado"? Cuando pienso en embebido , pienso en la programación de microcontroladores de nivel inferior y tal. Si incrustado no es el título adecuado para esto, ¿qué debo buscar?

Respuestas:


4

Define lo que quieres decir con cosas de nivel superior. Escribir controladores y cualquier otro tipo de software que se comunique con el hardware es probablemente lo que la mayoría de la gente piensa cuando menciona el software incorporado. Si bien eso es parte de eso, es solo una pequeña parte. Una vez que tenga toda esa configuración, todavía queda toda la aplicación para escribir que probablemente nunca hable directamente con el hardware y, lo más probable, en la mayoría de los casos, esta es la mayor parte del esfuerzo de desarrollo. En cierto nivel, esto puede ser comparable a la programación de nivel "superior". Sin embargo, en el mundo incrustado probablemente esté trabajando bajo algunas restricciones, especialmente en términos de potencia computacional y memoria. Aquí hay una lista de cosas en las que pienso a diario que probablemente tengan menos importancia en el desarrollo de nivel superior en la mayoría de los casos.

  • Concurrencia de hilos (protección y tiempo)
  • Asignación de memoria y desasignación y uso
  • Gestión de montón (evitando fragmentación)
  • Cumplimiento de plazos en tiempo real
  • Hilo de priorización
  • Rendimiento I / 0
  • Transferencias DMA
  • Tamaños de pila
  • Rendimiento de la biblioteca
  • Funciones de idioma (las excepciones aumentan su código)

Además, las plataformas integradas tienden a ser altamente especializadas para lograr un objetivo específico en oposición a una PC que está diseñada para ser una plataforma para la computación de heterogeneidad general. Esto significa que probablemente tenga una gran cantidad de código personalizado que puede ser portátil o no.


7

De Wikipedia / Sistema integrado :

Un sistema integrado es un sistema informático diseñado para realizar una o unas pocas funciones dedicadas, a menudo con restricciones informáticas en tiempo real.

En resumen, el término puede aplicarse a cualquier tipo de sistema que no sea una PC de uso general. Esto puede variar desde simples microcontroladores hasta hardware de red y consolas de juegos modernas.

Si considera que "cosas de alto nivel" significa "usa un lenguaje de programación de alto nivel" o incluso "es un gran proyecto orientado a objetos", entonces, por supuesto, siempre es posible que pueda tener software de muy alto nivel en un sistema integrado .

En general, al especificar que su software estará en un sistema "Embebido", quiere decir que de alguna manera su software estará acoplado al sistema embebido, y tal vez no sea muy portátil.

Es un término muy amplio, de hecho. Algunas cosas que no esperaría escuchar llamadas "Embedded" serían software de PC, aplicaciones web y software de servidor en general. Sin embargo, no hay garantía de que el software incorporado excluya cualquier tipo de programación o diseño de alto nivel.


Además, podría señalar que el propósito de especificar que su software está incrustado es indicar que tendrá menos bibliotecas y soluciones existentes disponibles para construir su solución.
ProdigySim

+1. Ejemplos comunes para sistemas integrados son las computadoras en máquinas POS o ATM. Incluso si ejecutan sistemas operativos estándar como Windows o Linux.
nikie 05 de

1

Sospecho que está buscando trabajos donde "incrustado" significa "computadora en una caja", generalmente uno que realiza una tarea específica. Es muy probable que ejecute la mayoría de una distribución de Linux o un sistema operativo de Microsoft, pero será bastante completa y podrá usar IDE de GUI estándar, etc. La parte incrustada realmente viene cuando el dispositivo se envía como una grabadora de video multicanal, dispositivo de transmisión de medios o alarma antirrobo.

En estos días, puede hacer mucho procesamiento en un dispositivo de 1W, por lo que la definición de incrustado ha crecido en consecuencia. Pero incluso hace 20 años teníamos dispositivos integrados alimentados por batería que ejecutaban DOS bastante estándar y desarrollamos programas para ellos utilizando el IDE del día (los escáneres de códigos de barras Symbol tenían bibliotecas para C y Pascal, por ejemplo, así que utilizamos Turbo Pascal en Win3.1 para construir los ejecutables). Pero también enviamos "PC industriales" que arrancaron DOS y luego nuestro software, y la entrada se limitó a unos pocos botones impermeables grandes montados en una caja de acero inoxidable. La pantalla LCD de 15 "detrás del vidrio en esa caja significaba que teníamos muchas opciones de salida, pero conectar un teclado significaba abrir la caja (dentro de una fábrica de alimentos). Estas podrían considerarse integradas desde algunas perspectivas. Principalmente que el usuario tenía pocas opciones de recuperación de errores - Ciclo de potencia o no.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.