Escolar Documentos
Profissional Documentos
Cultura Documentos
PROCESOS
Un programa ejecutable es un conjunto de instrucciones y datos almacenados en un fichero. Cuando lo que tiene ese
programa se carga en la memoria y se pone en ejecucin, se convierte en un proceso.
Procesos Pesados: Los procesos no comparten ninguna porcin de la memoria. Cada proceso se ejecuta en su propio
procesador virtual con CPU y memoria. Todos los procesos s comparten el mismo espacio de almacenamiento
permanente (el disco).
Procesos Livianos o threads: Los threads comparten toda la memoria y el espacio de almacenamiento permanente.
3.-ESTADOS DE UN PROCESO
Un proceso pasa por varios estados durante su ejecucin. Los estados de un proceso son: Nuevo (new): Cuando el
proceso es creado.
Ejecutando (running): El proceso tiene asignado un procesador y est ejecutando sus instrucciones.
Bloqueado (waiting): El proceso est esperando por un evento (que se complete un pedido de E/S o una seal).
Listo (ready): El proceso est listo para ejecutar, solo necesita del recurso procesador.
ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO
CARRERA: ESCUELA DE INGENIERA ELECTRNICA
TELECOMUNICACIONES Y REDES
MATERIA: SISTEMAS OPERATIVOS
Los procesos tienen que poder ser creados y eliminados dinmicamente en el sistema. Debido a ello, el sistema debe
proporcionar facilidades para llevar a cabo estas acciones con los procesos. Las funcionalidades bsicas se indican a
continuacin.
Creacin de procesos
* Todo sistema operativo debe proporcionar un servicio Create-Process, que ser utilizado por un proceso para crear
otro proceso. * Al proceso que solicita el servicio Create-Process se le denomina proceso padre, y al proceso que es
creado mediante este servicio, proceso hijo. * Ejemplo:
Terminacin de procesos
* Un proceso puede terminar por s mismo, o bien puede ser terminado por otro proceso, que generalmente slo puede
ser su proceso padre.
* Un proceso termina por s mismo llamando a un servicio del sistema, denominado normalmente Exit o Exit-Process.
* Un proceso puede terminar la ejecucin de un proceso hijo llamando a un servicio del sistema, conocido
normalmente como Abort o Terminate-Process.
PLANIFICACION DE PROCESOS
La planificacin hace referencia a un conjunto de polticas y mecanismos incorporados al SO que gobiernan el orden
en que se ejecutan los trabajos que deben ser completados por el sistema informtico. El planificador es un modulo del
sistema operativo que selecciona el siguiente trabajo y el siguiente proceso que tomara control sobre el procesador .
2.TIPOS DE PLANIFICACION
A largo plazo
Decide qu procesos sern los siguientes en ser iniciados. Este tipo de planificacin era el ms frecuente en los
sistemas de lotes (principalmente aquellos con spool) y multiprogramados en lotes; las decisiones eran
tomadas principalmente considerando los requisitos pre-declarados de los procesos y los que el sistema tena
libres al terminar algn otro proceso. La planificacin a largo plazo puede llevarse a cabo con periodicidad de
una vez cada varios segundos, minutos e inclusive horas.
En los sistemas de uso interactivo, casi la totalidad de los que se usan hoy en da, este tipo de planificacin no
se efecta, dado que es tpicamente el usuario quien indica expresamente qu procesos iniciar.
A mediano plazo
Decide cules procesos es conveniente bloquear en determinado momento, sea por escacez/saturacin de
algn recurso (como la memoria primaria) o porque estn realizando alguna solicitud que no puede
satisfacerse momentaneamente; se encarga de tomar decisiones respecto a los procesos conforme entran y
salen del estado de bloqueado (esto es, tpicamente, estn a la espera de algn evento externo o de la
finalizacin de transferencia de datos con algn dispositivo).
A corto plazo
ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO
CARRERA: ESCUELA DE INGENIERA ELECTRNICA
TELECOMUNICACIONES Y REDES
MATERIA: SISTEMAS OPERATIVOS
Decide cmo compartir momento a momento al equipo entre todos los procesos que requieren de sus recursos,
especialmente el procesador. La planificacin a corto plazo se lleva a cabo decenas de veces por segundo
(razn por la cual debe ser cdigo muy simple, eficiente y rpido); es el encargado de planificar los procesos
que estn listos para ejecucin.
En general, todo mecanismo introduce una sobrecoste en tiempo de ejecucin que contrarresta parte de los beneficios
obtenidos por la introduccin del mecanismo.
Los parmetros de rendimiento que utilizaremos como criterios para analizar la calidad de una poltica de planificacin
se basa en los siguientes criterios:
EFICIENCIA:
Se refiere a la eficiencia temporal. Se expresa como el porcentaje de tiempo en que la CPU se mantiene
ocupada haciendo trabajo til. Por trabajo til se entiende la ejecucin de cdigo de los programas (y de
los servicios solicitados por stos). Cabe esperar que un sistema multiprogramado sea mucho ms
eficiente que uno monoprogramado, ya que en stos la CPU est ociosa cuando en programa espera por
ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO
CARRERA: ESCUELA DE INGENIERA ELECTRNICA
TELECOMUNICACIONES Y REDES
MATERIA: SISTEMAS OPERATIVOS
una operacin de E/S pudiendo haber programas esperando a ejecutarse, por lo que ese tiempo contar
como tiempo perdido. Sin embargo, un sistema multiprogramado tiene que ejecutar las tareas propias de
la gestin de procesos (scheduler y del dispatcher), y stas deben computarse tambin como tiempo
perdido.
PRODUCTIVIDAD (THROUGHPUT) :
En lo que respecta a la gestin de procesos, mide el nmero de programas que se ejecutan por unidad de
tiempo. Incluye otras muchas caractersticas que afectan el rendimiento del sistema, como por ejemplo la
velocidad del procesador, que habr que compensar si se comparan mquinas con distinto hardware.
TIEMPO DE FINALIZACIN:
Considera el rendimiento del sistema desde el punto de vista del programa que se ejecuta. Globalmente,
se puede expresar como el tiempo desde que se solicita la ejecucin de un programa hasta que sta
finaliza. Es una medida vlida para sistemas batch. Lo denotaremos tf.
TIEMPO DE ESPERA:
TASA DE CPU:
La relacin entre el tiempo de CPU del programa y su tiempo de espera expresa la tasa de CPU, que
indica el grado de disfrute del procesador que ha tenido el proceso:
Mide el tiempo desde que un proceso entra en el estado de preparado (porque se crea o porque se
desbloquea) hasta que entra en ejecucin. Slo tiene sentido en sistemas interactivos. Lo denotaremos tr.
ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO
CARRERA: ESCUELA DE INGENIERA ELECTRNICA
TELECOMUNICACIONES Y REDES
MATERIA: SISTEMAS OPERATIVOS
EQUIDAD (PREDECIBILIDAD):
Los parmetros anteriores (en particular el tiempo de terminacin, la latencia y el tiempo de espera) se
miden con parmetros estadsticos. La media parece ser el parmetro ms indicativo. Sin embargo, otros
parmetros de la distribucin estadstica de una medida del rendimiento, como por ejemplo la varianza de
la latencia, son de gran inters. Una varianza pequea en la latencia es indicadora de un comportamiento
homogneo, lo que es deseable por dos motivos:
4.ALGORITMOS DE PLANIFICACIN
El planificador a corto plazo puede ser invocado cuando un proceso se encuentra en algunas de las cuatro siguientes
circunstancias:
1. Pasa de estar ejecutando a estar en espera (por ejemplo, por solicitar una operacin de E/S, esperar a la
sincronizacin con otro proceso, etc.)
2. Pasa de estar ejecutando a estar listo (por ejemplo, al ocurrir una interrupcin
3. Deja de estar en espera a estar listo (por ejemplo, al finalizar la operacin de E/S que solicit)
En el primer y cuarto casos, el sistem operativo siempre tomar el control; un sistema que opera bajo multitarea
preventiva implementar tambin el segundo y tercer casos, mientras que uno que opera bajo multitarea
cooperativa no necesariamente reconocer dichos estados.
Ahora, para los algoritmos a continuacin, recordemos que en este caso estamos hablando nicamente
del despachador. Un proceso siempre abandonar la cola de procesos listos al requerir de un servicio del sistema.
Para todos los ejemplos a continuacin, asumamos que los tiempos estn dados en ticks; no nos preocupa en este caso
a cunto tiempo de reloj estos equivalen, sino el rendimiento relativo del sistema entero ante una carga dada.
El esquema ms simple de planificacin es el Primero llegado, primero servido (First come, first serve, FCFS). Este es
un mecanismo cooperativo, con la mnima lgica posible: Cada proceso se ejecuta en el rden en que fue llegando, y
hasta que suelta el control. El despachador es muy simple, bsicamente una cola FIFO.
ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO
CARRERA: ESCUELA DE INGENIERA ELECTRNICA
TELECOMUNICACIONES Y REDES
MATERIA: SISTEMAS OPERATIVOS
El esquema ronda busca dar una relacin de respuesta buena tanto para procesos largos como para los cortos. La
principal diferencia entre la ronda y FCFS es que en este caso s emplearemos multitarea preventiva: A cada proceso
que est en la lista de procesos listos lo atenderemos por un slo quantum ( ). Si un proceso no ha terminado de
ejecutar al final de su quantum, ser interrumpido y puesto al final de la lista de procesos listos, para que espere a su
turno nuevamente. Los procesos que nos entreguen los planificadores a mediano o largo plazo se agregarn tambin al
final de esta lista.
Con la misma tabla de procesos que encontramos en el caso anterior (y, por ahora, ignorando la sobrecarga
administrativa provocada por los cambios de contexto), obtendramos los siguientes resultados:
ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO
CARRERA: ESCUELA DE INGENIERA ELECTRNICA
TELECOMUNICACIONES Y REDES
MATERIA: SISTEMAS OPERATIVOS
Cuando no tenemos la posibilidad de implementar multitarea preventiva, pero requerimos de un algoritmo ms justo, y
contamos con informacin por anticipado acerca del tiempo que requieren los procesos que forman la lista, podemos
elegir el ms corto de los presentes.
Ahora bien, es muy difcil contar con esta informacin antes de ejecutar el proceso. Es ms frecuente
buscar caracterizar las necesidades del proceso: Ver si durante su historia de ejecucin 5 ha sido un proceso tendiente a
manejar rfagas limitadas por entrada-salida o limitadas por procesador, y cul es su tendencia actual.
Este mtodo busca favorecer a los procesos que ya han pasado tiempo ejecutando que a los recin llegados. De hecho,
los nuevos procesos no son programados directamente para su ejecucin, sino que se les forma en la cola de procesos
nuevos, y se avanza nicamente con la cola de procesos aceptados.
A cada proceso se le asocia una prioridad, a partir de las cual se establece su orden para la planificacin. Para igual
prioridad, suele tomarse orden FCFS. Habitualmente, la prioridad de un proceso se almacena como un entero positivo
dentro de su PCB, que se inserta en la cola de preparados de acuerdo a ella para facilitar la labor del scheduler (en
planificacin de corto plazo).
La prioridad se establece inicialmente en funcin de determinados parmetros, como el propietario del proceso, el tipo
del proceso (por ejemplo, procesos del sistema, de tiempo real, batch), su tamao, los recursos que requiere, etc. La
prioridad inicial puede usarse para planificar a largo plazo.
Si la prioridad inicial no cambia durante la ejecucin del proceso y sta se usa para planificar a corto plazo, se obtiene
una poltica de prioridades estticas. Un problema de las prioridades estticas es que algunos parmetros,
fundamentalmente los referidos al consumo de recursos, y en particular al tiempo de CPU y duracin de sus intervalos,
no se conocen a priori, por lo que la prioridad puede no ser indicativa de comportamiento del programa.
Otro problema es el riesgo de inanicin para los procesos de prioridad baja, lo que adems puede tener consecuencias
para el propio sistema operativo: si un proceso de prioridad alta realiza espera activa para entrar en una seccin crtica
ocupada por un proceso de prioridad menor, la seccin crtica nunca se liberar.
ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO
CARRERA: ESCUELA DE INGENIERA ELECTRNICA
TELECOMUNICACIONES Y REDES
MATERIA: SISTEMAS OPERATIVOS
En general, resulta ms adecuada una planificacin por prioridades dinmicas. Un proceso se crea con una prioridad
base inicial, y su prioridad dinmica se recalcula peridicamente, fundamentalmente de acuerdo al gasto de CPU del
proceso. La prioridad de los procesos que ms tiempo de CPU han gastado disminuye en relacin a la prioridad de los
procesos que han gastado menos.
a. Peridicamente, como por ejemplo UNIX System V, UNIX 3.2BSD y Linux, que ajustan
conjuntamente las prioridades de todos los procesos cada cierto tiempo.
b. Aperidicamente, como por ejemplo Windows NT y UNIX SVR4, que aprovecha, la transicin de
estado de un proceso para recalcular la prioridad.
FCFS/FIFO:
Giagrama de Gantt:
0 12 22 28 41
Tiempo de espera:
Word=0-0=0
Excel=12-1=11
Chrome=22-2=20
Paint=28-3=25
Tiempo de respuesta:
Word=12+0=12
Excel=10+12=22
Chrome=6+22=28
Paint=13+28=41
SJF
No Apropiativo:
Tiempo de espera:
Excel=6-2=4
Word=5-4=1
ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO
CARRERA: ESCUELA DE INGENIERA ELECTRNICA
TELECOMUNICACIONES Y REDES
MATERIA: SISTEMAS OPERATIVOS
Chrome=0-0=0
Paint=9-1=8
Imgenes=3-3=0
Tiempo de respuesta:
Chrome=3+0=3
Imagenes=2+5=5
Word=1+5=6
Excel=3+6=9
Paint=4+9=13
PRIORIDAD
C A D B E
0 3 6 10 11 13
Tiempo de espera:
A=3-2=1
B=10-4=6
C=0-0=0
D=6-1=5
E=11-3=8
Tiempo de respuesta:
ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO
CARRERA: ESCUELA DE INGENIERA ELECTRNICA
TELECOMUNICACIONES Y REDES
MATERIA: SISTEMAS OPERATIVOS
A=6
B=11
C=0
D=10
E=13
RR
C D A E B D
0 3 6 9 11 12 13
q= 3 ut
Tiempo de espera:
A=6-2=4
B=11-4=7
C=0-0=0
D=3-1+6=8
E=9-3=8
Tiempo de respuesta:
A=9
B=12
C=0
D=13
E=11
6.CONCLUCIONES
Como ya se ha mencionado en este informe, la planificacin de la CPU es la tarea de escoger un proceso que espera
en la cola de procesos listos y asignarle la CPU. En este momento, el despachador (despatcher) se encarga de asignar
la CPU al proceso seleccionado.
Se ha analizado tambin, que el proceso de seleccin de un algoritmo de planificacin no es una tarea trivial, ms bien
es compleja, ya que requiere tener una serie de conceptos muy claros, y definir muy bien cul es la funcin que el
sistema operativo realizar. Para ayudar al desarrollo de esta actividad, se han establecido un conjunto de criterios que
deben ser reconocidos a la hora de la seleccin.
Un comentario importante, es que los diferentes algoritmos no son excluyentes entre s en un sistema operativo, de
all, que surjan soluciones como la planificacin de colas multinivel explicada antes. Adems, la amplia variedad de
algoritmos de planificacin disponibles exige tener mtodos para seleccionar el ms apropiado.
Para apoyar lo anterior, existen tambin mtodos analticos que utilizan anlisis matemtico para determinar el
desempeo de un algoritmo. Los mtodos de simulacin determinan el desempeo imitando el algoritmo de
planificacin aplicndolo a una muestra "representativa" de procesos, y calculando el desempeo resultante.
Por ltimo, es muy importante reconocer que no siempre la planificacin minimizar los ndices de desempeo, pues,
a veces se requerir maximizar el uso de los recursos para aumentar el desempeo del sistema operativo, o minimizar
el tiempo de respuesta para darle un mejor servicio al usuario.
BIBLIOGRAFA