Sunteți pe pagina 1din 59

1

Control y Descripcin de Procesos


Chapter 3
2
Requerimientos de un
Sistema Operativo
Intercalar la ejecucin de multiples
procesos para maximizar la utilizacin
del procesador ofreciendo a la vez un
tiempo de respuesta razonable
Asignar los recursos a los procesos
Dar soporte a la comunicacin entre
procesos y a la creacin de procesos por
parte del usuario
3
Conceptos
Una computadora consiste en una coleccin de
recursos de hardware
Las aplicaciones se desarrollan para realizar
una tarea determinada
Es Ineficiente que las aplicaciones sean
escritas directamente para un hardware dado.
Un Sistema Operativo provee un uso adecuado
de los recursos, seguridad, y una interfaz
consistente con las aplicaciones.
Un SO provee una representacin abstracta y
uniforme del los recursos que pueden ser
requeridos y accedidos por las aplicaciones
4
Control de ejecucin de
Aplicaciones
Los Recursos pueden estar disponibles a
multiples aplicaciones
El Procesador es compartido entre
multiples aplicaciones
El procesador y los dispositivos I/O
pueden ser usados eficientemente
5
Proceso
Un programa en ejecucin
Una instancia de un programa en ejecucin
Una entidad que puede ser asignada y
ejecutada en un procesador
Una unidad de actividad caracterizada por la
ejecucin de una secuencia de instrucciones,
un estado actual, y un conjunto asociado de
instrucciones de sistema
6
Elementos de un Proceso
Identificador
Estado
Prioridad
Program counter
Punteros a Memoria
Un contexto
Informacin de estado de I/O
Informacin de contabilidad
7
Bloque de Control de Proceso
Contiene los elementos del proceso
Creado y administrado por el sistema
operativo
Permite la coordinacin y la cooperacin
entre procesos
8
Process Control Block
Identifier
Figure 3.1 Simplified Process Control Block
State
Priority
Program counter
Memory pointers
Context data
I/O status
information
Accounting
information
9
Traza de un Proceso
Secuencia de instrucciones que se
ejecutan para dicho proceso
El comportamiento del procesador puede
caracterizarse mostrando la forma en que
se intercalan las trazas de varios
procesos
El despachador intercambia el
procesador entre un proceso y otro
10
Ejemplo de ejecucin
Main Memory
Address
Dispatcher
Process A
Process B
Process C
Program Counter
0
100
5000
8000
8000
12000
Figure 3.2 Snapshot of Example Execution (Figure 3.4)
at Instruction Cycle 13
11
Traza de un Proceso
12
13
Modelo de procesos con dos
estados
un proceso puede estar en uno de estos dos
estados
Ejecucin (Running)
No-Ejecucin (Not-running)
14
Cola de procesos en No
ejecucin
La cola es una lista FIFO, (First-in, First-Out)
Cada bloque de la cola representa a un proceso
El comportamiento del despachador se puede describir en trminos de un diagrama
de colas
El procesador opera segn un turno rotatorio (round-robin)
15
Creacin de un
proceso
en un entorno de trabajo por lotes, un proceso se crea
como respuesta a la remisin de un trabajo.
En un entorno interactivo, se crea un proceso cuando
un nuevo usuario intenta conectarse
el sistema operativo crea un proceso para dar servicio
a una aplicacin sin que el usuario tenga que esperar,
ej. imprimir
un proceso puede originar la creacin de otro proceso
(process spawning), ej. servidor de archivos puede
crear un nuevo proceso por cada solicitud que reciba
16
Terminacin normal El proceso ejecuta una llamada a un servicio del SO
que indica que ha terminado de ejecutar

Tiempo limite excedido El proceso se ha ejecutado mas que el limite de total
especificado. Hay varias posibilidades para la clase de
tiempo que se mide. Entre stas se incluyen el tiempo total
transcurrido (tiempo de reloj), el tiempo que se ha estado
ejecutando y, en el caso de un proceso interactivo, el tiempo
transcurrido desde que el usuario real realiz su ltima
entrada de datos

No hay memoria disponible El proceso necesita ms memoria de la que el sistema le
puede proporcionar

Violacin de limites El proceso trata de acceder a una posicin de memoria a la
que no le est permitido acceder

Error de proteccin El proceso intenta utilizar un recurso o un archivo que no le
est permitido utilizar, o trata de utilizarlo de forma
incorrecta, como escribir en un archivo que es solo de
lectura.

Error Aritmtico El proceso intenta hacer un clculo prohibido, como una
divisin por cero, o trata de almacenar un nmero mayor del
que el hardware acepta.
Terminacin de un proceso
17
Terminacin de un proceso
Tiempo mx de espera rebasado El proceso ha esperado ms all del tiempo
mximo especificado para que se produzca cierto suceso.

Fallo de E/S Se produce un error en la entrada o la salida, tal como la
incapacidad de encontrar un archivo, un fallo de r/w
despus de un nmero mximo de intentos (cuando, por
ejemplo, hay un regin defectuosa en una cinta), o una
operacin ilegal (como intentar leer de una impresora)

Instruccin invlida El proceso intenta ejecutar una instruccin inexistente (a
menudo como resultado de un salto a una zona de datos
para intentar ejecutar los datos).

Instruccin privilegiada El proceso intenta usar una instruccin reservada para el
sistema operativo

Mal uso de los datos Un elemento de dato es de un tipo equivocado o no est
inicializado.

Intervencin del oper o del SO Por alguna razn el operador o el sistema operativo termina
con el proceso (por ejemplo, si existe un interbloqueo).

Terminacin del padre Cuando un proceso padre finaliza, el sistema operativo
puede disearse para terminar automticamente con todos
sus descendientes

Solicitud del padre Un proceso padre tiene normalmente la autoridad de
terminar con cualquiera de sus descendientes
18
Limitaciones del modelo
No-Ejecucin
Listos para ejecutar
Bloqueados
Esperando que termine una operacin I/O
El despachador podra no seleccionar el
proceso que est en el extremo ms antiguo de
la cola, porque este podra estar bloqueado
El despachador tendra que recorrer la lista
buscando el proceso que este no bloqueado
19
Modelo de cinco estados
Ejecucin (Running)
Listo (Ready)
Bloqueado (Blocked)
Nuevo (New)
Terminado (Exit)
20
Modelo de cinco estados
21
Process States
22
Utilizacin de dos colas
Cuando se produce un suceso, el so debe recorrer toda la cola
de Bloqueados buscando aquellos procesos que esperan al suceso
23
Multiples colas de Bloqueados
Event 1 Wait
Event 2 Wait
Event n Wait
Dispatch
Release
Ready Queue
Admit
Processor
Timeout
Event 1 Queue
Event 1
Occurs
Event 2
Occurs
Event n
Occurs
Event 2 Queue
Event n Queue
(b) Multiple blocked queues
24
Procesos suspendidos
El procesador es tan rpido comparado
con la I/O que todos los procesos en
memoria podran estar bloqueados
El intercambio (Swap) de estos procesos
a disco podra liberar memoria para otro
proceso o para crear uno nuevo
El estado bloqueado se transforma a
suspendido cuando el proceso est en
disco
25
Un estado suspendido
26
Un estado suspendido
Todos los procesos que fueron suspendidos estaban en el estado Bloqueado
Son necesarios dos estados nuevos:
Bloqueado y suspendido: El proceso est en disco esperando un suceso.
Listo y suspendido: El proceso est en disco pero est disponible para
su ejecucin tan pronto como se cargue en la memoria principal.
27
Two Suspend States
28
Razones para suspender un
proceso
Intercambio El sistema operativo necesita liberar suficiente memoria
principal para cargar un proceso que est listo para
ejecutarse

Otra razn del SO El sistema operativo puede suspender un proceso de fondo,
de utilidad o cualquier proceso que se sospecha sea el
causante de un problema

Solicitud de un usuario Un usuario puede querer suspender la ejecucin de un
programa con fines de depuracin o en conexin con el uso
de un recurso

Por tiempo Un proceso puede ejecutarse peridicamente (por ejemplo,
un proceso de contabilidad o de supervisin del sistema) y
puede ser suspendido mientras espera el siguiente intervalo
de tiempo

Solicitud del proceso padre Un proceso padre puede querer suspender a ejecucin de un
proceso padre descendiente para examinar o modificar el
proceso suspendido o para coordinar la actividad de varios
descendientes
29
Procesos y Recursos
P1 est ejecutndose; una parte del proceso est en memoria principal; tiene el control de dos dispositivos de E/S
P2 tambin est en memoria principal, pero est bloqueado esperando al dispositivo de E/S que est asignado a P1
El proceso Pn ha sido descargado a disco y por tanto, est suspendido
30
Estructuras de Control del SO
Informacin sobre el estado actual de
cada proceso y de cada recurso
El SO construye y mantiene tablas de
informacin sobre cada entidad que est
administrando
Tablas: de memoria, de E/S, de archivos
y de procesos
31
Tablas de Memoria
La asignacin de memoria principal a los
procesos
La asignacin de memoria secundaria a los
procesos
Atributos de proteccin de segmentos de
memoria principal o virtual tales como qu
procesos pueden acceder a ciertas regiones
compartidas de memoria
Informacin necesaria para gestionar la
memoria virtual
32
Tablas de E/S
E/S puede estar disponible o estar
asignado a un proceso
Estado de una operacin de E/S en curso
La posicin de memoria principal que se
est utilizando como origen o destino de
una transferencia de E/S
33
Tablas de Archivos
Existencia de los archivos
Su posicin en la memoria secundaria
Su estado actual
Otros atributos
Utilizada por un sistema de gestin de
archivos
34
Tabla de Procesos
Dnde est ubicado el proceso
Atributos del proceso
Programa
Datos
Stack
35
Imgen del Proceso
Elementos Tpicos de una Imagen de Proceso

Datos de Usuario
La parte modificable del espacio de usuario. Puede guardar
datos del programa, una zona para una pila del usuario y
programas que pueden modificarse.
Programa de Usuario
El programa a ejecutar.
Pila del Sistema
Cada proceso tiene una o ms pilas asociadas a l. Una pila
se utiliza para almacenar los parmetros y las direcciones de
retorno.
Bloque de Control de Proceso
Informacin necesaria para que el sistema operativo controle
al proceso
36
Memory
Devices
Files
Processes
Process 1
Memory Tables
Process
Image
Process
1
Process
Image
Process
n
I/O Tables
File Tables
Figure 3.11 General Structure of Operating System Control Tables
Primary Process Table
Process 2
Process 3
Process n
37
Bloque de Control de Procesos
Identificacin del Proceso
Identificadores
Los identificadores numricos que se pueden
guardar en el bloque de control de proceso
incluyen:
Identificador de este proceso
Identificador del proceso que cre a este proceso (el
proceso padre)
Identificador del usuario
38
Bloque de Control de Procesos
Informacin de Estado del Procesador
Registros Visibles para el Usuario
Un registro visible para el usuario es aqul al
que puede hacerse referencia por medio del
lenguaje mquina que ejecuta el procesador.
Normalmente, existen de 8 a 32 de estos
registros, aunque algunas implementaciones
RISC tienen ms de 100.
39
Bloque de Control de Procesos
Informacin de Estado del Procesador
Registros de Control y de Estado
Hay varios registros del procesador que se emplean para
controlar su funcionamiento. Entre estos se incluyen:
Program counter: Contiene la direccin de la prxima
instruccin a ser tratada
Cdigos de condicin: Muestran el resultado de la
operacin aritmtica o lgica ms reciente (signo, cero,
acarreo, igualdad, desbordamiento).
Informacin de estado: incluye los indicadores de
habilitacin o inhabilitacin de interrupciones y el modo
de ejecucin
40
Bloque de Control de Procesos
Informacin de Estado del Procesador
Stack Pointers
Cada proceso tiene una o ms pilas LIFO del
sistema asociadas. Las pilas se utilizan para
almacenar los parmetros y las direcciones de
retorno de los procedimientos y de las llamadas
al sistema. El puntero de pila siempre apunta a
la cima de la pila.
41
Bloque de Control de Procesos
Informacin de Control del Proceso
Informacin de Planificacin y de Estado
Esta es la informacin que se necesita por el sistema operativo para
llevar a cabo sus funciones de planificacin. Los elementos tpicos
de esta informacin son los siguientes:
Estado del proceso: Define la disposicin del proceso para ser
planificado para ejecutar (en ejecucin, listo, esperando, detenido).
Prioridad: Se puede usar uno o ms campos para describir la
prioridad de planificacin de los procesos. En algunos sistemas se
necesitan varios valores (por omisin, actual, la ms alta
permitida).
I nformacin de planificacin: Esta depender del algoritmo de
planificacin utilizado. Como ejemplos se tienen la cantidad de
tiempo que el proceso ha estado esperando y la cantidad de tiempo
que el proceso ejecut la ltima vez.
Suceso: La identidad del suceso que el proceso est esperando
antes de poder reanudarse.
42
Bloque de Control de Procesos
Informacin de Control del Proceso
Estructuracin de Datos
Un proceso puede estar enlazado con otros
procesos en una cola o alguna otra estructura.
Por ejemplo todos los procesos que estn en
estado de espera de un nivel determinado de
prioridad pueden estar enlazados en una cola.
Un proceso puede mostrar una relacin padre-
hijo con otro proceso. El BCP puede contener
punteros a otros procesos para dar soporte a
estas estructuras.

43
Bloque de Control de Procesos
Informacin de Control del Proceso
Comunicacin entre Procesos
Puede haber varios indicadores, seales y mensajes
asociados con la comunicacin entre dos procesos
independientes. Una parte de esta informacin o toda ella
se puede guardar en el bloque de control de proceso.
Privilegios de los procesos
A los procesos se es otorgan privilegios en trminos de la
memoria a la que pueden acceder y el tipo de
instrucciones que pueden ejecutar. Adems, tambin se
pueden aplicar privilegios al uso de los servicios y
utilidades del sistema.

44
Bloque de Control de Procesos
Informacin de Control del Proceso
Gestin de Memoria
Esta seccin puede incluir punteros a las tablas de pginas
y/o segmentos que describen la memoria virtual asignada
al proceso.
Propiedad de los Recursos y Utilizacin
Se pueden indicar los recursos controlados por el proceso,
tales como los archivos abiertos. Tambin se puede
incluir un histrico de la utilizacin del procesador o de
otros recursos; esta informacin puede ser necesaria para
el planificador

45
Control de Procesos
Modos de ejecucin
Modo de usuario
modo menos privilegiado
los programas de usuario ejecutan
normalmente en ese modo
Modo de sistema, control, o kernel
modo ms privilegiado
Kernel del sistema operativo
46
Creacin de Procesos
Asigna un nico identificador al nuevo
proceso
Asignar espacio para el proceso (imagen)
Inicializar el bloque de control del proceso
Establecer los enlaces apropiados
Por ejemplo, si el sistema operativo mantiene cada
cola de planificacin como una lista enlazada,
entonces el proceso nuevo se debe poner en la cola
de Listos o de Listos y suspendidos
Crear o ampliar otras estructuras de datos
Ej: el sistema operativo puede mantener un archivo
de contabilidad

47
Cambio de Proceso
Cundo cambiar de proceso:

Interrupcin de reloj:
Si el SO determina que el proceso que est en ejecucin, se ha
estado ejecutando durante la fraccin mxima de tiempo permitida,
el proceso debe pasar al estado Listo y se debe expedir otro proceso

Interrupcin de E/S:
Si la accin constituye un suceso que estn esperando uno o ms
procesos, entonces el SO traslada todos los procesos bloqueados
correspondientes al estado Listo o Listo suspendido

Fallo de memoria:
una referencia a una direccin de memoria virtual no est en
memoria principal. El SO puede llevar a cabo un cambio de contexto
para reanudar la ejecucin de otro proceso; el proceso que cometi
el fallo de memoria se pasa a estado Bloqueado.
48
Cambio de Proceso
Trap
Error o excepcin
Si es fatal puede causar que el proceso pase
al estado terminado
Llamada al sistema
Ej: abrir un archivo. El proceso de usuario
pasa al estado suspendido
49
Cambio de Estado de los
Procesos
Salvar el contexto del procesador, incluyendo
el contador de programa y otros registros
Actualizar el bloque de control del proceso
que estaba en estado de Ejecucin
Mover el bloque de control del proceso a la
cola apropiada Listos, Bloqueados, Listos y
suspendidos
Seleccionar otro proceso para ejecucin

50
Cambio de Estado de los
Procesos
Actualizar el bloque de control del
proceso seleccionado
Actualizar las estructuras de datos de
gestin de memoria
Restaurar el contexto del procesador a
aquel que exista en el momento en el
que el proceso seleccionado dej por
ltima vez el estado de Ejecucin
51
Funciones Bsicas del Ncleo
de un Sistema Operativo
Gestin de Procesos
Creacin y terminacin de los procesos
Planificacin y expedicin de los procesos
Cambio de procesos
Sincronizacin de procesos y soporte para la comunicacin entre procesos
Gestin de los bloques de control de procesos
Gestin de memoria
Asignacin de espacios de direcciones a los procesos
Intercambio
Gestin de pginas y segmentos
Gestin de E/S
Gestin de buffers
Asignacin de canales de E/S y dispositivos a los procesos
Funciones de Soporte
Tratamiento de interrupciones
Contabilidad
Supervisin
52
Ejecucin del sistema
operativo
Ncleo fuera de todo proceso
Ejecucin del ncleo fuera de cualquier proceso
El cdigo del sistema operativo se ejecuta como
una entidad separada que opera en modo
privilegiado
Ejecucin dentro de los procesos de usuario
SO en el contexto de un proceso de usuario
(coleccin de rutinas que el usuario llama para
llevar a cabo varias funciones y que son ejecutadas
dentro del entorno del proceso de usuario)
El proceso se ejecuta en modo privilegiado cuando
ejecuta cdigo del SO
53
P
1
P
2
P
n
Kernel
(a) Separate kernel
P
1
P
2
P
n
OS
1
OS
k
(c) OS functions execute as separate processes
Figure 3.15 Relationship Between Operating
System and User Processes
OS
Func-
tions
OS
Func-
tions
OS
Func-
tions
P
1
P
2
P
n
Process Switching Functions
Process Switching Functions
(b) OS functions execute within user processes
54
55
Ejecucin del sistema
operativo
Sistema operativo basado en procesos
implementacin del sistema operativo como
una coleccin de procesos del sistema
til en un entorno de multiprocesador o de
varias computadoras
56
UNIX SVR4 Process
Management
Todos los procesos del sistema, son creados
por rdenes de programas del usuario excepto
el proceso 0 (proceso de intercambio) y 1(Init).

OS
Func-
tions
OS
Func-
tions
OS
Func-
tions
P
1
P
2
P
n
Process Switching Functions
(b) OS functions execute within user processes
57
UNIX Process States
58
UNIX Process Image
59

S-ar putea să vă placă și