Sistemas & Desarrollo
105 meneos
2348 clics

El desplazador de barril (barrel shifter) del Intel 80386 [ENG]  

Actualmente estoy construyendo un núcleo compatible con 80386 en SystemVerilog, impulsado por el microcódigo Intel original extraído del silicio 386 real. El modo real ya está operativo en simulación, con más de 10.000 casos de prueba de una sola instrucción superados con éxito y se está trabajando en funciones del modo protegido. En el transcurso de este trabajo, se han examinado en detalle los rincones del microcódigo 386 y del silicio; esta serie documenta los hallazgos resultantes.
62 43 0 K 114
62 43 0 K 114
152 meneos
2182 clics
La pila de entrada en Linux, una descripción general de la arquitectura de un extremo a otro [ENG]

La pila de entrada en Linux, una descripción general de la arquitectura de un extremo a otro [ENG]

Exploremos y desofusquemos la pila de entrada en Linux. Nuestro objetivo es comprender sus componentes y lo que hace cada uno. El manejo de entradas se puede dividir en dos partes, separadas por una capa común: gestión a nivel de kernel, la capa media (exposición) y la gestión en espacio de usuario. Intentaremos darle sentido a todo esto, una cosa a la vez, con un enfoque lógico y coherente.
84 68 0 K 72
84 68 0 K 72
68 meneos
279 clics
UTF-8 es un diseño brillante [ENG]

UTF-8 es un diseño brillante [ENG]

La primera vez que aprendí sobre la codificación de UTF-8 me fascinó lo bien pensado y brillantemente diseñado para representar a millones de caracteres de diferentes idiomas y aún así ser compatible con ASCII. Básicamente, UTF-8 usa 32 bits y el antiguo ASCII usa 7 bits, pero UTF-8 está diseñado de tal manera que cada archivo codificado ASCII es un archivo UTF-8 válido, y cada archivo codificado UTF-8 que solo tiene caracteres ASCII es un archivo ASCII válido. Diseñar un sistema que escala a millones de caracteres y que aún sea compatible con los sistemas antiguos que usan solo 128 caracteres es un diseño brillante.
58 10 0 K 105
58 10 0 K 105
11 meneos
243 clics
En contra del formato Markdown [ENG]

En contra del formato Markdown [ENG]

Markdown es este lenguaje de marcado ligero. Todo el mundo (relativamente; entre programadores, escritores y otros "usuarios avanzados") lo utiliza. Los LLM lo usan. Así que está destinado a comerse el mundo. Pero eso no significa que Markdown sea bueno. Ya he criticado a Markdown antes. Pero ese texto no envejeció bien, por razones no relacionadas con Markdown. Así que decidí que mi aversión por Markdown debería tener un nuevo hogar literario. Aquí hay razones por las que no me gusta este lenguaje de marcado incompleto y con fugas.
9 meneos
155 clics
Presentación de IncusOS, sistema operativo inmutable para ejecutar Incus [ENG]

Presentación de IncusOS, sistema operativo inmutable para ejecutar Incus [ENG]  

IncusOS es una imagen moderna e inmutable del sistema operativo diseñada específicamente para ejecutar Incus. Proporciona actualizaciones atómicas a través de un mecanismo de actualización A/B que utiliza particiones distintas y aplica la seguridad de arranque a través de UEFI Secure Boot y un módulo TPM 2.0. Debajo del capó está construido sobre una base mínima de Debian 13, utilizando las compilaciones Zabbly del kernel de Linux, ZFS e Incus, proporcionando las últimas versiones estables de todos ellos.
7 meneos
140 clics
Ubuntu 26.04 se parecerá más a GNOME Shell [ENG]

Ubuntu 26.04 se parecerá más a GNOME Shell [ENG]

El equipo de diseño gráfico del tema gráfico Yaru de Ubuntu está llevando a cabo una refactorización de su hoja de estilo de GNOME Shell antes de la próxima versión de soporte a largo plazo, Ubuntu 26.04 LTS, que saldrá en abril e incluirá GNOME 50. En lugar de continuar manteniendo una hoja de estilo personalizada para GNOME Shell, utilizará el tema predeterminado y aplicará los cambios que desee sobre el tema original de GNOME sin modificarlo directamente.
6 meneos
132 clics
Mission Center versus Resources: el enfrentamiento definitivo entre monitores de sistemas Linux [ENG]

Mission Center versus Resources: el enfrentamiento definitivo entre monitores de sistemas Linux [ENG]  

El ecosistema de aplicaciones GNOME está en auge estos días. Cualesquiera que sean sus necesidades, probablemente exista una aplicación para ello. O dos. ¡O tres (no es broma)! Dos de las aplicaciones más elegantes para monitorizar su sistema (acertadamente llamadas "monitores de sistema", por supuesto) son Mission Center y Resources. Ambos usan libadwaita para proporcionar imágenes elegantes, GUI responsivas y funcionalidad familiar para el entorno de escritorio GNOME. Pero, ¿cuál es el adecuado para ti?
6 meneos
121 clics
Nuevo sistema operativo con microkernel en 10 días: de cero a Google Compute Engine [ENG]

Nuevo sistema operativo con microkernel en 10 días: de cero a Google Compute Engine [ENG]

Me tomé una semana libre para disfrutar de un experimento: si reuniera todo el conocimiento y las tecnologías modernas, ¿cómo sería un sistema operativo microkernel de uso general en 2026? Mi objetivo era hacerlo funcionar en Google Compute Engine y ¡está funcionando! Utilicé un LLM (GPT-5.2-Codex) para revisar y depurar mi código, no para codificación agente. Esta creación de prototipos estuvo llena de preguntas abiertas y decisiones de diseño, donde el objetivo no está claro para el LLM, ni siquiera para mí.
16 meneos
110 clics
La sincronización del reloj es una pesadilla [ENG]

La sincronización del reloj es una pesadilla [ENG]

El tiempo parece simple, pero a los ingenieros nos quita el sueño algo tan básico como mantener sincronizados los relojes. La respuesta está en esta simple afirmación: no existe un reloj global. Cuando tienes miles de máquinas repartidas en centros de datos, continentes y zonas horarias, cada una de las cuales funciona de forma independiente, la pregunta de "¿qué hora es?" se vuelve sorprendentemente compleja. La sincronización del reloj es el núcleo de algunos de los problemas más desafiantes en los sistemas distribuidos y afecta a todo.
12 meneos
101 clics

io_uring para bases de datos de alto rendimiento: cómo y cuándo utilizarlo [ENG|PDF|1,5 MB]

Estudiamos cómo los sistemas de bases de datos modernos pueden aprovechar la interfaz io_uring de Linux para lograr una E/S eficiente y con baja sobrecarga. io_uring es una interfaz de lotes de llamadas al sistema asíncronas que unifica las operaciones de almacenamiento y red, abordando las limitaciones de las interfaces de E/S existentes en Linux. Sin embargo, la simple sustitución de las interfaces de E/S tradicionales por io_uring no siempre reporta beneficios en cuanto al rendimiento.
« anterior1234

menéame