Procesos

Anuncio
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Procesos
Pedro Chávez Lugo
mailto:[email protected]
11 de mayo de 2010
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
1
Definición
2
Representación en memoria
3
Estados
4
Bloque de Control del proceso
5
Comunicación entre procesos
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Que es un Sistema Proceso?
Un proceso es un proceso se puede definir como un programa en
ejecución, y de una forma un poco más precisa, como la unidad de
trabajo del SO.
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Que es un Sistema Proceso?
Un proceso es un proceso se puede definir como un programa en
ejecución, y de una forma un poco más precisa, como la unidad de
trabajo del SO. Un proceso puede necesitar ciertos recursos, tales
como tiempo de CPU, memoria, archivos, y dispositivos E/S, para
completar su tarea.
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Procesos del SO y usuarios
Un sistema consiste de una colección de procesos:
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Procesos del SO y usuarios
Un sistema consiste de una colección de procesos:
Procesos del SO (ejecución de códigos del sistema)
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Procesos del SO y usuarios
Un sistema consiste de una colección de procesos:
Procesos del SO (ejecución de códigos del sistema)
Procesos de usuarios (ejecución de códigos de usuarios)
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Procesos del SO y usuarios
Un sistema consiste de una colección de procesos:
Procesos del SO (ejecución de códigos del sistema)
Procesos de usuarios (ejecución de códigos de usuarios)
Todos estos procesos pueden ejecutarse de manera concurrente con
un CPU o varios CPUs multiplexados. Conmutando el CPU entre los
procesos, entonces el SO puede hacer más productiva a la computadora.
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Los procesos se representan en memoria y podemos decir que un proceso es más
que un código de programa:
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Los procesos se representan en memoria y podemos decir que un proceso es más
que un código de programa:
El código del programa se representa en la sección de texto.
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Los procesos se representan en memoria y podemos decir que un proceso es más
que un código de programa:
El código del programa se representa en la sección de texto.
La actual actividad, representada por el contador de programa.
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Los procesos se representan en memoria y podemos decir que un proceso es más
que un código de programa:
El código del programa se representa en la sección de texto.
La actual actividad, representada por el contador de programa.
Los datos temporales (parámetros, direccción de regreso, y variables
locales) se representan en la sección denominada stack.
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Los procesos se representan en memoria y podemos decir que un proceso es más
que un código de programa:
El código del programa se representa en la sección de texto.
La actual actividad, representada por el contador de programa.
Los datos temporales (parámetros, direccción de regreso, y variables
locales) se representan en la sección denominada stack.
Las variables globales se representan en la sección de datos.
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Los procesos se representan en memoria y podemos decir que un proceso es más
que un código de programa:
El código del programa se representa en la sección de texto.
La actual actividad, representada por el contador de programa.
Los datos temporales (parámetros, direccción de regreso, y variables
locales) se representan en la sección denominada stack.
Las variables globales se representan en la sección de datos.
La memoria dinámicamente asignada durante la ejecución del proceso es
representada en la sección heap.
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Los procesos se representan en memoria y podemos decir que un proceso es más
que un código de programa:
El código del programa se representa en la sección de texto.
La actual actividad, representada por el contador de programa.
Los datos temporales (parámetros, direccción de regreso, y variables
locales) se representan en la sección denominada stack.
Las variables globales se representan en la sección de datos.
La memoria dinámicamente asignada durante la ejecución del proceso es
representada en la sección heap.
Max
Stack
Heap
Data
Text
0
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Un proceso se ejecuta, lo cual implica cambios de estado. El estado de un proceso se define la actual actividad del proceso, en donde cada proceso puede
encontrarse en uno de los siguientes estados:
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Un proceso se ejecuta, lo cual implica cambios de estado. El estado de un proceso se define la actual actividad del proceso, en donde cada proceso puede
encontrarse en uno de los siguientes estados:
Nuevo (New). El proceso ha sido creado.
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Un proceso se ejecuta, lo cual implica cambios de estado. El estado de un proceso se define la actual actividad del proceso, en donde cada proceso puede
encontrarse en uno de los siguientes estados:
Nuevo (New). El proceso ha sido creado.
Corriendo (Running). Las instrucciones son ejecutadas (uso del
procesador).
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Un proceso se ejecuta, lo cual implica cambios de estado. El estado de un proceso se define la actual actividad del proceso, en donde cada proceso puede
encontrarse en uno de los siguientes estados:
Nuevo (New). El proceso ha sido creado.
Corriendo (Running). Las instrucciones son ejecutadas (uso del
procesador).
Espera (Waiting). El proceso permanece en espera a un evento ocurra
(ej. recepción de una señal, demanda de un dispositivo E/S).
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Un proceso se ejecuta, lo cual implica cambios de estado. El estado de un proceso se define la actual actividad del proceso, en donde cada proceso puede
encontrarse en uno de los siguientes estados:
Nuevo (New). El proceso ha sido creado.
Corriendo (Running). Las instrucciones son ejecutadas (uso del
procesador).
Espera (Waiting). El proceso permanece en espera a un evento ocurra
(ej. recepción de una señal, demanda de un dispositivo E/S).
Listo (Ready). El proceso permanece en espera de asignación del
procesador.
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Un proceso se ejecuta, lo cual implica cambios de estado. El estado de un proceso se define la actual actividad del proceso, en donde cada proceso puede
encontrarse en uno de los siguientes estados:
Nuevo (New). El proceso ha sido creado.
Corriendo (Running). Las instrucciones son ejecutadas (uso del
procesador).
Espera (Waiting). El proceso permanece en espera a un evento ocurra
(ej. recepción de una señal, demanda de un dispositivo E/S).
Listo (Ready). El proceso permanece en espera de asignación del
procesador.
Terminado (Terminated). El proceso ha finalizado su ejecución.
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Un proceso se ejecuta, lo cual implica cambios de estado. El estado de un proceso se define la actual actividad del proceso, en donde cada proceso puede
encontrarse en uno de los siguientes estados:
Nuevo (New). El proceso ha sido creado.
Corriendo (Running). Las instrucciones son ejecutadas (uso del
procesador).
Espera (Waiting). El proceso permanece en espera a un evento ocurra
(ej. recepción de una señal, demanda de un dispositivo E/S).
Listo (Ready). El proceso permanece en espera de asignación del
procesador.
Terminado (Terminated). El proceso ha finalizado su ejecución.
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Terminado
Nuevo
Admitido
Salida
Interrumpido
Listo
Evento E/S
completado
Corriendo
proceso
despachado
Espera de
evento de E/S
Espera
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Cada proceso se representa en el sistema operativo por un Bloque de Control
del proceso (PCB) o también conocido como el bloque de control de tarea.
El bloque de control tiene asociado muchas piezas de información asociadas al
proceso especifico:
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Cada proceso se representa en el sistema operativo por un Bloque de Control
del proceso (PCB) o también conocido como el bloque de control de tarea.
El bloque de control tiene asociado muchas piezas de información asociadas al
proceso especifico:
Estado del proceso. El estado puede ser nuevo, listo, corriendo, etc.
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Cada proceso se representa en el sistema operativo por un Bloque de Control
del proceso (PCB) o también conocido como el bloque de control de tarea.
El bloque de control tiene asociado muchas piezas de información asociadas al
proceso especifico:
Estado del proceso. El estado puede ser nuevo, listo, corriendo, etc.
Contador de programa. El cual indica la dirección de la siguiente
instrucción a ejecutar.
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Cada proceso se representa en el sistema operativo por un Bloque de Control
del proceso (PCB) o también conocido como el bloque de control de tarea.
El bloque de control tiene asociado muchas piezas de información asociadas al
proceso especifico:
Estado del proceso. El estado puede ser nuevo, listo, corriendo, etc.
Contador de programa. El cual indica la dirección de la siguiente
instrucción a ejecutar.
Registros del CPU. El tipo y número de los registros pueden variar
dependiendo de la arquitectura del CPU. Se pueden incluir acumuladores,
registros ı́ndices, stack pointers, etc.
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Cada proceso se representa en el sistema operativo por un Bloque de Control
del proceso (PCB) o también conocido como el bloque de control de tarea.
El bloque de control tiene asociado muchas piezas de información asociadas al
proceso especifico:
Estado del proceso. El estado puede ser nuevo, listo, corriendo, etc.
Contador de programa. El cual indica la dirección de la siguiente
instrucción a ejecutar.
Registros del CPU. El tipo y número de los registros pueden variar
dependiendo de la arquitectura del CPU. Se pueden incluir acumuladores,
registros ı́ndices, stack pointers, etc.
Información para el despacho del CPU. Se puede incluir la prioridad del
proceso, apuntadores a las colas de despacho, entre otros parámetros.
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Cada proceso se representa en el sistema operativo por un Bloque de Control
del proceso (PCB) o también conocido como el bloque de control de tarea.
El bloque de control tiene asociado muchas piezas de información asociadas al
proceso especifico:
Estado del proceso. El estado puede ser nuevo, listo, corriendo, etc.
Contador de programa. El cual indica la dirección de la siguiente
instrucción a ejecutar.
Registros del CPU. El tipo y número de los registros pueden variar
dependiendo de la arquitectura del CPU. Se pueden incluir acumuladores,
registros ı́ndices, stack pointers, etc.
Información para el despacho del CPU. Se puede incluir la prioridad del
proceso, apuntadores a las colas de despacho, entre otros parámetros.
Información para la administración de memoria. Esta información puede
incluir el valor base y a los valores de los registros limites.
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Cada proceso se representa en el sistema operativo por un Bloque de Control
del proceso (PCB) o también conocido como el bloque de control de tarea.
El bloque de control tiene asociado muchas piezas de información asociadas al
proceso especifico:
Estado del proceso. El estado puede ser nuevo, listo, corriendo, etc.
Contador de programa. El cual indica la dirección de la siguiente
instrucción a ejecutar.
Registros del CPU. El tipo y número de los registros pueden variar
dependiendo de la arquitectura del CPU. Se pueden incluir acumuladores,
registros ı́ndices, stack pointers, etc.
Información para el despacho del CPU. Se puede incluir la prioridad del
proceso, apuntadores a las colas de despacho, entre otros parámetros.
Información para la administración de memoria. Esta información puede
incluir el valor base y a los valores de los registros limites.
Información administrativa. En esta información se puede incluir la
cantidad de uso del CPU, ası́ como el tiempo real utilizado, tiempo limite,
número de uso, etc.
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Cada proceso se representa en el sistema operativo por un Bloque de Control
del proceso (PCB) o también conocido como el bloque de control de tarea.
El bloque de control tiene asociado muchas piezas de información asociadas al
proceso especifico:
Estado del proceso. El estado puede ser nuevo, listo, corriendo, etc.
Contador de programa. El cual indica la dirección de la siguiente
instrucción a ejecutar.
Registros del CPU. El tipo y número de los registros pueden variar
dependiendo de la arquitectura del CPU. Se pueden incluir acumuladores,
registros ı́ndices, stack pointers, etc.
Información para el despacho del CPU. Se puede incluir la prioridad del
proceso, apuntadores a las colas de despacho, entre otros parámetros.
Información para la administración de memoria. Esta información puede
incluir el valor base y a los valores de los registros limites.
Información administrativa. En esta información se puede incluir la
cantidad de uso del CPU, ası́ como el tiempo real utilizado, tiempo limite,
número de uso, etc.
Información de E/S. En esta información se incluye una lista de los
dispositivos de E/S
asignados
al proceso,
Pedro
Chávez Lugo
Procesoslista de archivos abiertos, etc.
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Cada proceso se representa en el sistema operativo por un Bloque de Control
del proceso (PCB) o también conocido como el bloque de control de tarea.
El bloque de control tiene asociado muchas piezas de información asociadas al
proceso especifico:
Estado del proceso. El estado puede ser nuevo, listo, corriendo, etc.
Contador de programa. El cual indica la dirección de la siguiente
instrucción a ejecutar.
Registros del CPU. El tipo y número de los registros pueden variar
dependiendo de la arquitectura del CPU. Se pueden incluir acumuladores,
registros ı́ndices, stack pointers, etc.
Información para el despacho del CPU. Se puede incluir la prioridad del
proceso, apuntadores a las colas de despacho, entre otros parámetros.
Información para la administración de memoria. Esta información puede
incluir el valor base y a los valores de los registros limites.
Información administrativa. En esta información se puede incluir la
cantidad de uso del CPU, ası́ como el tiempo real utilizado, tiempo limite,
número de uso, etc.
Información de E/S. En esta información se incluye una lista de los
dispositivos de E/S
asignados
al proceso,
Pedro
Chávez Lugo
Procesoslista de archivos abiertos, etc.
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Estado del proceso
No. de proceso (id process)
Contador de programa
Registros
Limites de memoria
Lista de archivos abiertos
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Para la comunicación entre procesos se tienen varios mecanismos que permiten
la comunicación local o remota entre procesos:
Tuberı́as. La tuberı́a es un mecanismo que se emplea para la comunicación
local y unidireccional entre procesos. Un primer proceso realiza una cierta
tarea y el resultado de tal tarea es proporcionada a un segundo proceso.
Se puede emplear más de una tuberı́as de manera sucesiva. .
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Para la comunicación entre procesos se tienen varios mecanismos que permiten
la comunicación local o remota entre procesos:
Tuberı́as. La tuberı́a es un mecanismo que se emplea para la comunicación
local y unidireccional entre procesos. Un primer proceso realiza una cierta
tarea y el resultado de tal tarea es proporcionada a un segundo proceso.
Se puede emplear más de una tuberı́as de manera sucesiva. .
Seãles. La señal es un mecanismo local y bidireccional entre procesos.
Cada señal tiene asociado un significado especial correspondiente a una
cierta acción, ej. la señal de STOP, CONT.
Pedro Chávez Lugo
Procesos
Definición
Representación en memoria
Estados
Bloque de Control del proceso
Comunicación entre procesos
Para la comunicación entre procesos se tienen varios mecanismos que permiten
la comunicación local o remota entre procesos:
Tuberı́as. La tuberı́a es un mecanismo que se emplea para la comunicación
local y unidireccional entre procesos. Un primer proceso realiza una cierta
tarea y el resultado de tal tarea es proporcionada a un segundo proceso.
Se puede emplear más de una tuberı́as de manera sucesiva. .
Seãles. La señal es un mecanismo local y bidireccional entre procesos.
Cada señal tiene asociado un significado especial correspondiente a una
cierta acción, ej. la señal de STOP, CONT.
Sockets. Los sockets son un mecanismo que se emplea en la
comunicación bidireccional local y remota entre procesos. Existen varı́os
tipos de sockets, pero los sockets de Internet son los más utilizados
actualmente. La comunicación mediante sockets requiere de puertos de
comunicación y direcciones de internet.
Pedro Chávez Lugo
Procesos
Descargar