1. 1 GESTION DE LOS RECURSOS.
Las actividades que se ejecutan en un sistema informático se consideran procesos y son trozos
de programas en ejecución.
Podemos definir un proceso, como una instancia de un programa en ejecución que es creado y
gestionado por el sistema operativo.
Todo programa en ejecución dentro de un ordenador va a necesitar una serie de recursos. El
sistema operativo es el encargado de coordinar y controlar todos los recursos y condiciones de
ejecución que demandan los procesos.
Los sistemas operativos se clasifican en:
• Monotarea: El sistema ejecuta solo un programa, de forma que todos los recursos se
le dedican en exclusiva hasta que finalizan. Por ejemplo MS-DOS.
• Multitarea: usa o simula la concurrencia, lo que permite ejecutar varios programas al
mismo tiempo. Se logra compartiendo el uso de los recursos entre los programas que
los solicitan. Por ejemplo Microsoft Windows.
Se habla de sincronización cuando se hace que determinado eventos o procesos ocurran en un
orden predefinido, que puede ser simultáneo o no entre ellos, mediante una señal de reloj.
2 ESTADOS DE UN PROCESO.
El sistema operativo se considera un proceso como una progresión de estados desde que
comienza su ejecución hasta que finalice.
Un proceso puede encontrase en:
2.1 CONTROL DE PROCESOS (BCP)
Formado por una estructura de datos que contiene información asociada a dicho proceso.
También recibe el nombre de bloque de contexto o descriptor de proceso.
Cuando se inicia la ejecución de un proceso se crea un BCP que se mantendrá hasta que
finalice. Entre otros datos:
• Identificador del proceso: PID de Linux.
PREPARADO O ESPERA
EJECUCIÓN
BLOQUEADO
2. • Estado en el que se encuentra el proceso: preparado, bloqueado y ejecución.
• Prioridad del proceso: respecto a los demás procesos existente para poder aplicar
algoritmos de prioridad y de planificación, punteros a las colas de planificación.
• Recursos: asignados, solicitados.
3. ALGORITMOS DE PLANIFICACIÓN
3.1 COMO PLANIFICAR LA CPU.
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.
Criterio:
• Maximizar: utilización y productividad de la CPU
• Minimizar: el tiempo de retorno, de espera y de respuesta.
El sistema operativo además ha de disponer de algoritmos de gestión y planificación para
decidir qué proceso se va a ejecutar y llevar la cuenta de los procesos que están en el sistema,
de sus prioridades y de toda la información referente a ellos.
3.2 CRITERIOS DE RENDIMIENTO DE UN ALGORITMO DE PLANIFICACION.
• Utilización de la CPU: Porcentaje de tiempo que está ocupado el procesador. Debe
tender a ser el máximo posible.
• Productividad: trabajos que se completan o finalizan por unidad de tiempo.
• Tiempo de retorno: Intervalo de tiempo desde la entrada de un proceso en el sistema
hasta su finalización.
• Tiempo de espera: Tiempo que un proceso permanece en la cola de preparados.
• Tiempo de respuesta: tiempo que un proceso bloqueado tarda en entrar en la CPU
desde que ocurre el evento que lo bloquea.
Sea t el tiempo que un proceso necesita estar en ejecución para finalizar su trabajo, ti, el
instante en el que el usuario solicita la ejecución del proceso y tf el momento en el que proceso
termina su ejecución. En función de estas variables tendremos las siguientes medidas para
cada proceso.
• Tiempo de servicio (T): es el que necesitaría un proceso para ejecutarse si fuera el
único presente en el sistema: T= tf-ti
• Tiempo de espera (E): es el tiempo que permanece un proceso en el sistema sin que
se esté ejecutando: E=T-t
3. Índice de servicio (I): representa el tanto por uno de tiempo que el proceso está en ejecución
respecto al tiempo de vida del mismo en el sistema. Su valor máximo (y por tanto óptimo) es 1:
I=t/T
4. GESTION DE LA MEMORIA.
La labor del gestor de la memoria es asignar a los procesos aquellas partes de la memoria
principal que se encuentran desocupados mediante el traspaso de información desde la
memoria secundaria. Esto sucede cuando la memoria RAM no es lo suficientemente grande
para acoger simultáneamente a todos los procesos, es decir, prácticamente siempre.
Memoria Virtual
Un proceso puede entrar y salir dela memoria varias veces, no es necesario que un programa
este en su totalidad de la memoria para que se ejecute.
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.
Fallo de página es cuando varios fragmentos de un programa están ejecutándose y alguno de
ellos hace referencia a un trozo no cargado en la memoria principal.
Si la memoria está llena, para poder asignar un nuevo fragmento del programa a la memoria
principal antes debemos descargar otro trozo, puede llegar un momento que el sistema
operativo este más tiempo ocupado con el intercambio de fragmentos que con la ejecución
problema conocido como hiperpaginación.
Las técnicas que se usan para usar la memoria secundaria como memoria virtual son la de
paginación y segmentación.
Paginación consiste en dividir la pantalla en zonas fijas llamadas frames o marcos de pantalla y
de la misma forma dividir los programas en porciones iguales estos marcos denominados
páginas.
Para cada proceso: tabla de páginas.
Para cada asignación: tabla de marcos de páginas libres.
Segmentación: el programa se divide en segmentos que se diferencian de las páginas en que
su tamaño no es fijo; aunque si existe un tamaño máximo de segmento.