teoría de sistemas operativos procesos departamento de electrónica 2º semestre, 2003 gabriel...

30
Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz http://www.elo.utfsm.cl/~elo321

Upload: agustin-espinoza-rico

Post on 23-Jan-2016

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

Teoría de Sistemas OperativosProcesos

Departamento de Electrónica

2º Semestre, 2003Gabriel Astudillo Muñoz

http://www.elo.utfsm.cl/~elo321

Page 2: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

2

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

Page 3: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

3

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

Un proceso a la vez (MS-DOS)

Fácil de implementar.

No es eficiente en el uso de los recursos.

Page 4: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

4

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

Más de un proceso en memoria (ejecución)

(*nix, OS/2, NT, MacOSX)

Problemas: hardware limitado.

usuarios piensan que tienen la

máquina para ellos mismos.

Eficiente en el uso de los recursos.

Page 5: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

5

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

t

Procesos

A

B

C

t

Procesos

A

B

C

Por Ejemplo:

Page 6: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

6

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

Procesos

Page 7: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

7

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

Es un programa en ejecución.

La ejecución de un procesos se realiza en forma secuencial en su propia CPU.

Está compuesto por:• Programa a ejecutar• Estado : Registros de CPU• Datos en Memoria Princ• Estado de I/O

El SO mantiene una lista (tabla) de procesos

Page 8: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

8

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

¿Programa == proceso?

Page 9: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

9

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

¿Cómo se crean?

•Creado por el SO cuando se despacha un trabajo encolado.•Cuando el usuario se conecta al sistema.•Creado por el SO para proveer un servicio.•Por un programa existente.

Page 10: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

10

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

¿Cómo se crean?

La forma de crear procesos en*NIX es invocar la llamada al sistema fork.

El proceso que invoca a fork es llamado proceso padre, y el nuevo proceso creado es llamado proceso hijo

Page 11: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

11

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

¿Cómo se crean?

Sintaxis y Uso:#include<sys/types.h>#include <unistd.h>pid_t fork(void);pid = fork();

Retorno:• 0 en hijo• Identificador de hijo en el padre• -1 en caso de error

Page 12: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

12

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

¿Cómo se crean?

•La función es llamada (invocada) una vez (por el padre), pero retorna 2 veces.

•El proceso hijo es una copia del proceso padre. (espacio de datos, código, y stack)

•Ambos procesos siguen ejecutando la instrucción que sigue la llamada a fork.

Page 13: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

13

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

¿Cómo se crean?

Actividades que realiza el kernel ante una llamada fork:

•Reserva un espacio en la tabla de procesos para el nuevo proceso•Asigna un ID único al nuevo proceso•Realiza una copia del contexto del proceso padre•Incrementa los descriptores de archivos•Retorna el ID del hijo al padre y 0 al hijo

Page 14: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

14

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

New: El proceso acaba de ser creado

Running: Las instrucciones están siendo ejecutadas

Waiting: El proceso está esperando por la ocurrencia de algúnevento

Ready: El proceso está esperando para ser asignado a la CPU

Terminated: El proceso ha finalizado su ejecución

Page 15: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

15

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

Diagrama de Estados

new

ready running

terminated

waiting

admitedinterrupt

Sched. dispatch

I/O or event waitI/O or event completion

exit

Page 16: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

16

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

Diagrama de Estados

new

ready running

terminated

waiting

admitedinterrupt

Sched. dispatch

I/O or event waitI/O or event completion

exitEl proceso es creado.

Page 17: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

17

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

Diagrama de Estados

new

ready running

terminated

waiting

admitedinterrupt

Sched. dispatch

I/O or event waitI/O or event completion

exit

El proceso está listo para ser ejecutado encuanto la CPU esté

libre.

Page 18: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

18

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

Diagrama de Estados

new

ready running

terminated

waiting

admitedinterrupt

Sched. dispatch

I/O or event waitI/O or event completion

exit

El proceso está siendo ejecutado en

la CPU.

Page 19: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

19

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

Diagrama de Estados

new

ready running

terminated

waiting

admitedinterrupt

Sched. dispatch

I/O or event waitI/O or event completion

exit

El proceso no puede continuar su

ejecución hasta que no ocurra un evento .

Page 20: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

20

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

Diagrama de Estados

new

ready running

terminated

waiting

admitedinterrupt

Sched. dispatch

I/O or event waitI/O or event completion

exit

El proceso termina su ejecución (El SO

lo elimina de su tabla de procesos) .

Page 21: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

21

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

Diagrama de Estados

new

ready running

terminated

waiting

admitedinterrupt

Sched. dispatch

I/O or event waitI/O or event completion

exit

El proceso ha ocupado su tiempo de CPU pero no ha

finalizado.

Page 22: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

22

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

¿Cómo organiza los procesosel Sistema Operativo?

Page 23: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

23

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

Los procesos en el SO

Mediante una ficha PCB (Process Control Block)

P C B

Page 24: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

24

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

Los procesos en el SOP C B

Pointer Proc State

Process number

Process counter

Registers

Memory Limits

List of open Files

. . .

Page 25: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

25

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

Los procesos en el SO

Process state: new, ready, running,waiting, suspend , etc

Program Counter: indica la siguienteinstrucción del proceso a ser ejecutado

CPU registers: varían según laarquitectura, pero en generalcorresponden a acumulador, stackpointer, etc.

P C B

Page 26: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

26

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

Los procesos en el SO

CPU scheduling information: incluyeprioridad del proceso, puntero a colasde prioridad, etc

Información de administración dememoria: incluye información de los registros limites de la memoria (paginación, segmentación dependiendo del SO)

P C B

Page 27: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

27

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

Los procesos en el SOP C B

Información de Auditoría: incluyecantidad de CPU y tiempo realutilizado, numero de proceso, etc.

Información de estado de I/O: listade dispositivos en uso, archivosabiertos, etc.

Page 28: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

28

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

Uso del PCB

P C B

t

Procesos

A

B

C

t

Procesos

A

B

C

Multiprogramación

Cambio de Contexto

Page 29: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

29

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB

Uso del PCB

P C BA B

PCBA <- Estado

Estado <-PCBB

PCBB <- Estado

Estado <-PCBA

Page 30: Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz elo321

30

Definiciones

Teoría de Sistemas Operativos

Procesos

Monoprog.

Multiprog.

Conceptos

Estados

PCB