¿Qué pasa cuando se ejecuta un programa?
Haz doble clic en el icono de una app y el programa "se ejecuta." Pero ¿qué es exactamente ejecutar? Es el momento en que un archivo que estaba quieto se vuelve algo vivo y en movimiento.
Un programa y ejecutarlo son distintos
Primero, distingue dos cosas.
Una es el programa.
Un archivo quieto
en el almacenamiento.
La otra es él en estado de ejecución.
Vivo y en movimiento ahora mismo,
haciendo trabajo.
Una receta en papel
frente a cocinar en proceso,
esa es la diferencia.
Programa (código)
Un archivo quieto en el almacenamiento. Como una hoja con una receta escrita.
Proceso (en ejecución)
Ese programa realmente en marcha. Cocinando mientras se lee la hoja.
Dos que parecen iguales pero no.
Un programa que se ejecuta,
esto se llama proceso.
Igual que la misma receta
tiene que empezar a cocinarse
antes de que suba vapor y olor,
un programa también tiene que ejecutarse
antes de empezar el trabajo real.
Ejecútalo y nace un proceso
En el momento del doble clic,
el sistema operativo se pone a trabajar.
Carga el código del almacenamiento
a la memoria,
y lo despierta:
"bien, empieza ahora."
Este estado despierto
es un proceso.
Prueba a ejecutarlo tú mismo.
Pulsa el botón de ejecutar.
El archivo se queda como está.
Una copia sube a la memoria
y se vuelve un proceso.
Así que aunque apagues y enciendas
la misma app,
el archivo original no cambia.
Un proceso tiene su propio lugar
Cuando nace un proceso,
el sistema operativo le da un lugar.
"Tú usa estas celdas de memoria."
La memoria con direcciones
que aprendimos en el área anterior.
Cada proceso
obtiene su propio espacio de trabajo,
por separado.
Cada proceso tiene su propio espacio de memoria.
Como los lugares son separados,
no se interfieren entre sí.
Aunque una app se congele de repente,
otra app está bien.
Para que lo tuyo y lo mío
no se mezclen,
el sistema operativo los dividió.
Puedes abrir muchas copias de la misma app
Hay un punto interesante.
Hay un programa,
pero puede haber muchos procesos.
Abre tres ventanas del navegador
y del mismo programa,
se han hecho tres procesos.
Abre más ventanas.
Cada ventana que abres es un proceso más.
Igual que una hoja de receta
cocina en varias ollas a la vez,
un programa
puede correr muchos procesos.
Cada uno trabajando por separado
en su propio espacio.
El sistema operativo los gestiona a todos en una lista
El sistema operativo
tiene cada proceso en ejecución
en una lista.
Cómo se llama,
cuánto trabaja,
cuánta memoria usa.
Cuando una computadora se vuelve lenta,
lo que ves en el "administrador de tareas"
es exactamente esta lista.
El SO les da a todos un número (PID) y gestiona cada uno por separado.
Cada proceso
está vivo en su propio espacio,
y el sistema operativo lleva la cuenta
de todos en una lista.
Pero solo hay un juego de partes,
así que ¿cómo corren a la vez
tantos procesos?
La próxima vez desentrañamos ese secreto.