micromáquina

micromáquina 💾 tecnología que haces tú

Hemos hablado hasta cierto punto de los sistemas operativos y de cómo se ven desde el punto de vista del programador, a través de librerías estándar.

En uno de los anteriores artículos, cuando explicábamos un primer programa en C, hacíamos una referencia algo vaga a la programación de aplicaciones en contraposición a la programación de sistemas operativos, así:

[...] Eso no quiere decir que exista una forma práctica de ejecutar la versión en lenguaje C de paridad, o el “Hello, world!” en un ordenador sin sistema operativo; la forma de programar, construir y compilar sistemas operativos es algo que no se parece a lo que hemos visto en este artículo: que no se hace igual. Sin embargo, la capacidad está ahí, y la inmensa mayoría de los sistemas operativos modernos están escritos en C o en sus sucesores (como C++ y Objective C).

Hoy vamos a ver una de las características de los microprocesadores y de los sistemas operativos que explican esas diferencias fundamentales.

Leer más...

En este artículo vamos a seguir aprendiendo Python convirtiendo, poco a poco, nuestros programas en cosas más y más útiles.

En este caso vamos a mejorar la forma en la que nuestro programa paridad.py puede comunicarse con el sistema operativo recibiendo información a través de la línea de comandos, en lugar de utilizar simplemente la entrada estándar.

Leer más...

Los programas que hemos escrito en artículos anteriores tienen un pequeño problema, y es que no pueden crecer en su funcionalidad y tamaño de forma sostenible. Todas las sentencias de los programas estaban en la función principal, main, en el caso de C, o símplemente sueltas, en el cuerpo del programa, en el caso de Python.

Si quieres crear programas de una complejidad y funcionalidad mayores que las de los ejemplos anteriores, hay que hacer algo. ¿Te imaginas un sistema operativo completo que empieza y termina dentro de main()?

En este artículo vamos a dar un primer paso en la creación de programas modulares, usando funciones.

Leer más...

La mayoría de los libros acerca de lenguajes de programación empiezan analizando un ejemplo sencillo, que consiste en escribir el mensaje “Hello, world!”, “¡Hola, mundo!”, en la pantalla.

Éste sería el famoso programa:

#include <stdio.h>

int main () 
{
	printf("Hello, world!\n");
	return(0);
}

Sin embargo, en este artículo no vamos a discutir este programa, porque ya hemos visto conceptos mucho más avanzados en artículos anteriores. Lo que vamos a hacer es analizar una versión rudimentaria en C del programa paridad.py del artículo “Un primer programa en Python para entender cómo funciona un ordenador”, originalmente escrito en Python, comparando un poco ambos lenguajes.

Leer más...

Los ordenadores son máquinas que parecen muy complejas. Enciendes uno, y tras un rato y algún logotipo, el ordenador te ofrece un escritorio virtual. En él, puedes navegar por distintas opciones, menús, ventanas y pantallas usando el ratón o el teclado. Abrir aplicaciones, trabajar, jugar, comunicarte,... algo especial debe haber ahí, dentro de esas máquinas maravillosas, para que sean capaces de hacer todo eso. Desde luego, no parece algo sencillo de conseguir.

Como decía un amigo, “sí... y no”. Obviamente, los ordenadores son algo complejo que ha requerido décadas de trabajo y avances para llegar a ponerlos donde están. Sin embargo, y al mismo tiempo, el funcionamiento fundamental de los ordenadores es algo muy sencillo.

Leer más...

En Micromáquina vamos a empezar a programar muy pronto o, como mínimo, a ilustrar conceptos de ordenadores y sistemas operativos usando programas de ejemplo.

Si quieres practicar con los ejemplos y usar el contenido de Micromáquina para aprender a programar, conviene que instales unas cosas.

En este artículo tienes indicaciones para preparar tu ordenador, ya sea un PC o un Mac con Windows, un Mac con macOS, o un PC o Mac con GNU/Linux, y conseguir un entorno equivalente en cualquiera de esas tres alternativas. También hay una sección al final con los atajos de teclado esenciales del editor de textos Nano.

En cualquier caso, esto es opcional: mi intención es que los artículos puedan leerse (¿disfrutarse?) sin necesidad de programar, pero creo que obtendrás más de Micromáquina si te animas a probar cosas.

Leer más...

Llevo un tiempo devanándome los sesos para explicar, con un ejemplo lo suficientemente sencillo, qué es un sistema operativo.

Si eres parte de una vasta mayoría de la población mundial, un sistema operativo es mucho menos de lo que te crees. Mira este programa, escrito en lenguaje C:

#include <sys/types.h>
#include <unistd.h>

#include <stdio.h>

int main ()
{
        printf("PID: %d\n",
                getpid()
        );
        return 0;
}

No hace falta que entiendas el código, símplemente quiero llamar la atención sobre la línea que dice getpid(). Ése un ejemplo del tipo que estaba buscando.

Leer más...

Estoy moviendo micromáquina a mi propia instancia de WriteFreely.

Próximamente, más.

#meta

👉 Sigue a micromáquina en @gabriel@micromaquina.com 👉 Sigue a Gabriel Viso en @gabriel@fedi.gvisoc.com