ISTEMAS S OPERATIVOS PROCESOS COMUNICACIÓN ENTRE PROCESOS Todas las computadoras modernas pueden hacer varias cosas al mismo tiempo. Mientras ejecuta un programa de usuario, una computadora también puede leer un disco y enviar texto. Si bien la CPU solo puede ejecutar un programa en un instante determinado, a lo largo de un segundo puede trabajar en varios programas, lo que da al usuario la ilusión de paralelismo. El modelo de procesos: Es un modelo conceptual desarrollado por los diseñadores de sistemas operativos para poder explicar el paralelismo. En este modelo, todo el software ejecutable de la computadora se organiza en varios procesos secuenciales. Un proceso es un programa en ejecución e incluye los valores que tienen el contador de programa, los registros y las variables. Simulamos que cada proceso tiene su propia CPU virtual aunque en realidad la verdadera CPU cambia en forma continua de un proceso a otro. Esta conmutación se denomina multiprogramación. Con la CPU conmutando entre los procesos, la rapidez con que un proceso realiza sus cálculos no es uniforme ni reproducible si el proceso se ejecuta otra vez. Un proceso es una actividad de algún tipo: tiene entrada, salida y estado. Los sistemas operativos deben poder crear o destruir procesos que se van generando durante la ejecución. En Unix los procesos pueden crearse mediante una llamada a bifurcación FORK. Un proceso hijo también puede llamar a una instrucción FORK y así puede crearse un arbol de procesos. Estados de los procesos Cada proceso es una entidad independiente con su contador de programa, y estado interno pero en ocasiones necesitan interactuar con otros procesos. Un proceso podría generar salidas que otro proceso utiliza como entrada. Cuando un proceso se bloquea generalmente es porque está esperando la entrada de otros procesos que no están disponibles. Creación de procesos: No todos los procesos que se requieren durante operación de una PC están presentes desde cuando el sistema arranca. Hay cuatro sucesos principales que causan la creación de procesos: Inicialización del sistema Ejecución de una llamada al sistema para crear procesos por parte de un proceso en ejecución. Solicitud de un usuario para crear un proceso. Inicio de un trabajo por lotes. (1)Cuando se arranca un sistema operativo, se crean varios procesos. Algunos son de primer plano (procesos que interactuan con usuarios). (2) Otros son de segundo plano (tienen una función específica) Estos procesos que quedan en segundo plano como por ejemplo para recibir correo electrónico entrante o para aceptar solicitudes de páginas web albergadas en nuestro equipo se llaman “daemons” (demonios). En Windows se pueden ver usando el administrador de tareas. (3) Un proceso en ejecución puede crear llamadas a otros procesos que lo ayuden a realizar su labor. Esto tiene utilidad especial cuando varios procesos están relacionados pero son independientes. Ej. descarga de gran cantidad de datos, proceso de esos datos (suma, resta, etc.) en otro proceso. (4) Solicitud del operador haciendo clic en un ícono o escribiendo un comando. En Unix la llamada al sistema para crear un proceso se llama fork. En Windows una llamada de Win32, CreateProcess se encarga de crear el proceso y de cargar el programa correcto dentro del proceso creado. Terminación de Procesos: Todo proceso termina y puede ser debido a las siguientes condiciones: Terminación normal Terminación por error Error Fatal Terminado por otro proceso. Terminación normal: Cuando se termina de ejecutar un programa se envía una ...
Leer documento completo
Regístrate para leer el documento completo.