Procesos, hilos y Recursos

Anuncio
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
Descargar