g proceso s 2015

56
SISTEMAS OPERATIVOS SISTEMAS OPERATIVOS Ing. Nancy Magaly Loja 2015

Upload: jose-vega-carrillo

Post on 08-Nov-2015

231 views

Category:

Documents


5 download

DESCRIPTION

hhjsdjsdjj

TRANSCRIPT

  • SISTEMAS OPERATIVOSIng. Nancy Magaly Loja 2015

  • GESTIN DE PROCESOS

  • PROCESOSINTRODUCCINLos sistemas de hoy en da permiten cargar varios programas en la memoria y ejecutarlos de manera concurrente. La ocupacin principal de los sistemas operativos es la ejecucin de los programas de usuario, pero tambin necesitan encargarse de tareas del sistema.

  • PROCESOSPor lo tanto un sistema operativo es una coleccin de procesos (trabajo) del sistema ejecutando cdigo del sistema y procesos de usuario ejecutando cdigo de usuario.

  • PROCESOSCONCEPTOLos trminos trabajo y proceso se utilizan prcticamente de forma intercambiable.Un proceso es una entidad activa es un programa en ejecucin.Un programa por s solo no es un proceso, un programa es una entidad pasiva.

  • PROCESOSCONCEPTOUn proceso adems del cdigo incluye parmetros como; el contador del programa, la pila, variables entre otros.

  • PROCESOSESTADO DE UN PROCESO

  • PROCESOSBLOQUE DE CONTROL DE PROCESO

  • GESTIN DE PROCESOSHEBRASGeneralmente tenemos un proceso con una sola hebra de ejecucin.Ejm. Un procesador de textos se ejecuta en una sola hebra por lo tanto no se puede escribir caracteres y pasar el corrector ortogrfico dentro del mismo proceso.

  • GESTIN DE PROCESOSHEBRASLos SO actuales permiten el uso de varias hebras (hilos).

  • PROCESOSCOLAS DE PLANIFICACIN

    Colas de trabajosColas de procesos listos o preparadosColas de dispositivos

  • Colas de Planificacin

  • Diagrama de Colas

  • PLANIFICADORES Los Planificadores son mdulos de software encargados de determinar el orden en que los procesos sern ejecutados.S.O debe seleccionar los procesos de las distintas colas.

  • TIPOS DE PLANIFICADORES1) Planificador a largo plazo2) Planificador a mediano plazo3) Planificador a corto plazo

  • PLANIFICADOR A LARGO PLAZOPlanificador a Largo Plazo (de trabajos):

    Seleccin de trabajos a cargar en memoria principal. Invocado con poca frecuencia (segundos o minutos). Puede ser (ms) lento. Controla el grado de multiprogramacin en el sistemaMayor cantidad de tiempo para decidir

  • PLANIFICADOR A LARGO PLAZOSeleccin cuidadosa de procesosLimitados por E/S: Cola procesos listos vacaPlanificador a corto plazo poco trabajo.Limitados por CPU: Cola de E/S casi siempre vacaDispositivos ociosos Balanceo del sistema

  • PLANIFICADOR A CORTO PLAZO

    Seleccin del proceso listo o preparado que ser ejecutado a continuacin. Invocado muy frecuentemente (milisegundos). Debe ser rpido o se desperdicia la CPU

  • PLANIFICADOR A MEDIANO PLAZOTraslado de un proceso en memoria principal a disco (intercambio o swapping). Posteriormente volver a memoria principal. Reduce la contienda por el uso de la CPU. En ocasiones necesario ante los requisitos de memoria principal.UNIX no PLP Tiempo compartido.

  • PLANIFICADOR A MEDIANO PLAZO

  • Conmutacin ContextoCambio de la CPU de un proceso a otro.Requiere conservar el estado del proceso anterior y cargar el estado guardado del nuevo proceso.El contexto se almacena en BCP (valor de registros, estado, infor administracin memoria)La CC incluye trabajo extra; puede evitarse con hilos.Velocidad varia de mquina a mquina (HW)

  • Cambio de Contexto

  • Operaciones sobre ProcesosProcesos ejecutan de manera concurrente y son creados y eliminados de forma dinmica.1) Creacin de procesos: Un proceso puede crear varios procesos nuevos; a travs de una llamada al sistema.Padre e Hijos rbol de procesos.Recursos para un proceso SW y HWRecursos asignados por el S.O o el padre los debe compartir.

  • CREACIN DE PROCESOSAnaloga

  • CREACIN DE PROCESOS

  • CREACIN DE PROCESOSDatos de inicializacin puede pasarse del padre al hijo. Ejm. Nombres de archivos, dispositivos E/S.Posibilidades Trminos Ejecucin:Padre continua ejecutndose concurrentemente con hijos. Padre espera hasta que alguno o todos sus hijos hayan terminado.

  • CREACIN DE PROCESOSPosibilidades Trminos del Espacio de DireccionesEl hijo es un duplicado del padreSe carga un programa en el hijoEjm. UNIXProceso nuevo fork(), duplicado del padreCambia el id.execlp() se utiliza luego del fork(), para reemplazar el espacio de memoria de un proceso con un programa nuevo.wait()

  • CREACIN DE PROCESOSEJEMPLOSWindows NT: soporta ambos modelosVMS: Carga un programa nuevoUNIX: Duplicado de procesos

  • ELIMINACIN DE PROCESOSEl proceso termina cuando ejecuta su ultima proposicin y pide al sistema operativo que lo elimine con (exit). Devuelve datos de salida desde el hijo al padre (va wait). Los recursos del proceso son liberados por el S.O. Memoria fsica y virtualArchivos abiertosBuffers de E/S

  • ELIMINACIN DE PROCESOSPadres pueden terminar la ejecucin de los procesos hijos (abort): El hijo ha excedido los recursos que se le asignaron. Las tareas asignadas a los hijos ya no son necesarias. El padre esta saliendoTerminacin en cascada de todos sus hijos.(VMS)

  • ELIMINACIN DE PROCESOSEJEMPLOUNIXPodemos terminar un proceso (exit)Padre puede esperar al hijo (wait)Si termina el proceso padre los hijos son adoptados por el init.

  • COMUNICACIN INTERPROCESOS Los procesos concurrentes pueden ser: Independientes: no puede afectar ni ser afectado por la ejecucin de otro proceso (no comparte datos).Cooperativos: puede afectar y ser afectado por la ejecucin de otro proceso (comparte datos).

  • PROCESOS COOPERATIVOSVentajas de la cooperacin de procesos. Informacin compartida Aceleracin de los clculos (varios canales o CPUs). Descomponer subtareas Modularidad Conveniencia (varias tareas en paralelo).

  • COMUNICACIN ENTRE PROCESOS (IPC)Mecanismos de comunicacin interprocesos (IPC). Memoria CompartidaPaso de mensajes

  • COMUNICACIN ENTRE PROCESOS (IPC)1) Memoria Compartida: -regin de memoria-intercambiar informacin leyendo y escribiendo en la zona compartida. -La memoria compartida es ms rpida que el paso de msg

  • SSTEMAS DE MEMORIA COMPARTIDASe establece una regin de memoria compartida. Dos o ms procesos eliminen la restriccin de proteccin de memoria.

  • SITEMAS DE MEMORIA COMPARTIDA

  • PROCESOS COOPERATIVOS

  • SISTEMAS DE MEMORIA COMPARTIDA

  • COMUNICACIN ENTRE PROCESOS (IPC)2) Paso de mensajes-Intercambio de msg. Entre los procesos.-Se implementa mediante llamadas al sistema y requiere intervencin del kernel.

  • SISTEMAS DE PASO DE MENSAJESEl S.O. proporciona los medios para que los procesos cooperativos se comuniquen entre s. til en Sistemas Distribuidos.Ejm chat

  • SISTEMA DE PASOS DE MENSAJES (IPC)La comunicacin dos operaciones: send(message) receive(message)

  • SISTEMA DE PASOS DE MENSAJES (IPC)Si P y Q desean comunicarse, ellos tienen que:1. Establecer un (link) enlace de comunicacin entre ellos2. Intercambiar mensajes va send/receive

  • SISTEMA DE PASOS DE MENSAJES (IPC)Para establecer el (link) enlace de comunicacin, puede ser1. fsico (ejemplo, memoria, bus en hardware o una red)2. lgico

  • SISTEMA DE PASOS DE MENSAJES (IPC)Mtodos para implementar lgicamente un enlace.Comunicacin directa o indirectaComunicacin simtrica o asimtricaAlmacenamiento en bfer explcito o automtico.

  • COMUNICACIN DIRECTAComunicacin DirectaLos procesos deben nombrase uno a otro. send (P, mensaje) enva mensaje al proceso P receive(Q, mensaje) recibe un mensaje del proceso Q

  • COMUNICACIN DIRECTAComunicacin simtrica: el emisor y el receptor se deben de nombrar.Comunicacin asimtrica: solo el emisor nombra al receptor.send (P, mensaje) enva mensaje al proceso Preceive(id, mensaje) recibe un mensaje de cualquier proceso

  • COMUNICACIN INDIRECTALos mensajes se envan y se reciben de buzones (mailboxes) o puertos.Cada buzn tiene un nico id.Los procesos solo pueden comunicarse si comparten un buzn.

  • COMUNICACIN INDIRECTAsend (A, mensaje) enva mensaje al buzn Areceive(A, mensaje) recibe un mensaje del buzn A

  • COMUNICACIN INDIRECTAOperacionesCrear un nuevo buznEnviar y recibir mensajes a travs del buznEliminar el buzn

  • SINCRONIZACINLa comunicacin tiene lugar mediante send() y receive().Existen diferentes opciones de diseo para implementar cada primitiva.El paso de mensajes puede ser: Sncrono (bloqueo) o Asncrono (sin bloqueo)

  • SINCRONIZACINEnvo con bloqueo: el emisor se bloquea hasta q el msg es recibido por el receptor o por el buzn.Envo sin bloqueo: el emisor enva el mgs y continua su operacin.

  • SINCRONIZACINRecepcin con bloqueo: el receptor se bloquea hasta que haya un mensaje disponible.Recepcin sin bloqueo: el receptor recupera un mensaje vlido, o bien su valor nulo.

  • USO DE BUFFERSLos mensajes residen en una cola temporalCapacidad cero: la cola tiene una longitud mxima de 0. El enlace no puede tener mgs esperando en l. El emisor debe bloquearse hasta que el receptor tome el msg.

  • USO DE BUFFERSCapacidad limitada: La cola tiene longitud finita igual a n.Capacidad finitaSi el enlace esta lleno el emisor debe bloquearse hasta que haya espacio en la cola.

  • USO DE BUFFERSCapacidad ilimitada: Longitud infinita en teora.El emisor nunca se bloquea