Skip to main content

¿Qué es la programación del sistema?

Todos los programadores escriben código ejecutable para computadoras, pero lo que diferencia a los programadores del sistema de los programadores de aplicaciones es el propósito del software que escriben. La programación de aplicaciones produce software que hace que el hardware de una computadora genere algo para el usuario, ya sea una hoja de cálculo o los gráficos de un juego. La programación del sistema produce software que accede y controla el funcionamiento interno del hardware y el sistema operativo de una computadora.

La programación de aplicaciones generalmente implica la emisión de comandos del sistema para utilizar las funciones básicas del hardware y el sistema operativo de una computadora, como el almacenamiento de una pieza particular de datos en la memoria física de la computadora o un archivo en el disco duro. Este tipo de programas no tiene que ver con los detalles de cómo funciona el disco duro o la memoria física. Por el contrario, los programadores de sistemas se preocupan por los detalles de cómo funcionan un sistema operativo y componentes de hardware. Esto les permite construir el software que desfragmenta los discos duros y verifica la integridad de la memoria física de una computadora.

Además de poder construir tales herramientas, los programadores de sistemas suelen ser expertos en el funcionamiento central de los sistemas operativos. Todos los programadores están familiarizados con las llamadas al sistema, la gestión de subprocesos y el manejo de entrada / salida, pero la programación del sistema requiere que el ingeniero de software pueda manipular estos mecanismos del sistema operativo. Esto permite que un programador del sistema realice instalaciones especializadas y automatice las tareas de mantenimiento del sistema.

El conocimiento del núcleo de un sistema operativo también es necesario para maximizar el rendimiento de una aplicación en una configuración de hardware particular. Por ejemplo, los minoristas en línea muy ocupados necesitan que sus sitios web y sistemas de procesamiento de transacciones funcionen de la manera más eficiente y confiable posible. Usando su conocimiento sobre la mecánica interna de los sistemas operativos y componentes de hardware, como cómo hacer que un sistema operativo particular optimice su manejo de hilos o qué algoritmos se ejecutan más rápido en qué componentes de hardware, un programador del sistema puede ayudar a ajustar el rendimiento de una aplicación.

Este acceso detallado al funcionamiento interno del hardware y los componentes del sistema operativo requiere que la programación del sistema se realice en un lenguaje que permita este tipo de acceso de hardware de bajo nivel. Lenguajes como Java®, Python ™ o Ruby on Rails® son lo que los programadores llaman lenguajes de alto nivel. Esto significa que facilitan la programación de aplicaciones al no hacer que el programador maneje los detalles finos de la administración de hardware. La programación del sistema requiere exactamente este tipo de acceso, por lo que los programadores del sistema usan un lenguaje de bajo nivel como C o C ++.