Sie sind auf Seite 1von 10

Planificacin SRT

http://www.obasoft.es/CF/SIINF/SIINF_02_Contenidos/2_componentes_de_un_sistema_o
perativo.html

Los principales objetivos de los sistemas operativos son:

Abstraer al usuario de la complejidad del hardware: El


sistema operativo hace que el ordenador sea ms fcil de utilizar.
Eficiencia: Permite que los recursos del ordenador se utilicen de la forma ms
eficiente posible. Por ejemplo, se deben optimizar los accesos a disco para acelerar
las operaciones de entrada y salida.
Permitir la ejecucin de programas: Cuando un usuario quiere ejecutar un
programa, el sistema operativo realiza todas las tareas necesarias para ello, tales
como cargar las instrucciones y datos del programa en memoria, iniciar dispositivos
de entrada/salida y preparar otros recursos.
Acceder a los dispositivos entrada/salida: El sistema operativo suministra una
interfaz homognea para los dispositivos de entrada/salida para que el usuario pueda
utilizar de forma ms sencilla los mismos.
Proporcionar una estructura y conjunto de operaciones para el sistema de
archivos.
Controlar el acceso al sistema y los recursos: en el caso de sistemas compartidos,
proporcionando proteccin a los recursos y los datos frente a usuarios no
autorizados.
Deteccin y respuesta ante errores: El sistema operativo debe prever todas las
posibles situaciones crticas y resolverlas, si es que se producen.
Capacidad de adaptacin: Un sistema operativo debe ser construido de manera
que pueda evolucionar a la vez que surgen actualizaciones hardware y software.
Gestionar las comunicaciones en red: El sistema operativo debe permitir al
usuario manejar con facilidad todo lo referente a la instalacin y uso de las redes de
ordenadores.
Permitir a los usuarios compartir recursos y datos: Este aspecto est muy
relacionado con el anterior y dara al sistema operativo el papel de gestor de los
recursos de una red.

Dentro de un sistema operativo podemos destacar los siguientes componentes o niveles:


El "Kernel" o ncleo, es un programa que reside permanentemente en memoria. Es la
parte esencial de un sistema operativo que provee los servicios ms bsicos del sistema.
Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware
del ordenador.
En los siguientes niveles podemos encontrar los programas de utilidad. Podemos realizar
la siguiente clasificacin por la funcin que realizan:

o Utilidades para la gestin de memoria: se encarga de administrar la memoria para los


procesos y programas, repartiendo la memoria disponible entre los distintos procesos.
o Utilidades para la gestin de procesos: controla los procesos en ejecucin en tareas como
inicio, parada, coordinacin, la creacin y destruccin de procesos, intercambio, deteccin
y arranque de mensajes.

Elaboracin propia utilizando la galera openclipart-0.18-full. Procedencia

o Utilidades para la gestin de E/S a disco: gestiona la comunicacin entre dispositivos que
se encargan de la E/S de la informacin y de su almacenamiento en funcin de los
dispositivos existentes.
o Utilidades para la gestin de ficheros y de la informacin: cuyo objetivo es el de controlar
los archivos para mantener una correcta organizacin dentro y fuera del sistema,
realizando tareas como la asignacin de nombres, permisos, atributos, etc. a los ficheros y
programas. Gestiona los nombres lgicos y la proteccin de la informacin realizando
funciones de creacin y destruccin de ficheros, lectura y escritura y proteccin de
accesos.

Programa interface de usuario o Shell: encargados de permitir al usuario la comunicacin


con el sistema por medio de entornos grficos o de texto mediante una lnea de entrada
de comandos.
3.1. Control y gestin de procesos
Un proceso o tarea, se puede definir como un programa en ejecucin.

Entre las principales tareas del sistema operativo est la de administrar los procesos del
sistema.

A qu nos referimos cuando hablamos de procesos?

Un proceso es un programa en ejecucin. Un proceso simple tiene un hilo de ejecucin


(o subproceso), en ocasiones, un proceso puede dividirse en varios subprocesos. Un hilo es
bsicamente una tarea que puede ser ejecutada en paralelo con otra tarea. Por lo que los
hilos de ejecucin permiten a un programa realizar varias tareas a la vez.

En los sistemas operativos modernos los procesos pueden tener diferentes estados, segn el
momento de creacin, si estn en ejecucin, si se encuentran a la espera de algn recurso,
etc. Pero podemos hacer una simplificacin, y un proceso, en un instante dado, puede estar
en uno de los tres estados siguientes:

Listo.
En ejecucin.
Bloqueado.

Los procesos en estado listo son los que pueden pasar a estado de ejecucin si el
planificador del sistema operativo los selecciona, esto es, cuando llegue su turno (segn el
orden de llegada o prioridad).

Los procesos en estado de ejecucin son los que se estn ejecutando en el procesador en
un momento dado.

Los procesos que se encuentran en estado bloqueado estn esperando la respuesta de algn
otro proceso para poder continuar con su ejecucin, por ejemplo una operacin de
entrada/salida.

El sistema operativo sigue la pista de en qu estado se encuentran los procesos, decide


qu procesos pasan a ejecucin, cules quedan bloqueados, en definitiva, gestiona los
cambios de estado de los procesos. Los procesos pueden comunicarse entre s o ser
independientes. En el primer caso, los procesos necesitarn sincronizarse y establecer una
serie de mecanismos para la comunicacin; por ejemplo, los procesos que pertenecen a una
misma aplicacin y necesitan intercambiar informacin. En el caso de procesos
independientes estos, por lo general, no interactan y un proceso no requiere informacin
de otros.

Un proceso en un S.O. presenta las siguientes caractersticas:

Para iniciar su ejecucin debe cargarse completamente en memoria y tener


asignados todos los recursos que necesite.
Est protegido del resto de procesos; ningn otro proceso podr escribir en la zona
de memoria perteneciente a ese proceso.
Puede pertenecer al usuario o ser propio del sistema operativo. (Ver admin. tareas)
Los procesos pertenecientes a los usuarios se ejecutan en el modo usuario del
procesador (con restricciones de acceso a los recursos hardware). Los procesos que
pertenecen al S.O. se ejecutan en el modo ncleo o modo privilegiado del
procesador (sin restricciones de acceso a los recursos hardware).
Cada proceso tendr una estructura de datos llamada bloque de control de proceso,
donde se almacenar informacin acerca del proceso.
Cada proceso puede comunicarse, sincronizarse y colaborar con los dems.La razn
de estas operaciones es que, al residir cada proceso en zonas de memoria
independientes, se ha de llamar al sistema para compartir datos entre los procesos.

Para poder ejecutar un proceso, deber estar siempre cargado en memoria principal, tanto
las instrucciones del propio cdigo que lo componen como los datos a los que afecta la
ejecucin del mismo.

Un programa no es un proceso siempre y cuando no est en ejecucin. Por ejemplo,


Microsoft Word ser simplemente un archivo almacenado en el disco duro si no se est
ejecutando. Una vez se ejecute, el archivo Microsoft Word seguir almacenado donde
estaba originalmente, pero las instrucciones necesarias para su ejecucin se habrn cargado
en memoria. Una vez que se est ejecutando el programa, se convierte en proceso.

El reparto de los recursos del sistema entre los distintos procesos y su ejecucin
concurrente se conoce como multiprogramacin.

Algoritmos de planificacin.
Los algoritmos de planificacin son los siguientes:

FCFS (first come first serverd)

Este mtodo se conoce tambin como primero en entrar, primero en salir.


Es una poltica no apropiativa.

Cuenta con el inconveniente de que sus prestaciones son bastante pobres, pues si se asigna un
trabajo largo a la CPU, todos los dems permanecen a la espera, por lo que se retienen los
procesos cortos, es decir, se produce el efecto convoy.

Sin embargo, si aplicamos prioridades a los procesos, los cortos entraran si tienen una mayor
prioridad, pues se tendr en cuenta el orden de llegada.

La ventaja sera que los procesos con prioridad se ejecutaran sin problemas.
El inconveniente es la posibilidad de que los procesos entren en un estado de inanicin y nunca
lleguen a ejecutarse.

SJF (shortest job first)

Este algoritmo se basa en ejecutar primero los procesos de menor tamao, y en caso de que haya
dos iguales, se prioriza el que lleg antes al sistema.

Es un algoritmo no apropiativo.

Una de las ventajas es que con este mtodo el tiempo de espera medio se reduce, sin embargo, el
inconveniente que presenta este algoritmo es que en la vida real tendramos que intentar
predecir el tiempo que un proceso tarda en ejecutarse en funcin de tiempos de referencia
tomados de ejecuciones anteriores.

SRT (shortest remaining time first)

La evolucin lgica ser convertir el algoritmo anterior en apropiativo.


Para ello tenemos en cuenta el tiempo restante de ejecucin y no el tiempo inicial.

Las ventajas de este algoritmo son su eficiencia y su excelente tiempo medio de servicio.
El inconveniente es que es injusto, pues una serie de procesos cortos quitan repetidamente el
procesador a uno largo que a la vez lo est usando y est terminando.

RR (round-robbin)

Se trata de un algoritmo apropiativo.


El diseo del algoritmo RR consiste en definir una unidad de tiempo llamada quantum.
Los procesos ya no pelean por los recursos si no que estos se asignan equitativamente a todos
ellos por turnos, los cuales finalizan cuando lo indique el quantum.

Se pueden dar dos casos:


- Que el proceso requiera menos tiempo que el quantum asignado.
- Que el proceso requiera ms tiempo que el quantum asignado.

El inconveniente de este mtodo es que cuando finalizan los quantums nos encontramos con una
interrupcin procedente del temporizador que provoca que haya que salvar todos los registros del
proceso antiguo y restaurar los del nuevo. Es lo que se conoce como cambio de contexto. Adems,
si el proceso es demasiado corto el sistema puede llegar a bloquearse.

La ventaja de este algoritmo es que se establecen turnos equitativos entre las colas de menor
prioridad, por lo que todos los procesos pueden avanzar y finalizarse.

SRTF, Short Remaining Time First.

Es similar al SJF, con la diferencia de que si un nuevo proceso pasa a listo se activa
eldispatcher para ver si es ms corto que lo que queda por ejecutar del proceso en
ejecucin. Si es as, el proceso en ejecucin pasa a listo y su tiempo de estimacin se
decremento con el tiempo que ha estado ejecutndose.

En SRTF se penaliza a las rfagas largas (como en SJF). Un punto dbil de este
algoritmo se evidencia cuando una rfaga muy corta suspende a otra un poco ms larga,
siendo ms larga la ejecucin en este orden al ser preciso un cambio adicional de proceso
y la ejecucin del cdigo del planificador. Trabajos cortos.
Caractersticas:
- De los procesos que estn esperando para usar la CPU,SRTF lleva a ejecucin el
proceso al que le reste menos tiempo para terminar.
- Los empates se dirimen mediante FIFO / FCFS

Funcionamiento:
- Los procesos llegan a la cola y solicitan un intervalo de CPU
- Si dicho intervalo es inferior al que le falta al proceso en ejecucin para abandonar la
CPU, el nuevo proceso pasa a la CPU y el que se ejecutaba a la cola de preparados.

Inconvenientes:
- El intervalo de CPU es difcil de predecir
- Posibilidad de inanicin: los trabajos largos no se ejecutarn mientras hayan trabajos
cortos.
.
0
http://www.utnianos.com.ar/foro/tema-diferencia-entre-srt-y-sjf
Caracteristicas
-Entra en la CPU el proceso con la rfaga de CPU ms corta.
-Minimiza el tiempo de espera medio.
-Riesgo de inanicinde los procesos de larga duracin.
-No es implementable. Se pueden estimar las duraciones de los procesos,
segn su historia reciente.
-Versin expulsiva (SRTF):el proceso en CPU es desalojado si llega a la cola
un proceso con duracin ms corta.
Algoritmo SJF

El algoritmo SJF (Shortest-Job-First) se basa en los ciclos de vida de los


procesos, los cuales transcurren en dos etapas o periodos que son: ciclos de
CPU y ciclos de entrada/salida, tambin conocidos por rfagas.
La palabra shortest (el ms corto) se refiere al proceso que tenga el el
prximo ciclo de CPU mas corto. La idea es escoger entre todos los procesos
listos el que tenga su prximo ciclo de CPU ms pequeo. El SJF se puede
comportar de dos formas:
Con Desalojo: Si se incorpora un nuevo proceso a la cola de listos y este
tiene un ciclo de CPU menor que el ciclo de CPU del proceso que se est
ejecuando,entonces dicho proceso es desalojado y el nuevo proceso toma
la CPU.
Sin desalojo: Cuando un proceso toma la CPU, ningn otro proceso podr
apropiarse de ella hasta que que el proceso que la posee termine de
ejecutarce.

Ejemplo del Algoritmo SJF (Con Desalojo)

Para el siguiente ejemplo se tienen 4 procesos (P1, P2,P3 y P4). A medida


que estos se van incorporando a la cola de listos, se les calcula su prximo
ciclo de CPU.
Para calcular el prximo ciclo de CPU se pueden emplear: mtodos
estadsticos, clculos probabilsticos, entre otros.

CCPU: prximo ciclo de CPU.

En el ejemplo se toma como criterio que la cola de procesos listos est


inicialmente vaca.
En la figura se representa la llegada de P1 a la cola de listos con un tiempo
de llegada (0,0). Luego a P1 se le calcula su CCPU (CCPU = 7) y en ese
instante se comienza a ejecutar.

Estando en ejecucin el proceso P1, se incorpora a la cola de listos P2,


al cual se le calcula su CCPU (CCPU = 4).
Pero como el CCPU de P2 es menor que el CCPU de P1, entonces P1 es
desalojado y P2 toma la CPU. En este caso P1 se reincorpora a la cola de
listos porque no ha terminado su ejecucin, y en ese instante se le vuelve a
calcular el valor del CCPU (CCPU = 6).

Luego llega el proceso P3 a la cola de listos y se le calcula el CCPU (CCPU =


1).
Por lo que sucede igual que el caso anterior, el CCPU de P3 es menor que el
CCPU de P2, por lo que se desaloja P2 para cederle la CPU a P3.
P2 es reincorporado a la cola de listos porque no ha terminado su ejecucin
CCPU y se le vuelve a calcular su CCPU (CCPU = 3).

El proceso P4 se incorpora a la cola de listos y se le calcula su CCPU (CCPU =


4).
Luego P3 termina su ejecucin para cederle la CPU al prximo proceso que
le corresponda segn el criterio que establece el algoritmo.
Para el ejemplo le corresponde el turno a P2, luego a P4 y finalmente a P1.
Ejemplo del Algoritmo SJF (No Apropropiativa)
En esta implementacin sucede muy similar a la Apropiativa, pues el SJF si
reorganiza la cola por el TE, pero la diferencia es que cuando un proceso
obtiene la CPU no lo abandona hasta que no concluye.

Algoritmo ptimo?
El SJF se considera como un algoritmo ptimo, porque da el mnimo tiempo
de espera promedio para un conjunto de procesos, as como las
estimaciones de CPU. Su dificultad radica en que materialmente es un
algoritmo imposible de implementar
RE: Diferencia entre SRT y SJF
En el SRT, va evaluando los procesos que va ingresando.
Es decir, estoy corriendo un proceso de 10 unidades de tiempo, y luego cae uno de 2
unidad, entonces freno el de 10 unidades (a excepcion de que le falte una unidad) y corro el
de 2 unidades y y luego vuelvo al de 10 unidades.
En el SJF, se corre el de 10 unidades de tiempo hasta el final, y luego el de 2 unidades.

En los PPT de Adriano dice:

SJF hay 2 tipos:


No expropiativo cuando se asigna la CPU a un proceso no se puede expropiar hasta que
completa su rfaga de CPU
Expropiativo si llega un proceso a la cola de listos con una rfaga de CPU ms corta que
el tiempo restante, se expropia. El SJF expropiativo se conoce tambin como Shortest
Remaining Time First (SRTF)
http://dcc2009.yolasite.com/resources/srt.pdf
http://dcc2009.yolasite.com/resources/TSO-practica2.pdf
ftp://iesjuandelacierva.com/pub/pilarsimm/temas%20teor%EDa%20SSOO/
Ejemplo%20Algoritmo%20SRT.htm

Das könnte Ihnen auch gefallen