PDF de programación - Sistemas Operativos - Tema 3 - Procesos

Imágen de pdf Sistemas Operativos - Tema 3 - Procesos

Sistemas Operativos - Tema 3 - Procesosgráfica de visualizaciones

Publicado el 10 de Febrero del 2017
1.202 visualizaciones desde el 10 de Febrero del 2017
1,7 MB
69 paginas
Creado hace 18a (02/11/2006)
Sistemas Operativos

Tema 3 Procesos

http://www.ditec.um.es/so

Departamento de Ingenieria y Tecnologia de Computadores

Universidad de Murcia

Sistemas Operativos p. 1/63

˝ndice

1. Introduccin (Carretero, C3), (Tanenbaum, C2), (Stallings, C3)
2. Hilos o hebras (Tanenbaum, 2.2), (Stallings, 4.1), (Carretero, 3.6)
3. Introduccin a la comunicacin entre procesos, a la

sincronizacin (Tanenbaum, 2.3), (Carretero, C5), (Stallings, C5)

4. Planicacin de procesos (Carretero, 3.7), (Stallings, C9), (Tanenbaum,

2.5)

5. Multiprocesamiento (Stallings, 4.2), (Tanenbaum, 8.1)
6. Procesamiento en tiempo real (Stallings, 10.2)
7. Procesos en UNIX (Tanenbaum, 10.3), (Stallings, 3.4, 4.6, 10.310.4),

(Carretero, 11.3)

8. Procesos en Windows 2000 (Tanenbaum, 11.4), (Stallings, 4.4, 10.5)

Sistemas Operativos p. 2/63

˝ndice

1. Introduccin

1.1 Concepto de proceso (Tanenbaum, 2.1), (Carretero, 3.1)
1.2 Creacin y terminacin de procesos (Tanenbaum, 2.1)
1.3 Estados de un proceso. Suspensin y reanudacin

(Tanenbaum, 2.1), (Carretero, 3.5)

1.4 Descripcin de procesos (Carretero, 3.3), (Tanenbaum, 2.1.6),

(Stallings, 3.2)

1.5 Control de procesos (Stallings, 3.3)

Sistemas Operativos p. 3/63

1.1 Concepto de Proceso

La CPU es un recurso importantsimo

MÆs procesos que CPUs ) ¿quØ proceso la usa?
Ocurre igual con otros recursos limitados (p.ej. la memoria)
Distintos usuarios realizan tareas concurrentemente
Alternancia rÆpida entre procesos: cambio de contexto )
Pseudoparalelismo
Modelo de procesos: Aparentemente secuenciales,
ocultan la dicultad de las interrupciones
Es la unidad para describir las tareas de cada usuario y
para asignar recursos
Recordemos: proceso, dinÆmico (PC, pila, registros,
variables...); programa, estÆtico

Sistemas Operativos p. 4/63

1.1 Concepto de Proceso (ii)

¿QuØ proceso usa la CPU?
Algoritmo de planicacin

Ventajas de tener varios procesos en ejecucin:

compartir recursos soft y hard
acelerar cÆlculos con varias CPUs
modularidad
comodidad
etc.

Sistemas Operativos p. 5/63

1.2 Creacin de Procesos

Necesario un mecanismo de creacin y terminacin de
procesos
Creacin de procesos:

Inicio del sistema

Procesos interactivos vs. demonios (daemons)

Llamada al sistema para crear procesos

UNIX fork+exec, Win32 CreateProcess

El usuario inicia un proceso

Ya sea en modo grÆco o en algœn shell

Inicio de un trabajo por lotes

Normalmente en sistemas de mainframe

Sistemas Operativos p. 6/63

1.2 Terminacin de Procesos
Un proceso puede terminar por varias razones:

Terminacin normal (voluntaria)

UNIX exit, Win32 ExitProcess

Terminacin por error (voluntaria)

TambiØn usando esas llamadas al sistema, pero
devolviendo un cdigo de error indicando el fallo

Error fatal (involuntaria)
Terminado por otro proceso (involuntaria)

UNIX kill, Win32 TerminateProcess

Jerarqu·a de procesos

Unos procesos crean a otros procesos
Se puede ver como una jerarqua de procesos

Sistemas Operativos p. 7/63

1.3 Estados de un proceso

Estados de un proceso

En ejecuci·on: tiene la CPU
Listo: detenido, otro tiene la CPU
Bloqueado: no se puede ejecutar, espera algœn
evento

En ejecución

1

Bloqueado

3

4

2

Listo

1. El proceso se bloquea en espera de datos
2. El planificador elige otro proceso
3. El planificador elige a este proceso
4. Datos disponibles

Se puede incluir la posibilidad de suspender y
reanudar procesos

Aliviar la carga temporalmente
Depuracin

Sistemas Operativos p. 8/63

1.3 Estados de un proceso (i)

Nuevo. Se acaba de crear y aunque tiene el BCP, no ha sido
cargado en memoria
Ejecutando.
Listo. EstÆ preparado para ejecutarse cuando haya oportunidad
Bloqueado. No se puede ejecutar hasta que se cumpla un evento
determinado o se complete una operacin de E/S
Saliente. Se ha quitado del grupo de procesos ejecutables porque
ha sido abortado por alguna razn

Sistemas Operativos p. 9/63

1.3 Estados de un proceso (ii)

Nuevo ) Listo. Se intenta que no haya demasiados procesos activos
Listo ) Ejecutando. Se selecciona un proceso Listo y se le asigna la CPU
Ejecutando ) Saliente. El proceso naliza por cualquier motivo
Ejecutando ) Listo. Acaba el quantum o en algunos SSOO se desbloquea un
proceso prioritario
Ejecutando ) Bloqueado. Solicita algo por lo que debe esperar
Bloqueado ) Listo. Sucede lo que estaba esperando
Listo/Bloqueado ) Saliente. No se muestra. A veces un padre puede terminar la
ejecucin de un hijo alguna razn

Sistemas Operativos p. 10/63

1.3 Estados de un proceso (iii)

Listo. EstÆ en memoria principal disponible para ejecucin
Bloqueado. EstÆ en memoria principal esperando un evento
Listo suspendido. EstÆ en memoria secundaria esperando un evento
Bloqueado suspendido. EstÆ en memoria secundaria disponible para ejecutarse

Sistemas Operativos p. 11/63

1.3 Estados de un proceso (iv)

Bloqueado ) Bloqueado suspendido. Si no hay procesos listos, un proceso
bloqueado se pasa a disco para hacer hueco en memoria o para liberar memoria.
Bloqueado suspendido ) Listo suspendido. Sucede lo que estaba esperando.
Listo suspendido ) Listo. Si no hay procesos listos, necesitaremos traer uno para
ejecutarlo. TambiØn puede que un proceso listo suspendido tenga la mayor prioridad.
Listo ) Listo suspendido. Normalmente se suspenden procesos bloqueados, pero
se puede preferir suspender un proceso listo de baja prioridad ante uno bloqueado de
alta prioridad. Se busca obtener mÆs memoria libre.
Nuevo ) Listo suspendido/Listo. Creamos el proceso cuando hay muchos
bloqueados, o inmediatamente.
Bloqueado suspendido ) Bloqueado. Un proceso termina liberando memoria, uno
de los bloqueados susp. tiene la mayor prioridad y el SO sospecha que el evento que
espera sucederÆ en breve.
Ejecutando ) Listo/Suspendido. Un proceso de mayor prioridad despierta de
bloqueado suspendido.
Cualquier estado ) Saliente.

Sistemas Operativos p. 12/63

1.4 Descripcin de Procesos (Stallings, 3.2)

Para administrar los procesos se usa una tabla de
procesos.
Cada entrada de la tabla es un PCB (Process Control Block)

Memory management
Pointer to text segment
Pointer to data segment
Pointer to stack segment

File management
Root directory
Working directory
File descriptors
User ID
Group ID

Process management
Registers
Program counter
Program status word
Stack pointer
Process state
Priority
Scheduling parameters
Process ID
Parent process
Process group
Signals
Time when process started
CPU time used
Children’s CPU time
Time of next alarm

Sistemas Operativos p. 13/63



1.5 Control de Procesos (i)

Modos de ejecucin

Modo usuario
Modo nœcleo (root, protegido, supervisor...)
El proceso estÆ compuesto por la parte usuario (lo
que el usuario implementa) y la parte de nœcleo (las
rutinas del nœcleo que utiliza)

¿Cmo se crea un proceso?

Asignar un ID œnico al proceso (y entrada en la tabla de
procesos)
Asignar espacio para el proceso
Iniciar el PCB
Incluir al proceso en los algoritmos de planicacin
Actualizar otras tablas (p.ej. contabilidad)

Sistemas Operativos p. 14/63

1.5 Control de Procesos (ii)

¿CuÆndo cambiar de proceso?

Interrupcin de reloj
Interrupcin de E/S
Llamada al sistema
Fallo de memoria (fallo de memoria virtual)

Todo a travØs de interrupciones (hw. o sw.)
No es lo mismo un cambio de proceso que un cambio de modo

Cambiar de modo: guarda registos, cambia pila, memoria virtual...
Cambiar de proceso: actualizar BCP, mover entre colas, seleccionar nuevo
proceso, activarlo...

Sistemas Operativos p. 15/63

1.5 Control de Procesos (iii)

Mecanismo de cambio de modo
1. El PC pasa a apuntar a la rutina de tratamiento de la excepcin
2. Cambia de modo usuario a modo nœcleo
3. El SO guarda el contexto del proceso interrumpido en su BCP
Mecanismo de cambio de proceso
1. Salvamos el estado del procesador (PC, registros...)
2. Actualizar campos BCP (estado, contabilidad, auditora...)
3. Mover el BCP a la cola apropiada (Listo, bloqueado..)
4. Seleccin del nuevo proceso a ejecutar
5. Actualizar el BCP del proceso elegido (estado Ejecutando...)
6. Actualizar estructuras de datos de gestin de memoria
7. Restaurar el estado del procesador cuando se interrumpi el

nuevo proceso

Sistemas Operativos p. 16/63

Cambio de contexto (i)

Proceso

i

Código

Datos
Pila

Datos depositados
por el hardware

Proceso

j

Código

Datos
Pila

Datos retirados
por el hardware

Código

ensamblador
Guardar contexto
del proceso actual

Restaurar contexto
del nuevo proceso

Código de la
llamada al
sistema

Código del
planificador

Sistemas Operativos p. 17/63

Cambio de contexto (ii)

Sistemas Operativos p. 18/63

¿Dnde estÆ el SO?

Sistemas Operativos p. 19/63

2. Hilos, Hebras o Threads

Hasta ahora, un proceso es, a la vez:

Unidad de asignaci·on de recursos
Unidad de planicaci·on y ejecuci·on

Aunque no tiene por quØ: hilo ) unidad de
planicacin, proceso ) unidad de asign. de recursos
Un proceso puede tener varios hilos

Process 1

Process 1

Process 1

Process

User
space

Kernel
space

Thread

Kernel

(a)

Thread

Kernel

(b)

Sistemas Operativos p. 20/63

2. Hilos, Hebras o Threads (ii)

Elementos p
  • Links de descarga
http://lwp-l.com/pdf2381

Comentarios de: Sistemas Operativos - Tema 3 - Procesos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad