Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Requerimientos de un
Sistema Operativo
Intercalar la ejecucin de multiples
procesos para maximizar la utilizacin
del procesador ofreciendo a la vez un
tiempo de respuesta razonable
Asignar los recursos a los procesos
Dar soporte a la comunicacin entre
procesos y a la creacin de procesos por
parte del usuario
2
Conceptos
Una computadora consiste en una coleccin de
recursos de hardware
Las aplicaciones se desarrollan para realizar
una tarea determinada
Es Ineficiente que las aplicaciones sean
escritas directamente para un hardware dado.
Un Sistema Operativo provee un uso adecuado
de los recursos, seguridad, y una interfaz
consistente con las aplicaciones.
Un SO provee una representacin abstracta y
uniforme del los recursos que pueden ser
requeridos y accedidos por las aplicaciones
3
Control de ejecucin de
Aplicaciones
Los Recursos pueden estar disponibles a
multiples aplicaciones
El Procesador es compartido entre
multiples aplicaciones
El procesador y los dispositivos I/O
pueden ser usados eficientemente
Proceso
Un programa en ejecucin
Una instancia de un programa en ejecucin
Una entidad que puede ser asignada y
ejecutada en un procesador
Una unidad de actividad caracterizada por la
ejecucin de una secuencia de instrucciones,
un estado actual, y un conjunto asociado de
instrucciones de sistema
Elementos de un Proceso
Identificador
Estado
Prioridad
Program counter
Punteros a Memoria
Un contexto
Informacin de estado de I/O
Informacin de contabilidad
6
Traza de un Proceso
Secuencia de instrucciones que se
ejecutan para dicho proceso
El comportamiento del procesador puede
caracterizarse mostrando la forma en que
se intercalan las trazas de varios
procesos
El despachador intercambia el
procesador entre un proceso y otro
9
Ejemplo de ejecucin
Address
0
100
Main Memory
Program Counter
8000
Dispatcher
5000
Process A
8000
Process B
12000
Process C
10
Traza de un Proceso
11
12
13
Cola de procesos en No
ejecucin
Creacin de un
proceso
en un entorno de trabajo por lotes, un proceso se crea
como respuesta a la remisin de un trabajo.
En un entorno interactivo, se crea un proceso cuando
un nuevo usuario intenta conectarse
el sistema operativo crea un proceso para dar servicio
a una aplicacin sin que el usuario tenga que esperar,
ej. imprimir
un proceso puede originar la creacin de otro proceso
(process spawning), ej. servidor de archivos puede
crear un nuevo proceso por cada solicitud que reciba
15
Terminacin de un proceso
Terminacin normal
Violacin de limites
Error de proteccin
Error Aritmtico
Terminacin de un proceso
Tiempo mx de espera rebasado
Fallo de E/S
Instruccin invlida
Instruccin privilegiada
17
Bloqueados
Esperando que termine una operacin I/O
Ejecucin (Running)
Listo (Ready)
Bloqueado (Blocked)
Nuevo (New)
Terminado (Exit)
19
20
Process States
21
22
Release
Ready Queue
Dispatch
Processor
Timeout
Event 1 Queue
Event 1
Occurs
Event 2
Occurs
Event n
Occurs
Event 2 Queue
Event n Queue
Event 1 Wait
Event 2 Wait
Event n Wait
23
Procesos suspendidos
El procesador es tan rpido comparado
con la I/O que todos los procesos en
memoria podran estar bloqueados
El intercambio (Swap) de estos procesos
a disco podra liberar memoria para otro
proceso o para crear uno nuevo
El estado bloqueado se transforma a
suspendido cuando el proceso est en
disco
24
Un estado suspendido
25
Un estado suspendido
27
Solicitud de un usuario
Por tiempo
Procesos y Recursos
P1 est ejecutndose; una parte del proceso est en memoria principal; tiene el control de dos dispositivos de E/S
P2 tambin est en memoria principal, pero est bloqueado esperando al dispositivo de E/S que est asignado a P1
El proceso Pn ha sido descargado a disco y por tanto, est suspendido
29
30
Tablas de Memoria
La asignacin de memoria principal a los
procesos
La asignacin de memoria secundaria a los
procesos
Atributos de proteccin de segmentos de
memoria principal o virtual tales como qu
procesos pueden acceder a ciertas regiones
compartidas de memoria
Informacin necesaria para gestionar la
memoria virtual
31
Tablas de E/S
E/S puede estar disponible o estar
asignado a un proceso
Estado de una operacin de E/S en curso
La posicin de memoria principal que se
est utilizando como origen o destino de
una transferencia de E/S
32
Tablas de Archivos
33
Tabla de Procesos
Dnde est ubicado el proceso
Atributos del proceso
Programa
Datos
Stack
34
35
Memory Tables
Memory
Devices
Process
Image
Process
1
I/O Tables
Files
Processes
File Tables
Process
Image
Process
n
Process n
37
38
40
44
Control de Procesos
Modos de ejecucin
Modo de usuario
modo menos privilegiado
los programas de usuario ejecutan
normalmente en ese modo
Creacin de Procesos
Asigna un nico identificador al nuevo
proceso
Asignar espacio para el proceso (imagen)
Inicializar el bloque de control del proceso
Establecer los enlaces apropiados
Por ejemplo, si el sistema operativo mantiene cada
cola de planificacin como una lista enlazada,
entonces el proceso nuevo se debe poner en la cola
de Listos o de Listos y suspendidos
Cambio de Proceso
Cundo cambiar de proceso:
Interrupcin de reloj:
Si el SO determina que el proceso que est en ejecucin, se ha
estado ejecutando durante la fraccin mxima de tiempo permitida,
el proceso debe pasar al estado Listo y se debe expedir otro proceso
Interrupcin de E/S:
Si la accin constituye un suceso que estn esperando uno o ms
procesos, entonces el SO traslada todos los procesos bloqueados
correspondientes al estado Listo o Listo suspendido
Fallo de memoria:
una referencia a una direccin de memoria virtual no est en
memoria principal. El SO puede llevar a cabo un cambio de contexto
para reanudar la ejecucin de otro proceso; el proceso que cometi
el fallo de memoria se pasa a estado Bloqueado.
47
Cambio de Proceso
Trap
Error o excepcin
Si es fatal puede causar que el proceso pase
al estado terminado
Llamada al sistema
Ej: abrir un archivo. El proceso de usuario
pasa al estado suspendido
48
49
P1
P2
Pn
Kernel
P1
P2
OS
Functions
OS
Functions
Pn
OS
Functions
P1
P2
Pn
OS1
OSk
54
55
P2
OS
Functions
OS
Functions
Pn
OS
Functions
56
57
58
59