PDF de programación - Tema 2: Gestión de la CPU

Imágen de pdf Tema 2: Gestión de la CPU

Tema 2: Gestión de la CPUgráfica de visualizaciones

Publicado el 12 de Abril del 2019
784 visualizaciones desde el 12 de Abril del 2019
537,1 KB
25 paginas
Creado hace 15a (01/01/2009)
Tema 2: Gestin de la CPU

Yolanda Blanco FernÆndez

[email protected]

Programas vs Procesos

Programa: datos e instrucciones.
Un proceso es un programa en ejecucin: datos, instrucciones, recursos y

estado.

El SO carga el programa en memoria para su ejecucin: las instrucciones

van accediendo a los datos que necesiten y guardando resultados en la zona
de memoria asignada.

PROGRAMA

SISTEMA OPERATIVO

MEMORIA

Instrucciones

Instrucciones

Datos

Datos

Curso 2009/2010

Concepto de Multiprogramacin

El objetivo es aprovechar los tiempos muertos de la CPU para

ejecutar otros programas, consiguiendo con ello un mejor
aprovechamiento de los recursos del ordenador (gracias al incremento
de uso del procesador).

Crea la falsa apariencia de ejecucin simultÆnea de varios programas:

en cada instante slo podrÆ ejecutarse un programa en la CPU, pero
como los restantes estÆn realizando operaciones de E/S sobre los
dispositivos, el usuario tendrÆ la sensacin de que todos estÆn en
ejecucin.

Curso 2009/2010

Gestin de Ejecucin de Programas

El SO crea las estructuras necesarias para gestionar todos los recursos
necesarios durante la ejecucin de los programas cargados en memoria.

Estos datos se reœnen en el Bloque de Control del Sistema (SCB):

Lista de descriptores de los procesos.
Puntero al descriptor del proceso que ocupa actualmente la CPU

(proceso en ejecucin).

Puntero a la cola de descriptores de los procesos que estÆn esperando

para poder usar el procesador (procesos preparados).

Puntero a la cola de descriptores de los procesos que no estÆn usando la

CPU, y que estÆn esperando a que se produzca algœn evento, como la
nalizacin de una operacin de E/S (procesos en espera)).

Puntero a la cola de descriptores de los procesos que no estÆn usando la
CPU por no estar activos pero que, ante una orden de activacin, podran
seguir ejecutÆndose (interrupciones).

Curso 2009/2010

Estado del Proceso

Nuevo: El proceso estÆ siendo creado.
En ejecucin: Se estÆn ejecutando las instrucciones.
En espera: El proceso estÆ esperando a que se produzca un suceso

(n de operacin E/S o recepcin de seæal).

Preparado: El proceso estÆ a la espera de que le asignen a un

procesador.

Terminado: Ha terminado la ejecucin del proceso.

nuevo

admitido

interrupcin

terminado

salida

preparado

en ejecucin

terminacin de
operacinE/S

en espera de suceso
o de operacin E/S

en espera

Curso 2009/2010

Informacin del Proceso

Se almacena en el Bloque de Control del Proceso (PCB):

Identicador del proceso (PID).


Tipo de proceso.
Privilegios.
Prioridad.
Estado CPU.
Contador de programa.
Registros.
Estado del proceso.
Recursos.
Mapa de memoria donde se haya cargado el proceso.
Ficheros abiertos.


Jerarqua de procesos: proceso padre y procesos hijos.

Objetivo: Preservar la informacin del proceso en el caso de que su

ejecucin tenga que ser temporalmente suspendida (cambio de
contexto).

Curso 2009/2010

Prioridades

Mecanismo que permite denir la urgencia con la que debe ejecutarse un

proceso (la prioridad que tiene frente a otros procesos).

Nœmero entero: tpicamente si P rioridad (A) > P rioridad (B) ) A es mÆs

prioritario que B.

Tipos de prioridades:

Asignadas por el SO.
Asignadas por el propietario.
EstÆticas: no pueden ser modicadas durante la ejecucin del proceso.

Nunca en sistemas de tiempo real.

DinÆmicas: Un proceso puede modicar su prioridad para poder atender

adecuadamente a todos los eventos que se produzcan.

Curso 2009/2010

Interrupciones

Seæal del HW ante un evento ajeno a la ejecucin normal del proceso.
Tras tratar la interrupcin, el SO debe recuperar la ejecucin del proceso en

el punto en el que estaba antes de la misma.

Curso 2009/2010

Cambio de Contexto

Se produce cuando se requiere la atencin de algœn servicio del SO

(interrupcin, llamada al SO, ejecucin de instruccin privilegiada, etc).

El SO salva el estado del proceso en su PCB, o lo restaura desde los datos

almacenados en dicho bloque para continuar su ejecucin en la CPU.

Llamada al SO
o interrupcin

Salva el
estado del
proceso

Cambio de contexto

Ejecucin
del SO

Repone el
estado del
proceso

Cambio de contexto

Curso 2009/2010

Cambio de Proceso

Proceso A

Proceso B

Llamada al SO
o interrupcin

Salva el
estado del
proceso A

Ejecucin
del SO

Repone el
estado del
proceso B

Salva el
estado del
proceso B

Ejecucin
del SO

Repone el
estado del
proceso A

Curso 2009/2010

Planicacin de Procesos

Multiprogramacin: tener en ejecucin varios procesos al mismo tiempo para

maximizar utilizacin de CPU.

Sistemas de tiempo compartido: conmutar rÆpidamente la CPU entre los

procesos en memoria de forma que los usuarios puedan interactuar con los
programas en ejecucin.

Planicador de CPU: decide cuÆl de los procesos cargados en memoria

pasarÆ a ejecutarse en la CPU.
El planicador no le da a cada proceso el tiempo de CPU que precisa de

forma consecutiva ) rÆfaga de CPU.

Sucesin de rÆfagas de CPU y operaciones E/S.

Agenda de contenidos:

1. Colas de planicacin.
2. Tipos de planicadores.
3. Criterios de planicacin.
4. Algoritmos de planicacin.

Curso 2009/2010

Colas de Planicacin

Cola de trabajos: almacena los procesos que entran en el sistema.
Cola de procesos preparados: lista enlazada de los PCBs de los procesos

que estÆn cargados en memoria esperando a ocupar la CPU.

Cola del dispositivo: lista enlazada de PCBs de los procesos que estÆn

esperando para poder acceder al dispositivo.

Curso 2009/2010

Tipos de Planicadores

Planicador a largo plazo o planicador de trabajos:

¿QuØ trabajos se cargan en memoria para ser ejecutados en CPU?
Controla el grado de multiprogramacin del sistema.
Alcanzar equilibrio entre procesos limitados por E/S (muchas

operaciones de E/S y pocos cÆlculos) y procesos limitados por la CPU
(muchos cÆlculos y operaciones E/S esporÆdicas).

Planicador a corto plazo o planicador de CPU:

¿CuÆl de los procesos cargados en memoria se ejecutarÆ en CPU?
Con apropiacin (un proceso puede desalojar a otro de la CPU) o sin

apropiacin (el proceso que ocupa la CPU no puede ser desalojado hasta
terminar su ejecucin o conmutar a estado de espera).

Mayor frecuencia de ejecucin que el planicador de trabajos.

Planicador a medio plazo:



Intercambio: Elimina procesos de la memoria (dejando de contender por
la CPU) para luego volver a cargarlos.

Para mejorar la combinacin de procesos E/S y limitados por CPU o por

restricciones de la memoria del sistema.

Curso 2009/2010

Criterios para elegir un Algoritmo de Planicacin

Tiempo de servicio: tiempo de carga en memoria + tiempo de espera en cola

de procesos preparados + tiempo en CPU + tiempo consumido en
operaciones E/S

Tiempo de ejecucin: tiempo en CPU + tiempo consumido en operaciones

E/S

Tiempo de procesador: tiempo de ejecucin en CPU
Tiempo de espera: tiempo en cola de procesos preparados + tiempo

consumido en operaciones de E/S

Rendimiento: tiempo de CPU de todos los procesos
Eciencia: Nœmero de procesos ejecutados por unidad de tiempo.

tiempo total de CPU

Curso 2009/2010

Algoritmos de Planicacin

FCFS (First-Come, First-Served)
RR (Round-Robin)
SJF (Shortest-Job-First)
Planicadores por prioridades
Planicacin mediante colas multinivel
Planicacin mediante colas multinivel realimentadas

Curso 2009/2010

FCFS: First-Come, First-Served

Se asigna en primer lugar la CPU al proceso que primero la solicite.
Cuando un proceso entra en la cola de procesos preparados, su PCB se

coloca al nal de la cola FIFO.

Cuando la CPU queda libre, se asigna el procesador al proceso cuyo PCB

estÆ al principio de la cola (y se elimina de la misma).

Tiempo medio de espera en cola vara signicativamente si la duracin de

las rÆfagas de CPU de los procesos es muy variable.

Produce efecto convoy:

Procesos intensivos en E/S estÆn esperando a que un proceso con

rÆfaga de CPU larga deje libre el procesador.

Consecuencias: Utilizacin de CPU y dispositivos de E/S menor que la

que se conseguira si se permitiera a los procesos mÆs cortos ejecutarse
primero.

Es un algoritmo colaborativo (sin apropiacin) ) Inapropiado para sistemas

de tiempo compartido.

Curso 2009/2010

SJF: Shortest-Job-First

El algoritmo asocia a cada proceso la duracin de su siguiente rÆfaga de

CPU.

El planicador asigna la CPU al proceso (de la cola de procesos preparados)

que tiene menor rÆfaga de CPU.

En caso de empa
  • Links de descarga
http://lwp-l.com/pdf15709

Comentarios de: Tema 2: Gestión de la CPU (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad