Ir al contenido principal

Tema 3:Gestión de los recursos de un S.O

Tema 3:Gestión de los Recursos de un S.O
1Definición de Proceso y aspectos generales
  • Un proceso es un programa que se encuentra en ejecución. 
  • Cada proceso tiene asociado una estructura de datos. 
  • Esta estructura de datos, que es única para cada proceso, identifica el proceso respecto a los demás y sirve para controlar su correcta ejecución. Esta estructura se conoce como bloque de control de proceso (BCP) 
    El BCP contiene la siguiente información:
+Estado actual del proceso.
+Identificador del proceso.
+Prioridad del proceso.
+Ubicación en memoria.
+Recursos utilizados.
Resultado de imagen de gestión de procesos en la memoria ram
1.1Estados de Proceso

-Un proceso puede encontrarse en tres estados:
+En ejecución: Proceso que está siendo ejecutado por el procesador. El estado del procesador residirá en los registros del procesador.

+Bloqueado: Está esperando a que ocurra un evento y no puede seguir
ejecutándose hasta que termine el evento. Una situación típica de proceso bloqueado se produce cuando el proceso solicita una operación E/S (Entrada / Salida). En este estado el proceso reside en BCP.

+Listo: Está listo para ejecutar cuando puede entrar en fase
de procesamiento. Dado que puede haber varios procesos en este estado,una de las tareas del sistema operativo será seleccionar aquel que debe pasar a ejecución. El módulo del S.O que toma esta decisión se denomina planificador. En este estado el proceso reside en BCP.

 
-Cada proceso tiene un número asignado por el sistema operativo que sirve para identificar el proceso, lanzarlo a ejecución, detenerlo, cancelarlo, reanudarlo,etc. 
-Este identificador de proceso se nombra con la abreviatura PID.  
-Normalmente, los procesos son lanzados por otros procesos. Es decir la mayoría de los casos cada proceso que se lanza a ejecución depende, en la mayoría de los casos de otro proceso llamado proceso padre. Y al nuevo proceso lanzado se le denomina proceso hijo.


1.2Transición de procesos

-Una vez que ha sido lanzado el proceso, este proceso va atravesando por estados hasta que finaliza.
 -Cuando un proceso es lanzado, se coloca en la cola de procesos en un estado denominado como preparado o listo.
 -Cuando la CPU le asigna su tiempo, el proceso pasa a ejecución.
 -Estos dos estados se alternarán en el caso de ejecutarse más de un proceso, los cambios de una estado a otro se denominan transiciones.
+Transición A Ocurre cuando el programa que está en ejecución necesita algún recurso para poder continuar.

+Transición B→Ocurre cuando un programa o proceso ha utilizado el tiempo asignado por la CPU para su ejecución y tiene que dejar paso al siguiente proceso.

+Transición C →Ocurre cuando el proceso que está preparado pasa al proceso de ejecución. Cuando al proceso le llega una nueva disposición de CPU para poder ejecutarse.

+Transición D→Ocurre cuando el proceso recibe una orden o señal que estaba esperando para pasar al estado de preparado, y posteriormente, tras la transición, a estado de ejecución.
2Algoritmos de planificación

Una vez cargado el proceso, el sistema operativo asigna a través del planificador la prioridad del nuevo proceso respecto a los que hay en ejecución. Cuando se están ejecutando varias tareas a la vez (procesos), es necesario dividir el tiempo de trabajo de la CPU.
Debido a la necesidad de poder organizar los procesos de una manera eficiente para el procesador, surgen los algoritmos de planificación que se encargan de asegurar que un proceso no se apodere del procesador.

-FCFS(“First-Come, First-Served”):En este, algoritmo de planificación el procesador ejecuta cada proceso hasta que termina, por consiguiente, los procesos están en la cola de procesos preparados permanecerán en el orden en que llegan, cuando les toque su turno de estar en ejecución. Este método también se llama FIFO(first input, first output, Primero en llegar primero en salir).Este algoritmo aunque está bien, pero los procesos largos hace esperar mucho a los cortos.

 2
-SJF:(“Shortest Job First”):En este algoritmo, se da bastante prioridad a los procesos más cortos al momento de estar en ejecución y los coloca en la cola.
Aunque este algoritmo seleccione a los procesos más cortos, el problema radica en conocer dichos valores, pero se puede predecir usando la información de los ciclos anteriores ejecutados.
3
-SRTF:(“Short Remaining Time First”):Es similar al SJF, con la diferencia de que si un nuevo proceso pasa a listo se activa el dispatcher para comprobar si es más corto que lo que queda por ejecutar del proceso en ejecución. Si es así, el proceso en ejecución pasa a listo y su tiempo de estimación disminuye con el tiempo que ha estado ejecutándose.
El intervalo de CPU es difícil de predecir, existe posibilidad de inanición; los trabajos largos no se ejecutarán mientras hayan trabajos cortos.
-Round Robind:Es un método que consiste en repartir los ciclos de ejecución entre todos los procesos en un grupo de manera equitativa y en un orden racional,tratando a todos los proceso con la misma prioridad; normalmente comenzando por el primer elemento de la lista hasta llegar al último y empezando de nuevo desde el primer elemento. Estructurándose como una cola circular.

El planificador la recorre asignando un quantum de tiempo. Si el proceso se bloquea o termina antes de agotar su quantum se pasa al siguiente proceso.

3Páginación, Segmentación y Swapping
-Paginación:Es un proceso por el que se dividen los programas en pequeñas partes o páginas. Del mismo modo, la memoria es dividida en trozos del mismo tamaño que las páginas llamadas marcos de páginas.


Paginas.png  
 -Segmentación:Es una técnica de gestión de memoria que pretende acercarse más al punto de vista del usuario. Los programas se desarrollan, generalmente, en torno a un núcleo central desde el que se bifurca a otras partes(rutinas) o se accede a zonas de datos(tablas, pilas, etc..)
-Swapping:Es el espacio de intercambio(también conocido como Archivo de paginación o Memoria Virtual entendiendo por memoria la RAM), es una zona de disco (un fichero o partición) que se usa para guardar las imágenes de los procesos que han de mantenerse en memoria física.
9-01.eps

Comentarios