Unidad 2 Aso Resumen
Unidad 2 Aso Resumen
Unidad 2 Aso Resumen
Un proceso puede ser pensado como un programa en ejecución, el cual necesita recursos los
cuales se les asignan cuando el proceso se crea o se esta ejecutando. Es la unidad de trabajo en
la mayoría de los sistemas, los cuales consisten en procesos del sistema operativo y procesos de
usuario.
Un proceso es más que el código de un programa, conocido como sección de texto, incluye la
actividad actual, representada por el contador del programa y el valor de los registros del
procesador. Generalmente también incluye la pila o stack de proceso que contiene datos
temporales y una sección de datos que incluyen variables globales. Puede incluir también un
heap, memoria asignada dinámicamente durante la ejecución.
Un programa en si mismo no es un proceso, es una entidad pasiva con una lista de
instrucciones. Un proceso es una entidad activa con un contador de programa que especifica la
siguiente acción a ejecutar, y un conjunto de recursos asociados. Un programa se convierte en
un proceso cuando se carga en la memoria. Si bien dos procesos pueden estar asociados al
mismo programa, se consideran dos secuencias de ejecución separadas. También es común que
de un proceso se engendren otros.
Un proceso en si mismo puede ser un entorno de ejecución para otro código. En cualquier
instante, mientras un proceso esta en ejecución se puede caracterizar por una serie de
elementos:
Estados de un proceso:
El control de procesos describe el comportamiento que se desea que tengan los procesos. Se
puede construir el modelo mas simple posible describiendo si un proceso se esta ejecutando o
no. Cuando el SO crea un nuevo proceso, crea un nuevo BCP el cual inserta el nuevo proceso en
el sistema en estado NO EJECUTADO. En algún momento el proceso actualmente en ejecución
se interrumpe y el activador selecciona a otro para ejecutarlo.
Existe información correspondiente a cada proceso que indica su estado actual y su localización
en memoria. Esto es su BCP. Os programas que no se están ejecutando permanecen en la cola
en este modelo.
Se puede modelar la existencia de una sola cola cuyas entradas son punteros al BCP de un
proceso. Alternativamente, la cola debe consistir en una lista de bloques de datos, en la cual
cada bloque representa un proceso. En este modelo, el activador selecciona un proceso a
ejecutar cuando el proceso anterior acabo.
Terminacion de un proceso:
Todo sistema debe proporcionar los mecanismos mediante los cuales un proceso finaliza o se
completa. En un sistema de trabajo por lotes debe incluir una instrucción HALT. En un sistema
de tiempo compartido el proceso de un usuario puede terminar cuando se apaga la terminal.
Finalizacion normal.
Tiempo excedido.
Memoria no disponible.
Violaciones de frontera.
Errores de protección.
Error aritmético.
Falla de E/S.
Instrucción no valida.
Instrucción privilegiada.
Finalizacion de un proceso padre.
A solicitud del proceso padre.
A solicitud de un proceso autorizado.
Planificación de procesos:
El sistema operativo controla los eventos dentro de la computadora. Planifica y activa los
procesos para su ejecución por el procesador. Reserva recursos para los mismos y responde a
solicitudes de servicios básicos de los procesos de usuario.El objetivo de la multiprogramación
es tener en ejecución a varios procesos al mismo tiempo.
Los sistemas de tiempo compartido tienen como objetivo conmutar la CPU entre los distintos
procesos con la frecuencia suficiente para que los usuarios puedan interactuar con cada
programa mientras el proceso se ejecuta.
El Planificador de procesos selecciona un proceso disponible para ejecutarlo en la cpu. En los
sistemas de un solo procesador no hay mas de un proceso en ejecución. Los procesos
subsiguientes esperan en cola.