Download Gestión de Procesos

Document related concepts

Planificador wikipedia , lookup

Inanición (informática) wikipedia , lookup

Bloqueo mutuo wikipedia , lookup

Comunicación entre procesos wikipedia , lookup

Proceso (informática) wikipedia , lookup

Transcript
Gestión de Procesos
1.
2.
3.
4.
5.
Gestión de Procesos
Procesos
Planificación CPU
Sincronización de Procesos
Bloqueos Mutuos
Gestión de procesos
La gestión de procesos podría ser similar al trabajo de
oficina. Se puede tener una lista de tareas a realizar y a
estas fijarles prioridades alta, media, baja por ejemplo.
Debemos comenzar haciendo las tareas de prioridad alta
primero y cuando se terminen seguir con las de prioridad
media y después las de baja. Una vez realizada la tarea se
tacha. Esto puede traer un problema que las tareas de baja
prioridad pueden que nunca lleguen a ejecutarse. Y
permanezcan en la lista para siempre.
Para solucionar esto, se puede asignar alta prioridad a las
tareas más antiguas.
Proceso
Un proceso es un programa en ejecución, los procesos son
gestionados por el sistema operativo y están formados por:
 Las instrucciones de un programa destinadas a ser ejecutadas
por el microprocesador.
 Su estado de ejecución en un momento dado, esto es, los valores
de los registros de la CPU para dicho programa.
 Su memoria de trabajo, es decir, la memoria que ha reservado y
sus contenidos.
 Otra información que permite al sistema operativo su
planificación.
Los procesos son creados y destruidos por el sistema operativo, así
como también este se debe hacer cargo de la comunicación entre
procesos, pero lo hace a petición de otros procesos. El
mecanismo por el cual un proceso crea otro proceso se denomina
bifurcación (fork). Los nuevos procesos pueden ser
independientes y no compartir el espacio de memoria con el
proceso que los ha creado o ser creados en el mismo espacio de
memoria.
Planificación CPU
El planificador es un componente funcional muy importante de los
sistemas operativos multitarea y multiproceso, y es esencial en
los sistemas operativos de tiempo real. Su función consiste en
repartir el tiempo disponible de un microprocesador entre todos
los procesos que están disponibles para su ejecución.
Todo sistema operativo gestiona los programas mediante el concepto
de proceso. En un instante dado, en el ordenador pueden existir
diversos procesos listos para ser ejecutados. Sin embargo,
solamente uno de ellos puede ser ejecutado (en cada
microprocesador). De ahí la necesidad de que una parte del
sistema operativo gestione, de una manera equitativa, qué
proceso debe ejecutarse en cada momento.
Sincronización de Procesos
La comunicación entre procesos, es una función básica de los
Sistemas operativos. Los procesos pueden comunicarse entre sí a
través de compartir espacios de memoria, ya sean variables
compartidas o buffers, o a través de las herramientas provistas por
las rutinas de IPC. La IPC provee un mecanismo que permite a los
procesos comunicarse y sincronizarse entre sí. Normalmente a
través de un sistema de bajo nivel de paso de mensajes que ofrece
la red subyacente.
Los procesos pueden estar ejecutándose en una o más
computadoras conectadas a una red. Las técnicas de IPC están
divididas dentro de métodos para: paso de mensajes,
sincronización, memoria compartida y llamadas de procediemientos
remotos (RPC). El método de IPC usado puede variar dependiendo
del ancho de banda y latencia de la comunicación entre procesos, y
del tipo de datos que están siendo comunicados.
Bloqueos Mutuos
En sistemas operativos, el bloqueo mutuo (también
conocido como interbloqueo, traba mortal, deadlock,
abrazo mortal) es el bloqueo permanente de un
conjunto de procesos o hilos de ejecución en un
sistema concurrente que compiten por recursos del
sistema o bien se comunican entre ellos. A diferencia
de otros problemas de concurrencia de procesos, no
existe una solución general para los interbloqueos.
Todos los interbloqueos surgen de necesidades que no
pueden ser satisfechas, por parte de dos o más
procesos. En la vida real, un ejemplo puede ser el de
dos niños que intentan jugar al arco y flecha, uno toma
el arco, el otro la flecha. Ninguno puede jugar hasta
que alguno libere lo que tomó.