Jump to first page
arraiz@ldc.usb.ve
Sistemas
OperativosProcesos
Jump to first page
arraiz@ldc.usb.ve
Definición
Una forma sistemática de monitorear y
controlar la ejecución de programas ...
Jump to first page
arraiz@ldc.usb.ve
Procesos
Un sistema operativo ejecuta una variedad de
programas:
– Sistemas por lotes...
Jump to first page
arraiz@ldc.usb.ve
Proceso
User Program
and data
program
counter
registers
temporary
data
...
Context
Jump to first page
arraiz@ldc.usb.ve
Por que necesitamos mas de un
Proceso?

Aplicaciones simples: Queremos que cosas ocu...
Jump to first page
arraiz@ldc.usb.ve
Requerimientos al OS
Maximizar el uso del CPU , permitiendo la
ejecución de muchos pr...
Jump to first page
arraiz@ldc.usb.ve
Como alcanzar las metas?

Planificando(Schedule) y despachando procesos
para su ejec...
Jump to first page
arraiz@ldc.usb.ve
Dispatcher
Componente del OS que se encarga de
otorgar a los procesos, el procesador....
Jump to first page
arraiz@ldc.usb.ve
Planificadores
Planificador a largo plazo
– Planificador de tareas
– Selecciona que p...
Jump to first page
arraiz@ldc.usb.ve
Planificadores
El planificador a corto plazo se invoca con
mucha frecuencia
– Miliseg...
Jump to first page
arraiz@ldc.usb.ve
Planificadores
Los procesos pueden describirse de las
siguientes formas
– E/S – gasta...
Jump to first page
arraiz@ldc.usb.ve
PCB (Process Control Block )
PCB : Estructura de datos que contiene
información relev...
Jump to first page
arraiz@ldc.usb.ve
Estados de un Proceso
Running
Proceso que está usando el CPU.
Ready
Proceso listo par...
Jump to first page
arraiz@ldc.usb.ve
Modelo de Estado
Ready Running
Dispatch
Timeout
Running
Event Occurs
Blocked
Event Wa...
Jump to first page
arraiz@ldc.usb.ve
Otros estados
New
Proceso creado pero no admitido, por recursos
limitados
Exit
Proces...
Jump to first page
arraiz@ldc.usb.ve
Modelo de 5 estados
A new process is created to execute
a program
New
The operating s...
Jump to first page
arraiz@ldc.usb.ve
Modelo de Colas
Ready Queue
Event n Queue
Event 2 Queue
Event 1 Queue
Processor
Dispa...
Jump to first page
arraiz@ldc.usb.ve
Swapping
Muchos processos en memoria deterioran el
desempeño del sistema.
El SO puede...
Jump to first page
arraiz@ldc.usb.ve
Características
Un proceso suspendido tiene las siguientes
características:
NO se enc...
Jump to first page
arraiz@ldc.usb.ve
Razones para suspend
Por requerimientos del padre: examinar los
hijos o coordinar act...
Jump to first page
arraiz@ldc.usb.ve
Modelo de 7 estados
Ready
Suspend
Ready Running Exit
Blocked
Blocked
Suspend
Activate...
Jump to first page
arraiz@ldc.usb.ve
Transiciones
Bloqueado a bloqueado suspendido
Todos los procesos estan bloqueados y e...
Jump to first page
arraiz@ldc.usb.ve
Gerencia de Procesos-Operaciones

Creación y terminación de procesos.

Planificació...
Jump to first page
arraiz@ldc.usb.ve
Tablas del Sistema
Jump to first page
arraiz@ldc.usb.ve
Process-Management - Implementation
Jump to first page
arraiz@ldc.usb.ve
Imagen de un Proceso
Process
identification
Processor
states
information
Process cont...
Jump to first page
arraiz@ldc.usb.ve
Localiz. de la Imagen Proceso
Cada imagen del proceso está en Memoria
Virtual.
En la ...
Jump to first page
arraiz@ldc.usb.ve
Operaciones
Crear : Identificación, crear PCB ,Insertarlo en
la lista de procesos con...
Jump to first page
arraiz@ldc.usb.ve
Crear
Cuando un proceso crea un proceso hijo, el
podría:
Compartición de recursos, pu...
Jump to first page
arraiz@ldc.usb.ve
Crear
Espacio de direcciones :
El hijo duplica el del padre
Proceso hijo tiene un pro...
Jump to first page
arraiz@ldc.usb.ve
Terminacion
El proceso ejecuta la última sentencia y le indica al
sistema salir (exit...
Jump to first page
arraiz@ldc.usb.ve
Terminacion
El padre debe terminar la ejecución del proceso hijo
(abort)
– El hijo ex...
Jump to first page
arraiz@ldc.usb.ve
Cooperacion
Los procesos que están en un sistema pueden ser
ejecutados independientes...
Jump to first page
arraiz@ldc.usb.ve
Cooperacion
Ventajas de la cooperación
Compartir información .Ej. Editor
Acelerar los...
Jump to first page
arraiz@ldc.usb.ve
Comunicación (IPC)
Mecanismos para comunicar procesos y sincronizar
sus acciones
– Se...
Jump to first page
arraiz@ldc.usb.ve
Resumen
Proceso es el bloque de construcción básico
de un OS.
OS es responsable de su...
Jump to first page
arraiz@ldc.usb.ve
The ls Command
Steps in executing the command ls, typed to the shell
Jump to first page
arraiz@ldc.usb.ve
System Calls for Process Management
s is an error code
pid is a process ID
residual i...
Próxima SlideShare
Cargando en…5
×

Proceso

209 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
209
En SlideShare
0
De insertados
0
Número de insertados
3
Acciones
Compartido
0
Descargas
2
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.
  • 01/03/08 New: The process is being created Ready: The process is waiting to be assigned to a processor Running: Instructions are being executed Blocked: The process is waiting for some event to occur (such as an I/O completion or reception of a signal)‏ Exit: The process has finished execution
  • 01/03/08 New: The process is being created Ready: The process is waiting to be assigned to a processor Running: Instructions are being executed Blocked: The process is waiting for some event to occur (such as an I/O completion or reception of a signal)‏ Exit: The process has finished execution
  • Proceso

    1. 1. Jump to first page arraiz@ldc.usb.ve Sistemas OperativosProcesos
    2. 2. Jump to first page arraiz@ldc.usb.ve Definición Una forma sistemática de monitorear y controlar la ejecución de programas es a través de procesos. Un proceso es un programa en ejecución con: Datos asociados (variables, buffers) Contexto de ejecución: toda la información que el CPU necesita para ejecutarlo • registros • prioridades • eventos por los que espera
    3. 3. Jump to first page arraiz@ldc.usb.ve Procesos Un sistema operativo ejecuta una variedad de programas: – Sistemas por lotes – trabajos – Sistemas de tiempo compartido – programas de usuario o tareas • Los términos usados trabajo y proceso se refieren a lo mismo
    4. 4. Jump to first page arraiz@ldc.usb.ve Proceso User Program and data program counter registers temporary data ... Context
    5. 5. Jump to first page arraiz@ldc.usb.ve Por que necesitamos mas de un Proceso?  Aplicaciones simples: Queremos que cosas ocurran concurrentemente. (ejemplo: spell-checker, listener in a web station)  Multiples aplicaciones: procesos ejecutandose en background (ejemplo windows).  Multiples usuarios: Por ejemplo el departamento de computación.
    6. 6. Jump to first page arraiz@ldc.usb.ve Requerimientos al OS Maximizar el uso del CPU , permitiendo la ejecución de muchos procesos. Proveer un tiempo de respuesta razonable. Asignar recursos a procesos mientras no permite que ocurra deadlock. Permitir comunicación entre procesos. Creación de procesos por parte del usuario.
    7. 7. Jump to first page arraiz@ldc.usb.ve Como alcanzar las metas?  Planificando(Schedule) y despachando procesos para su ejecución por el procesador.  Implementado una política segura y justa de asignación de recursos a procesos.  Responder a los requerimientos de los programas usuarios.  Construir y mantener tablas para cada entidad manejada por el sistema operativo.
    8. 8. Jump to first page arraiz@ldc.usb.ve Dispatcher Componente del OS que se encarga de otorgar a los procesos, el procesador. Previene que un proceso se tome todo el tiempo de CPU. Toma la decisión de cual proceso recibirá el CPU en base al algoritmo de scheduling.
    9. 9. Jump to first page arraiz@ldc.usb.ve Planificadores Planificador a largo plazo – Planificador de tareas – Selecciona que procesos se llevan a la cola de listos • Planificador a corto plazo – Planificador del CPU – Selecciona que proceso debe ser el próximo en ejecutarse y otorgársele el CPU
    10. 10. Jump to first page arraiz@ldc.usb.ve Planificadores El planificador a corto plazo se invoca con mucha frecuencia – Milisegundos – Debe ser rápido El planificador a largo plazo se invoca con poca frecuencia – Segundos o minutos – Puede ser lento El planificador a largo plazo controla el grado de multiprogramación
    11. 11. Jump to first page arraiz@ldc.usb.ve Planificadores Los procesos pueden describirse de las siguientes formas – E/S – gastan mucho de su tiempo ejecutando E/S en vez de cálculos, muchos períodos cortos de uso del CPU – CPU – gastan mucho tiempo haciendo cómputo (uso del CPU), muy pocos períodos largos de uso de CPU
    12. 12. Jump to first page arraiz@ldc.usb.ve PCB (Process Control Block ) PCB : Estructura de datos que contiene información relevante del proceso. Contenido: Identificación (PID,UID, ID proceso padre) Información del procesador (PC, CPU registros…, PSW, SP) Información de control (,Prioridad ,estado del proceso, evento por los que espera, links a otros procesos) Información de memoria ( localización y estado de acceso de los datos usuarios) Información de Archivos (archivos y dispositivos abiertos )
    13. 13. Jump to first page arraiz@ldc.usb.ve Estados de un Proceso Running Proceso que está usando el CPU. Ready Proceso listo para ser ejecutado. Hay muchos en este estado. Temporalmente parado. Blocked Proceso que espera por algún evento (completar E/S) para continuar con la ejecución. Un proceso se puede bloquear el mismo pero no el mismo ponerse en ejecución.
    14. 14. Jump to first page arraiz@ldc.usb.ve Modelo de Estado Ready Running Dispatch Timeout Running Event Occurs Blocked Event Wait
    15. 15. Jump to first page arraiz@ldc.usb.ve Otros estados New Proceso creado pero no admitido, por recursos limitados Exit Proceso que terminó pero conserva aún información temporal (el prog. accounting). Cuando esta información no se necesita mas el proceso sale del sistema
    16. 16. Jump to first page arraiz@ldc.usb.ve Modelo de 5 estados A new process is created to execute a program New The operating system will move a process from the New state to the Ready state when it is prepared to take an additional process Ready Admit Running Dispatch Timeout Running Event Occurs Exit Release Blocked Event Wait
    17. 17. Jump to first page arraiz@ldc.usb.ve Modelo de Colas Ready Queue Event n Queue Event 2 Queue Event 1 Queue Processor Dispatch Release Event 1 Wait Event 2 Wait Event n Wait Event 1 Occurs Event 2 Occurs Event n Occurs Admit
    18. 18. Jump to first page arraiz@ldc.usb.ve Swapping Muchos processos en memoria deterioran el desempeño del sistema. El SO puede necesitar suspender algunos procesos, es decir los saca a una área de swap, por ej. Disco. Dos nuevos estados Blocked Suspend : procesos bloqueados que han sido sacados a discos Ready Suspend: procesos ready que han sido sacados a discos
    19. 19. Jump to first page arraiz@ldc.usb.ve Características Un proceso suspendido tiene las siguientes características: NO se encuentra disponible para ejecución Si esta suspendido + espera por evento, la ocurrencia del evento no habilita que el proceso pueda ser ejecutado Un proceso se colocó en suspendido por un agente: si mismo, proceso padre, OS. Sale del estado de suspensión por odenes del agente
    20. 20. Jump to first page arraiz@ldc.usb.ve Razones para suspend Por requerimientos del padre: examinar los hijos o coordinar actividades. Por tiempo (Timming) :corre periódicamente Por problemas: OS suspende los procesos sospechosos. Necesidad de memoria.
    21. 21. Jump to first page arraiz@ldc.usb.ve Modelo de 7 estados Ready Suspend Ready Running Exit Blocked Blocked Suspend Activate Dispatch Timeout Release Suspend Event Wait Event Occurs Event Occurs Suspend Activate New
    22. 22. Jump to first page arraiz@ldc.usb.ve Transiciones Bloqueado a bloqueado suspendido Todos los procesos estan bloqueados y el OS hace espacio para traer procesos ready Bloqueado suspendio a Ready suspendido Cuando ocurre el evento por el cual esperaba Ready suspendido a Ready Cuando no hay mas procesos ready en memoria Ready a Ready suspendido No hay procesos bloqueados y debe liberar memoria para mejorar desempeño
    23. 23. Jump to first page arraiz@ldc.usb.ve Gerencia de Procesos-Operaciones  Creación y terminación de procesos.  Planificación y dispacho de procesos.  Switching de procesos.  Sincronización y comunicación de procesos. In order to do so the system Manages Process Control Blocks (PCB)
    24. 24. Jump to first page arraiz@ldc.usb.ve Tablas del Sistema
    25. 25. Jump to first page arraiz@ldc.usb.ve Process-Management - Implementation
    26. 26. Jump to first page arraiz@ldc.usb.ve Imagen de un Proceso Process identification Processor states information Process control information User stack Private user address Space prog+data PCB
    27. 27. Jump to first page arraiz@ldc.usb.ve Localiz. de la Imagen Proceso Cada imagen del proceso está en Memoria Virtual. En la tabla de procesos existe una entrada que apunta a cada imagen de proceso . Para que el OS pueda manejar el proceso, al menos parte de su imagen debe ser llevado a memoria principal.
    28. 28. Jump to first page arraiz@ldc.usb.ve Operaciones Crear : Identificación, crear PCB ,Insertarlo en la lista de procesos conocidos, asignarle recursos (memoria), asignar prioridad. Terminar: Devolver los recursos al SO, Sacarlo de todas las lista y tablas del sistema, Eliminar PCB . Hijos? Suspender: Recursos? Reasumir:
    29. 29. Jump to first page arraiz@ldc.usb.ve Crear Cuando un proceso crea un proceso hijo, el podría: Compartición de recursos, puede ser de las siguientes formas El padre y el hijo comparten todos los recursos El hijo comparte un subconjunto de recursos del padre. Cuando un proceso se ejecuta, puede que exista Padre e hijo se ejecutan concurrentemente El padre espera a que el hijo termine
    30. 30. Jump to first page arraiz@ldc.usb.ve Crear Espacio de direcciones : El hijo duplica el del padre Proceso hijo tiene un programa diferente cargado en memoria. Ejemplos en UNIX – La llamada fork crea un proceso nuevo – La llamada execve usada después del fork para reemplazar el espacio de memoria del proceso con un programa nuevo
    31. 31. Jump to first page arraiz@ldc.usb.ve Terminacion El proceso ejecuta la última sentencia y le indica al sistema salir (exit) – Envío de datos del hijo al padre (vía wait) – Los recursos de los procesos son des-asignados por el sistema operativo
    32. 32. Jump to first page arraiz@ldc.usb.ve Terminacion El padre debe terminar la ejecución del proceso hijo (abort) – El hijo excedió los recursos asignados – Ya no se requieren las tareas asignadas a los hijos – El padre termina • El caso de que el sistema operativo no permite que el hijo continúe si el padre termina • Terminación en cascada
    33. 33. Jump to first page arraiz@ldc.usb.ve Cooperacion Los procesos que están en un sistema pueden ser ejecutados independientes o cooperantes Independiente: No pueden afectarse o ser afectados por la ejecución de otro proceso Cooperante: Pueden afectarse o ser afectados por la ejecución de otros procesos. Ventajas de la cooperación de procesos – Intercambio de información – Velocidad de computación – Modularidad
    34. 34. Jump to first page arraiz@ldc.usb.ve Cooperacion Ventajas de la cooperación Compartir información .Ej. Editor Acelerar los cálculos: se dividen en subtareas y se ejecutan paralelas. Modularidad: dividir las funciones del sistema en varios procesos. Conveniencia: para que varias tareas se realicen a la vez.Ej. Imprimir compilar, editar un archivo.
    35. 35. Jump to first page arraiz@ldc.usb.ve Comunicación (IPC) Mecanismos para comunicar procesos y sincronizar sus acciones – Señales – Memoria compartida – Semáforos – Sistema de mensajes
    36. 36. Jump to first page arraiz@ldc.usb.ve Resumen Proceso es el bloque de construcción básico de un OS. OS es responsable de su creación, manejo, terminación e interacción. OS mantiene la descripción cada procesos. OS mueve los procesos entre los diferentes estados. Un proceso running puede switch a modo kernel via una interrupción o system call.
    37. 37. Jump to first page arraiz@ldc.usb.ve The ls Command Steps in executing the command ls, typed to the shell
    38. 38. Jump to first page arraiz@ldc.usb.ve System Calls for Process Management s is an error code pid is a process ID residual is the remaining time from the previous alarm

    ×