2. Introducción:
Uno de los objetivos de un sistema operativo
multiprogramado, es proporcionar una
utilización eficiente de los recursos del proceso,
permitiendo a los procesos un uso de ellos que
evite situaciones de inanición. Todo esto es lo
que persigue una política de planificación
adecuada.
Inanición: Falta de energía y nutrientes:
3. Introducción:
Evaluar la calidad de una política de planificación es
complejo y presenta diferentes perspectivas, dependiendo de
los intereses de las aplicaciones, lo que lleva a definir
previamente un conjunto de parámetros de rendimiento. El
rendimiento de una determinada política de planificación
dependerá también del comportamiento de los programas,
por lo que la elección de una u otra política deberá tener en
cuenta el tipo de procesos que ejecuta el sistema,
fundamentalmente si están orientados a cálculo o son
interactivos.
4. Planificación:
El trabajo de planificación reside en gran parte en una función scheduler
del núcleo del sistema operativo, pero otras partes del sistema pueden
colaborar en esta tarea, normalmente modificando los parámetros que
utiliza el scheduler para decidir qué proceso planificar.
La planificación puede repartirse en tres niveles:
• Corto plazo
• Medio plazo
• Largo plazo
Scheduler (Planificador): Consiste en repartir el tiempo disponible de un
microprocesador entre todos los procesos que están disponibles para su ejecución.
5. Corto Plazo
En la función scheduler. Cada vez que un proceso abandona
la CPU, toma la decisión de qué proceso planificar en
función de la política de planificación establecida y del valor
de los parámetros de planificación.
1. Determina qué proceso es ejecutado en el procesador
2. Se ejecuta frecuentemente debe ser eficiente
3. Evento típicos que desencadena al despachador:
Interrupciones del reloj (quantum), interrupciones de E/S,
llamados al sistemas, señales.
6. Medio Plazo
Otras partes del sistema operativo pueden intervenir en la
planificación, bien periódicamente, o bien de forma indirecta,
como es el caso del swapper de memoria: al sacar un proceso
de memoria por problemas de espacio, hace que este no sea
inmediatamente planificable.
1. Determina si agregar más programas a los que ya están
parcialmente o totalmente en memoria principal
Swap: equivalente a la memoria virtual de un sistema Windows , y es la porción
de disco duro que guarda imágenes de procesos que no se mantienen en la RAM
7. Largo Plazo
En la llamada al sistema de ejecutar programa. Cuando se
crea un proceso se puede decidir alguno de los criterios para
su planificación, como por ejemplo la prioridad inicial.
1. Determina qué programas son admitidos al sistema para
ejecución.
2. Controla el grado de multiprogramación.
3. Mientras más procesos son admitidos, cada uno tendrá un
porcentaje menor de uso del procesador.
9. Evaluación del rendimiento
La selección de una determinada política de planificación
de procesos se basa en un conjunto de parámetros de
rendimiento cuya importancia relativa depende de
algunas características particulares del sistema (por
ejemplo, interactivo o batch, existencia de procesos de
tiempo real), lo que determina los compromisos que hay
que establecer en la selección de las política y
mecanismos de la gestión de procesos.
10. 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 ejecución
de código de los programas (y de los servicios solicitados
por éstos). Cabe esperar que un sistema multiprogramado
sea mucho más eficiente que uno Mono -Programado, ya
que en éstos la CPU está ociosa cuando un programa espera
por una operación de E/S pudiendo haber programas
esperando a ejecutarse, por lo que ese tiempo contará como
tiempo perdido.
11. Productividad
En lo que respecta a la gestión de procesos, mide el
número de programas que se ejecutan por unidad
de tiempo. Incluye otras muchas características que
afectan el rendimiento del sistema, como por
ejemplo la velocidad del procesador, que habrá que
compensar si se comparan máquinas con distinto
hardware.
12. Procesos
Tiempo de finalización
Considera el rendimiento del sistema desde el punto de vista del
programa que se ejecuta
Tiempo de espera
Mide exclusivamente los tiempos totales de espera de un proceso
en la cola de preparados, eliminando la dependencia de la
duración del propio programa.
Tasa de CPU
La relación entre el tiempo de CPU del programa y su tiempo de
espera expresa la tasa de CPU, que indica el grado de
aprovechamiento del procesador que ha tenido el proceso
13. Administración de recursos compartidos
Los recursos compartidos
ofrecen a los usuarios acceso
a archivos y carpetas
mediante la red. Usando las
carpetas de datos
compartidas ofrecen un lugar
central para el acceso común
de los usuarios a los archivos
y facilitar las copias de
seguridad de los datos
contenidos en dichos
archivos.
14. Pero que es un recurso compartido?
Un recurso compartido es cuando hacemos que una carpeta sea
accesible desde la red y para múltiples usuarios simultáneamente.
Después de que una carpeta se comparte, los usuarios podrán
acceder a todos los archivos y subcarpetas que contiene, si estos
tienen los permisos adecuados.
15. Sincronización y administración de
Procesos.
En los sistemas multiprogramado, se define el proceso como
entidad representante de la ejecución de un programa en un
determinado contexto.
16. Sincronización y administración de
Procesos.
Uno de los objetivos del sistema operativo es la representación de los
procesos y el soporte de los cambios de contexto entre procesos, que
posibilitan la compartición del recurso CPU. El acceso a otros recursos
compartidos y la comunicación entre procesos relacionados (por ejemplo,
de una misma aplicación) hacen necesaria la utilización de mecanismos de
sincronización dentro del sistema operativo.
Típicamente, un proceso requiere la CPU durante un periodo de tiempo,
realiza alguna operación de E/S, y vuelve a requerir la CPU, repitiéndose
este ciclo hasta la finalización del programa.
17. Sincronización y administración de
Procesos.
Cada vez que un proceso pasa al estado preparado, está compitiendo
por el recurso CPU. Un segundo objetivo del sistema operativo
multiprogramado es la planificación del uso de los recursos de
proceso.
18. Sincronización entre procesos
Un sistema operativo multiprogramado es un caso particular de
sistema concurrente2 donde los procesos compiten por el acceso a
los recursos compartidos o cooperan dentro de una misma
aplicación para comunicar información. Ambas situaciones son
tratadas por el sistema operativo mediante mecanismos de
sincronización que permiten el acceso exclusivo de forma
coordinada a los recursos y a los elementos de comunicación
compartidos