SlideShare a Scribd company logo
1 of 30
Administración de procesos
y del procesador.
2.1 Concepto de proceso.
Un proceso es básicamente un programa
en ejecución.
 Consta del programa ejecutable, los
datos y la pila del programa, su contador
de programa, apuntador de pila y otros
registros, y la otra información que se
necesita para ejecutar el programa, así
como salidas y estados
Proceso - un programa en ejecución; la
ejecución del proceso debe progresar de
manera secuencial.
* Un proceso incluye:
* program counter (contador del programa)
* stack (pila)
* data section (segmento de datos)
Estados de los procesos
* Nuevo: El proceso es creado.
* Ejecución: Se ejecutan instrucciones.
* Espera: El proceso esta en espera por la
ocurrencia de algún evento.
* Listo: El proceso esta esperando a que le
asignen el procesador.
* Terminado: El proceso finaliza su ejecución.
* Diagrama de estados de los procesos.
Información asociada con cada proceso:
* Estado del proceso
* Program counter
* Registros del CPU
* Información de planificación del CPU
* Memoria
* Información para administración
* Información de estatus de E/S
 Proceso:
programa o comando en ejecución.
Características:
* Un proceso consta de código, datos y pila.
* Los procesos existen en una jerarquía de árbol (varios
Hijos, un sólo padre).
* El sistema asigna un identificador de proceso (PID) único
al iniciar el proceso.
*El planificador de tareas asigna un tiempo compartido
para el proceso según su prioridad (sólo root puede
cambiar prioridad).
2.2 Estados de un proceso y Transiciones de
estado de los procesos.
 un proceso puede pasar por discretos, algunos de ellos son:
 En ejecución: El proceso ocupa la CPU actualmente, es decir, se
está ejecutando.
 Listo o preparado: El proceso dispone de todos los recursos para
su ejecución, sólo le falta la CPU.
 Bloqueado: Al proceso le falta algún recurso para poder seguir
ejecutándose, además de la CPU. Por recurso se pueden
entender un dispositivo, un dato, etc. El proceso necesita que
ocurra algún evento que le permita poder proseguir su
ejecución.
Transiciones de estado de los procesos
 Estos colores hay que interpretarlos de forma que, el color del borde de los
estados representa a dichos estados, los colores dentro de los círculos nos
dicen las posibles alternativas de acceso hacia otro estado, y los colores
de las flechas nos representan hacia qué estado nos dirigimos si seguimos
la misma.
2.3 Procesos Ligeros (Hilos o
Hebras)
Un proceso ligero, es un programa en ejecución que comparte la imagen de memoria y
otras informaciones con otros procesos ligeros. Como muestra la Figura, un proceso
puede contener un solo flujo de ejecucion, como ocurre en los procesos clasicos, o más
de un flujo de ejecucion (procesos ligeros).
Las informaciones propias se refieren fundamentalmente al contexto de ejecucion,
pudiéndose destacar las siguientes:
• Contador de programa.
• Pila.
• Registros.
• Estado del proceso ligero (ejecutando, listo o bloqueado).
2.3 Procesos Ligeros (Hilos o Hebras)
Todos los procesos ligeros de un mismo proceso comparten la informacion del
mismo. En concreto, comparten:
 Espacio de memoria.
 Variables globales.
 Archivos abiertos.
 Procesos hijos.
 Temporizadores.
 Senales y semaforos.
 Contabilidad.
2.4 CONCURRENCIA Y
SECUENCIABILIDAD
Definición
 La concurrencia comprende un gran número de cuestiones de diseño,
incluyendo la comunicación entre procesos, comparación y competencia
por los recursos, sincronización de la ejecución de varios procesos y
asignación del tiempo de procesador a los procesos y es fundamental
para que existan diseños como Multiprogramación, Multiproceso y Proceso
distribuido.
Presentarse tres contextos
 Varias aplicaciones: La multiprogramación se creó para permitir que el
tiempo de procesador de la máquina fuese compartido dinámicamente
entre varias aplicaciones activas.
 Aplicaciones estructuradas: Como ampliación de los principios del diseño
modular y la programación estructurada, algunas aplicaciones pueden
implementarse eficazmente como un conjunto de procesos concurrentes.
 Estructura del sistema operativo: Las mismas ventajas de estructuración son
aplicables a los programadores de sistemas y se ha comprobado que
algunos sistemas operativos están implementados como un conjunto de
procesos.
Existen tres modelos de computadora en los
que se pueden ejecutar procesos
concurrentes:
Multiprogramación.
Multiprocesador.
Multicomputadora.
Tipos de procesos concurrentes.
 Proceso independiente: Es aquel que ejecuta sin requerir la ayuda o
cooperación de otros procesos.
 Procesos son cooperantes: Son aquellos que están diseñados para trabajar
conjuntamente en alguna actividad, para lo que deben ser capaces de
comunicarse e interactuar entre ellos.
Ventajas y Desventajas
 Ventajas:
Trata de evitar los tiempos muertos de la
UCP
Comparte y optimiza el uso de recursos
Permite la modularidad en las diferentes
etapas del proceso
Acelera los cálculo
Da mayor comodidad
Ventajas y Desventajas
Desventajas:
Inanición e interrupción de
procesos
Ocurrencia de bloqueos
Que dos o más procesos
requieran el mismo recurso.
2.5 Niveles, Objetivos y Criterios de
Planificación
En épocas pasadas de los sistemas de procesamiento por lotes, con una
entrada en forma de imágenes de tarjetas en una cinta magnética, el
algoritmo de planificación era sencillo: solo había que ejecutar el siguiente
trabajo en la cinta.
En los sistemas de multiusuario de tiempo compartido, que se combinaban
con un fondo de trabajos procesados en lote, el algoritmo era más complejo.
Concepto de Planificación.
La planificación hace referencia a un conjunto de políticas y mecanismos
incorporados al sistema operativo que gobiernan el orden en que se ejecutan
los trabajos que deben ser cumplimentados por el sistema informático.
Objetivo de la Planificación
El objetivo principal de la planificación es optimizar el rendimiento del
sistema y proporcionar un buen servicio a todos los procesos que se
encuentren en el. En general, la planificación trata de cubrir los
siguientes objetivos: Justicia. La planificacion debe ser lo mas justa posible con todos los procesos, sin favorecer a
unos y perjudicar a otros.
 Maxima capacidad de ejecucion. Debe dar un servicio eficiente para que todos los
trabajos se realicen lo mas rapidamente posible.
 Maximo numero de usuarios interactivos.
 Predecibilidad. La planificacion
 Minimizacion de la sobrecarga.
 Equilibrio en el uso de recursos.
 Seguridad de las prioridades.
 Evitar la postergacion indefinida. Esto se logra aumentando la prioridad de un proceso
mientras espere por un recurso.
Criterios de planificación
Para realizar los objetivos de la planificación, un
mecanismo de planificación debe considerar lo
siguiente: La limitacion de un proceso a las operaciones de Entrada / Salida: cuando un
proceso consigue la cpu, ?la utiliza solo brevemente antes de generar una
peticion de Entrada / Salida?
 La limitacion de un proceso a la cpu: cuando un proceso obtiene la cpu,
?tiende a usarla hasta que expira su tiempo?
 Si un proceso es por lote (batch) o interactivo: los usuarios interactivos deben
recibir inmediato servicio para garantizar buenos tiempos de respuesta.
 ¿Qué urgencia tiene una respuesta rápida?: por ejemplo, un proceso de
tiempo real de un sistema de control que supervise una refineria de
combustible requiere una respuesta rapida, mas rapida que la respuesta
requerida por un proceso en lotes (batch) que debera entregarse al dia
siguiente.
 La prioridad de un proceso: a mayor prioridad mejor tratamiento.
2.6 TECNICAS DE
ADMINISTRACION DEL
PLANIFICADOR
Se denomina planificador al software del sistema operativo encargado de
asignar los recursos de un sistema entre los procesos que los solicitan.
El planificador es un componente funcional muy importante de los sistemas
operativos multitarea y multiproceso y es esencial en los sistemas operativos
de tiempo real. Su función consiste en repartir el tiempo disponible de un
microprocesador entre todos los procesos para su ejecución. Todo sistema
operativo gestiona los programas mediante el concepto de proceso.
ALGORITMOS DE PLANIFICACIÓN
Los algoritmos de planificación son los que definen que política se va a seguir
para que un proceso pase al estado de ejecución.
 Planificación Round-Robin
 Planificación por prioridad
 Colas múltiples
 Primero el trabajo más corto
 Planificación garantizada
Planificación Round-Robin
 cada proceso tiene asignado un quantum de tiempo para ejecutarse y en
el caso de que no pueda terminar la ejecución en su quantum el proceso
pasa de nuevo a la cola de procesos para ser ejecutado por otro
quantum luego de recorrer la cola para asegurarse que todos los procesos
reciban ese quantum de procesamiento.
Planificación por prioridad
 En la planificación round-robin todos los procesos son tratados con la
misma prioridad. Para el caso de este tipo de planificación a cada
proceso se le asigna una prioridad y los mismos son ejecutados
Colas múltiples
 Las colas múltiples están basadas en una pila que sirve como índice de
una lista de procesos que se tienen que ejecutar.
Primero el trabajo más corto
 se usa para trabajos en batch o de procesamiento or lotes en los cuales se
puede saber cual es el tiempo de duración de la ejecución de cada
proceso y entonces se puede seleccionar primero el trabajo más corto.
Planificación garantizada
 En este modelo de planificación se tiene en cuenta la cantidad de
usuarios en el sistema y se le asigna a cada uno el tiempo de ejecución de
1/n (siendo n la cantidad total de usuarios) de esa forma el planificador
tiene que llevar cuenta del tiempo de ejecución de los procesos y
balancear el tiempo que están utilizando el procesador para cumplir con
la ecuación previa.

More Related Content

What's hot

1.1 Definición y concepto de los S.O
1.1 Definición y concepto de los S.O1.1 Definición y concepto de los S.O
1.1 Definición y concepto de los S.Olupita zume
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Juan Anaya
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasJosé Antonio Sandoval Acosta
 
Sincronización entre procesos
Sincronización entre procesosSincronización entre procesos
Sincronización entre procesosIchinose 11
 
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 procesadorMicael Feliz Arias
 
Estructura de un sistema operativo
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativoIan Berzeker Tovar
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos DistribuidosValentina
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoriacaredimaria
 
Optimizacion de la busqueda de discos
Optimizacion de la busqueda de discosOptimizacion de la busqueda de discos
Optimizacion de la busqueda de discosJazmín Limón
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativosadriel91
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosChristian19121
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosEmmanuel Fortuna
 
Sistema de-maquina-virtual
Sistema de-maquina-virtualSistema de-maquina-virtual
Sistema de-maquina-virtualkerlly villon
 
Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosCarolina Cols
 

What's hot (20)

1.1 Definición y concepto de los S.O
1.1 Definición y concepto de los S.O1.1 Definición y concepto de los S.O
1.1 Definición y concepto de los S.O
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Sincronización entre procesos
Sincronización entre procesosSincronización entre procesos
Sincronización entre procesos
 
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
 
Estructura de un sistema operativo
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativo
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoria
 
Optimizacion de la busqueda de discos
Optimizacion de la busqueda de discosOptimizacion de la busqueda de discos
Optimizacion de la busqueda de discos
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativos
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas Operativos
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
 
Sistema de-maquina-virtual
Sistema de-maquina-virtualSistema de-maquina-virtual
Sistema de-maquina-virtual
 
Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativos
 
Administración de Memoria
Administración de MemoriaAdministración de Memoria
Administración de Memoria
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 

Viewers also liked

Unidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUnidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUPTM
 
Administración de procesos en el S.O.
Administración de procesos en el S.O.Administración de procesos en el S.O.
Administración de procesos en el S.O.Carlos Solano
 
Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Javier Alvarez
 
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSGESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSomarhcc
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosCESAR
 
SO - Administración de Memoria
SO - Administración de MemoriaSO - Administración de Memoria
SO - Administración de MemoriaLuis Eraso
 
Proceso Administrativo
Proceso AdministrativoProceso Administrativo
Proceso Administrativoguest0cdf95
 
Administración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas OperativosAdministración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas OperativosPablo Macon
 
Software de gestión de procesos
Software de gestión de procesosSoftware de gestión de procesos
Software de gestión de procesosPIBSEV
 
Linux ud7 - gestion de procesos
Linux   ud7 - gestion de procesosLinux   ud7 - gestion de procesos
Linux ud7 - gestion de procesosJavier Muñoz
 
Inventarios y bodegas
Inventarios y bodegas Inventarios y bodegas
Inventarios y bodegas seily15
 
Evolución de la calidad desde un enfoque integrado.
Evolución de la calidad desde un enfoque integrado.Evolución de la calidad desde un enfoque integrado.
Evolución de la calidad desde un enfoque integrado.NayibethLuis
 
Unidad 3 gestion de procesos en linux
Unidad 3 gestion de procesos en linuxUnidad 3 gestion de procesos en linux
Unidad 3 gestion de procesos en linuxjcfarit
 
Planificacion de procesos
Planificacion de procesosPlanificacion de procesos
Planificacion de procesosYoselvi
 

Viewers also liked (20)

Unidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUnidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del Procesador
 
Administración de procesos en el S.O.
Administración de procesos en el S.O.Administración de procesos en el S.O.
Administración de procesos en el S.O.
 
Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)
 
Administración de procesos
Administración de  procesosAdministración de  procesos
Administración de procesos
 
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSGESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De Procesos
 
SO - Administración de Memoria
SO - Administración de MemoriaSO - Administración de Memoria
SO - Administración de Memoria
 
Proceso Administrativo
Proceso AdministrativoProceso Administrativo
Proceso Administrativo
 
Administración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas OperativosAdministración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas Operativos
 
PROCESO ADMINISTRATIVO
PROCESO ADMINISTRATIVOPROCESO ADMINISTRATIVO
PROCESO ADMINISTRATIVO
 
UNIDAD II ADMINISTRADOR DE PROCESADOR
UNIDAD II ADMINISTRADOR DE PROCESADORUNIDAD II ADMINISTRADOR DE PROCESADOR
UNIDAD II ADMINISTRADOR DE PROCESADOR
 
Introducción a los Sistemas Operativos
Introducción a los Sistemas OperativosIntroducción a los Sistemas Operativos
Introducción a los Sistemas Operativos
 
Software de gestión de procesos
Software de gestión de procesosSoftware de gestión de procesos
Software de gestión de procesos
 
Linux ud7 - gestion de procesos
Linux   ud7 - gestion de procesosLinux   ud7 - gestion de procesos
Linux ud7 - gestion de procesos
 
Inventarios y bodegas
Inventarios y bodegas Inventarios y bodegas
Inventarios y bodegas
 
Evolución de la calidad desde un enfoque integrado.
Evolución de la calidad desde un enfoque integrado.Evolución de la calidad desde un enfoque integrado.
Evolución de la calidad desde un enfoque integrado.
 
Unidad 3 gestion de procesos en linux
Unidad 3 gestion de procesos en linuxUnidad 3 gestion de procesos en linux
Unidad 3 gestion de procesos en linux
 
Operaciones Sobre Procesos
Operaciones Sobre ProcesosOperaciones Sobre Procesos
Operaciones Sobre Procesos
 
Planificacion de procesos
Planificacion de procesosPlanificacion de procesos
Planificacion de procesos
 
Presentacion so
Presentacion soPresentacion so
Presentacion so
 

Similar to Administración de procesos y del procesador

Similar to Administración de procesos y del procesador (20)

Grupo1
Grupo1Grupo1
Grupo1
 
Procesos de un sistema operativo
Procesos de un sistema operativoProcesos de un sistema operativo
Procesos de un sistema operativo
 
Planificacion de procesos
Planificacion de procesosPlanificacion de procesos
Planificacion de procesos
 
Planificacion de procesos
Planificacion de procesosPlanificacion de procesos
Planificacion de procesos
 
Introduccion a los procesos
Introduccion a los  procesosIntroduccion a los  procesos
Introduccion a los procesos
 
Prueba
PruebaPrueba
Prueba
 
Sistemas operativos - 6to SSI
Sistemas operativos - 6to SSISistemas operativos - 6to SSI
Sistemas operativos - 6to SSI
 
U n i d a d 2 sist oper
U n i d a d    2 sist operU n i d a d    2 sist oper
U n i d a d 2 sist oper
 
21
2121
21
 
S..O. Unidad 2
S..O. Unidad 2S..O. Unidad 2
S..O. Unidad 2
 
SO2_U2_PROCESOS, HILOS Y COMUNICACIÓN.pptx
SO2_U2_PROCESOS, HILOS Y COMUNICACIÓN.pptxSO2_U2_PROCESOS, HILOS Y COMUNICACIÓN.pptx
SO2_U2_PROCESOS, HILOS Y COMUNICACIÓN.pptx
 
3 procesos
3 procesos3 procesos
3 procesos
 
Planificación de un_proceso
Planificación de un_procesoPlanificación de un_proceso
Planificación de un_proceso
 
104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador
 
Planificacion de procesos
Planificacion de procesosPlanificacion de procesos
Planificacion de procesos
 
So 2da unidad
So 2da unidadSo 2da unidad
So 2da unidad
 
:)Resumen
:)Resumen:)Resumen
:)Resumen
 
Servicios de los Sistemas Operativos para la Gestion de Procesos
Servicios de los Sistemas Operativos para la Gestion de ProcesosServicios de los Sistemas Operativos para la Gestion de Procesos
Servicios de los Sistemas Operativos para la Gestion de Procesos
 
Unidad 2 Sistemas Operativos
Unidad 2 Sistemas OperativosUnidad 2 Sistemas Operativos
Unidad 2 Sistemas Operativos
 
Clases procesos
Clases procesosClases procesos
Clases procesos
 

Administración de procesos y del procesador

  • 2. 2.1 Concepto de proceso. Un proceso es básicamente un programa en ejecución.  Consta del programa ejecutable, los datos y la pila del programa, su contador de programa, apuntador de pila y otros registros, y la otra información que se necesita para ejecutar el programa, así como salidas y estados
  • 3. Proceso - un programa en ejecución; la ejecución del proceso debe progresar de manera secuencial. * Un proceso incluye: * program counter (contador del programa) * stack (pila) * data section (segmento de datos)
  • 4. Estados de los procesos * Nuevo: El proceso es creado. * Ejecución: Se ejecutan instrucciones. * Espera: El proceso esta en espera por la ocurrencia de algún evento. * Listo: El proceso esta esperando a que le asignen el procesador. * Terminado: El proceso finaliza su ejecución. * Diagrama de estados de los procesos.
  • 5. Información asociada con cada proceso: * Estado del proceso * Program counter * Registros del CPU * Información de planificación del CPU * Memoria * Información para administración * Información de estatus de E/S
  • 6.  Proceso: programa o comando en ejecución. Características: * Un proceso consta de código, datos y pila. * Los procesos existen en una jerarquía de árbol (varios Hijos, un sólo padre). * El sistema asigna un identificador de proceso (PID) único al iniciar el proceso. *El planificador de tareas asigna un tiempo compartido para el proceso según su prioridad (sólo root puede cambiar prioridad).
  • 7. 2.2 Estados de un proceso y Transiciones de estado de los procesos.  un proceso puede pasar por discretos, algunos de ellos son:  En ejecución: El proceso ocupa la CPU actualmente, es decir, se está ejecutando.  Listo o preparado: El proceso dispone de todos los recursos para su ejecución, sólo le falta la CPU.  Bloqueado: Al proceso le falta algún recurso para poder seguir ejecutándose, además de la CPU. Por recurso se pueden entender un dispositivo, un dato, etc. El proceso necesita que ocurra algún evento que le permita poder proseguir su ejecución.
  • 8. Transiciones de estado de los procesos
  • 9.  Estos colores hay que interpretarlos de forma que, el color del borde de los estados representa a dichos estados, los colores dentro de los círculos nos dicen las posibles alternativas de acceso hacia otro estado, y los colores de las flechas nos representan hacia qué estado nos dirigimos si seguimos la misma.
  • 10. 2.3 Procesos Ligeros (Hilos o Hebras) Un proceso ligero, es un programa en ejecución que comparte la imagen de memoria y otras informaciones con otros procesos ligeros. Como muestra la Figura, un proceso puede contener un solo flujo de ejecucion, como ocurre en los procesos clasicos, o más de un flujo de ejecucion (procesos ligeros). Las informaciones propias se refieren fundamentalmente al contexto de ejecucion, pudiéndose destacar las siguientes: • Contador de programa. • Pila. • Registros. • Estado del proceso ligero (ejecutando, listo o bloqueado).
  • 11. 2.3 Procesos Ligeros (Hilos o Hebras) Todos los procesos ligeros de un mismo proceso comparten la informacion del mismo. En concreto, comparten:  Espacio de memoria.  Variables globales.  Archivos abiertos.  Procesos hijos.  Temporizadores.  Senales y semaforos.  Contabilidad.
  • 13. Definición  La concurrencia comprende un gran número de cuestiones de diseño, incluyendo la comunicación entre procesos, comparación y competencia por los recursos, sincronización de la ejecución de varios procesos y asignación del tiempo de procesador a los procesos y es fundamental para que existan diseños como Multiprogramación, Multiproceso y Proceso distribuido.
  • 14. Presentarse tres contextos  Varias aplicaciones: La multiprogramación se creó para permitir que el tiempo de procesador de la máquina fuese compartido dinámicamente entre varias aplicaciones activas.  Aplicaciones estructuradas: Como ampliación de los principios del diseño modular y la programación estructurada, algunas aplicaciones pueden implementarse eficazmente como un conjunto de procesos concurrentes.  Estructura del sistema operativo: Las mismas ventajas de estructuración son aplicables a los programadores de sistemas y se ha comprobado que algunos sistemas operativos están implementados como un conjunto de procesos.
  • 15. Existen tres modelos de computadora en los que se pueden ejecutar procesos concurrentes: Multiprogramación. Multiprocesador. Multicomputadora.
  • 16. Tipos de procesos concurrentes.  Proceso independiente: Es aquel que ejecuta sin requerir la ayuda o cooperación de otros procesos.  Procesos son cooperantes: Son aquellos que están diseñados para trabajar conjuntamente en alguna actividad, para lo que deben ser capaces de comunicarse e interactuar entre ellos.
  • 17. Ventajas y Desventajas  Ventajas: Trata de evitar los tiempos muertos de la UCP Comparte y optimiza el uso de recursos Permite la modularidad en las diferentes etapas del proceso Acelera los cálculo Da mayor comodidad
  • 18. Ventajas y Desventajas Desventajas: Inanición e interrupción de procesos Ocurrencia de bloqueos Que dos o más procesos requieran el mismo recurso.
  • 19. 2.5 Niveles, Objetivos y Criterios de Planificación En épocas pasadas de los sistemas de procesamiento por lotes, con una entrada en forma de imágenes de tarjetas en una cinta magnética, el algoritmo de planificación era sencillo: solo había que ejecutar el siguiente trabajo en la cinta. En los sistemas de multiusuario de tiempo compartido, que se combinaban con un fondo de trabajos procesados en lote, el algoritmo era más complejo. Concepto de Planificación. La planificación hace referencia a un conjunto de políticas y mecanismos incorporados al sistema operativo que gobiernan el orden en que se ejecutan los trabajos que deben ser cumplimentados por el sistema informático.
  • 20. Objetivo de la Planificación El objetivo principal de la planificación es optimizar el rendimiento del sistema y proporcionar un buen servicio a todos los procesos que se encuentren en el. En general, la planificación trata de cubrir los siguientes objetivos: Justicia. La planificacion debe ser lo mas justa posible con todos los procesos, sin favorecer a unos y perjudicar a otros.  Maxima capacidad de ejecucion. Debe dar un servicio eficiente para que todos los trabajos se realicen lo mas rapidamente posible.  Maximo numero de usuarios interactivos.  Predecibilidad. La planificacion  Minimizacion de la sobrecarga.  Equilibrio en el uso de recursos.  Seguridad de las prioridades.  Evitar la postergacion indefinida. Esto se logra aumentando la prioridad de un proceso mientras espere por un recurso.
  • 21. Criterios de planificación Para realizar los objetivos de la planificación, un mecanismo de planificación debe considerar lo siguiente: La limitacion de un proceso a las operaciones de Entrada / Salida: cuando un proceso consigue la cpu, ?la utiliza solo brevemente antes de generar una peticion de Entrada / Salida?  La limitacion de un proceso a la cpu: cuando un proceso obtiene la cpu, ?tiende a usarla hasta que expira su tiempo?  Si un proceso es por lote (batch) o interactivo: los usuarios interactivos deben recibir inmediato servicio para garantizar buenos tiempos de respuesta.  ¿Qué urgencia tiene una respuesta rápida?: por ejemplo, un proceso de tiempo real de un sistema de control que supervise una refineria de combustible requiere una respuesta rapida, mas rapida que la respuesta requerida por un proceso en lotes (batch) que debera entregarse al dia siguiente.  La prioridad de un proceso: a mayor prioridad mejor tratamiento.
  • 22. 2.6 TECNICAS DE ADMINISTRACION DEL PLANIFICADOR Se denomina planificador al software del sistema operativo encargado de asignar los recursos de un sistema entre los procesos que los solicitan.
  • 23. El planificador es un componente funcional muy importante de los sistemas operativos multitarea y multiproceso y es esencial en los sistemas operativos de tiempo real. Su función consiste en repartir el tiempo disponible de un microprocesador entre todos los procesos para su ejecución. Todo sistema operativo gestiona los programas mediante el concepto de proceso.
  • 24. ALGORITMOS DE PLANIFICACIÓN Los algoritmos de planificación son los que definen que política se va a seguir para que un proceso pase al estado de ejecución.
  • 25.  Planificación Round-Robin  Planificación por prioridad  Colas múltiples  Primero el trabajo más corto  Planificación garantizada
  • 26. Planificación Round-Robin  cada proceso tiene asignado un quantum de tiempo para ejecutarse y en el caso de que no pueda terminar la ejecución en su quantum el proceso pasa de nuevo a la cola de procesos para ser ejecutado por otro quantum luego de recorrer la cola para asegurarse que todos los procesos reciban ese quantum de procesamiento.
  • 27. Planificación por prioridad  En la planificación round-robin todos los procesos son tratados con la misma prioridad. Para el caso de este tipo de planificación a cada proceso se le asigna una prioridad y los mismos son ejecutados
  • 28. Colas múltiples  Las colas múltiples están basadas en una pila que sirve como índice de una lista de procesos que se tienen que ejecutar.
  • 29. Primero el trabajo más corto  se usa para trabajos en batch o de procesamiento or lotes en los cuales se puede saber cual es el tiempo de duración de la ejecución de cada proceso y entonces se puede seleccionar primero el trabajo más corto.
  • 30. Planificación garantizada  En este modelo de planificación se tiene en cuenta la cantidad de usuarios en el sistema y se le asigna a cada uno el tiempo de ejecución de 1/n (siendo n la cantidad total de usuarios) de esa forma el planificador tiene que llevar cuenta del tiempo de ejecución de los procesos y balancear el tiempo que están utilizando el procesador para cumplir con la ecuación previa.