Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz http://www.elo.utfsm.cl/~elo321
Teoría de Sistemas OperativosProcesos
Departamento de Electrónica
2º Semestre, 2003Gabriel Astudillo Muñoz
http://www.elo.utfsm.cl/~elo321
2
Definiciones
Teoría de Sistemas Operativos
Procesos
Monoprog.
Multiprog.
Conceptos
Estados
PCB
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.
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.
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:
6
Definiciones
Teoría de Sistemas Operativos
Procesos
Monoprog.
Multiprog.
Conceptos
Estados
PCB
Procesos
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
8
Definiciones
Teoría de Sistemas Operativos
Procesos
Monoprog.
Multiprog.
Conceptos
Estados
PCB
¿Programa == proceso?
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.
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
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
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.
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
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
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
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.
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.
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.
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 .
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) .
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.
22
Definiciones
Teoría de Sistemas Operativos
Procesos
Monoprog.
Multiprog.
Conceptos
Estados
PCB
¿Cómo organiza los procesosel Sistema Operativo?
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
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
. . .
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
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
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.
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
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
30
Definiciones
Teoría de Sistemas Operativos
Procesos
Monoprog.
Multiprog.
Conceptos
Estados
PCB