sistemas operativos unidad iii procesos. concepto de proceso multitarea información de un proceso...

Download Sistemas Operativos Unidad III Procesos. Concepto de proceso Multitarea Información de un proceso Formación de un proceso Estados del proceso Procesos

Post on 24-Jan-2016

214 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Sistemas OperativosUnidad IIIProcesos

  • ProcesosConcepto de procesoMultitareaInformacin de un procesoFormacin de un procesoEstados del procesoProcesos ligerosPlanificacinTemporizadoresServidores y demonios

  • Concepto de procesoProcesoUn programa en ejecucin.Unidad de procesamiento gestionada por el SO.Un programa por si mismo no es un procesoUn programa es una entidad pasivaUn proceso es una entidad activaEl SO mantiene por cada proceso una serie de estructuras de informacin que permiten identificar las caractersticas de este, as como los recursos que tiene asignados.Informacindel procesoImagen de memoria (core image): cdigo y datos.Estado del procesador: registros.El Bloque de Control del Proceso (BCP): recursos.

  • Concepto de proceso (2)Estados bsicos de un procesoEn ejecucin.Bloqueado.Listo para ejecutar.Jerarqua de procesosEmplea los trminos: padre, hijo, hermano o abuelo. (UNIX mantiene la relacin de forma explicita, Wnd NT no).Entorno del procesoConsiste en un conjunto de variables que se le pasan al proceso en el momento de su ejecucin. ($PATH, $PWD, $HOME)EjecucinListoBloqueadoNuevoTerminaPlanificadoFin de tiempoOperacin de E/SFinal de E/SABCDF

  • MultitareaSe basa en tres caractersticas:Paralelismo real entre E/S y procesador.Alternancia en los procesos de las fases de E/S y de procesamiento.Memoria principal capaz de almacenar varios procesos.TiempoEntrada/SalidaProcesamientoUn proceso alterna entre fases de procesamiento y de E/S

  • Multitarea (2)Ejemplo de ejecucin en un sistema multitareaTiempoProceso AProceso BProceso CProcesadorSistema operativoProcesamientoEntrada/SalidaListo

  • Multitarea (3)Ventajas de la multitareaFacilita la programacin. Permite dividir las aplicaciones en varios procesos, lo que beneficia su modularidad.Permite prestar un buen servicio, puesto que se puede atender a varios usuarios de forma eficiente, interactiva y simultnea.Aprovecha los tempos muertos que los procesos pasan esperando a que se completen sus operaciones de E/S.Aumenta el uso del CPU, al aprovechar espacios de tiempo en que los procesos estn bloqueados.

  • Multitarea (4)Grado de multiprogramacinNumero de procesos activos que mantiene un sistema.Afecta el rendimiento de la computadora:A mayor numero de procesos activos, menor probabilidad de ejecutar el proceso nulo. Pero A mayor grado de multiprogramacin mayores necesidades de memoria.

  • Informacin del procesoEstado del procesadorImagen de memoriaContenido del Bloque de control del proceso (BCP)

  • Informacin del proceso (2)Estado del procesadorEsta formado por el contenido de todos sus registros.Registros generales.Contador de programa.Puntero de pila.Registros de estado.Registros especiales.Cuando un proceso esta en estado de ejecucin, su estado reside en el propio procesador.Cuando un proceso tiene un estado diferente al de ejecucin su estado reside en el BCP.

  • Informacin del proceso (3)Imagen de memoria del proceso.La imagen de memoria est formada por los espacios de memoria que un proceso esta autorizado a utilizar.Las principales caractersticas son:El proceso solamente puede tener informacin en su imagen de memoria y no fuera de ella.Puede ser que la imagen de la memoria este referida a memoria fsica o a memoria virtual.Los procesos suelen necesitar asignacin dinmica de memoria.

  • Informacin del proceso (4)El SO asigna la memoria la proceso. Se pueden emplear distintos modelos:Imagen de memoria con un nico segmento de tamao fijo.Proceso con un nmero fijo de segmentos de tamao variable.Texto o cdigo (lenguaje mquina).Datos (con o sin inicializacin y dinmicos)Pila (almacena bloques de activacin de procedimientos).Proceso con un nmero variable de segmentos de tamao variable

  • Informacin del proceso (5)Preparacin del cdigo (ejecutable) de un procesoEl objeto ejecutable tiene la Siguiente informacin:CabeceraEstado inicial de los registrosTamao del cdigo y de los datosPalabra mgicaCdigoDatos con valor inicial

  • Informacin del proceso (6)Informacin del BCPInformacin de identificacinIdentificador del proceso (PID)Identificador del proceso padre, en caso de existir relaciones padre-hijo.Informacin sobre el usuario (id usuario, id grupo)Estado del procesadorContiene valores iniciales o valores en el instante que se interrumpi el proceso.Informacin de control del proceso.Informacin de planificacin y estado (evento, prioridad, estado, planificacin).Descripcin de los segmentos de memoria asignados.Recursos asignados (descriptores o manejadores de archivo).Punteros para estructurar los procesos en listas o colas.Comunicacin entre procesos.

  • Informacin del proceso (7)Tablas del sistema operativoTabla de procesos (tabla de BCPs).Tabla de memoria (informacin sobre el uso de la memoria).Tabla de E/S (informacin asociada a los perifricos y a las operaciones de E/S).Tabla de archivos [ficheros] (informacin sobre los ficheros abiertos)

  • Informacin del proceso (8)Compartir informacin

  • Formacin de un procesoLa formacin de un proceso consiste en completar todas las informaciones que lo constituyen.

  • Formacin de un proceso (2)De forma ms especifica el SO debe hacer:Asignar un espacio de memoria para albergar la imagen de memoria.Seleccionar un BCP libre de la tabla de procesos.Rellenar el BCP con la informacin necesaria.Cargar los segmentos correspondientes.Crear en el segmento de pila la pila inicial. Inicialmente incluye el entorno del proceso y los parmetros que se pasan en la invocacin.

  • Estados de un proceso

  • Estados de un proceso (2)EjecucinEl proceso est siendo ejecutado por el procesador, es decir, esta en la fase de procesamiento. El estado del proceso reside los registros del procesador.BloqueadoEl proceso est esperando a que ocurra un evento y no puede seguir ejecutando hasta que suceda el evento. En esta fase, el estado del proceso reside en el BCP.ListoEl proceso est listo para ejecutar cuando puede entrar en fase de procesamiento. Es responsabilidad del SO (planificador) seleccionar cual de los procesos ha de pasar a ejecucin.Estados suspendidosLos procesos entran en el sistema porque los solicita un proceso de usuario o porque esta prevista su ejecucin (Proceso por lotes en espera).Para disminuir el grado de multiprogramacin efectivo el SO puede suspender algunos procesos. Es posible suspender procesos bloqueados y listos.

  • Estados de un proceso (3)Cambio de contextoCuando se produce una interrupcin se cambia de contexto.El cambio de contexto es un conjunto de dos operaciones:Se guarda el estado del procesador en el correspondiente BCP.Se pasa a ejecutar la rutina de tratamiento de interrupcin del SO.Planificador: mdulo del SO que decide el siguiente proceso a ejecutar.Activador: mdulo del SO que pone un proceso a ejecutar.

  • Procesos ligerosUn proceso ligero, o thread, es un programa en ejecucin que comparte la imagen de memoria y otras informaciones con otros procesos ligeros.Desde el punto de vista de programacin se define como una funcin cuya ejecucin se puede lanzar en paralelo con otras. El hilo de ejecucin primario corresponde a la funcin main.

  • Procesos ligeros (2)Cada hilo contiene informacin que le es propia y que no comparte con otros hilos:Contador de programa.Pila.Registros.Estado del proceso ligero (ejecutando, listo o bloqueado).Todos los hilos de un proceso comparten:Espacio de memoria.Variables globales.Archivos abiertos.Procesos hijosTemporizadoresSeales y semforos.Contabilidad.

  • Procesos ligeros (3)Estados del proceso ligeroEjecutandoListo para ejecutarBloqueadoEl estado del proceso ser la combinacin de los estados de sus procesos ligeros.

  • Procesos ligeros (4)Paralelismo utilizando procesos ligeros

  • PlanificacinEl objetivo de la planificacin de procesos y procesos ligeros es el reparto de tiempo del procesador entre los procesos que se pueden ejecutar.Los sistemas pueden incluir varios niveles de planificacin de procesos:Corto plazoSe encarga de seleccionar el proceso en estado de listo que pasa a estado de ejecucin.Mediano plazoDecide que proceso pasan a estado suspendido y cuales salen de dicho estado.Largo plazoAade nuevos procesos de la lista de espera al sistema

  • Planificacin (2)

  • Planificacin (3)La planificacin puede ser de dos tipos:Sin expulsinEl proceso conserva el CPU mientras lo desee.Con expulsinEl SO quita el CPU al procesoExige un reloj que interrumpe periodicamenteColas de procesosPor prioridadPor tipo

  • Planificacin (4)Colas de planificacin

  • Planificacin (5)El objetivo de la planificacin es optimizar el comportamiento del sistema. Segn la faceta del comportamiento en que se este interesado se suelen perseguir los siguientes objetivos:Reparto equitativo del procesadorEficiencia (optimizar el uso del procesador)Menor tiempo de respuesta en uso interactivo.Menor tiempo de espera en lotes (bach).Mayor nmero de trabajos por unidad de tiempo (bach).Cumplir los plazos de ejecucin de un sistema de tiempo real.

  • Planificacin (6)Algoritmos de planificacinCclica o Round-robinFIFOPrioridadesPrimero el trabajo ms cortoAleatorio o lotera

  • Planificacin (7)Algoritmo CclicoEsta diseado para hacer un reparto equitativo del procesador.Se basa en el concepto de rodaja (slot) de tiempo.Los procesos se organizan en una cola circular, eligindose para su ejecucin el proceso a la cabeza de la cola y permanecer en ejecucin hasta que ocurra:El proceso pasa a estado bloqueado.El proceso consume su rodaja de tiempo.

  • Planificacin (8)Algoritmo FIFOLa cola de procesos se ordena de acuerdo al instante en que los procesos pasan al estado listo.Los que llevan ms tiempo esperando estn ms cerca de la cabecer

Recommended

View more >