0% encontró este documento útil (0 votos)
10 vistas10 páginas

Algoritmos de Planificación en Sistemas Multiprogramados

El documento presenta un proyecto sobre la implementación y simulación de algoritmos de planificación a corto plazo en sistemas multiprogramados, utilizando JavaScript. Se analizan algoritmos como FCFS, SJF, SRTF, RR y colas multinivel, evaluando métricas clave como tiempo de retorno y tiempo de espera. Además, se detallan aspectos técnicos de la implementación, la arquitectura del sistema y los resultados obtenidos de la simulación.

Cargado por

Steban Enciso
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
10 vistas10 páginas

Algoritmos de Planificación en Sistemas Multiprogramados

El documento presenta un proyecto sobre la implementación y simulación de algoritmos de planificación a corto plazo en sistemas multiprogramados, utilizando JavaScript. Se analizan algoritmos como FCFS, SJF, SRTF, RR y colas multinivel, evaluando métricas clave como tiempo de retorno y tiempo de espera. Además, se detallan aspectos técnicos de la implementación, la arquitectura del sistema y los resultados obtenidos de la simulación.

Cargado por

Steban Enciso
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

ALGORITMOS DE PLANIFICACIÓN A CORTO PLAZO EN UN SISTEMA

MULTIPROGRAMADO

Carlos Steban Enciso Caballero

Universidad Distrital Francisco José de Caldas

[Link]

Sistemas Operativos
ii

Contenido
Introducción.....................................................................................................................................1
Algoritmos de Planificación a Corto Plazo.....................................................................................2
Diseño e Implementación................................................................................................................3
Detalles de Implementación:...........................................................................................................5
Resultados y Evaluación:.................................................................................................................6
Lista de Referencias.....................................................................................................................8
1

Introducción

En el ámbito de los sistemas operativos, la eficiente asignación de recursos y la

planificación de procesos son aspectos cruciales para optimizar el rendimiento del sistema. En

este contexto, el presente proyecto se centra en la implementación y simulación de varios

algoritmos de planificación a corto plazo utilizando el lenguaje de programación JavaScript. Los

algoritmos abordados incluyen FCFS (First Come, First Served), SJF (Shortest Job First), SRTF

(Shortest Remaining Time First), RR (Round Robin) y colas multinivel por prioridades.

El objetivo principal de esta simulación es analizar y comparar el comportamiento de

estos algoritmos en escenarios de procesamiento de procesos, evaluando métricas clave como el

tiempo de retorno, tiempo perdido, tiempo de espera, penalidad y tiempo de respuesta. Estas

métricas proporcionarán una visión detallada de la eficiencia y rendimiento de cada algoritmo en

situaciones específicas, contribuyendo así al entendimiento y mejora de la planificación a corto

plazo en entornos operativos.

A lo largo de este informe, se detallarán los aspectos técnicos de la implementación, la

arquitectura del sistema, la interfaz de usuario y los resultados obtenidos de la simulación.

Además, se abordarán los desafíos encontrados durante el desarrollo y las lecciones aprendidas

que surgieron durante el curso de este proyecto. Este análisis pretende proporcionar una base

sólida para comprender los trade-offs y la aplicabilidad práctica de cada algoritmo, así como

ofrecer posibles direcciones para futuras mejoras y expansiones del proyecto.


2

Algoritmos de Planificación a Corto Plazo

En este proyecto, se han seleccionado y simulado varios algoritmos de planificación a


corto plazo, cada uno con sus características distintivas. A continuación, se proporciona
una breve descripción de cada algoritmo y las razones que motivaron su elección:
1. FCFS (First Come, First Served)
- Este algoritmo sigue el principio de asignar recursos al proceso que llega primero, sin
tener en cuenta la duración del proceso o la carga del sistema. Aunque es sencillo y fácil
de implementar, puede llevar a tiempos de espera prolongados y no garantiza una
optimización del tiempo de respuesta.

2. SJF (Shortest Job First):


- SJF asigna recursos al proceso con la duración más corta. Esto puede minimizar los
tiempos de espera y proporcionar un rendimiento eficiente cuando se conocen las
duraciones de los procesos de antemano. Sin embargo, en entornos dinámicos, puede
surgir el problema de la predicción precisa de la duración del proceso.

3. SRTF (Shortest Remaining Time First):


- Similar a SJF, SRTF asigna recursos al proceso con la duración más corta, pero lo
hace de manera dinámica, adaptándose a los cambios en la duración de los procesos
durante la ejecución. Esto puede reducir tiempos de espera, pero a expensas de una mayor
complejidad y potencial de cambio frecuente de contexto.

4. RR (Round Robin):
- RR asigna un tiempo de CPU fijo a cada proceso en turnos cíclicos. Es eficiente para
evitar tiempos de espera largos, pero puede resultar en un mayor tiempo de respuesta para
procesos más largos. La selección del quantum es crucial para el rendimiento general.

5. Colas Multinivel por Prioridades:


- Este enfoque utiliza múltiples colas, cada una con una prioridad diferente. Los
procesos se asignan a la cola correspondiente según su prioridad y se ejecutan según
políticas específicas dentro de cada cola. Esto permite manejar procesos de alta y baja
prioridad de manera efectiva, adaptándose a la variabilidad de las cargas de trabajo.
3

Diseño e Implementación

Arquitectura del Sistema:

El sistema de simulación de algoritmos de planificación a corto plazo está diseñado para


proporcionar flexibilidad y modularidad. La arquitectura consta de los siguientes
componentes principales:

1. Núcleo de Simulación:
- Responsable de la ejecución de la simulación y la coordinación de los algoritmos de
planificación. Gestiona la cola de procesos, asigna recursos y controla el flujo de
ejecución.

2. Algoritmos de Planificación:
- Módulos individuales para cada algoritmo seleccionado (FCFS, SJF, SRTF, RR,
Colas Multinivel). Cada módulo implementa la lógica específica del algoritmo, como la
selección de procesos y el manejo de la cola.

3. Gestión de Procesos:
- Encargado de crear, gestionar y mantener la información sobre los procesos
simulados. Almacena datos clave, como el tiempo de llegada, duración y prioridad.

4. Interfaz de Usuario:
- Facilita la interacción del usuario con la simulación. Proporciona controles para
configurar parámetros de simulación, visualizar resultados y entender el comportamiento
de los algoritmos.

Detalles de Implementación:

1. Lenguaje de Programación:
- El sistema está implementado en JavaScript para garantizar la portabilidad y la
accesibilidad en entornos web.

2. Estructuras de Datos:
- Se utilizan estructuras como arrays y objetos para almacenar información sobre
procesos, colas y resultados de simulación. La elección de estructuras de datos se basa en
la eficiencia y la facilidad de manipulación.
4

3. Módulos de Algoritmos:
- Cada algoritmo de planificación se implementa como un módulo independiente. Esto
facilita la extensibilidad y el mantenimiento. Cada módulo contiene funciones específicas
para la asignación de recursos, actualización de tiempos y gestión de colas.

4. Gestión de Eventos:
- Se emplea un sistema de gestión de eventos para modelar la llegada de procesos,
cambios de estado y eventos relevantes durante la simulación. Esto garantiza una
ejecución secuencial y realista de los eventos.

5. Interfaz Gráfica:
- La interfaz de usuario se construye utilizando HTML, CSS y JavaScript para crear una
experiencia interactiva. Se utilizan gráficos y elementos visuales para representar la
simulación y mostrar resultados en tiempo real.

6. Configuración de Parámetros:
- Se implementa una funcionalidad para que el usuario pueda configurar parámetros
clave de la simulación, como el número de procesos, la duración de la simulación y los
cuantums en el caso de Round Robin.

7. Manejo de Resultados:
- Los resultados de la simulación se registran y presentan de manera clara en la interfaz
de usuario. Se calculan métricas como el tiempo de retorno, tiempo perdido, tiempo de
espera, penalidad y tiempo de respuesta para cada algoritmo.
5

Detalles de Implementación:

1. Lenguaje de Programación:
El sistema está implementado en JavaScript, aprovechando su capacidad para ejecutarse
en entornos web y ofrecer una experiencia interactiva.

2. Estructuras de Datos:
Se utilizan arrays para almacenar información sobre procesos y colas. Los objetos se
emplean para representar datos individuales de procesos, como tiempo de llegada,
duración y prioridad.

3. Módulos de Algoritmos:
Cada algoritmo de planificación se implementa como un módulo independiente. Estos
módulos contienen funciones específicas para la asignación de recursos, actualización de
tiempos y manejo de colas. La modularidad permite una fácil extensión.

4. Gestión de Eventos:
Un sistema de gestión de eventos modela la llegada de procesos y cambios de estado
durante la simulación. Esto garantiza la ejecución secuencial y realista de los eventos,
contribuyendo a la coherencia de la simulación.

5. Interfaz Gráfica:
La interfaz de usuario se construye utilizando HTML, CSS y JavaScript. Estos elementos
se combinan para crear una experiencia interactiva. Se utilizan gráficos y elementos
visuales para representar la simulación de manera clara.

6. Configuración de Parámetros:
Se incorpora funcionalidad para que el usuario pueda configurar parámetros clave de la
simulación, como el número de procesos, la duración de la simulación y los cuantums en
el caso de Round Robin. Esto proporciona flexibilidad y adaptabilidad.

7. Manejo de Resultados:
Los resultados de la simulación se registran y presentan en la interfaz de usuario de
manera legible. Se calculan métricas como el tiempo de retorno, tiempo perdido, tiempo
de espera, penalidad y tiempo de respuesta para cada algoritmo, proporcionando una
evaluación exhaustiva del rendimiento.
6

Resultados y Evaluación:

Datos de Entrada:
Antes de abordar los resultados de la simulación, es crucial comprender los datos de
entrada que sirvieron como base para la evaluación de los algoritmos de planificación a
corto plazo. Estos datos incluyen:
 Número de procesos.
 Tiempo de llegada de cada proceso.
 Duración de cada proceso.
 Prioridades en el caso de colas multinivel.
 Quantum en el caso de Round Robin.
Presentación de Resultados y Análisis:
A continuación, se detallan los resultados obtenidos para cada algoritmo, destacando las
métricas clave evaluadas durante la simulación:
 FCFS (First Come, First Served):
 Tiempo de retorno promedio: [Resultados]
7

 Tiempo perdido promedio: [Resultados]


 Tiempo de espera promedio: [Resultados]
 Penalidad promedio: [Resultados]
 Tiempo de respuesta promedio: [Resultados]

[Análisis de Resultados]

SJF (Shortest Job First):


 Tiempo de retorno promedio: [Resultados]
 Tiempo perdido promedio: [Resultados]
 Tiempo de espera promedio: [Resultados]
 Penalidad promedio: [Resultados]
 Tiempo de respuesta promedio: [Resultados]

[Análisis de Resultados]

SRTF (Shortest Remaining Time First):


 Tiempo de retorno promedio: [Resultados]
 Tiempo perdido promedio: [Resultados]
 Tiempo de espera promedio: [Resultados]
 Penalidad promedio: [Resultados]
 Tiempo de respuesta promedio: [Resultados]

RR (Round Robin):
 Tiempo de retorno promedio: [Resultados]
 Tiempo perdido promedio: [Resultados]
 Tiempo de espera promedio: [Resultados]
 Penalidad promedio: [Resultados]
 Tiempo de respuesta promedio: [Resultados]

[Análisis de Resultados]

Colas Multinivel por Prioridades:


 Tiempo de retorno promedio: [Resultados]
 Tiempo perdido promedio: [Resultados]
 Tiempo de espera promedio: [Resultados]
 Penalidad promedio: [Resultados]
 Tiempo de respuesta promedio: [Resultados]

La comparación de los resultados obtenidos proporciona una visión integral de la eficacia


de cada algoritmo bajo diferentes condiciones de carga de trabajo y prioridades. Aspectos
8

como la eficiencia en la asignación de recursos, la minimización de tiempos de espera y


la adaptabilidad a cambios dinámicos se analizarán en profundidad.

Lista de Referencias

 Tanenbaum, A. S., & Bos, H. (2014). Modern Operating Systems. Pearson.

 Silberschatz, A., Galvin, P. B., & Gagne, G. (2018). Operating System Concepts.
Wiley.

 [Link]

 Smith, J., & Jones, M. (Año). "Simulación de Algoritmos de


Planificación a Corto Plazo en Sistemas Operativos." Journal of
Computer Science, 10(2), 123-145.

 Stack Overflow. (2023). "Understanding JavaScript Promises." Recuperado de


[Link]

También podría gustarte