Treinta pequeños pasos dentro de un ordenador
El curso de OpenKernel
Comprende una idea, pruébala en una CPU visible y resuelve un reto comprobado por la máquina. Empieza con tres instrucciones y termina con tus propios programas.
Sin cuenta ni instalación. Una lección se completa cuando tu programa supera todos los casos del reto. Progreso e insignias quedan en este navegador.
Empezar la lección 1 → Abrir el laboratorio libre
Tu progreso
El progreso se carga en tu navegador.
Completa una unidad para obtener su insignia. Las insignias reflejan retos superados, no visitas.
Navegar en privado, borrar los datos del sitio o cambiar de dispositivo puede eliminar el registro local. Puedes estudiar las lecciones en cualquier orden.
Unidad 1 · unos 20 minutos
Conoce la máquina
Explica la búsqueda y ejecución, los registros, el PC, la salida y la detención.
0 de 3 retos comprobados completos
- Tu primer programa con emoji · 5 minutos
Carga un número en la CPU, imprímelo y detén el programa.
- Comprender los registros · 8 minutos
Usa los ocho espacios de trabajo rápidos sin perder un valor.
- Seguir el contador de programa · 7 minutos
Lee una traza y distingue las líneas de código de las direcciones de instrucción.
Unidad 2 · unos 28 minutos
Aritmética y entrada
Construye cálculos con enteros, entradas guardadas y casos de prueba.
0 de 3 retos comprobados completos
- Matemáticas con emoji · 9 minutos
Combina suma, resta y multiplicación en pasos ordenados.
- División y restos · 9 minutos
Explica el redondeo hacia menos infinito y el resto con signo, también con negativos.
- Una calculadora de dos entradas · 10 minutos
Construye una calculadora reutilizable en lugar de una respuesta fija.
Unidad 3 · unos 28 minutos
Memoria de bytes
Distingue valores y direcciones, y lee y escribe almacenamiento de bytes.
0 de 3 retos comprobados completos
- Memoria: el cuaderno del ordenador · 10 minutos
Guarda un byte y recupéralo de verdad después de sobrescribir R0.
- Direcciones en registros · 9 minutos
Usa una dirección como dato y lee una tabla de consulta.
- Bytes y límites · 9 minutos
Observa por qué la memoria reduce valores y los registros no.
Unidad 4 · unos 29 minutos
Decisiones e indicadores
Usa comparación, resto y caminos etiquetados para expresar decisiones.
0 de 3 retos comprobados completos
- Lógica condicional: tomar decisiones · 10 minutos
Compara valores y elige un camino con un indicador guardado.
- Par o impar · 9 minutos
Usa el resto y una bifurcación para clasificar una entrada.
- Una decisión basada en memoria · 10 minutos
Decide a partir de datos guardados y registra el resultado.
Unidad 5 · unos 34 minutos
Repetición y contadores
Usa bucles acotados, casos de cero, contadores y acumuladores.
0 de 3 retos comprobados completos
- Bucles: repetir acciones · 10 minutos
Empareja LOOP con RETURN y trata correctamente las cero repeticiones.
- Construir un contador · 12 minutos
Imprime del 1 al 10 y generaliza el recuento.
- Sumar de uno a N · 12 minutos
Mantén el acumulador separado del contador del bucle.
Unidad 6 · unos 42 minutos
Algoritmos con estado
Describe y examina invariantes del factorial, Fibonacci y la copia invertida.
0 de 3 retos comprobados completos
- Factorial e invariantes de bucle · 12 minutos
Usa un acumulador multiplicativo y explica por qué 0! es 1.
- La sucesión de Fibonacci · 15 minutos
Conserva dos valores anteriores y actualízalos en un orden seguro.
- Invertir un búfer de memoria · 15 minutos
Copia un búfer al revés con punteros de origen y destino.
Unidad 7 · unos 39 minutos
La pila y las funciones
Usa datos LIFO, marcos de llamada y convenciones de guardar y restaurar.
0 de 3 retos comprobados completos
- La pila: último en entrar, primero en salir · 12 minutos
Guarda valores en la pila de datos y recupéralos en orden inverso.
- Llamar a una subrutina · 12 minutos
Reutiliza código y vuelve a la instrucción posterior a CALL.
- Conservar el estado de quien llama · 15 minutos
Usa una convención de guardar y restaurar cuando una función necesita espacio temporal.
Unidad 8 · unos 39 minutos
Bits y representación
Selecciona y alterna bits, y explica el comportamiento de 32 bits con signo.
0 de 3 retos comprobados completos
- Máscaras de bits e indicadores · 12 minutos
Selecciona bits con AND y actívalos con OR.
- Alternar bits · 12 minutos
Usa el cambio reversible de XOR para actualizar una opción guardada.
- Bits con signo y el valor mayor · 15 minutos
Comprende NOT y comprueba una diferencia con una máscara de signo.
Unidad 9 · unos 45 minutos
Planificación, núcleos y eventos
Distingue políticas de planificación, reparto de trabajo y restauración del estado tras un manejador.
0 de 3 retos comprobados completos
- Planificación cooperativa · 15 minutos
Alterna tareas y distingue las políticas de las instrucciones de CPU.
- Repartir trabajo entre núcleos · 15 minutos
Divide trabajos independientes y combina sus resultados.
- Interrupciones y manejadores · 15 minutos
Atiende un evento y restaura el valor de la tarea interrumpida.
Unidad 10 · unos 56 minutos
Construye pequeños programas
Combina las instrucciones en un juego, una utilidad de búfer y un despachador de trabajos.
0 de 3 retos comprobados completos
- Un pequeño juego de aciertos · 18 minutos
Construye un juego de tres rondas con estado guardado y puntuación.
- Una utilidad de búfer con pila · 18 minutos
Combina entrada, bucles, pila y almacenamiento por índices.
- Tu propio minisistema operativo · 20 minutos
Despacha trabajos en cola a servicios reutilizables y registra sus resultados.