Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Procesos, hilos y Recursos Sistemas Operativos Andrés Felipe Barco Santa Pontificia Universidad Javeriana Febrero de 2010 Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Process Manager Procesos Clasicos Procesos Modernos Process Manager Objetivo El manejador de procesos provee un espectro de servicios para definir, soportar y administrar los procesos, hilos y recursos del sistema. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Process Manager Procesos Clasicos Procesos Modernos Process Manager Objetivo El manejador de procesos provee un espectro de servicios para definir, soportar y administrar los procesos, hilos y recursos del sistema. Dado el desarrollo de los sistemas operativos se da una división en el concepto de proceso. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Process Manager Procesos Clasicos Procesos Modernos Procesos Clasicos Un ambiente Un proceso clasico hace referencia al concepto de un programa en ejecución. Este proceso define un ambiente computacional (recursos, datos, instrucciones, etc) en el cual un programa es ejecutado. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Process Manager Procesos Clasicos Procesos Modernos Procesos Clasicos Un ambiente Un proceso clasico hace referencia al concepto de un programa en ejecución. Este proceso define un ambiente computacional (recursos, datos, instrucciones, etc) en el cual un programa es ejecutado. Nota: Recordar que cada proceso clasico posee un hilo llamado hilo base, este es el encargado de ejecutar el programa. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Process Manager Procesos Clasicos Procesos Modernos Procesos Modernos Dividido en 2 Se cuenta con 2 especificaciones para su definición: Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Process Manager Procesos Clasicos Procesos Modernos Procesos Modernos Dividido en 2 Se cuenta con 2 especificaciones para su definición: El proceso moderno que define la forma de computacion y su ambiente. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Process Manager Procesos Clasicos Procesos Modernos Procesos Modernos Dividido en 2 Se cuenta con 2 especificaciones para su definición: El proceso moderno que define la forma de computacion y su ambiente. El hilo que es la parte que mantiene el registro de la ejecucion del codigo en ese ambiente. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Process Manager Procesos Clasicos Procesos Modernos Procesos Modernos Dividido en 2 Se cuenta con 2 especificaciones para su definición: El proceso moderno que define la forma de computacion y su ambiente. El hilo que es la parte que mantiene el registro de la ejecucion del codigo en ese ambiente. Analogia: El proceso moderno es como un estudio de musica. El hilo es como el musico que usa el estudio para hacer musica. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Procesos Clasicos Manejador de procesos Multiprogramming Procesos Modernos Multitask Procesos Clasicos Multiprogramming Los sistemas operativos usan la multiprogramación para proveer programas con la ilusión de que tienen el uso exclusivo de la máquina fı́sica. Si existen N procesos compartiendo el procesador, entonces cada uno tendra el control por K segundos de un intervalo de KxN segundos. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Procesos Clasicos Manejador de procesos Multiprogramming Procesos Modernos Multitask Procesos Clasicos Multiprogramming Los sistemas operativos usan la multiprogramación para proveer programas con la ilusión de que tienen el uso exclusivo de la máquina fı́sica. Si existen N procesos compartiendo el procesador, entonces cada uno tendra el control por K segundos de un intervalo de KxN segundos. La máquina abstracta define el ambiente computacional lógico en el cual el proceso clasico se ejecuta. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Procesos Clasicos Manejador de procesos Multiprogramming Procesos Modernos Multitask Manejador de procesos El manejador de procesos al interior del SO es el que se encarga de crear procesos, hilos y abstracciones de recursos que son en conjunto la caparazón de la máquina abstracta. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Procesos Clasicos Manejador de procesos Multiprogramming Procesos Modernos Multitask Manejador de procesos El manejador de procesos al interior del SO es el que se encarga de crear procesos, hilos y abstracciones de recursos que son en conjunto la caparazón de la máquina abstracta. Llamada fork() en linux, CreateProcess() en windows; procesos clasicos. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Procesos Clasicos Manejador de procesos Multiprogramming Procesos Modernos Multitask Manejador de procesos El manejador de procesos al interior del SO es el que se encarga de crear procesos, hilos y abstracciones de recursos que son en conjunto la caparazón de la máquina abstracta. Llamada fork() en linux, CreateProcess() en windows; procesos clasicos. Llamada pthread create() en linux, CreateThread() en windows; implementa threads en el contexto de procesos modernos. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Procesos Clasicos Manejador de procesos Multiprogramming Procesos Modernos Multitask Manejador de procesos El manejador de procesos al interior del SO es el que se encarga de crear procesos, hilos y abstracciones de recursos que son en conjunto la caparazón de la máquina abstracta. Llamada fork() en linux, CreateProcess() en windows; procesos clasicos. Llamada pthread create() en linux, CreateThread() en windows; implementa threads en el contexto de procesos modernos. Llamada close() en linux, CloseHandle() en windows; petición de liberar recurso. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Procesos Clasicos Manejador de procesos Multiprogramming Procesos Modernos Multitask Multiprogramming Figura: Tomado de Operating Systems, 3 Edition, Gary Nutt Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Procesos Clasicos Manejador de procesos Multiprogramming Procesos Modernos Multitask Procesos Modernos Multitask Con los procesos clasicos solo un ente podı́a estar ejecutandose en la máquina abstracta. Con los modernos procesos lo que se permitir a unos agentes llamados hilos compartir los recursos del proceso (tal como procesador abstracto y memoria abstracta). Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Procesos Clasicos Manejador de procesos Multiprogramming Procesos Modernos Multitask Procesos Modernos Multitask Con los procesos clasicos solo un ente podı́a estar ejecutandose en la máquina abstracta. Con los modernos procesos lo que se permitir a unos agentes llamados hilos compartir los recursos del proceso (tal como procesador abstracto y memoria abstracta). Idea: Suponga que cada máquina abstracta es diseñada para se una máquina multiprogramada! Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Procesos Clasicos Manejador de procesos Multiprogramming Procesos Modernos Multitask Multitask Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Resources Lo necesario Un recurso es cualquier elemento que sea necesitado o pedido por el proceso a la máquina abstracta, y que pueda causar ls suspención del proceso si el elemento no está disponible. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Resources Lo necesario Un recurso es cualquier elemento que sea necesitado o pedido por el proceso a la máquina abstracta, y que pueda causar ls suspención del proceso si el elemento no está disponible. Estos recursos se piden usando llamados al sistema. Cuando se le asigna un recurso, este es configurado en la máquina abstracta del proceso. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Process Address Space Direcciones El espacio de direcciones de un proceso es una colección de de direcciones al cual un hilo puede referenciar. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Process Address Space Direcciones El espacio de direcciones de un proceso es una colección de de direcciones al cual un hilo puede referenciar. Los recursos mapeados a memoria pueden ser accedidos por sus direcciones y referenciados por el address space. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Process Address Space Direcciones El espacio de direcciones de un proceso es una colección de de direcciones al cual un hilo puede referenciar. Los recursos mapeados a memoria pueden ser accedidos por sus direcciones y referenciados por el address space. Cada manejador particular es el encargado ligar o asociar las direcciones con los elementos referenciables del recurso (dependiendo del diseño). Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Process Address Space Direcciones El espacio de direcciones de un proceso es una colección de de direcciones al cual un hilo puede referenciar. Los recursos mapeados a memoria pueden ser accedidos por sus direcciones y referenciados por el address space. Cada manejador particular es el encargado ligar o asociar las direcciones con los elementos referenciables del recurso (dependiendo del diseño). En sistemas como Linux y Windows el tamaño del address space es aproximadamente 4 GigaBytes. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Address Space Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Responsabilidades Manejador de Procesos Proveer funciones Creacion y terminación de procesos - process abstraction Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Responsabilidades Manejador de Procesos Proveer funciones Creacion y terminación de procesos - process abstraction Creacion y terminación de hilos - thread abstraction Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Responsabilidades Manejador de Procesos Proveer funciones Creacion y terminación de procesos - process abstraction Creacion y terminación de hilos - thread abstraction Sincronización de procesos/hilos Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Responsabilidades Manejador de Procesos Proveer funciones Creacion y terminación de procesos - process abstraction Creacion y terminación de hilos - thread abstraction Sincronización de procesos/hilos Asignación de recursos a los procesos Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Responsabilidades Manejador de Procesos Proveer funciones Creacion y terminación de procesos - process abstraction Creacion y terminación de hilos - thread abstraction Sincronización de procesos/hilos Asignación de recursos a los procesos Protección de recursos Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Responsabilidades Manejador de Procesos Proveer funciones Creacion y terminación de procesos - process abstraction Creacion y terminación de hilos - thread abstraction Sincronización de procesos/hilos Asignación de recursos a los procesos Protección de recursos Coopera con manejador de dispositivos para implementar I/O (iniciar I/O, manejo interrupciones, transferir info desde memoria a controladores). Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Responsabilidades Manejador de Procesos Proveer funciones Creacion y terminación de procesos - process abstraction Creacion y terminación de hilos - thread abstraction Sincronización de procesos/hilos Asignación de recursos a los procesos Protección de recursos Coopera con manejador de dispositivos para implementar I/O (iniciar I/O, manejo interrupciones, transferir info desde memoria a controladores). Implementación del espacio de direcciones. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Procesos modernos Compuesto por addres space la collección de dirrecciones que puede referenciar el programa. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Procesos modernos Compuesto por addres space la collección de dirrecciones que puede referenciar el programa. program define el comportamiento del proceso. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Procesos modernos Compuesto por addres space la collección de dirrecciones que puede referenciar el programa. program define el comportamiento del proceso. data los datos usados por el proceso. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Procesos modernos Compuesto por addres space la collección de dirrecciones que puede referenciar el programa. program define el comportamiento del proceso. data los datos usados por el proceso. resources los recursos requeridos para la ejecución del programa. Hilos comparten recursos que se asignan al proceso. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Procesos modernos Compuesto por addres space la collección de dirrecciones que puede referenciar el programa. program define el comportamiento del proceso. data los datos usados por el proceso. resources los recursos requeridos para la ejecución del programa. Hilos comparten recursos que se asignan al proceso. process identifier para identificar el proceso duranre su existencia. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Procesos modernos Compuesto por (hilos) ambiente el ambiente definido por el proceso que crea el hilo. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Procesos modernos Compuesto por (hilos) ambiente el ambiente definido por el proceso que crea el hilo. thread identifier para identificar el hilo duranre su existencia. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface The Hardware Process bootstrap Al iniciar el computador, la máquina inicia el ciclo de obtener-ejecutar. Lo primero es iniciar con el código del bootstrap que es el encargado de iniciar el sistema operativo. Hasta aquı́ no existen procesos ni hilos, puesto que el sistema operativo no se ha iniciado aún. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Inicia el código de boostrap. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Inicia el código de boostrap. Inicializa componentes y estructuras de datos necesarias. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Inicia el código de boostrap. Inicializa componentes y estructuras de datos necesarias. Despues de inicializar el kernel el sistema carga n diferentes procesos. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Inicia el código de boostrap. Inicializa componentes y estructuras de datos necesarias. Despues de inicializar el kernel el sistema carga n diferentes procesos. El componente de planificacion (scheduler) elije el orden de ejecución. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Inicia el código de boostrap. Inicializa componentes y estructuras de datos necesarias. Despues de inicializar el kernel el sistema carga n diferentes procesos. El componente de planificacion (scheduler) elije el orden de ejecución. Se cambia de un proceso/hilo a otro cambiando el PC de la unidad de control (dependiendo si es cambio de proceso, llamado a funcion del SO o una interrupción de I/O) Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface The Hardware Process Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Resources Process Address Space Address Space Responsabilidades Manejador de Procesos Procesos modernos The Hardware Process Abstract Machine Interface Abstract Machine Interface Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Multiples Procesos Process Descriptor Cambio de estados Process States Multiples Procesos Cambio de contexto El manejador de procesos crea un ambiente en el cual multiples procesos pueden coexistir. Este ejecuta un algoritmo que hace un cambio en el sistema de un contexto a otro. Estos cambios de contexto (context switches) pueden ocurrir cada vez que el SO tome el control de la máquina. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Multiples Procesos Process Descriptor Cambio de estados Process States Multiples Procesos Cambio de contexto El manejador de procesos crea un ambiente en el cual multiples procesos pueden coexistir. Este ejecuta un algoritmo que hace un cambio en el sistema de un contexto a otro. Estos cambios de contexto (context switches) pueden ocurrir cada vez que el SO tome el control de la máquina. El cambio de contexto se refiere al hecho de cambiar los datos de los registros de la CPU. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Multiples Procesos Process Descriptor Cambio de estados Process States Process Descriptor El process descriptor de un procesos contiene cosas como: Internal process name Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Multiples Procesos Process Descriptor Cambio de estados Process States Process Descriptor El process descriptor de un procesos contiene cosas como: Internal process name state Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Multiples Procesos Process Descriptor Cambio de estados Process States Process Descriptor El process descriptor de un procesos contiene cosas como: Internal process name state Owner Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Multiples Procesos Process Descriptor Cambio de estados Process States Process Descriptor El process descriptor de un procesos contiene cosas como: Internal process name state Owner execution statistics Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Multiples Procesos Process Descriptor Cambio de estados Process States Process Descriptor El process descriptor de un procesos contiene cosas como: Internal process name state Owner execution statistics Thread Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Multiples Procesos Process Descriptor Cambio de estados Process States Process Descriptor El process descriptor de un procesos contiene cosas como: Internal process name state Owner execution statistics Thread List of related process Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Multiples Procesos Process Descriptor Cambio de estados Process States Process Descriptor El process descriptor de un procesos contiene cosas como: Internal process name state Owner execution statistics Thread List of related process List of child process Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Multiples Procesos Process Descriptor Cambio de estados Process States Process Descriptor El process descriptor de un procesos contiene cosas como: Internal process name state Owner execution statistics Thread List of related process List of child process Address space Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Multiples Procesos Process Descriptor Cambio de estados Process States Process Descriptor El process descriptor de un procesos contiene cosas como: Internal process name state Owner execution statistics Thread List of related process List of child process Address space Resources Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Multiples Procesos Process Descriptor Cambio de estados Process States Process Descriptor El process descriptor de un procesos contiene cosas como: Internal process name state Owner execution statistics Thread List of related process List of child process Address space Resources stack Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Multiples Procesos Process Descriptor Cambio de estados Process States Context Switching Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Multiples Procesos Process Descriptor Cambio de estados Process States Cambio de estados Un proceso/hilo puede variar su estado a lo largo de su existencia. State Diagram Los diagramas de estado representa los diferentes estados y sus respectivas transiciones en la ejecución de un proceso/hilo. Estos estados son cambiados por el manejador de procesos, por ejemplo, asignando un recurso, bloqueandolo por I/O, o tan solo dejandolo en la lista de espera. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Multiples Procesos Process Descriptor Cambio de estados Process States Process States Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Manajador de recursos Generic Resource Manager Manajador de recursos Se posee una parte generica para asignar recursos a los procesos, este se conoce como su mecanismo. Además se posee una politica que define como y en que momento se asignan los recursos de un manejador en particular. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Manajador de recursos Generic Resource Manager Existen m tipos distuintos de recursos. Cada tipo de recurso tiene multiples unidades de él. Los procesos puede pedir una cantidad determinada de unidades. En un momento dado cualquiera un numero de unidades de recurso está disponible. Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Manajador de recursos Generic Resource Manager Generic Resource Manager Andrés Felipe Barco Santa Procesos, hilos y Recursos Introducción Máquina Abstracta Responsabilidades Process/Thread Abstraction Resource Manager Manajador de recursos Generic Resource Manager Fin de la Clase Nos vemos en la próxima!!! Andrés Felipe Barco Santa Procesos, hilos y Recursos