Está en la página 1de 5

“Estado de los procesos y simulación de

planificación al corto plazo”


El objetivo de este proyecto es mostrar los estados de los procesos
mediante la simulación de los planificadores del tipo FCFS y ROUND
ROBIN, para facilitar el aprendizaje de los conceptos teóricos y prácticos
relacionados con los Sistemas Operativos, o al menos una parte de estos
conceptos.

A pesar de que damos por sentado de que si están viendo este material
ya la base del conocimiento sobre los Sistemas Operativos lo tienen,
realizaremos un breve repaso.

LAS 5 PALABRAS CLAVES EN CUANTO A SISTEMAS OPERATIVOS

Multiprogramación: Permite que la memoria principal albergue procesos


concurrentes múltiples.

Mono procesamiento: Es aquel que solo es capaz de manejar un solo


procesador.

Multiusuario: Permite que dos o mas usuarios utilicen sus programas al


mismo tiempo.

Fuertemente acoplado: -------------------.

INTRODUCCION

Un sistema operativo es un programa que administra el hardware de una


computadora actuando como intermediario entre este y el usuario.

Sus objetivos son:

 Ejecutar programas y facilitar la resolución de problemas del


usuario del sistema.
 Facilitar el uso de los recursos de la computadora.

En general todos los sistemas operativos prestan una serie de servicios en


común:

 Interfaz de usuario
 Ejecución de programas
 Operación de E/S
 Manipulación de sistemas de archivos
 Comunicación
 Detección de errores
 Asignación de recursos
 Responsabilidad
 Protección y seguridad

Para no abarcar más de lo que creemos necesario solo desarrollaremos


“Asignación de Recursos”.

Cuando varios usuarios o trabajos se ejecutan concurrentemente, deben


asignarse a cada uno de ellos los recursos necesarios. El sistema operativo
es gestor de muchos tipos diferentes de recursos, algunos (como ciclos de
CPU, memoria principal y almacenamiento para archivos) pueden incluir
código especial de asignación, otros (dispositivos de E/S) pueden utilizar
código general de solicitud y liberación.

PROCESOS

Un proceso es un programa en ejecución. Además del código un proceso


también incluye: Contador de programa, stack(pila) y sección de datos.
Estructura de proceso en memoria
Conforme se ejecuta un proceso su estado va cambiando

Nuevo: El proceso está siendo creado

Corriendo: Se están ejecutando instrucciones

Esperando: El proceso está esperando que ocurra un evento

Listo: El proceso está esperando ser asignado a un procesador

Terminado: El proceso ha terminado su ejecución.

Cada proceso se representa en el sistema mediante un BLOQUE DE


CONTRO DE PROCESOS que contiene muchos elementos de información
asociados a un proceso específico, estos son:

 Estado del proceso


 Contador de programa
 Registros de CPU
 Información de planificación de CPU
 Información de manejo de memoria
 Información de contabilidad
 Información sobre E/S

Con el mismo criterio de antes desarrollaremos solo el punto de


“Información de planificación de CPU”.
Esta información incluye la prioridad del proceso, los punteros de la cola
de planificación y cualquier otro parámetro de planificación que se
requiera.

PLANIFICACION DE CPU

Los mecanismos de planificación de CPU son la base de los sistemas


operativos multiprogramados. Mediante el cambio de la CPU entre
distintos procesos, el sistema operativo puede hacer que la computadora
sea más productiva.

Cuando la CPU queda inactiva, el sistema operativo debe seleccionar uno


de los procesos que se encuentra en la cola de procesos preparados en
ejecución. El planificador a corto plazo (o planificador de la CPU) lleva a
cabo esa selección de proceso.

Criterios de planificación

 Utilización de CPU: mantener el CPU tan ocupado como sea


posible.
 Rendimiento: de procesos que completan su ejecución por
unidad de tiempo
 Tiempo de vuelta: cantidad de tiempo que un proceso ha
esperado en la cola de listos
 Tiempo de respuesta: cantidad de tiempo que toma desde que
una solicitud se realiza hasta que se produce la primera
respuesta.

Criterios de optimización:

 Utilización Max CPU


 Rendimiento Max
 Tiempo mínimo de vuelta
 Tiempo mínimo de espera
 Tiempo mínimo de respuesta
Tipos de planificación:

 Planificación First-Come, First-Served (FCFS) “Primero en entrar,


Primero en salir”: Consiste en que los procesos se ejecutan según su
orden de llegada.
 Planificación Shortest-Job-First (SJF) “Ráfaga más corta primero”: Se
asocia a cada proceso la longitud de su siguiente ráfaga de CPU y el
planificador selecciona el de tiempo más corto.
1. No apropiativo: una vez que le damos el CPU a un proceso
dado, no puede quitársele hasta que complete su explosión
de CPU.
2. Apropiativo: si un proceso nuevo llega al CPU con longitud de
explosión menor al tiempo restante del proceso en ejecución,
lo sacas.
 Planificación con prioridades: Una prioridad numérica se asocia con
cada proceso. El CPU se asigna al proceso con la prioridad más alta.
1. Apropiativa.
2. No apropiativo.
 Round Robin (RR): Cada proceso obtiene una pequeña rebanada de
tiempo de CPU (time quantum), usualmente 10-100ms. Acabado el
tiempo, el proceso es sacado (Apropiativa) y se agrega a la cola de
listos.