Documentos de Académico
Documentos de Profesional
Documentos de Cultura
VIRTUAL
SISTEMAS OPERATIVOS MONOPUESTO
ÍNDICE
1. Gestión de procesos.
2. Estados y transiciones.
3. Algoritmos de planificación.
4. Gestión de memoria.
5. Memoria virtual.
▪ Paginación.
▪ Segmentación.
▪ Swapping.
1. Gestión de procesos.
Un proceso se puede definir como un programa en ejecución.
Cambio de contexto
3. Algoritmos de planificación.
La planificación o gestión de procesos es una función
fundamental de los sistemas operativos.
Consiste en determinar el orden en el que va a entrar a
ejecutarse los procesos a la CPU.
El orden lo determina el planificador.
Indicando los procesos que deben ejecutarse.
El estado al que pasa el proceso.
Algoritmo FIFO (First In First Out) o FCFS (First Come First Serve)
¿Cómo funciona?
Al primer proceso que llega se le asignan los ciclos de reloj que
necesita para ejecutarse completamente y terminar.
A continuación, se ejecuta el siguiente proceso que hay en la cola
de preparados.
Así sucesivamente hasta terminar con todos los procesos que hay
en la cola.
Es apropiativo ya que permite que un proceso se adueñe de la CPU.
Ver diagrama en fichero AlgoritmosPlanificacion.pdf
3. Algoritmos de planificación.
Algoritmo SJF (Short Job First) o STR (Short Time Remainder)
Primero el trabajo más corto.
¿Cómo funciona?
Se está ejecutando un proceso y llega otro, éste va a la cola de
preparados.
El proceso terminará su ejecución, y se elegirá entre la cola de
procesos preparados aquel cuyo tiempo sea más corto.
Es un algoritmo apropiativo.
Ver diagrama en fichero AlgoritmosPlanificacion.pdf
3. Algoritmos de planificación.
Algoritmo SRTF (Shortest RemainingTime First)
Asignación de CPU en función del proceso que le quede menos
ciclos de reloj para terminar.
¿Cómo funciona?
Cuando llega un nuevo proceso, el planificador estima los ciclos que
le quedan al proceso en ejecución, y a los procesos que están en la
cola de preparados.
Se elige al que menos ciclos le queden para terminar.
Si estaba en la cola, se expulsa el que está en ejecución, y pasa el
nuevo a ejecutarse.
En caso de empate, se usa FIFO.
Es un algoritmo no apropiativo.
Ver diagrama en fichero AlgoritmosPlanificacion.pdf
3. Algoritmos de planificación.
Algoritmo por Prioridades
Asignación de la CPU en función de la prioridad del proceso.
¿Cómo funciona?
Cuando llega un proceso, se evalúa su prioridad:
Expulsivo: tiene en cuenta la prioridad del nuevo proceso, si es más
alta, expulsa el proceso que está en ejecución, y pasa a ejecutarse el
de mayor prioridad.
No expulsivo: cuando en proceso que está en ejecución termina, el
planificador evalúa la prioridad de la cola de procesos preparados,
se elige aquel que tenga la prioridad más alta.
Ver diagrama en fichero AlgoritmosPlanificacion.pdf
3. Algoritmos de planificación.
Algoritmo Round Robin o de Rueda
Asigna rotativamente los tiempos de ejecución a los procesos.
¿Cómo funciona?
A cada proceso que llega se le asigna un quantum de tiempo.
Cuando el proceso pasa a la ejecución, y agota ese quantum de
tiempo, el proceso tiene que abandonar la ejecución, pasando a la
cola de preparados, si no ha terminado, o finalizando la ejecución si
ha terminado.
La selección de procesos en la cola de preparados se realiza
mediante FIFO.
Es un algoritmo no apropiativo.
Ver diagrama en fichero AlgoritmosPlanificacion.pdf
4. Gestión de memoria.
Particiones Fijas.
Las particiones no pueden variar el tamaño una vez creadas.
Proceso C
Partición de 250 KB – Proceso C 130 KB =
120 KB de fragmentación interna
Proceso B 250 KB
Proceso A 128 KB
Partición de 64 KB 0xFFFF
4. Gestión de memoria.
Fragmentación Externa
¡No puede!
Proceso C 128 KB
Consiste en:
Dividir la memoria RAM en zonas iguales llamadas frames. (Física)
Dividir los procesos en partes del mismo tamaño llamadas páginas. (Lógica)
La CPU asigna direcciones físicas, no tienen por qué ser consecutivas, a las
páginas.
5.1. Paginación.
Ejemplo:
De esta forma, la memoria interna o principal queda liberada para que en ella
se pueda almacenar otro proceso del mismo usuario o de otro.
Swapping.
Normalmente se dedica un dispositivo o partición independiente en
el disco duro.
Más fácil la gestión del espacio de intercambio, ya que este espacio
siempre estará disponible para el intercambio de programas con
RAM.
Sistemas operativos UNIX/Linux.