You are on page 1of 4

PROCESOS

De entre los temas vistos anteriormente en clase, podemos mencionar


que el concepto central de cualquier sistema operativo es el proceso: el
cual ya sabemos que no es más que la abstracción de un programa en
ejecución.

Como ya conocemos una computadora es capaz de realizar diversas


operaciones al mismo tiempo, es decir, podemos tener un programa en
ejecución, alguna aplicación de algún juego, estar leyendo un disco y al
mismo tiempo enviando un mensaje de texto a alguna impresora, esto
da a entender al usuario que el CPU puede realizar varias tareas en
milisegundos sin problemas y crea a los usuarios la ilusión del
paralelismo. Debido a que las personas no podemos realizar diversas
labores en paralelo surgen la creación de sistemas operativos con
procesos secuenciales para tratar con este problema, que es de lo cual
tratan los siguientes temas.

Modelo de Procesos.

Este tema nos dice que todo el software de la computadora, en


ocasiones el sistema operativos se organiza en procesos secuenciales o
bien como los conocemos en procesos. Podemos decir conceptualmente
que cada proceso tiene su propia CPU que ejecuta la tarea a realizar,
pero en realidad no es así, solamente tenemos una CPU que realiza
todas estas tareas cambiando de forma continua de un proceso a otro, a
esto se le denomina multiprogramación.

Los procesos realizados por la CPU no pueden tener un tiempo


programable para su ejecución debido a que podría causar errores o
incumplimiento de dicha tarea.

La diferencia entre un proceso y un programa es fácil de explicar, por


ejemplo consideremos a un computólogo con aficiones culinarias que
esta horneando un pastel para su hija, tiene dicha receta para crear el
pastel y una cocina con todos los materiales necesarios, harina, huevos,
leche, etcétera. La receta es el programa expresado en un lenguaje
apropiado, y el computólogo es el procesador (CPU) y los ingredientes
del pastel son las entradas de los datos. El proceso es la actividad que
realiza el repostero cuando lee la receta, toma los ingredientes y hornea
el pastel. Ahora bien imaginemos que el hijo menor de dicho repostero
entra a la cocina llorando porque una abeja lo ha picado, en ese instante
toma NOTA de donde se quedo en la preparación del pastel (guarda el
estado del proceso actual) y pasa a otro proceso que es la atención
medica, para lo cual realizaría lo anteriormente mencionado, toma un
libro de primeros auxilios y lo comienza a leer y así hasta terminar el
proceso de mayor prioridad y una vez finalizado regresa a terminar
siguiendo del estado almacenado en la creación del pastel.

Es otras palabras todo proceso se basa en una entrada, salida y estado.


Donde varios procesos los realiza solamente un procesador y mediante
un algoritmo se determina cuando un proceso es prioritario para
realizarlo de manera inmediata y continuar con los demás.

Creación de Procesos.

La creación de procesos es la manera en que el sistema operativo


reconoce que hay una creación de un proceso en el sistema, de las
cuales tenemos 4 principales:

1. Inicialización del Sistema.- Donde encontramos dos tipos de


procesos al arranque del sistema:

• Primer plano: Son los procesos que interactúan con los


usuarios y
trabajan para ellos.
• Segundo plano: No están asociados con los usuarios pero tienen
una
función específica.

2. Ejecución de una llamada al sistema para crear procesos por parte


de un proceso en ejecución.- Como su nombre lo menciona es
donde un proceso realiza a otro proceso una llamada para el
término de su tarea de una manera más rápida.

3. Solicitud de un usuario para crear un proceso.- Los usuarios tienen


la posibilidad de mandar a ejecutar algún programa lo cual inicia
un proceso que se realiza según las peticiones del usuario.

4. Inicio de un trabajo por lotes.- Se refiere a los trabajos que realiza


el sistema operativo, cuando decide que tiene los recursos
necesarios para ejecutar otro trabajo, crea el proceso y ejecuta en
él el siguiente trabajo de la cola de entrada.

Terminación de procesos.

Como todo en la vida, los procesos también tienen un fin y por lo regular
son debido a alguna de las siguientes condiciones:
1. Terminación normal (voluntaria).- que es cuando un proceso
termina normalmente una vez que se ha ejecutado de manera
correcta.

2. Terminación por error (voluntaria).- cuando un proceso tiene un


error, puede ser porque el usuario tecleo algún comando no
valido.

3. Error fatal (involuntaria).- cuando un error es causado por el


proceso, probablemente por algún defecto del programa o una
dirección no existente o dividir entre cero.

4. Terminación por otro proceso (involuntaria).- que es cuando otro


proceso pide al sistema que termine con el proceso en ejecución
de manera inmediata.

Estados de procesos.

En los estados de procesos encontramos el siguiente diagrama:

En 1. El proceso se bloquea
para esperar entrada.
Ejecución 2. El calendarizador escoge
otro proceso.
3. El calendarizador escoge
2 este proceso.
1
4. Ya hay entrada
3

Bloqueado Listo

El estado en ejecución es: en realidad, usando la CPU en ese instante.


El estado listo es: que puede ejecutarse; es detenido en forma temporal
para permitir que se ejecute otro proceso.
El estado bloqueado es: que no puede ejecutarse mientras no ocurra
cierto suceso externo.

Implementación de procesos.

Para el modelo de procesos es necesario los pasos que realiza poco a


poco dicho proceso para realizarse, es decir, toda la información acerca
del estado del proceso, su contador de programa, apuntador de pila,
asignación de memoria, estado de sus archivos abiertos, información
contable y de calendarización, y todas las demás cosas que deben
guardarse cuando el proceso pasa del estado en ejecución al listo o
bloqueado.

Para esto en la siguiente imagen están los campos más importantes de


un sistema típico.

Administración de Administración de Administración de


procesos. memorias. archivos.

Registros Apuntador a segmento de Directorio raíz


Contador de programa texto Directorio de trabajo
Apuntador de pila Apuntador a segmento de Descriptores de archivo
Estado de proceso datos ID de usuario
Apuntador a segmento de pila
Prioridad ID de grupo
Parámetros de
calendarización
ID de procesos
Proceso padre
Grupo de procesos
Señales
Hora de inicio del proceso
Tiempo de CPU consumido
Tiempo de CPU de los hijos
Hora de la siguiente
alarma

You might also like