ssoo
Up
Definición de Proceso
Modelo de Procesos
Operaciones sobre Procesos
Cambio de Contexto
Procesos Cooperantes
Threads
Operaciones sobre Procesos
Los procesos en el sistema pueden ejecutarse concurrentemente y deben ser creados y borrados dinamicamente. Asi el sistema de operación debe crear un mecanismo para la creación y terminación de procesos.
Creación de procesos
Cuando unnuevo proceso se agrega a los que actualmente están siendo administrados, el sistema de operación construye las estructuras de datos que son usadas para administrar los procesos (PCB) y le asigana espacio de direcciones. Estas acciones constituyen la creación de un nuevo proceso.
Hay 4 eventos comunes que conducen a la creación de procesos:
En un ambiente batch, un proceso es creado en respuestaal sometimiento a ejecución de un trabajo (job). El sistema de operación tomará el próximo trabajo a ser ejecutado y creará el respectivo proceso.
En un ambiente interactivo, un proceso es creado cuando un nuevo usuario entra al sistema (log on), se crea un proceso shell que espera las órdenes del usuario. La creación de este proceso es responsabilidad del sistema de operación.
El sistema deoperación puede crear un proceso para que realice una función en respuesta a una petición de un programa usuario, sin que el usuario tenga que esperar. Por ejemplo, si un usuario requiere que se imprima un archivo, el SO puede crear un proceso que maneje esta impresión, mientras que el proceso que realizó la petición puede continuar independientemente del tiempo requerido para completar la tareade impresión.
Creación de procesos hijos por parte de procesos usuarios ya existentes: para propósitos de modularidad o para explotar paralelismo, un programa usuario puede crear un conjunto de procesos hijos. El proceso que crea se llama proceso padre.
Cuando un proceso crea un hijo hay dos posibilidades en términos de ejecución:
El proceso padre continua ejecutándose concurrentemente con sushijos
El proceso padre espera a que alguno o todos los hijos terminen.
También hay dos posibilidades en términos de espacio de direcciones del nuevo proceso:
El proceso hijo es un duplicado del proceso padre (Unix).
El proceso hijo tiene su propio programa cargado (DEC VMS).
Así mismo, referente a los recursos, en algunos sistemas los recursos del padre son compartidos con sus hijos y enotros sistemas, como UNIX, el sistema le otorga recursos nuevos e independientes a los procesos hijos. La creación de procesos hijos en UNIX, se realiza a través de la llamada al sistema fork().
En el proceso de creación de procesos se genera una jerarquía de procesos padres e hijos.
Terminación de procesos
Implica la liberación de los recursos que este proceso estaba usando.
Un proceso puedeterminar por las siguientes razones:
En forma normal: exit(), Halt(): llamadas al sistema que desasigna los recursos del proceso.
Excede el tiempo límite
Memoria no disponible: el proceso requiere más memoria de la que el sistema puede proveerle.
Violación de límites: el proceso trata de accesar una dirección de memoria que no se le permite accesar.
Error de protección: el proceso trata deusar un recurso o un archivo que no le es permitido acceder, o trata de usarlo en forma incorrecta (por ejemplo, escribir en un archivo read-only).
Errores aritméticos
Falla de E/S
Instrucción inválida
Instrucción privilegiada
Error en dato: una pieza de dato tiene un tipo erroneo o no está inicializada.
Intervención del SO u operador.
Terminación del padre: cuando un proceso termina, el SOpuede terminar automáticamente todos sus procesos hijos. Algunos sistemas realizan terminación en cascada; esto es, si un proceso termina todos sus hijos son automáticamente terminados.
Requerimiento del padre: un proceso padre tiene la autoridad para terminar cualquiera de sus procesos hijos.
Up
Definición de Proceso
Modelo de Procesos
Operaciones sobre Procesos
Cambio de Contexto...
Regístrate para leer el documento completo.