Está en la página 1de 30

Administración de

procesos y del
procesador.
2.1 Concepto de
proceso.
🠶Un proceso es básic amente 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 C PU
* 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 inic iar 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
(ejecutand
o, 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 aplica ciones 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 C riterios
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
i Juunos
sg u s tic ia . L a p la n if ic a ci o n debe ser lo mas justa posible con todos los procesos,
i ey nperjudica
te s or ab otros.
j etv i o s :
sin favorecer a
🠶 Maxima ca pac idad de ejec ucion. Debe dar un servic io efic iente para que todos
los
trabajos se realicen lo mas rapidamente posible.
🠶 Maximo numero de usuarios interactivos.
🠶 Predecibilidad. La planifica cion
🠶 Minimizacion de la sobreca rga.
🠶 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
sconsiderar
i u i e n t elo:
g
🠶 La l m
i i ta c o
in 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.

También podría gustarte