Administraci n de procesos
ISC 6to. Semestre
Introducción
EL SISTEMA OPERATIVO DEBE:
Asignar recursos a los procesos
Permitir el intercambio de información
entre los mismos.
Proteger los recursos de un proceso del
resto
Facilitar la sincronización de procesos.
Definición de Proceso.
Programa en ejecución, el sistema operativo
les asigna recursos, Se consideran un ente
dinámico. Elproceso es una abstracción
creada por el SO, que se compone de:
Código de Programa: sección texto
Contexto de Ejecución: PC, registros del
procesador y una pila para invocación
de procedimientos
Sección de Datos, que contiene
variables globales
Recursos del sistema.
Procesos Concurrentes
Los procesos son concurrentes si existen simultáneamente
2 o más y llegan al mismo tiempo a ejecutarse.
Laconcurrencia puede presentarse en tres contextos
diferentes:
Varias aplicaciones: (multiprogramación) para permitir
que el cpu sea compartido entre varios trabajos
Aplicaciones estructuradas: Como ampliación del diseño
modular y la programación estructurada, algunas
aplicaciones pueden implementarse eficazmente como
un conjunto de procesos concurrentes.
Estructura del sistema operativo: Lasmismas ventajas
de estructuración son aplicables a los sistemas
operativos que están implementados como un conjunto
de procesos.
Ventajas y Desventajas
VENTAJAS
Facilita la programación de aplicaciones: permite que se
estructuren como un conjunto de procesos que cooperan entre
sí para alcanzar un objetivo común.
Acelera los cálculos: Dividiendo una tarea en varios procesos,
ejecutándolos en“paralelo”.
Posibilita el uso interactivo a múltiples usuarios que trabajan
de forma simultánea.
Permite un mejor aprovechamiento de los recursos, en
especial del CPU, ya que pueden aprovechar las fases de
entrada-salida de unos procesos para realizar las fases de
procesamiento de otros.
DESVENTAJAS
Inanición e interrupción de procesos
Ocurrencia de bloqueos
Que 2 o más procesos requieran el mismorecurso
Procesamiento en Paralelo
Es un proceso empleado para
acelerar el tiempo de ejecución
de un programa dividiéndolo en
múltiples
trozos
que
se
ejecutarán al mismo tiempo,
cada uno en su propios
procesadores.
Semáforos
Un semáforo es una estructura diseñada
para sincronizar dos o más threads o
procesos, de modo que su ejecución se
realice de forma ordenada y sin conflictos
entre ellos.Un semáforo básico es una
estructura formada por una posición de
memoria y dos instrucciones, una para
reservarlo y otra para liberarlo. A esto se
le puede añadir una cola de threads para
recordar el orden en que se hicieron las
peticiones.
Monitores
El monitor es una construcción del lenguaje
de programación que proporciona una
funcionalidad equivalente a la de los
semáforos pero es másfácil de controlar.
La
construcción
monitor
ha
sido
implementada en cierto número de lenguajes
de
programación,
incluyendo
Pascal
Concurrente, Pascal-Plus, Modula-2. Modula-3
y Java. También ha sido implementada como
una biblioteca de programa. Esto permite a
los programadores poner cerrojos monitor
sobre cualquier objeto.
Interbloqueo
El interbloqueo se puede definir como el bloqueo permanente
deun conjunto de procesos que compiten por los recursos del
sistema o bien se comunican unos con otros.
En la política del sistema operativo, deben darse tres
condiciones para que pueda producirse un interbloqueo:
Condición de exclusión mutua: Cada recurso esta asignado a
un único proceso o esta disponible.
Condición de posesión y espera: Los procesos que tienen, en
un momento dado, recursosasignados con anterioridad,
pueden solicitar nuevos recursos.
Condición de no apropiación: Los recursos otorgados con
anterioridad no pueden ser forzados a dejar un proceso. El
proceso que los posee debe liberarlos en forma explicita.
Condición de espera circular (o circulo vicioso de espera):
Debe existir una cadena circular de dos o mas procesos, cada
uno de los cuales espera un recurso poseído...
Regístrate para leer el documento completo.