Está en la página 1de 13

Benemerita Universidad Autonoma de Puebla

Facultad de CIencias de la Computación

Sistemas Operativos I

Actividad 2

Reporte de: MOSS Scheduling Simulator

Gerardo Miguel Quechol Zarate 201768662


SOI
Instalación de MOSS Scheduling Simulator

Introducción.

El simulador de programación ilustra el comportamiento de los algoritmos


de programación frente a una mezcla simulada de cargas de proceso. El
usuario puede especificar el número de procesos, la desviación estándar y
media para el tiempo de cálculo y el tiempo de bloqueo de E / S para cada
proceso, y la duración de la simulación. Al final de la simulación se
presenta un resumen estadístico. También se les puede pedir a los
estudiantes que escriban sus propios algoritmos de programación para usar
con las cargas de proceso definidas por el instructor.

Cada uno de los pasos realizados se encuentran con sus pantallas de


salida, respectivamente.

Requerimientos.

Los siguientes componentes de software son necesarios para instalar y


utilizar MOSS Scheduling Simulator.

● Entorno X-windows para ejecutar programas Java Application Window


Toolkit (AWT).
● Java Development Kit (JDK) 1.0 o superior.
● Editor de programas de texto.

Pre-instalación.

Verificar que se tenga Java instalado y configurado.


$ java -version
Verifique que el compilador java esté instalado y configurado.

$ javac

Verifique que el directorio actual esté en su classpath.


$ echo $ CLASSPATH
Determina qué SHELL estás usando:
$ echo $ SHELL
Instalación.

Creación de los directorios.


$ cd
$ mkdir moss
$ cd moss
$ mkdir sched
$ cd sched

Descompresión de archivos.
Compilación.

Las clases se compilan con los siguientes comandos.

$ CLASSPATH=.
$ export CLASSPATH
$ javac -nowarn *.java

La bandera -nowarn suprime los mensajes de advertencia, de los cuales


puede haber varios. Para la compatibilidad con versiones anteriores, se
utilizaron solo las características de Java que han estado presentes desde
el principio, algunas de las cuales están obsoletas y el compilador las
informa con mensajes de advertencia.

Test.

Para probar el programa se ingresan los siguientes comandos:

$ java Scheduling scheduling.conf

El programa simplemente ejecutará la simulación basándose en la


información proporcionada en scheduling.conf y escribirá su salida en los
archivos Summary-Results y Summary-Processes. La salida al programa es:

Working...
Completed.

El archivo de configuración (scheduling.conf) se utiliza para especificar


varios parámetros para la simulación, que incluyen:

El número de procesos,
El tiempo de ejecución medio de un proceso,
La desviación estándar en tiempo de ejecución de un proceso, para cada
proceso, cuánto tiempo se ejecuta el proceso antes de que se bloquee para
entrada o salida, y cuánto tiempo debe ejecutarse la simulación.
Los archivos "Summary-Results" y "Summary-Processes" deberían verse así
El archivo Summary-Results.

El archivo de Summary-Results contiene un informe de resumen que describe


la simulación e incluye una línea de información de resumen para cada
proceso y se compone por los siguientes parámetros:
● Scheduling Type:
El tipo de algoritmo de programación utilizado. El tipo se encuentra
codificado en el archivo SchedulingAlgorithm.java.
● Scheduling Name
El nombre del algoritmo de programación utilizado. El valor está
codificado en el archivo SchedulingAlgorithm.java.
● Simulation Run Time
El tiempo en milisegundos en que se ejecutó la simulación.
● Standard Deviation
La desviación estándar de la cantidad promedio de tiempo de
ejecución para los procesos.
● Process #
Es la columna con el nombre donde se va mostrar la fila de cada
proceso
● CPU Time
El tiempo de ejecución total generado aleatoriamente para el proceso
en milisegundos.
● IO Blocking
La cantidad de tiempo que se ejecuta el proceso antes de que se
bloquee para entrada o salida.
● CPU Completed
La cantidad de tiempo de ejecución en milisegundos completado para
el proceso.
● CPU Blocked
El número de veces que el proceso se bloqueó para entrada o salida
durante la simulación.

El archivo Summary-Processes.

El archivo Summary-Processes contiene un registro de las acciones


realizadas por el algoritmo de programación, ya que considera cada proceso
en la cola de programación y se compone por los siguientes parámetros en
cada fila:
● process-number
El número de proceso asignado al proceso por el simulador. Este es
un número entre 0 y n-1, donde n es el número de procesos asignados
en scheduling.conf.
● process-status
El estado del proceso en este momento. Si está "registrado", el
algoritmo de programación está considerando el proceso. Si E/S
bloqueada, entonces el algoritmo de programación ha notado que el
proceso está bloqueado para entrada o salida. Si está completado,
entonces el algoritmo de programación ha notado que el proceso ha
cumplido o excedido su tiempo de ejecución asignado.
● cpu-time
La cantidad total de tiempo de ejecución permitido para este
proceso. Este número se genera aleatoriamente para el proceso.
● block-time
La cantidad de tiempo en milisegundos para ejecutar antes de
bloquear el proceso.
● accumulated-time
La cantidad total de tiempo que el proceso se ha ejecutado en
milisegundos.

Práctica.

Agregar en el archivo scheduling.conf 10 procesos con diferentes: tiempos


de I/O y tiempos de CPU.
¿En qué clase del simulador se corrigió para obtener tiempos de CPU
diferentes?

Se corrigió en el archivo Common.java en la línea 15, donde para el número


aleatorio usaba la función System.currentTimeMillis() y solo se eliminó
para que generar distintos números para cada proceso.

Indicar ¿En qué clase se encuentra el algoritmo de planificador de procesos? y


¿Cuál es el algoritmo de planificador de procesos que se utiliza?.

La clase que se encarga de la planificación de procesos es


SchedulingAlgorithm.java y para esta compilación se usa un algoritmo de
FIFO (First In First Out) en forma Batch
Bibliografía.

https://docs.oracle.com/javase/8/docs/api/java/util/Random.html
http://www.ontko.com/moss/sched/user_guide.html
http://www.ontko.com/moss/sched/install_unix.html
http://www.ontko.com/moss/#sched

También podría gustarte