34
Sistemas operativos: una visión aplicada Capítulo 3 Procesos

Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada

Capítulo 3 Procesos

Page 2: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez

Contenido

• Procesos• Multitarea• Información del proceso• Formación de un proceso• Estados del proceso• Procesos ligeros• Planificación• Señales y excepciones• Temporizadores• Servidores y demonios• Servicios POSIX• Servicios Win32

Page 3: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 2 © J. Carretero, F. García, P. de Miguel, F. Pérez

Estados básicos de un proceso

Listo Bloqueado

EjecuciónOperación E/S

Final E/S

Termina

Nuevo

Fin tiempo

Planific

ado

Page 4: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 3 © J. Carretero, F. García, P. de Miguel, F. Pérez

Jerarquía de procesos

Proc. Inic.

Inicio Inicio

ShellShell

Editor

Dem. Impr. Dem. Com..

Proceso A

Proceso B Proceso D Proceso C

Proceso E Proceso F

InicioInicio

Page 5: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 4 © J. Carretero, F. García, P. de Miguel, F. Pérez

Tipos de sistemas operativos

Nº procesos

1

1

más de 1

más de 1

Nº usuarios

MonoprocesoMonousuario

MultiprocesoMonousuario

MultiprocesoMultiusuario

Page 6: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 5 © J. Carretero, F. García, P. de Miguel, F. Pérez

Base de la multitarea

Procesamiento

Entrada/salidaTiempo

Page 7: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 6 © J. Carretero, F. García, P. de Miguel, F. Pérez

Ejemplo de ejecución en un sistema multitarea

• Proceso nulo

ProcesamientoEntrada/salidaListoSO

Tiempo

Proceso A

Proceso B

Proceso C

Procesador

Page 8: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 7 © J. Carretero, F. García, P. de Miguel, F. Pérez

Proceso B

Proceso A

Proceso CSO

Cada proceso residetotalmente en M.p

Memoriaprincipal

Grado de multiprogramación

Util

izac

ión

del p

roce

sado

r 100%

0%

Grado de multiprogramación

Page 9: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 8 © J. Carretero, F. García, P. de Miguel, F. Pérez

Nivel de Multiprogramación

Al aumentar el nivel de multiprogramación a cada proceso le tocan menos marcos de página

Mar

cos

de p

ágin

a po

r pr

oces

o

1 2 3 4

Necesidades de memoria principal

Page 10: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 9 © J. Carretero, F. García, P. de Miguel, F. Pérez

Nivel de Multiprogramación

% U

tiliz

ació

n de

UC

P

MEMORIA GRANDE

Limitado por el dispositivode paginación

100 %

Nivel de Multiprogramación

Limitado por el dispositivode paginación

% U

tiliz

ació

n de

UC

P

100 %

MEMORIA PEQUEÑA

Rendimiento del procesador y grado de multiprogramación

• Necesidades de memoria principal: Sistema con memoria virtual

Page 11: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 10 © J. Carretero, F. García, P. de Miguel, F. Pérez

Información de un proceso II

Mapa deMemoria

Mapa de memoria del Proceso A

Tablas SOPC

SP

Estado

Mapa de memoria del Proceso B

Mapa de memoria del Proceso C

Registrosgenerales

Registrosespeciales

Tablas del sistema operativo

Tabla de procesos

- Tabla de memoria- Tabla de E/S- Tabla de ficheros

BCP Proceso BBCP Proceso A BCP Proceso C- - Identificación- Control

Estado (registros)- - Identificación- Control

Estado (registros) - - Identificación- Control

Estado (registros)

Page 12: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 11 © J. Carretero, F. García, P. de Miguel, F. Pérez

Preparación del código de un proceso

Módulofuente A

Módulofuente B

Compilador oensamblador

Móduloobjeto A

Móduloobjeto B

Otrosobjetos

Montador

Objetoejecutable

Cargador

Editor

Ejecutable enmemoria

Problema

Bibliotecasdel sistema

Page 13: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 12 © J. Carretero, F. García, P. de Miguel, F. Pérez

PROCESOPROCESO

TEXTO

DATOS

PILA

Imagen de memoria II

Page 14: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 13 © J. Carretero, F. García, P. de Miguel, F. Pérez

Imagen de memoria III

Memoriavirtual

Disco

Memoriaprincipal

Tabla depáginas

Una tabla depáginas

por proceso

Código

Datos

Pila

RIED

Tamaño

Page 15: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 14 © J. Carretero, F. García, P. de Miguel, F. Pérez

Compartir información

Tabla deficheros

Tabla deficheros

Tabla deficheros

BCP 4 BCP 7 BCP 23

23 23

24456IDFF PP

0

544563 4563

34512 2345

63356 56

28 5566

53684 4

34512 10000

33678 2

0 0 01 1

1

12 2

2

23 3

3

34 4

4

4

fd

0

fd fd

Page 16: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 15 © J. Carretero, F. García, P. de Miguel, F. Pérez

Formación de un proceso

Objetoejecutable

Bibliotecasistema

Mapa dememoria

Imagendel proceso

Tabla de procesos

BCP

Cargador

Page 17: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 16 © J. Carretero, F. García, P. de Miguel, F. Pérez

Estados de un proceso

Ejecución

Listo ysuspendido

Listo

Bloqueado ysuspendido

Bloqueado

Planificado

Tiempo consumido

Espera por E/S

Fin E/S

Exit

Fin E/S

Exp

ulsa

do a

l dis

co

Exp

ulsa

do a

l dis

co

Rec

upe

rado

del

dis

co

Entra alsistema

Mem

oria

Procesos por lotesen espera

Zon

a de

inte

rcam

bio

Page 18: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 17 © J. Carretero, F. García, P. de Miguel, F. Pérez

Interrupción: se salva el estado

PC

SP

Estado

Registrosgenerales

Registrosespeciales

Tabla de procesos

Est

ado BCP Proceso BBCP Proceso A BCP Proceso N

Información deControl

Información deControl

Información deControl

Información deidentificación

Información deidentificación

Información deidentificación

Estado(registros)

Estado(registros)

Estado(registros)

Page 19: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 18 © J. Carretero, F. García, P. de Miguel, F. Pérez

Proceso

Procesos ligeros

Procesos ligeros o threads

Page 20: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 19 © J. Carretero, F. García, P. de Miguel, F. Pérez

Estados del proceso

Ejecución

Listo ysuspendido

Listo

Bloqueado ysuspendido

Bloqueado

Planificado

Tiempo consumido

Espera por E/S

Fin E/S

Exit

Fin E/S

Exp

ulsa

do a

l dis

co

Exp

ulsa

do a

l dis

co

Rec

upe

rado

del

dis

coEntra alsistema

Mem

oria

Procesos batchen espera

Zon

a de

inte

rcam

bio

Page 21: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 20 © J. Carretero, F. García, P. de Miguel, F. Pérez

Planificación de procesos

Ejecución

Listo ysuspendido

Listo

Bloqueado ysuspendido

BloqueadoFin E/S

Exit

Entra alsistema

Planificación a corto plazo

Planificación a medio plazo

Planificación alargo plazo

Mem

oria

Sw

apProcesos Batchen espera

Page 22: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 21 © J. Carretero, F. García, P. de Miguel, F. Pérez

Colas de procesos

Cabecera de la Subcolade Prioridad 0

Cabecera de la Subcolade Prioridad 29

Cabecera de la Subcolade Prioridad 1

Cabecera de la Subcolabatch 1

Cabecera de la Subcolabatch 0

BCP-A

BCP-B

BCP-C BCP-E BCP-F

BCP-D

PalabraResumen

Bit 0

Bit 1

Bit 29

Bit 30

Bit 31

1

0

1

1

0

Page 23: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 22 © J. Carretero, F. García, P. de Miguel, F. Pérez

Tabla de procesos

BCP1 BCP7BCP2 BCP8BCP3 BCP9BCP4 BCP10BCP5 BCP11BCP6 BCP12

1 90 56 11 87 0

4Punteros de las colas

2

Implementación de las colas de procesos

Page 24: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 23 © J. Carretero, F. García, P. de Miguel, F. Pérez

Planificación en Windows NT

Iniciado Situar en la colade listos

Reiniciado

Ejecuciónfinalizada

Bloqueado

Esperaterminada

Cambio de contexto. Comienzo de ejecución

Fin de bloqueo

Seleccionadopara

ejecución

Expulsado

Expulsado

Pila del kernelen swap

Pila del kernel en memoria

Listo

ReservaEjecución

Finalizado

Transición

Bloqueado

Page 25: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 24 © J. Carretero, F. García, P. de Miguel, F. Pérez

Señales

Señal

Código

ProcesoFunción

tratamiento

Page 26: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 25 © J. Carretero, F. García, P. de Miguel, F. Pérez

Proceso servidor

PROCESOSERVIDOR

PROCESOSCLIENTES

RECURSO

Page 27: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 26 © J. Carretero, F. García, P. de Miguel, F. Pérez

Funcionamiento de un proceso servidor

Puerto A Puerto A Puerto A Puerto B

ServidorPadre

ServidorHijo

Cliente A Cliente A

a) b) c)

ServidorPadre

ServidorPadre

Page 28: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 27 © J. Carretero, F. García, P. de Miguel, F. Pérez

Procesos cliente y servidor en máquinas distintas

ClientePuerto

Servidorficheros

Servidorimpresión

Servidore_mail

SO SO SO SO

RED

Page 29: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 28 © J. Carretero, F. García, P. de Miguel, F. Pérez

Servicios POSIX: fork

Imagen delproceso B

Tabla de procesos

BCPA

Mapa dememoria

Imagen delproceso A Tabla de procesos

BCPA

BCPB

Mapa dememoria

Imagen delproceso A

Nuevo PIDNueva descripción de memoriaDistinto valor de retorno (0 en el hijo)

El proceso A hace un fork y crea el proceso hijo B

Page 30: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 29 © J. Carretero, F. García, P. de Miguel, F. Pérez

Objetoejecutable

Bibliotecasistema

Mapa dememoria

Imagendel proceso

Tabla de procesos

BCP

Mapa dememoria

Imagendel proceso

Cargador

Tabla de procesos

BCP

Mapa dememoria

Tabla de procesos

BCP

El proceso hace un exec

Se borra la imagen de memoriaSe borra la descripción de la memoria y registrosSe conserva el PID

Se carga la nueva imagenSe pone PC en dirección de arranqueSe conservan los fd

Servicios POSIX: exec

• El exec cambia el programa de un proceso

Page 31: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 30 © J. Carretero, F. García, P. de Miguel, F. Pérez

Uso normal de los servicios

fork()

exec() exit()

wait()pid P

padre

pid H

padre

pid P

padre

zombie

pid P

hijohijopid H

hijopid H

pid P pid P pid P pid Ppid Hpid H

texto

pila

datos

Ficheros, tuberías, ...

Page 32: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 31 © J. Carretero, F. García, P. de Miguel, F. Pérez

Evolución de procesos I

• El padre muere: INIT acepta los hijos

exit()

Init

Proceso Afork()

Init

Proceso B

Proceso A

Init

Proceso B

Proceso A

wait()Init

wait()Init

exit()Proceso BProceso B

Page 33: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 32 © J. Carretero, F. García, P. de Miguel, F. Pérez

Evolución de procesos II

• Zombie: el hijo muere y el padre no hace wait

wait()

Init

Proceso B

Proceso A

Init

Proceso A

exit()Proceso B

Init

Proceso A

zombieProceso B

Init

zombieProceso B

Proceso A

Init

Proceso Afork()

Page 34: Sistemas operativos: una visión aplicada...Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez Contenido • Procesos • Multitarea •

Sistemas operativos: una visión aplicada 33 © J. Carretero, F. García, P. de Miguel, F. Pérez

Jerarquía de procesos ligeros

No independ.

Proceso ligero A

p_join

p_exit

p_exit

p_exit

p_create

p_createp_create

Proceso ligero B

Proceso ligero D

Proceso ligero C