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

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

Sistemas Operativos I - Tema 3 - Procesosgráfica de visualizaciones

Actualizado el 24 de Noviembre del 2018 (Publicado el 24 de Enero del 2017)
1.468 visualizaciones desde el 24 de Enero del 2017
2,0 MB
98 paginas
Creado hace 23a (16/10/2000)
Sistemas Operativos I

Tema 3

Procesos

Equipo de Sistemas Operativos DISCA / DSIC

UPV

Tema 3: Procesos

? Introducción

Existen varias razones para permitir la ejecución concurrente de procesos:

? Compartir recursos físicos

? Compartir recursos lógicos

? Acelerar los cálculos

? Modularidad

? Comodidad

? Objetivos del tema:

? Profundizar en el concepto de proceso

? Dar a conocer la implementación del modelo de procesos

? Estudiar las diferentes políticas de planificación del procesador

Sistemas Operativos I (00-01)

Tema 3: Procesos

2

Tema 3: Procesos

? Índice

? Bibliografía

1.- Concepto de proceso.

2.- Implementación de procesos.

3.- Hilos de ejecución (threads).

4.- Conceptos de planificación.

5.- Criterios de planificación.

6.- Algoritmos de planificación.

7.- Evaluación de algoritmos.

8.- S.O. dirigido por eventos.

? A. Silberschatz, P. Galvin.
Sistemas Operativos. 5ª ed.

?Tema 4

? W. Stallings.

Sistemas Operativos 2ª ed.

?Tema 3.

Sistemas Operativos I (00-01)

Tema 3: Procesos

3

Tema 3: Procesos

? Índice

1.- Concepto de proceso.

2.- Implementación de procesos.

3.- Hilos de ejecución (threads).

4.- Conceptos de planificación.

5.- Criterios de planificación.

6.- Algoritmos de planificación.

7.- Evaluación de Algoritmos.

8.- S.O. dirigido por eventos.

Sistemas Operativos I (00-01)

Tema 3: Procesos

4

1.- Concepto de proceso

? Concepto de proceso:

Existen diferentes visiones complementarias del concepto de proceso:

? Programa en ejecución.

? Unidad de asignación de recursos.

? Proceso como procesador virtual.

Sistemas Operativos I (00-01)

Tema 3: Procesos

5

1.- Concepto de proceso

? Proceso como programa en ejecución:

? Programa: Lista de instrucciones. Ente pasivo.

? Proceso: Programa en ejecución. Ente activo. Pasa por una serie de

estados

? Un programa reside normalmente en un fichero que se encuentra
físicamente en el disco y es cargado en memoria cuando se crea el
proceso para ejecutarlo.

? Puede haber dos o más procesos asociados a la ejecución de un mismo
programa. Es habitual que un proceso genere más procesos durante su
ejecución.

Sistemas Operativos I (00-01)

Tema 3: Procesos

6

1.- Concepto de proceso

? Proceso como procesador virtual:

? Proceso: cada una de las actividades paralelas que se ejecutan en la
máquina. Da la apariencia de que todas ellas se ejecutan sobre
procesadores diferentes en paralelo.

? Ejemplos:

?Procesos de usuario: Un proceso de edición de un sistema de tiempo
compartido. Un trabajo en un sistema por lotes. La compilación de un
programa fuente en Pascal: el programa que ejecuta el proceso es el
propio compilador.

?Procesos del sistema: “swapper” (que decide qué procesos hay que
extraer de la memoria o introducir en ella cuando la cantidad de
memoria libre no llega o supera ciertos límites), “pagedeamon” (es el
encargado de utilizar reemplazo para liberar marcos y pasarlos a la
reserva).

Sistemas Operativos I (00-01)

Tema 3: Procesos

7

1.- Concepto de proceso

? Proceso como procesador virtual:

? El sistema operativo simula la existencia de N procesadores virtuales

(procesos) a partir de una CPU o procesador físico.

?Cada procesador virtual ejecuta

secuencialmente

un único

programa.

?Todos los procesos se ejecutan concurrentemente

Sistemas Operativos I (00-01)

Tema 3: Procesos

8

1.- Concepto de proceso
? Ejecución secuencial y ejecución concurrente.

? Ejecución secuencial: La ejecución de un proceso se dice que es
secuencial porque sus operaciones son ejecutadas por la CPU una tras
otra, en el orden que dicte el programa.

? Ejecución concurrente: La ejecución de dos procesos se dice que es

concurrente porque estos se pueden ejecutar en paralelo.

?Concurrencia real: Si cada proceso se ejecuta sobre una CPU.
?Concurrencia virtual: La CPU reparte su tiempo entre los

procesos para simular su ejecución paralela.

Sistemas Operativos I (00-01)

Tema 3: Procesos

9

1.- Concepto de proceso

? Proceso como unidad de asignación de recursos:

? Para ejecutar un programa se necesita un entorno formado por una serie
de recursos: memoria, descriptores de ficheros y otros atributos del
proceso.

? Un proceso se puede considerar como la unidad de propiedad de todos

esos recursos.

P1

Tiempo
de CPU

Memoria

Tabla de

descriptores

ficheros

Otros

atributos

Sistemas Operativos I (00-01)

Tema 3: Procesos

10

1.- Concepto de proceso

? Estados de un proceso

Al ejecutar un proceso éste va cambiando de estado. El estado de un proceso
se define como el comportamiento que presenta en un instante dado:

? Activo: El proceso se puede ejecutar. No hay impedimentos en asignarle

alguna CPU.

?Ejecución: El proceso tiene asignada una CPU, las instrucciones se

están ejecutando.

?Preparado: El proceso puede ser ejecutado pero está esperando que
se le asigne una CPU libre. Puede haber varios procesos en este
estado.

? Suspendido: No puede ser ejecutado porque el proceso se encuentra

esperando un evento como:

?la finalización de una operación de E/S (una lectura de teclado)
?la comunicación con otro proceso, etc.

Sistemas Operativos I (00-01)

Tema 3: Procesos

11

1.- Concepto de proceso

? Estados de un proceso:

Proceso terminado
por otro proceso

ACTIVO

Admitido

Elegido Planificador

Terminación

TERMINADO

NUEVO

PREPARADO

Expulsión

EN

EJECUCIÓN

Fin E/S

o

llegada evento

Esperar E/S

o evento

SUSPENDIDO

Proceso terminado
por otro proceso

Sistemas Operativos I (00-01)

Tema 3: Procesos

12

1.- Concepto de proceso
? Operaciones sobre procesos (1)

? Creación: Supone asignar todos los recursos que el proceso necesita para

su ejecución, como p.e. memoria.

?Ejemplo en UNIX: fork(). La utiliza el proceso init para crear un proceso
que gestione cada terminal y el shell cada vez que recibe una nueva
orden del usuario (si ésta es externa).

? Terminación: Supone

proceso. Esta terminación puede ser:

liberar

los recursos previamente asignados al

?Terminación normal: El proceso invoca su propia terminación.

Ejemplo en UNIX: exit()

?Terminación anormal: El proceso termina por iniciativa del sistema
operativo al detectar alguna condición de error (violación de límites,
errores aritméticos) o por iniciativa de algún otro proceso.
Ejemplo en UNIX: kill() y señales.

Sistemas Operativos I (00-01)

Tema 3: Procesos

13

1.- Concepto de proceso
? Operaciones sobre procesos (2):

? Suspensión: Supone pasar un proceso al estado suspendido para que

espere un evento o E/S.

?Ejemplo en UNIX: read() sobre un tubo vacío.

? Activación: Pasar un proceso al estado activo cuando se produce el

evento que esperaba.

?Ejemplo en UNIX: un proceso efectúa un write() sobre un tubo en el

que había un lector esperando. El lector se reactiva.

Sistemas Operativos I (00-01)

Tema 3: Procesos

14

1.- Concepto de proceso
? Estados de un proceso en UNIX

En ejec.
(usuario)

ESTADOS
ACTIVOS

Empieza

fork()

inicial

Fin de

interrup. o

llamada al sist.

Interrupción o

llamada al sistema

wait()

exit()

zombie

Acaba
fork()

En ejec.
(núcleo)

Cambios
contexto

de

Espera evento

Ocurre evento

suspendido

preparado

SIGCONT

SIGSTOP

parado

Sistemas Operativos I (00-01)

Tema 3: Procesos

15

Tema 3: Procesos

? Índice

1.- Concepto de proceso.

2.- Implementación de procesos.

3.- Hilos de ejecución (threads).

4.- Conceptos de planificación.

5.- Criterios de planificación.

6.- Algoritmos de planificación.

7.- Evaluación de Algoritmos.

8.- S.O. dirigido por eventos.

Sistemas Operativos I (00-01)

Tema 3: Procesos

16

2.- Implementación de procesos
Para implementar procesos es conveniente pensar en un proceso como un procesador
virtual que ejecuta un programa y que se implementa a partir de un procesador físico.

? La implementación de procesos requiere:

? Bloque de control de un proceso PCB (Process Control Block): es una
estructura de datos para administrar el proceso. Almacena información de un
proceso.

? Asignar los recursos necesarios para su ejecución, fundamentalmente la

memoria para almacenar el código, los datos y la pila.

? Multiplexar la CPU entre los procesos: repartir el tiempo de la CPU entre los

diferentes procesos para simular la ejecución paralela (concurrencia virtual).

? Bloque de control del sistema: es una estructura de datos que el sistema utiliza
para controlar la ejecución de los procesos. Almacena información de todos los
procesos.

Sistemas Operativos I (00-01)

Tema 3: Procesos

17

2.- Implementación de procesos

? Bloque de Control de proceso (PCB):

Es una estructura de datos donde se almacenan los atributos de un proceso, es decir,
la información asociada a un proceso. En un sistema de multiprogramación se
requiere un gran cantidad de información de cada proceso para su administración.

Esta información puede agruparse en tres categorías:

? Identificación de Proceso: a cada proceso se le asigna un identificador numérico

único (puede ser tan simple como un índice en la tabla de procesos).

? Información de estado del procesador (Contexto): Básicamente está formada
por el contenido de los registros del procesador. Cuando se interrumpe un
proceso, el contenido de los registros del procesador debe salvarse de forma que
pueda restaurarse cuando el proceso reanude su ejecución

? Información de control del proceso: Información necesaria para que el sistema

operativo controle y coordine los diferentes procesos.

Sistemas Operativos I (00-01)

Tema 3: Procesos

18

2.- Implementación de procesos
? Identificación de Procesos. El PCB guarda:

? Identificador de este proceso.

? Identificador
  • Links de descarga
http://lwp-l.com/pdf2114

Comentarios de: Sistemas Operativos I - 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