1 Admin de Procesos y Del Procesador

33
Concepto de proceso Un proceso es un programa en ejecución. Los procesos son ges?onados por el sistema opera?vo y están formados por: Las instrucciones de un programa des?nadas a ser ejecutadas por el microprocesador. Su estado de ejecución en un momento dado, esto es, los valores de los registros de la unidad central de procesamiento para dicho programa. Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos. Otra información que permite al sistema opera?vo su planificación.

description

prosesos de cpu.concepto de proceso.estado de un proceso.trasisciones de estado de los procesos.procesos ligeros: hilos o hebras.concurrencia y secuenciabilidad.modelo para procesos concurrentes.

Transcript of 1 Admin de Procesos y Del Procesador

  • Concepto de proceso Un proceso es un programa en ejecucin.

    Los procesos son ges?onados por el sistema opera?vo y estn formados por:

    Las instrucciones de un programa des?nadas a ser ejecutadas por el microprocesador.

    Su estado de ejecucin en un momento dado, esto es, los valores de los registros de la unidad central de procesamiento para dicho programa.

    Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.

    Otra informacin que permite al sistema opera?vo su planicacin.

  • Concepto de proceso Esta denicin vara ligeramente en el caso de sistemas opera?vos mul?hilo, donde un proceso consta de uno o ms hilos, la memoria de trabajo (compar?da por todos los hilos) y la informacin de planicacin. Cada hilo consta de instrucciones y estado de ejecucin.

  • Concepto de Proceso

    Los procesos son creados y destruidos por el sistema opera?vo, as como tambin este se debe hacer cargo de la comunicacin entre procesos, pero lo hace a pe?cin de otros procesos.

    El mecanismo por el cual un proceso crea otro proceso se denomina bifurcacin (fork).

  • Concepto de Proceso En los sistemas opera?vos

    mul?hilo es posible crear tanto hilos como procesos.

    La diferencia estriba en que un proceso solamente puede crear hilos para s mismo y en que dichos hilos comparten toda la memoria reservada para el proceso.

  • Estados de un Proceso Durante su vida, un proceso puede pasar por una serie

    de estados discretos, algunos de ellos son: En ejecucin: El proceso ocupa la CPU actualmente, es

    decir, se est ejecutando. Listo o preparado: El proceso dispone de todos los

    recursos para su ejecucin, slo le falta la CPU. Bloqueado: Al proceso le falta algn recurso para

    poder seguir ejecutndose, adems de la CPU. Por recurso se pueden entender un disposi?vo, un dato, etc. El proceso necesita que ocurra algn evento que le permita poder proseguir su ejecucin.

  • Estados de un proceso

  • Estados de un proceso

    Solamente puede haber un proceso en ejecucin a la vez, pero pueden exis?r varios listos y varios pueden estar bloqueados. As pues, se forman una lista de procesos listos y otra de procesos bloqueados. La lista de procesos listos se ordena por prioridad, de manera que el siguiente proceso que reciba la CPU ser el primero de la lista

  • Estados de un proceso

    La lista de procesos bloqueados normalmente no est ordenada; los procesos no se desbloquean (es decir, no pasan a ser procesos listos) en orden de prioridad, sino que lo hacen en el orden de ocurrencia de los eventos que estn esperando.

  • Transiciones de Estado de los Procesos

    De ejecucin a Bloqueado: al iniciar una operacin de E/S, al realizar una operacin WAIT sobre un semforo a cero (en el tema de procesos concurrentes se estudiarn los semforos).

  • Transiciones de Estado de los Procesos

    De ejecucin Listo: por ejemplo, en un sistema de Bempo comparBdo, cuando el proceso que ocupa la CPU lleva demasiado ?empo ejecutndose con?nuamente (agota su cuanto) el sistema opera?vo decide que otro proceso ocupe la CPU, pasando el proceso que ocupaba la CPU a estado listo.

  • Transiciones de Estado de los Procesos

    De Listo a en ejecucin: cuando lo requiere el planicador de la CPU (veremos el planicador de la CPU en el tema de planicacin de procesos).

  • Transiciones de Estado de los Procesos

    De Bloqueado a Listo: se dispone del recurso por el que se haba bloqueado el proceso. Por ejemplo, termina la operacin de E/S, o se produce una operacin SIGNAL sobre el semforo en que se bloque el proceso, no habiendo otros procesos bloqueados en el semforo.

  • Transiciones de Estado de los Procesos

  • Procesos Ligeros: Hilos o Hebras

    Un proceso ligero, o thread, es un programa en ejecucin (ujo de ejecucin) que comparte la imagen de memoria y otras informaciones con otros procesos ligeros. Un proceso puede contener un solo ujo de ejecucin, como ocurre en los procesos clsicos, o mas de un ujo de ejecucin (procesos ligeros).

  • Procesos Ligeros: Hilos o Hebras

    Desde el punto de vista de la programacin, un proceso ligero se dene como una funcin cuya ejecucin se puede lanzar en paralelo con otras. El hilo de ejecucin primario, o proceso ligero primario, corresponde a la funcin main.

  • Procesos Ligeros: Hilos o Hebras Cada proceso ligero ?ene informaciones que le son propias y que

    no comparte con otros procesos ligeros. Las informaciones propias se reeren fundamentalmente al contexto de ejecucin, pudindose destacar las siguientes:

    Contador de programa. Pila. Registros. Estado del proceso ligero (ejecutando, listo o bloqueado).

  • Procesos Ligeros: Hilos o Hebras Todos los procesos ligeros de un mismo proceso comparten la informacin del mismo. En concreto, comparten:

    Espacio de memoria. Variables globales. Archivos abiertos. Procesos hijos. Temporizadores. Seales y semaforos. Contabilidad.

  • Procesos Ligeros: Hilos o Hebras

    Es importante destacar que todos los procesos ligeros de un mismo proceso comparten el mismo espacio de direcciones de memoria, que incluye el cdigo, los datos y las pilas de los diferentes procesos ligeros. Esto hace que no exista proteccin de memoria entre los procesos ligeros de un mismo proceso, algo que si ocurre con los procesos convencionales.

  • Concurrencia y Secuenciabilidad Los procesos son concurrentes si existen simultneamente. Los procesos concurrentes pueden funcionar en forma totalmente independiente unos de otros, o pueden ser asncronos, lo cual signica que en ocasiones requieren cierta sincronizacin o cooperacin.

  • Concurrencia y Secuenciabilidad Cuando dos o mas procesos

    llegan al mismo ?empo a ejecutarse, se dice que se ha presentado una concurrencia de procesos.

    Es importante mencionar que para que dos o mas procesos sean concurrentes , es necesario que tengan alguna relacin entre ellos como puede ser la cooperacin para un determinado trabajo o el uso de informacin o recursos compar?dos.

  • Concurrencia y Secuenciabilidad Por otro lado en un sistema de varios procesos se puede presentar la concurrencia siempre y cuando las ac?vidades necesiten actuar entre si ya sea para u?lizar informacin en comn o para cualquier otra cosa.

  • Modelos para Procesos Concurrentes

    MulBprogramacin con un nico procesador.

    En este modelo todos los procesos concurrentes ejecutan sobre un nico procesador. El sistema opera?vo se encarga de ir repar?endo el ?empo del procesador entre los dis?ntos procesos, intercalando la ejecucin de los mismos para dar as una apariencia de ejecucin simultanea.

  • Modelos para Procesos Concurrentes MulBprocesador.

    Un mul?procesador es una

    maquina formada por un conjunto de procesadores que comparten memoria principal. En este ?po de arquitecturas, los procesos concurrentes no solo pueden intercalar su ejecucin sino tambin superponerla. En este caso si existe una verdadera ejecucin simultanea de procesos, al coincidir las fases de procesamiento de dis?ntos procesos.

  • Modelos para Procesos Concurrentes MulBcomputadora.

    Una mul?computadora es una mquina de memoria distribuida,

    en contraposicin con el mul?procesador que es de memoria compar?da. Esta formada por una serie de computadoras completas con su UCP, memoria principal .

    En este ?po de arquitecturas tambin es posible la ejecucin simultanea de los procesos sobre los dis?ntos procesadores.

  • Niveles, obje?vos y criterios de planicacin.

    Cuando ms de un proceso es ejecutable, el Sistema Opera?vo debe decidir cual de ellos deber ejecutarse primero. Hay que tener una planicacin de los procesos que quieren ejecutarse en el sistema. La planicacin es una funcin primordial del Sistema Opera?vo

  • Niveles, obje?vos y criterios de planicacin.

    La mayora de los recursos, si no es que todos, se planican antes de que se u?licen. La asignacin de procesadores \sicos a los procesos hace posible que estos realicen su trabajo, y tal asignacin es un problema complejo manejado por el Sistema Opera?vo.

  • Niveles, obje?vos y criterios de planicacin.

    Concepto de Planicacin La planicacin hace referencia a un conjunto de pol?cas y mecanismos incorporados al sistema opera?vo que gobiernan el orden en que se ejecutan los trabajos que deben ser cumplimentados por el sistema inform?co.

  • Niveles, obje?vos y criterios de planicacin.

    ObjeBvo de la Planicacin El obje?vo principal de la planicacin es op?mizar el rendimiento del sistema y proporcionar un buen servicio a todos los procesos que se encuentren en el

  • Niveles, obje?vos y criterios de planicacin.

    La planicacin trata de cubrir los siguientes obje?vos: JusBcia. La planicacin debe ser lo mas justa posible con

    todos los procesos, sin favorecer a unos y perjudicar a otros. Mxima capacidad de ejecucin. Debe dar un servicio

    eciente para que todos los trabajos se realicen lo mas rapidamente posible.

    Mximo numero de usuarios interacBvos. En los sistemas de ?empo compar?do se tratara de que puedan estar trabajando el mayor numero de usuarios al mismo ?empo.

    Predecibilidad. La planicacin debe realizarse de tal forma que en todo momento pueda saberse como ser su ejecucin.

  • Niveles, obje?vos y criterios de planicacin.

    La planicacin trata de cubrir los siguientes obje?vos: Con?nu.. Minimizacin de la sobrecarga. La computadora debe tener

    poca sobrecarga ya que esta afecta directamente al rendimiento nal del sistema: a menor sobrecarga mayor velocidad de proceso.

    Equilibrio en el uso de recursos. Para obtener un mayor rendimiento en el uso de los recursos y que estos estn ocupados equita?vamente el mayor ?empo posible.

    Seguridad de las prioridades. Si un proceso ?ene mayor prioridad que otro, este debe ejecutarse mas rpidamente.

    Evitar la postergacin indenida. Esto se logra aumentando la prioridad de un proceso mientras espere por un recurso. La prioridad llegar a ser tan alta que al proceso le ser asignado el recurso que pidi.

  • Niveles, obje?vos y criterios de planicacin.

    Criterios de planicacin Para realizar los obje?vos de la planicacin, un mecanismo de planicacin debe considerar lo siguiente:

    La limitacin de un proceso a las operaciones de Entrada / Salida: cuando un proceso consigue la cpu, ?la u?liza solo brevemente antes de generar una pe?cion de Entrada / Salida?

    La limitacin de un proceso a la cpu: cuando un proceso ob?ene la cpu, ??ende a usarla hasta que expira su ?empo?

  • Niveles, obje?vos y criterios de planicacin.

    Criterios de planicacin Que urgencia ?ene una respuesta rpida?: por ejemplo, un proceso de ?empo real de un sistema de control que supervise una renera de combus?ble requiere una respuesta rpida, mas rpida que la respuesta requerida por un proceso en lotes (batch) que deber entregarse al dia siguiente.

    La prioridad de un proceso: a mayor prioridad mejor tratamiento.

  • Niveles, obje?vos y criterios de planicacin.

    Criterios de planicacin Cuanto ?empo adicional va a necesitar el proceso para terminar?: los ?empos promedio de espera pueden reducirse priorizando los procesos que requieren de un ?empo de ejecucin mnimo para su terminacin, pero pocas veces es posible conocer la can?dad de ?empo adicional que cada proceso necesita para terminar.