SlideShare una empresa de Scribd logo
1 de 38
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 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
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
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 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.
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.
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.
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.
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
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
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
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 )
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.
Jump to first page
arraiz@ldc.usb.ve
Modelo de Estado
Ready Running
Dispatch
Timeout
Running
Event Occurs
Blocked
Event Wait
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
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
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
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
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
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.
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
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
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)
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 control
information
User stack
Private user
address Space
prog+data
PCB
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.
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:
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
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
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
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
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
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.
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
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.
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 is the remaining time from the previous alarm

Más contenido relacionado

La actualidad más candente

Prueba
PruebaPrueba
Pruebaemnero
 
Procesos, cuotas y control parental
Procesos, cuotas y control parentalProcesos, cuotas y control parental
Procesos, cuotas y control parentalkarenodeth
 
Sistemas operativos 2 da unidad
Sistemas operativos 2 da unidadSistemas operativos 2 da unidad
Sistemas operativos 2 da unidadJHOVANI189612GAZGA
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesosayreonmx
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesadorFernando Camacho
 
Procesos Planificacion de los Sistemas Operativos
 Procesos Planificacion de los Sistemas Operativos Procesos Planificacion de los Sistemas Operativos
Procesos Planificacion de los Sistemas OperativosG Hoyos A
 
PLANIFICACION DE PROCESO
PLANIFICACION DE PROCESOPLANIFICACION DE PROCESO
PLANIFICACION DE PROCESOgladysmamani
 
Planificacion windows
Planificacion windowsPlanificacion windows
Planificacion windowsisack_500
 
Procesos-Planificacion-2017
Procesos-Planificacion-2017Procesos-Planificacion-2017
Procesos-Planificacion-2017Pablo Macon
 
2015 gestión de procesos
2015 gestión de procesos2015 gestión de procesos
2015 gestión de procesosMichael Ramirez
 
Sistemas Operativos[1]
Sistemas Operativos[1]Sistemas Operativos[1]
Sistemas Operativos[1]guest5db8b1
 
Unidad 3 : Sistemas Operativos I
Unidad 3 : Sistemas Operativos IUnidad 3 : Sistemas Operativos I
Unidad 3 : Sistemas Operativos IKamps Tepes
 
Diagrama de-estado-de-procesos
Diagrama de-estado-de-procesosDiagrama de-estado-de-procesos
Diagrama de-estado-de-procesosGiant_serch
 

La actualidad más candente (20)

Sotr 1
Sotr 1Sotr 1
Sotr 1
 
So 2
So 2So 2
So 2
 
Prueba
PruebaPrueba
Prueba
 
Procesos, cuotas y control parental
Procesos, cuotas y control parentalProcesos, cuotas y control parental
Procesos, cuotas y control parental
 
Sistemas operativos 2 da unidad
Sistemas operativos 2 da unidadSistemas operativos 2 da unidad
Sistemas operativos 2 da unidad
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesos
 
5 estados del proceso
5 estados del proceso5 estados del proceso
5 estados del proceso
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
 
Procesos Planificacion de los Sistemas Operativos
 Procesos Planificacion de los Sistemas Operativos Procesos Planificacion de los Sistemas Operativos
Procesos Planificacion de los Sistemas Operativos
 
4. procesos
4. procesos4. procesos
4. procesos
 
PLANIFICACION DE PROCESO
PLANIFICACION DE PROCESOPLANIFICACION DE PROCESO
PLANIFICACION DE PROCESO
 
Planificacion windows
Planificacion windowsPlanificacion windows
Planificacion windows
 
Procesos-Planificacion-2017
Procesos-Planificacion-2017Procesos-Planificacion-2017
Procesos-Planificacion-2017
 
2015 gestión de procesos
2015 gestión de procesos2015 gestión de procesos
2015 gestión de procesos
 
Sistemas Operativos[1]
Sistemas Operativos[1]Sistemas Operativos[1]
Sistemas Operativos[1]
 
Unidad 3 : Sistemas Operativos I
Unidad 3 : Sistemas Operativos IUnidad 3 : Sistemas Operativos I
Unidad 3 : Sistemas Operativos I
 
Diagrama de-estado-de-procesos
Diagrama de-estado-de-procesosDiagrama de-estado-de-procesos
Diagrama de-estado-de-procesos
 
Planificacion Procesos Gral
Planificacion Procesos GralPlanificacion Procesos Gral
Planificacion Procesos Gral
 
Trabajo de sisope
Trabajo de sisopeTrabajo de sisope
Trabajo de sisope
 
Proceso informatico
Proceso informaticoProceso informatico
Proceso informatico
 

Similar a Proceso

Clase 3 Sistemas Operativos Administración de procesos
Clase 3 Sistemas Operativos Administración de procesos Clase 3 Sistemas Operativos Administración de procesos
Clase 3 Sistemas Operativos Administración de procesos Gabriel Loría Solís
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESOFiorelaL.V
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESOFiorelaL.V
 
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSGESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSomarhcc
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESOFiorelaL.V
 
Introduccion A Los Procesos
Introduccion A Los ProcesosIntroduccion A Los Procesos
Introduccion A Los Procesospainni
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativosadriel91
 
Apuntes02ele
Apuntes02eleApuntes02ele
Apuntes02eleparrau
 
Procesos concurrencia
Procesos  concurrenciaProcesos  concurrencia
Procesos concurrenciapuracastillo
 
Tema2.L2-Planificacion-de-procesos.pdf
Tema2.L2-Planificacion-de-procesos.pdfTema2.L2-Planificacion-de-procesos.pdf
Tema2.L2-Planificacion-de-procesos.pdfGreta9197
 
Portafolio dionisio 2 dionisio
Portafolio dionisio 2 dionisioPortafolio dionisio 2 dionisio
Portafolio dionisio 2 dionisiolaloblog
 
Sistemas - Operativos: Procesos, Silberschatz.pptx
Sistemas - Operativos: Procesos, Silberschatz.pptxSistemas - Operativos: Procesos, Silberschatz.pptx
Sistemas - Operativos: Procesos, Silberschatz.pptxepadilla024
 

Similar a Proceso (20)

Gestión de procesos
Gestión de procesosGestión de procesos
Gestión de procesos
 
Procesos e hilos- Parte 1
Procesos e hilos- Parte 1Procesos e hilos- Parte 1
Procesos e hilos- Parte 1
 
Clase 3 Sistemas Operativos Administración de procesos
Clase 3 Sistemas Operativos Administración de procesos Clase 3 Sistemas Operativos Administración de procesos
Clase 3 Sistemas Operativos Administración de procesos
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESO
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESO
 
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSGESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESO
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESO
 
Clases procesos
Clases procesosClases procesos
Clases procesos
 
Sistemas operativos - 6to SSI
Sistemas operativos - 6to SSISistemas operativos - 6to SSI
Sistemas operativos - 6to SSI
 
Introduccion A Los Procesos
Introduccion A Los ProcesosIntroduccion A Los Procesos
Introduccion A Los Procesos
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativos
 
Apuntes02ele
Apuntes02eleApuntes02ele
Apuntes02ele
 
Procesos
ProcesosProcesos
Procesos
 
Procesos concurrencia
Procesos  concurrenciaProcesos  concurrencia
Procesos concurrencia
 
Tema2.L2-Planificacion-de-procesos.pdf
Tema2.L2-Planificacion-de-procesos.pdfTema2.L2-Planificacion-de-procesos.pdf
Tema2.L2-Planificacion-de-procesos.pdf
 
Portafolio dionisio 2 dionisio
Portafolio dionisio 2 dionisioPortafolio dionisio 2 dionisio
Portafolio dionisio 2 dionisio
 
Portafolio dionisio 2
Portafolio dionisio 2Portafolio dionisio 2
Portafolio dionisio 2
 
Sistemas - Operativos: Procesos, Silberschatz.pptx
Sistemas - Operativos: Procesos, Silberschatz.pptxSistemas - Operativos: Procesos, Silberschatz.pptx
Sistemas - Operativos: Procesos, Silberschatz.pptx
 

Más de David Lilue

Más de David Lilue (11)

Principios de diseño de Interfaces
Principios de diseño de InterfacesPrincipios de diseño de Interfaces
Principios de diseño de Interfaces
 
Historia de las Interfaces
Historia de las InterfacesHistoria de las Interfaces
Historia de las Interfaces
 
Memoria2
Memoria2Memoria2
Memoria2
 
Filesystem2
Filesystem2Filesystem2
Filesystem2
 
Disco
DiscoDisco
Disco
 
Memvirtual
MemvirtualMemvirtual
Memvirtual
 
Sincronizacion Procesos
Sincronizacion ProcesosSincronizacion Procesos
Sincronizacion Procesos
 
Planificacion
PlanificacionPlanificacion
Planificacion
 
Thread
ThreadThread
Thread
 
Semaforos
SemaforosSemaforos
Semaforos
 
Deadlock
DeadlockDeadlock
Deadlock
 

Proceso

  • 1. Jump to first page arraiz@ldc.usb.ve Sistemas OperativosProcesos
  • 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. 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. Jump to first page arraiz@ldc.usb.ve Proceso User Program and data program counter registers temporary data ... Context
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. Jump to first page arraiz@ldc.usb.ve Modelo de Estado Ready Running Dispatch Timeout Running Event Occurs Blocked Event Wait
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. Jump to first page arraiz@ldc.usb.ve Tablas del Sistema
  • 25. Jump to first page arraiz@ldc.usb.ve Process-Management - Implementation
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Jump to first page arraiz@ldc.usb.ve The ls Command Steps in executing the command ls, typed to the shell
  • 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

Notas del editor

  1. 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
  2. 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