3. u n i d a d 3
Gestión de los recursos
La gestión de un sistema informático se basa en equilibrar
dos de sus elementos principales: los procesos y los recursos.
Como los recursos suelen ser escasos, los procesos compiten entre
sí por su uso, lo que obliga a que algún otro elemento medie entre los
procesos, para asignar los recursos de una forma imparcial y, a la
vez, eficiente.
Sistemas
operativos
Monotarea
Multitarea
Sincronización
Se hace que determinados eventos o
procesos ocurran en un orden
predefinido, que puede ser simultáneo o
no entre ellos, mediante una señal de
reloj.
4. u n i d a d 3
Estados de un proceso
El sistema operativo considera un proceso como una progresión de
estados desde que comienza su ejecución hasta su finalización.
Nonato o nuevo
Preparado o en espera
Activo
Bloqueado
Muerto
Bloque de control de proceso (BCP)
Cuando se inicia la ejecución de un proceso se crea un BCP que se
mantendrá hasta que finalice.
Identificador del proceso
Estado en que se encuentra
proceso
Prioridad del proceso Recursos
5. u n i d a d 3
Algoritmos de planificación
Los algoritmos de planificación son las políticas
que se seguirán para elegir qué proceso entra en
cada momento a ejecutarse en el sistema.
Cómo
planificar la
CPU
Maximizar la utilización y productividad de la CPU
Minimizar el tiempo de retorno, de espera y de respuesta
Criterios de rendimiento de un algoritmo de planificación
Utilización de la CPU
Productividad
Tiempo de retorno
Tiempo de espera
Tiempo de respuesta
6. u n i d a d 3
Algoritmos de planificación
Políticas de planificación
Apropiativas
No apropiativas
De prioridades
Quantum
Se pueden
dividir en:
FCFS (first come first served)
SJF (shortest job first)
SRT (shortest remaining time first)
RR (round robin)
Algoritmos de
planificación
Estáticas
Dinámicas
7. u n i d a d 3
Algoritmos de planificación
Planificación en multiprocesadores
Procesadores
Idénticos Diferentes
Es posible tener una carga
compartida: podrían tener colas
separadas para cada
procesador.
Opciones relativamente
limitadas: cada procesador tiene
su propia cola y su propio
algoritmo de planificación.
• Cada procesador se autoplanifica
• Un procesador planifica a los demás
8. u n i d a d 3
Gestión de la memoria
Objetivos
Proteger
Compartir
Reasignar
Su labor es asignar a los procesos aquellas partes de memoria
principal que se encuentran desocupadas mediante el traspaso
de información desde la memoria secundaria.
Cuando la memoria RAM no es lo suficientemente grande para
acoger simultáneamente a todos los procesos, es decir,
prácticamente siempre.
9. u n i d a d 3
Gestión de la memoria
Sistemas de
gestión de la
memoria
Monoprogramación
Multiprogramación
Registro
límite
Registro
base
Técnicas de
gestión de la
memoria
Gestión de memoria con particiones fijas
Gestión de memoria con particiones variables
Memoria virtual
10. u n i d a d 3
Gestión de la memoria
Sistemas de
gestión de la
memoria
Monoprogramación
Multiprogramación
Registro
límite
Registro
base
Técnicas de
gestión de la
memoria
Gestión de memoria con particiones fijas
Gestión de memoria con particiones variables
Memoria virtual
Notas del editor
Las actividades que se ejecutan en un sistema informático se consideran procesos y son trozos de un programa en ejecución.
Todos los programas en ejecución van a necesitar recursos para realizar su trabajo. El so (que es otro proceso) se va a encargar de coordinar y controlar todos los recursos que demandan los procesos..
Los ssoo según el numero de procesos que pueden ejecutar a la vez se clasifican en Monotarea y Multitarea.
MONOTAREA: el sistema ejecuta solo un programa de forma que todos los recursos se le dedican de forma exclusiva hasta que finaliza.
MULTITAREA: se ejecutan varios programas al mismo tiempo. Se logra compartiendo el uso de los recursos entre todos los programas que lo solicitan. Se tarda más en ejecutar los procesos pero el tiempo medio final, es menor.
Otro concepto importante cuando trabajamos con procesos es la sincronización. Los procesos deben sincronizarse entre si para asegurar que las tareas se completen, de lo contrario puede se que se llegase a un estado inesperado donde puede que alguna tarea no se llegase a finalizar.
Un procesos puede encontrase en cualquiera de esos estados:
NONATO O NUEVO: el programa existe pero la CPU aun no lo sabe.
PREPARADO O EN ESPERA: listo para ejecutarse cuándo quede libre la CPU.
ACTIVO: le corresponde la CPU y se está ejecutando. Puede abandonar este estado por varias causas: que finalice su ejecución. Que termine le tiempo asignado de CPU o que ocurra un evento externo que lo bloquee.
BLOQUEADO: está esperando que se cumplan determinado evento, para pasar al estado preparado. P.e.: una señal de sincronización con otro proceso.
MUERTO: terminó su ejecución en la CPU o el s.o. detecto un error fatal.
El S.O. necesita planificar el uso de los recursos, de esto se encarga un modulo llamado planificador: que admite o rechaza las peticiones de los recursos.
Cada proceso está representado en el sistema operativo por su propio bloque de control de proceso BCP, que contiene información del proceso. El S.O. usa la información almacenada en el BCP para gestionar el sistema. Coloca los procesos en varias colas según el estado en que se encuentran.
La planificación de la CPU es la base de los sistemas operativos multiprogramados. Esto es que varios programas que están en memoria la mismo tiempo puedan compartir la CPU, mejorando la eficiencia global del sistema y realizando más trabajo al mismo tiempo.
Alternado el uso de la CPU entre los procesos, el S.O. hace que el ordenador sea más productivo.
En un sistema operativo monotarea, se está ejecutando un proceso y p.e. cuando esta esperando al una respuesta del usuario, la CPU está inactiva, si estamos en multitarea y tenemos varios procesos en memoria en este tiempo de inactividad el sistema operativo retira el proceso y dedica la CPU a otro trabajo.
LOS BENEFICIOS DE LA MULTIPROGRAMAMCIÓN SON:
Incremento de la utilización de la CPU.
Mayor productividad, mayor cantidad de trabajo realizado en un intervalo de tiempo dado.
Para decidir que proceso se va a ejecutar el SO dispone de algoritmo de gestión y planificación, además para llevar la cuenta de los procesos que están en el sistema, de sus prioridades, etc. CRITERIOS PARA DETERMINAR CUAL ES EL MEJOR ALGORITMO.
No existe una política de planificación óptima.
No existe una política de planificación optima.
Tipos de políticas de planificación:
Apropiativas: permiten que un proceso de mayor prioridad quite de la CPU, a un proceso que se está ejecutando antes de su finalización. Tiene inconvenientes.
No Apropiativa: una vez que un proceso tiene la CPU, no se le puede quitar hasta que no acabe su ejecución.
De Prioridades: se da a los procesos un valor cuantificable que hace que unos tengan más prioridad que otros, hay dos tipos de prioridades:
Estáticas: se mantiene las prioridades asignadas durante la ejecución.
Dinámicas: se varían las prioridades durante la ejecución.
Quantum: es una unidad de tiempo, un proceso está en la CPU y cuando acaba este tiempo se pasa al otro proceso. Se garantiza que no se monopolice la CPU y que los tiempos de respuesta sean aceptables.
En los procesadores idénticos si tenemos colas separadas para cada procesador puede pasar que uno se sobresature mientras otro permanezca inactivo, para evitar esto se utiliza una cola común.
Si queremos aprovechar las ventajas que da el multiproceso tenemos que repartir la memoria principal signando un trozo a cada proceso, de esto se va a encargar el GESTOR DE MEMORIA.
La memoria virtual es una técnica que, utilizando la memoria secundaria, permite ejecutar programas más grandes que el tamaño de la memoria.
Lo que hace esta técnica es utilizar el espacio libre que existe en el disco virtualmente como memoria RAM.
Los programas que se están ejecutando tendrán parte en la memoria principal (capas activas) y el resto en la memoria secundaria (capas inactivas)