Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

279
Vistas
¿Cómo se programan las interfaces gráficas de bajo nivel?

Recientemente, he estado experimentando con cosas como Arch Linux y esto planteó algunas preguntas. Constantemente veo el uso de gráficos en partes de muy bajo nivel de un sistema operativo (cosas como GRUB o casi todos los menús de inicio). Algunos de estos incluso cuentan con imágenes. También puedo ver la manipulación gráfica en cosas como el comando "pacman", donde la barra de carga cambiará sin alterar el texto que está encima. Otro ejemplo sería un programa como cfdisk. Me gustaría saber cómo se programan este tipo de funciones.

Editar: con esto me refiero a qué llamadas al sistema se utilizan para hacer esto posible.

Menú de arranque

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Este tipo de cosas eran muy comunes en MSDOS cuando estaba aprendiendo a programar. Había un conjunto de modos básicos de pantalla de hardware a los que se podía acceder a través de sencillas instrucciones de montaje.

Para aquellos que admiten juegos de caracteres ASCII, fue posible modificar las imágenes de glifos reales para los caracteres en la memoria. Cada carácter disponible era un mapa de bits simple, que podía modificarse en la memoria para que se viera como quisiera.

Por ejemplo, en los modos de pantalla a color (p. ej., CGA, EGA), el texto podría representarse a través de un área de memoria específica donde un byte especificaba el carácter y el otro byte especificaba un color (primer plano y fondo como 4 bits cada uno para EGA). Simplemente escribe los valores allí y se muestran en la pantalla. Si hubiera modificado su tabla de caracteres, se mostrarían los caracteres modificados.

No puedo creer que recordé esto hace un momento, pero la dirección de memoria A000 aparentemente está grabada en mi cerebro. Puede leer más en https://en.wikipedia.org/wiki/Enhanced_Graphics_Adapter

Por supuesto, hay modos de pantalla más altos que admiten la escritura de píxeles reales, y así es como solíamos escribir juegos. Famosamente, el modo VGA de 320x200 fue súper fácil y rápido para obtener gráficos animados "realistas" y suaves en 256 colores alucinantes sin preocuparse por los planos de bits ni nada.

Y esto es esencialmente lo que está sucediendo en el nivel bajo. El soporte de BIOS para estos modos gráficos olvidados existe desde hace mucho tiempo, pero el hardware moderno nos ha abstraído de tales modos y ahora tendemos a comunicarnos directamente con las tarjetas gráficas a través de un controlador o abstracciones del sistema operativo.

over 4 years ago · Santiago Trujillo Denunciar

0

Aprendí bastante sobre cómo inicializar y operar en modos gráficos de acceso directo a memoria de bajo nivel del venerable Fractint (el original se ejecutó en DOS). Todas las cosas buenas están en un archivo llamado video.asm. Además de EGA/VESA et. al., También manejó algunas de las tarjetas gráficas disponibles en ese momento, como Hercules.

Eligieron el servidor X para portarlo a Linux como XFractint. Gran parte de la apariencia original y el espíritu de la aplicación siguen siendo los mismos. Esta es probablemente una manera buena y segura de comenzar.

Para un nivel más bajo, puede probar SVGAlib (no he probado esto). La mayoría de los gráficos de bajo nivel de Linux del kernel parecen estar usando extensiones VESA BIOS .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda