07.05.2013 Views

Planificación multiprocesador Niveles de granularidad Niveles de ...

Planificación multiprocesador Niveles de granularidad Niveles de ...

Planificación multiprocesador Niveles de granularidad Niveles de ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Planificación</strong> <strong>multiprocesador</strong> - SSOO I<br />

<strong>Planificación</strong> <strong>multiprocesador</strong><br />

Secciones Stallings:<br />

10.1, 10.3 - 10.5<br />

<strong>Niveles</strong> <strong>de</strong> <strong>granularidad</strong><br />

• Granularidad <strong>de</strong> sincronización o<br />

frecuencia <strong>de</strong> sincronización entre los<br />

procesos <strong>de</strong>l sistema:<br />

– Paralelismo in<strong>de</strong>pendiente<br />

– Grano grueso<br />

– Grano medio<br />

– Grano fino<br />

<strong>Niveles</strong> <strong>de</strong> <strong>granularidad</strong><br />

• Grano medio:<br />

– Necesida<strong>de</strong>s <strong>de</strong> comunicación e interacción mayores.<br />

– Aplicación = colección <strong>de</strong> hilos.<br />

– Los hilos interactúan entre sí y se coordinan con<br />

frecuencia.<br />

• Grano fino:<br />

– Aplicaciones altamente paralelas.<br />

– Área muy especializada y fragmentada, con muchas<br />

propuestas diferentes.<br />

Clasificación <strong>de</strong> sistemas<br />

<strong>multiprocesador</strong><br />

• Débilmente acoplado, o procesador distribuido, o<br />

cluster<br />

– Cada procesador tiene su propia memoria y canales <strong>de</strong><br />

E/S<br />

• Procesadores <strong>de</strong> funcionalidad especializada<br />

– Ej: procesadores <strong>de</strong> E/S<br />

– Controlados por un procesador maestro.<br />

• Multiprocesamiento fuertemente acoplado<br />

– Los procesadores comparten memoria principal.<br />

– Bajo el control integrado <strong>de</strong>l sistema operativo.<br />

(es el que vamos a estudiar)<br />

<strong>Niveles</strong> <strong>de</strong> <strong>granularidad</strong><br />

• Paralelismo in<strong>de</strong>pendiente<br />

– Aplicaciones o trabajos separados.<br />

– Sin sincronización entre los procesos.<br />

– Ej: sistemas <strong>de</strong> tiempo compartido.<br />

• Grano grueso<br />

– Sincronización entre procesos a gran nivel, con poca<br />

frecuencia.<br />

– Se trata como procesos concurrentes que ejecutan en<br />

un monoprocesador con multiprogramación.<br />

– Pue<strong>de</strong> proporcionarse en <strong>multiprocesador</strong> con pocos<br />

cambios en Sw <strong>de</strong> usuario.<br />

Granularidad <strong>de</strong> sincronización<br />

Tamaño <strong>de</strong>l grano Descripción Intervalo <strong>de</strong><br />

sincronización<br />

(Instrucciones)<br />

Fino Paralelismo inherente en un único flujo<br />

<strong>de</strong> instrucciones<br />

Medio Procesamiento paralelo o multitarea<br />

<strong>de</strong>ntro <strong>de</strong> una única aplicación<br />

Grueso Multiprocesamiento <strong>de</strong> procesos<br />

concurrentes en un entorno<br />

multiprogramado<br />

Muy grueso Procesamiento distribuido entre nodos<br />

<strong>de</strong> una red para conformar un único<br />

entorno <strong>de</strong> computación<br />

EPS - UAM 1<br />


<strong>Planificación</strong> <strong>multiprocesador</strong> - SSOO I<br />

<strong>Planificación</strong><br />

• Aspectos <strong>de</strong> diseño:<br />

1. Asignar procesos a procesadores<br />

2. Multiprogramación en procesadores<br />

individuales<br />

3. Ejecutar cada proceso (dispatching)<br />

Vinculación <strong>de</strong> procesos a<br />

procesadores<br />

1. Dinámica: Tratar procesos como recursos<br />

colectivos y asignar procesos a procesadores<br />

bajo <strong>de</strong>manda:<br />

– Cola global <strong>de</strong> procesos<br />

– Se asigna el procesador que esté libre<br />

2. Estática: Asignar procesos permanentemente a<br />

un procesador:<br />

– Permite implementar planificación por grupos<br />

(más a<strong>de</strong>lante)<br />

– Cola a corto plazo para cada procesador.<br />

– Menos sobrecarga en la función <strong>de</strong> planificación.<br />

– Un procesador pue<strong>de</strong> estar <strong>de</strong>socupado mientras otro<br />

procesador tiene trabajo acumulado.<br />

Asignación <strong>de</strong> procesos a<br />

procesadores<br />

• Enfoque maestro/esclavo<br />

• Enfoque <strong>de</strong> colegas (o camaradas)<br />

• Enfoques mixtos<br />

Asignación <strong>de</strong> procesos a<br />

procesadores<br />

• Vinculación <strong>de</strong> procesos a procesadores<br />

– Dinámica<br />

– Estática<br />

– Balance dinámico <strong>de</strong> carga<br />

• Asignación <strong>de</strong> procesos a procesadores<br />

Vinculación <strong>de</strong> procesos a<br />

procesadores<br />

3. Balance dinámico <strong>de</strong> carga<br />

– Cada procesador tiene su cola<br />

– Los hilos se mueven <strong>de</strong> una cola a otra<br />

– Ej: Linux<br />

Asignación <strong>de</strong> procesos a<br />

procesadores<br />

• Enfoque maestro/esclavo<br />

– Funciones claves <strong>de</strong>l núcleo se ejecutan siempre en el<br />

mismo procesador (maestro).<br />

– Resto <strong>de</strong> los procesadores ejecutan programas <strong>de</strong><br />

usuario (esclavos).<br />

– El maestro es responsable <strong>de</strong> la planificación.<br />

– Cada esclavo envía pedidos <strong>de</strong> servicios al maestro<br />

• Por ejemplo, llamada <strong>de</strong> E/S<br />

– Desventajas<br />

• Un fallo <strong>de</strong>l maestro hace que falle todo el sistema.<br />

• El maestro se pue<strong>de</strong> convertir en un cuello <strong>de</strong> botella.<br />

EPS - UAM 2


<strong>Planificación</strong> <strong>multiprocesador</strong> - SSOO I<br />

Asignación <strong>de</strong> procesos a<br />

procesadores<br />

• Enfoque <strong>de</strong> colegas:<br />

– El núcleo <strong>de</strong>l sistema operativo pue<strong>de</strong> ejecutar<br />

en cualquier procesador.<br />

– Cada procesador ejecuta su propio planificador<br />

y elige proceso <strong>de</strong> entre los disponibles.<br />

– El sistema operativo es más complicado:<br />

• Asegurarse que dos procesadores no elijan el mismo<br />

proceso.<br />

• Asegurarse <strong>de</strong> que los procesos no se extravían<br />

• Incorporar técnicas para resolver y sincronizar<br />

competencia por recursos<br />

<strong>Planificación</strong> <strong>de</strong> procesos<br />

• En sistemas <strong>multiprocesador</strong> tradicionales:<br />

– Única cola para todos los procesos ó<br />

múltiples colas para administrar priorida<strong>de</strong>s.<br />

– Todas las colas alimentan el único colectivo <strong>de</strong><br />

procesadores.<br />

<strong>Planificación</strong> <strong>multiprocesador</strong> y<br />

asignación <strong>de</strong> hilos a procesadores<br />

• Cuatro enfoques distintos:<br />

– Compartición <strong>de</strong> carga.<br />

– <strong>Planificación</strong> por grupos (o en pandilla).<br />

– Asignación <strong>de</strong> procesador <strong>de</strong>dicado.<br />

– <strong>Planificación</strong> dinámica.<br />

Asignación <strong>de</strong> procesos a<br />

procesadores<br />

• Enfoques mixtos:<br />

a) Subconjunto <strong>de</strong> procesadores para procesar el<br />

núcleo<br />

b) Gestionar necesida<strong>de</strong>s entre procesos <strong>de</strong>l<br />

núcleo y otros procesos sobre:<br />

• Prioridad<br />

• Historia <strong>de</strong> ejecución<br />

<strong>Planificación</strong> <strong>de</strong> hilos<br />

• Hilo = Unidad <strong>de</strong> ejecución, separada <strong>de</strong>l resto<br />

<strong>de</strong> la <strong>de</strong>finición <strong>de</strong>l proceso.<br />

• Aplicación implementada como conjunto <strong>de</strong><br />

hilos que cooperan y ejecutan <strong>de</strong> forma<br />

concurrente en el mismo espacio <strong>de</strong> direcciones.<br />

• Paralelismo real en una aplicación: hilos <strong>de</strong> la<br />

aplicación son ejecutados simultáneamente en<br />

procesadores separados.<br />

Compartición <strong>de</strong> carga<br />

• Los procesos no se asignan a procesador particular<br />

• Cola global <strong>de</strong> hilos listos.<br />

– Todos los hilos listos <strong>de</strong> todas las aplicaciones están en<br />

una o varias colas globales<br />

• Carga distribuida uniformemente entre los<br />

procesadores:<br />

– No hay procesadores ociosos mientras haya trabajo<br />

– Un procesador ocioso selecciona hilo <strong>de</strong> cola<br />

• No se precisa planificador centralizado:<br />

– En el procesador disponible se ejecuta la rutina <strong>de</strong><br />

planificación <strong>de</strong>l S.O. para seleccionar el siguiente hilo<br />

a ejecutar.<br />

EPS - UAM 3


<strong>Planificación</strong> <strong>multiprocesador</strong> - SSOO I<br />

Desventajas <strong>de</strong> compartición <strong>de</strong> carga<br />

• Acceso a colas globales necesita exclusión mutua<br />

– Cuello <strong>de</strong> botella si muchos procesadores buscan<br />

trabajo al mismo tiempo.<br />

• Hilos expulsados pue<strong>de</strong>n retomar ejecución en un<br />

procesador distinto al <strong>de</strong> su última ejecución<br />

– Uso <strong>de</strong> la caché <strong>de</strong> cada procesador menos eficaz.<br />

• Procesos con alto grado <strong>de</strong> coordinación entre sus<br />

hilos pue<strong>de</strong>n verse <strong>de</strong>sfavorecidos:<br />

– Hilos en varios procesadores necesitan coordinarse<br />

=> cambios <strong>de</strong> proceso pue<strong>de</strong>n comprometer<br />

rendimiento global<br />

<strong>Planificación</strong> por grupos<br />

Pr.1<br />

Pr.2<br />

Pr.3<br />

Pr.4<br />

<strong>Planificación</strong> uniforme por número <strong>de</strong> grupos<br />

vs.<br />

pon<strong>de</strong>rada por el número <strong>de</strong> hilos <strong>de</strong> cada proceso<br />

División uniforme<br />

Grupo 1 Grupo 2<br />

Proceso con 4<br />

hilos. Cada<br />

hilo a un<br />

procesador<br />

Proceso con 1<br />

hilo. Único hilo<br />

a un<br />

procesador<br />

Desperdicio:<br />

37.5%<br />

Pr.1<br />

Pr.2<br />

Pr.3<br />

Pr.4<br />

División por pesos<br />

Grupo 1 Grupo 2<br />

Asignación al<br />

proceso<br />

proporcional al<br />

número <strong>de</strong> sus hilos<br />

Desperdicio:<br />

15%<br />

Asignación <strong>de</strong> procesador<br />

<strong>de</strong>dicado<br />

• Defendiendo esta estrategia:<br />

– En sistemas altamente paralelos<br />

(<strong>de</strong>cenas o centenas <strong>de</strong> procesadores):<br />

• Cada procesador representa una pequeña fracción<br />

<strong>de</strong>l coste <strong>de</strong>l sistema<br />

• La utilización <strong>de</strong>l procesador <strong>de</strong>ja <strong>de</strong> ser una<br />

medida importante <strong>de</strong> la eficacia o rendimiento<br />

(tengo muchos)<br />

– Evitar totalmente cambios <strong>de</strong> procesos durante<br />

la vida <strong>de</strong> un programa supone una mejora<br />

sustancial en su velocidad:<br />

• El tiempo se emplea en sincronización<br />

<strong>Planificación</strong> por grupos<br />

• Se planifica un conjunto <strong>de</strong> hilos afines para su<br />

ejecución en un conjunto <strong>de</strong> procesadores al<br />

mismo tiempo. Relación uno a uno.<br />

– Reducción <strong>de</strong> bloqueos por sincronización<br />

(no esperarán mucho, al estar ejecutando)<br />

– Necesidad <strong>de</strong> menos cambios por proceso<br />

– Útil para aplicaciones paralelas en general, y específ.<br />

para grano medio/fino: el rendimiento se <strong>de</strong>grada<br />

cuando hay partes listas y partes que no se ejecutan.<br />

• ¿Dón<strong>de</strong> se utiliza planificación por grupos?<br />

– <strong>Planificación</strong> simultanea <strong>de</strong> hilos <strong>de</strong> un proceso.<br />

– Aplicaciones paralelas cuyo rendimiento es sensible a<br />

la coordinación estrecha <strong>de</strong> sus hilos.<br />

Asignación <strong>de</strong> procesador<br />

<strong>de</strong>dicado<br />

• Enfoque opuesto al reparto <strong>de</strong> carga:<br />

– A cada proceso se le asigna un nº <strong>de</strong> procesadores<br />

igual al nº <strong>de</strong> sus hilos:<br />

• Cada procesador esta <strong>de</strong>dicado al hilo hasta que la<br />

aplicación concluye (monoprogramación)<br />

– Cuando el programa finaliza, los procesadores<br />

retornan a la reserva general para posibles<br />

asignaciones a otros programas.<br />

• Inconvenientes:<br />

– Procesadores pue<strong>de</strong>n quedar ociosos<br />

– No hay multiprogramación <strong>de</strong> los procesadores<br />

(entre hilos <strong>de</strong> distintos procesos).<br />

Asignación <strong>de</strong> procesador<br />

<strong>de</strong>dicado<br />

EPS - UAM 4<br />

Aceleración<br />

Número <strong>de</strong> procesadores: 8<br />

• ¿Cuántos procesadores asignamos a un programa en un momento dado?<br />

• Conjunto resi<strong>de</strong>nte <strong>de</strong> actividad<br />

Número <strong>de</strong> procesos<br />

• Limitar el número <strong>de</strong> hilos activos al número <strong>de</strong> procesadores<br />

• Mejor resultado: lanzar tantos hilos como procesadores disponibles


<strong>Planificación</strong> <strong>multiprocesador</strong> - SSOO I<br />

Asignación <strong>de</strong> procesador<br />

<strong>de</strong>dicado<br />

• Conjunto resi<strong>de</strong>nte <strong>de</strong> actividad:<br />

– Mínimo número <strong>de</strong> activida<strong>de</strong>s (hilos) que<br />

<strong>de</strong>ben ser planificados simultáneamente sobre<br />

procesadores para que la aplicación tenga un<br />

progreso aceptable.<br />

• Fragmentación <strong>de</strong>l procesador:<br />

– Quedan procesadores ociosos que no son<br />

suficientes en nº, o que no están organizados<br />

a<strong>de</strong>cuadamente para dar soporte a los<br />

requisitos <strong>de</strong> las aplicaciones pendientes.<br />

Linux Scheduling<br />

• Clases <strong>de</strong> planificación<br />

– SCHED_FIFO: Hilos <strong>de</strong> tiempo real FIFO<br />

– SCHED_RR: Hilos <strong>de</strong> tiempo real Round-robin<br />

– SCHED_OTHER: Otros hilos no <strong>de</strong> T.R.<br />

• Dentro <strong>de</strong> cada clase pue<strong>de</strong>n utilizarse<br />

múltiples priorida<strong>de</strong>s<br />

Hilos no <strong>de</strong> tiempo real<br />

• Linux 2.6 usa el planificador nuevo O(1):<br />

– El tiempo que tarda en elegir el próximo<br />

proceso y asignarlo a un procesador es<br />

constante<br />

• In<strong>de</strong>pendiente <strong>de</strong> la carga <strong>de</strong>l sistema.<br />

• In<strong>de</strong>pendiente <strong>de</strong>l nº <strong>de</strong> procesadores.<br />

<strong>Planificación</strong> dinámica<br />

• Nº <strong>de</strong> hilos <strong>de</strong> 1 proceso pue<strong>de</strong> cambiar durante el curso <strong>de</strong><br />

su ejecución.<br />

• Petición <strong>de</strong> uno o más procesadores por un trabajo:<br />

– Si hay procesadores ociosos: asignárselos<br />

– Si no: si trabajo nuevo, ubicarlo en único procesador,<br />

quitándoselo a trabajo que tenga más <strong>de</strong> 1 procesador<br />

– Si no se pue<strong>de</strong> satisfacer parte <strong>de</strong> la solicitud (nº procesadores),<br />

mantener trabajo pendiente hasta que:<br />

• procesador disponible, ó<br />

• el trabajo rescinda solicitud (ej: ya no necesita tantos procs.)<br />

• Liberar procesadores:<br />

– Mirar si hay trabajos en la cola <strong>de</strong> listos.<br />

– Elegir los que no tienen procesador asignado: asignarles un único<br />

procesador (ej: trabajos nuevos).<br />

– Asignar al resto <strong>de</strong> los trabajos los procesadores libres según FCFS.<br />

Hilos <strong>de</strong> tiempo real<br />

A Mínima<br />

B Media<br />

C Media<br />

D Máxima<br />

(a) Priorida<strong>de</strong>s relativas <strong>de</strong> los hilos<br />

(b) Secuencia con planificación FIFO<br />

(c) Secuencia con planificación R.R.<br />

Hilos no <strong>de</strong> tiempo real<br />

• Cada tarea no <strong>de</strong> T.R. tiene prioridad entre<br />

100 y 139 (<strong>de</strong>fault 120).<br />

• Esta prioridad pue<strong>de</strong> variar dinámicamente<br />

<strong>de</strong> acuerdo al tiempo que la tarea esté<br />

esperando por eventos E/S.<br />

– Se favorece las tareas limitadas por la E/S.<br />

=> Mejora respuesta interactiva.<br />

• Cuantos (rodajas) entre 10 y 200ms.<br />

– A mayor prioridad, cuanto <strong>de</strong> tiempo + largo.<br />

EPS - UAM 5


<strong>Planificación</strong> <strong>multiprocesador</strong> - SSOO I<br />

EdD por cada procesador<br />

Prioridad 0<br />

Cola no vacía <strong>de</strong><br />

mayor prioridad<br />

Prioridad 139<br />

Array <strong>de</strong> 140 bits para las colas activas<br />

Maneja 2 tipos <strong>de</strong> colas,<br />

1 bit por cada cola<br />

Colas activas: 140<br />

colas x prioridad.<br />

Cada cola contiene<br />

las tareas listas<br />

para dicha prioridad<br />

Colas vencidas: 140 colas<br />

x prioridad. Cada cola<br />

contiene las tareas listas<br />

para dicha prioridad<br />

Array <strong>de</strong> 140 bits para las colas vencidas<br />

Clases <strong>de</strong> prioridad en SVR4<br />

Clase <strong>de</strong><br />

Prioridad<br />

Valor<br />

Global<br />

Secuencia<br />

<strong>de</strong><br />

planificación<br />

Colas <strong>de</strong> activación SVR4<br />

dqactmap<br />

• Turnos rotatorios <strong>de</strong>ntro <strong>de</strong> cada nivel.<br />

• En los procesos <strong>de</strong> T.C. el nivel pue<strong>de</strong> variar:<br />

– Disminuye al utilizar todo el cuanto.<br />

– Aumenta cuando se bloquea por recurso o evento.<br />

• El tamaño <strong>de</strong>l cuanto <strong>de</strong>pen<strong>de</strong> <strong>de</strong>l nivel:<br />

– 100ms para prioridad 0 --- 10ms para prioridad 59<br />

<strong>Planificación</strong> en UNIX SVR4<br />

• Planificador expulsivo <strong>de</strong> priorida<strong>de</strong>s estáticas.<br />

• 160 niveles <strong>de</strong> prioridad divididos en tres clases.<br />

• Clases <strong>de</strong> prioridad:<br />

– Mayor preferencia: procesos <strong>de</strong> tiempo real.<br />

– Siguiente mayor preferencia: procesos en modo<br />

núcleo.<br />

– Menor preferencia: otros procesos <strong>de</strong> usuario.<br />

• Inserción <strong>de</strong> puntos <strong>de</strong> expulsión seguros para<br />

el núcleo básico:<br />

– Región <strong>de</strong> código don<strong>de</strong> todas las estructuras <strong>de</strong><br />

datos <strong>de</strong>l núcleo están actualizadas y son consistentes<br />

o bien están bloqueadas por un semáforo.<br />

Clases <strong>de</strong> prioridad en SVR4<br />

• Tiempo Real (159 – 100)<br />

– Serán elegidos para ejecutar antes que cualquier<br />

proceso <strong>de</strong> núcleo o <strong>de</strong> tiempo compartido.<br />

– Pue<strong>de</strong>n expulsar procesos <strong>de</strong> núcleo o <strong>de</strong> usuario.<br />

• Núcleo (99 – 60)<br />

– Serán elegidos para ejecutar antes que cualquier<br />

proceso <strong>de</strong> tiempo compartido (pero no antes que T.R.)<br />

• Tiempo Compartido (59-0)<br />

– Menor prioridad<br />

<strong>Planificación</strong> en Windows<br />

• Planificador expulsivo con sistema flexible<br />

<strong>de</strong> niveles <strong>de</strong> prioridad.<br />

• Priorida<strong>de</strong>s organizadas en dos clases:<br />

– Tiempo Real<br />

– Variable<br />

EPS - UAM 6


<strong>Planificación</strong> <strong>multiprocesador</strong> - SSOO I<br />

Pue<strong>de</strong>n subir<br />

o bajar<br />

Clases <strong>de</strong><br />

prioridad <strong>de</strong><br />

tiempo real<br />

Clases <strong>de</strong><br />

prioridad<br />

variable<br />

Mayor(31)<br />

Menor(16)<br />

Mayor(15)<br />

Menor(0)<br />

Ejercicios<br />

• Sobre planificación <strong>de</strong> procesos:<br />

1. Todos los métodos que utilicen priorida<strong>de</strong>s<br />

van a provocar inanición en algún momento<br />

2. El algoritmo FCFS perjudica a los procesos<br />

intensivos en CPU<br />

3. Los métodos multicolas con varias colas <strong>de</strong><br />

bloqueados están concebidos para planificar<br />

siempre sistemas <strong>multiprocesador</strong>es<br />

4. Todas las anteriores son falsas<br />

Ejercicios<br />

• En un sistema informático, los procesos recién<br />

creados entran en una cola <strong>de</strong> espera. De esa<br />

cola pasan a la cola <strong>de</strong> listos sólo cuando se ve<br />

que la utilización <strong>de</strong> la CPU cae por <strong>de</strong>bajo <strong>de</strong>l<br />

20%. Este sistema:<br />

1. Utiliza planificación expulsiva<br />

2. Utiliza planificación a largo plazo<br />

3. Aplica priorida<strong>de</strong>s<br />

4. Aplica realimentación con 2 colas<br />

Ejemplo <strong>de</strong> priorida<strong>de</strong>s<br />

EPS - UAM 7<br />

Prioridad<br />

Proceso<br />

Prioridad<br />

Base <strong>de</strong>l hilo<br />

Ejercicios<br />

Prioridad<br />

dinámica<br />

<strong>de</strong>l hilo<br />

• Sobre planificación <strong>de</strong> procesos:<br />

1. Todos los métodos que utilicen priorida<strong>de</strong>s<br />

van a provocar inanición en algún momento<br />

2. El algoritmo FCFS perjudica a los procesos<br />

intensivos en CPU<br />

3. Los métodos multicolas con varias colas <strong>de</strong><br />

bloqueados están concebidos para planificar<br />

siempre sistemas <strong>multiprocesador</strong>es<br />

4. Todas las anteriores son falsas<br />

Ejercicios<br />

• En un sistema informático, los procesos recién<br />

creados entran en una cola <strong>de</strong> espera. De esa<br />

cola pasan a la cola <strong>de</strong> listos sólo cuando se ve<br />

que la utilización <strong>de</strong> la CPU cae por <strong>de</strong>bajo <strong>de</strong>l<br />

20%. Este sistema:<br />

1. Utiliza planificación expulsiva<br />

2. Utiliza planificación a largo plazo<br />

3. Aplica priorida<strong>de</strong>s<br />

4. Aplica realimentación con 2 colas


<strong>Planificación</strong> <strong>multiprocesador</strong> - SSOO I<br />

Ejercicios<br />

• El planificador que <strong>de</strong>ci<strong>de</strong> si se <strong>de</strong>be<br />

<strong>de</strong>salojar un proceso <strong>de</strong> la memoria<br />

principal <strong>de</strong>bido a que el sistema está<br />

sobrecargado se <strong>de</strong>nomina<br />

1. Planificador <strong>de</strong> E/S<br />

2. Planificador a corto plazo<br />

3. Planificador a medio plazo<br />

4. Planificador a largo plazo<br />

Ejercicios<br />

• Los procesos <strong>de</strong> tiempo real se<br />

caracterizan principalmente por:<br />

1. Ser procesos muy veloces<br />

2. Ser procesos monotarea, con 1 sólo hilo<br />

3. Permitir la multiprogramación<br />

4. Cumplir unas restricciones <strong>de</strong> tiempo<br />

<strong>de</strong>finidas a priori<br />

Ejercicios<br />

• El tiempo <strong>de</strong> respuesta es un factor <strong>de</strong><br />

gran importancia en los sistemas<br />

1. De procesamiento por lotes<br />

2. Multiprogramados<br />

3. Multiusuario<br />

4. De tiempo compartido<br />

Ejercicios<br />

• El planificador que <strong>de</strong>ci<strong>de</strong> si se <strong>de</strong>be<br />

<strong>de</strong>salojar un proceso <strong>de</strong> la memoria<br />

principal <strong>de</strong>bido a que el sistema está<br />

sobrecargado se <strong>de</strong>nomina<br />

1. Planificador <strong>de</strong> E/S<br />

2. Planificador a corto plazo<br />

3. Planificador a medio plazo<br />

4. Planificador a largo plazo<br />

Ejercicios<br />

• Los procesos <strong>de</strong> tiempo real se<br />

caracterizan principalmente por:<br />

1. Ser procesos muy veloces<br />

2. Ser procesos monotarea, con 1 sólo hilo<br />

3. Permitir la multiprogramación<br />

4. Cumplir unas restricciones <strong>de</strong> tiempo<br />

<strong>de</strong>finidas a priori<br />

Ejercicios<br />

• El tiempo <strong>de</strong> respuesta es un factor <strong>de</strong><br />

gran importancia en los sistemas<br />

1. De procesamiento por lotes<br />

2. Multiprogramados<br />

3. Multiusuario<br />

4. De tiempo compartido<br />

EPS - UAM 8


<strong>Planificación</strong> <strong>multiprocesador</strong> - SSOO I<br />

Ejercicios<br />

• (A PARTIR DE AQUÍ, HECHOS YA)<br />

Suponga un sistema que planifica procesos<br />

según la política Round Robin. Cuando entra un<br />

proceso nuevo, siempre ocurre que:<br />

1. Disminuye el tiempo medio <strong>de</strong> espera<br />

2. Aumenta el tiempo medio <strong>de</strong> respuesta<br />

3. Aumenta el número <strong>de</strong> cambios <strong>de</strong> contexto por<br />

unidad <strong>de</strong> tiempo<br />

4. Disminuye el porcentaje <strong>de</strong> utilización <strong>de</strong> CPU<br />

Ejercicios<br />

• Indicar cuál <strong>de</strong> las afirmaciones siguientes es cierta:<br />

1. Cuando se planifica con la política <strong>de</strong> turno rotatorio (roundrobin),<br />

los cambios <strong>de</strong> contexto se producen únicamente al<br />

finalizar cada quanto <strong>de</strong> tiempo asignado al proceso en<br />

ejecución.<br />

2. Cuando se planifica con políticas <strong>de</strong> planificación con expulsión<br />

por priorida<strong>de</strong>s, los cambios <strong>de</strong> contexto se producen cuando el<br />

proceso en ejecución abandona voluntariamente la CPU.<br />

3. Cuando se planifica según la política primero el proceso más<br />

corto (SPN) se beneficia siempre a los procesos que ocupan<br />

poco en memoria frente a los que ocupan mucho.<br />

4. La política <strong>de</strong> turno rotatorio (round-robin) no perjudica<br />

especialmente a los procesos cortos.<br />

Ejercicios<br />

• Indica cuál <strong>de</strong> las siguientes afirmaciones es falsa.<br />

1. No hay protección <strong>de</strong> memoria entre los hilos <strong>de</strong> un mismo<br />

proceso, por ejemplo un hilo tiene acceso a la pila <strong>de</strong> otro hilo<br />

<strong>de</strong>l mismo proceso.<br />

2. Cada hilo tiene informaciones que le son propias,<br />

principalmente las referentes al contexto <strong>de</strong> ejecución, pila y<br />

bloque <strong>de</strong> control <strong>de</strong>l hilo.<br />

3. En el caso <strong>de</strong> procesos con hilos a nivel <strong>de</strong> núcleo y máquinas<br />

con <strong>multiprocesador</strong>es pue<strong>de</strong> existir más <strong>de</strong> un hilo <strong>de</strong>l mismo<br />

proceso en ejecución en el mismo instante.<br />

4. En el caso <strong>de</strong> procesos con hilos a nivel <strong>de</strong> núcleo y máquinas<br />

con <strong>multiprocesador</strong>es nunca pue<strong>de</strong> haber más <strong>de</strong> un hilo <strong>de</strong>l<br />

mismo proceso bloqueado al mismo tiempo.<br />

Ejercicios<br />

• Suponga un sistema que planifica<br />

procesos según la política Round Robin.<br />

Cuando entra un proceso nuevo, siempre<br />

ocurre que:<br />

1. Disminuye el tiempo medio <strong>de</strong> espera<br />

2. Aumenta el tiempo medio <strong>de</strong> respuesta<br />

3. Aumenta el número <strong>de</strong> cambios <strong>de</strong> contexto<br />

por unidad <strong>de</strong> tiempo<br />

4. Disminuye el porcentaje <strong>de</strong> utilización <strong>de</strong><br />

CPU<br />

Ejercicios<br />

• Indicar cuál <strong>de</strong> las afirmaciones siguientes es cierta:<br />

1. Cuando se planifica con la política <strong>de</strong> turno rotatorio (roundrobin),<br />

los cambios <strong>de</strong> contexto se producen únicamente al<br />

finalizar cada quanto <strong>de</strong> tiempo asignado al proceso en<br />

ejecución.<br />

2. Cuando se planifica con políticas <strong>de</strong> planificación con expulsión<br />

por priorida<strong>de</strong>s, los cambios <strong>de</strong> contexto se producen cuando el<br />

proceso en ejecución abandona voluntariamente la CPU.<br />

3. Cuando se planifica según la política primero el proceso más<br />

corto (SPN) se beneficia siempre a los procesos que ocupan<br />

poco en memoria frente a los que ocupan mucho.<br />

4. La política <strong>de</strong> turno rotatorio (round-robin) no perjudica<br />

especialmente a los procesos cortos.<br />

Ejercicios<br />

• Indica cuál <strong>de</strong> las siguientes afirmaciones es falsa.<br />

1. No hay protección <strong>de</strong> memoria entre los hilos <strong>de</strong> un mismo<br />

proceso, por ejemplo un hilo tiene acceso a la pila <strong>de</strong> otro hilo<br />

<strong>de</strong>l mismo proceso.<br />

2. Cada hilo tiene informaciones que le son propias,<br />

principalmente las referentes al contexto <strong>de</strong> ejecución, pila y<br />

bloque <strong>de</strong> control <strong>de</strong>l hilo.<br />

3. En el caso <strong>de</strong> procesos con hilos a nivel <strong>de</strong> núcleo y máquinas<br />

con <strong>multiprocesador</strong>es pue<strong>de</strong> existir más <strong>de</strong> un hilo <strong>de</strong>l mismo<br />

proceso en ejecución en el mismo instante.<br />

4. En el caso <strong>de</strong> procesos con hilos a nivel <strong>de</strong> núcleo y<br />

máquinas con <strong>multiprocesador</strong>es nunca pue<strong>de</strong> haber más <strong>de</strong><br />

un hilo <strong>de</strong>l mismo proceso bloqueado al mismo tiempo.<br />

EPS - UAM 9


<strong>Planificación</strong> <strong>multiprocesador</strong> - SSOO I<br />

Ejercicios<br />

• Sobre planificación <strong>de</strong> procesos:<br />

1. Todos los métodos que utilicen priorida<strong>de</strong>s<br />

van a provocar inanición en algún momento<br />

2. El algoritmo FCFS perjudica a los procesos<br />

intensivos en CPU<br />

3. Los métodos multicolas con varias colas <strong>de</strong><br />

bloqueados están concebidos para planificar<br />

siempre sistemas <strong>multiprocesador</strong>es<br />

4. Todas las anteriores son falsas<br />

Ejercicios<br />

• En un sistema informático, los procesos recién<br />

creados entran en una cola <strong>de</strong> espera. De esa<br />

cola pasan a la cola <strong>de</strong> listos sólo cuando se ve<br />

que la utilización <strong>de</strong> la CPU cae por <strong>de</strong>bajo <strong>de</strong>l<br />

20%. Este sistema:<br />

1. Utiliza planificación expulsiva<br />

2. Utiliza planificación a largo plazo<br />

3. Aplica priorida<strong>de</strong>s<br />

4. Aplica realimentación con 2 colas<br />

Ejercicios<br />

• El planificador que <strong>de</strong>ci<strong>de</strong> si se <strong>de</strong>be<br />

<strong>de</strong>salojar un proceso <strong>de</strong> la memoria<br />

principal <strong>de</strong>bido a que el sistema está<br />

sobrecargado se <strong>de</strong>nomina<br />

1. Planificador <strong>de</strong> E/S<br />

2. Planificador a corto plazo<br />

3. Planificador a medio plazo<br />

4. Planificador a largo plazo<br />

Ejercicios<br />

• Sobre planificación <strong>de</strong> procesos:<br />

1. Todos los métodos que utilicen priorida<strong>de</strong>s<br />

van a provocar inanición en algún momento<br />

2. El algoritmo FCFS perjudica a los procesos<br />

intensivos en CPU<br />

3. Los métodos multicolas con varias colas <strong>de</strong><br />

bloqueados están concebidos para planificar<br />

siempre sistemas <strong>multiprocesador</strong>es<br />

4. Todas las anteriores son falsas<br />

Ejercicios<br />

• En un sistema informático, los procesos recién<br />

creados entran en una cola <strong>de</strong> espera. De esa<br />

cola pasan a la cola <strong>de</strong> listos sólo cuando se ve<br />

que la utilización <strong>de</strong> la CPU cae por <strong>de</strong>bajo <strong>de</strong>l<br />

20%. Este sistema:<br />

1. Utiliza planificación expulsiva<br />

2. Utiliza planificación a largo plazo<br />

3. Aplica priorida<strong>de</strong>s<br />

4. Aplica realimentación con 2 colas<br />

Ejercicios<br />

• El planificador que <strong>de</strong>ci<strong>de</strong> si se <strong>de</strong>be<br />

<strong>de</strong>salojar un proceso <strong>de</strong> la memoria<br />

principal <strong>de</strong>bido a que el sistema está<br />

sobrecargado se <strong>de</strong>nomina<br />

1. Planificador <strong>de</strong> E/S<br />

2. Planificador a corto plazo<br />

3. Planificador a medio plazo<br />

4. Planificador a largo plazo<br />

EPS - UAM 10


<strong>Planificación</strong> <strong>multiprocesador</strong> - SSOO I<br />

Ejercicios<br />

• Los procesos <strong>de</strong> tiempo real se<br />

caracterizan principalmente por:<br />

1. Ser procesos muy veloces<br />

2. Ser procesos monotarea, con 1 sólo hilo<br />

3. Permitir la multiprogramación<br />

4. Cumplir unas restricciones <strong>de</strong> tiempo<br />

<strong>de</strong>finidas a priori<br />

Ejercicios<br />

• El tiempo <strong>de</strong> respuesta es un factor <strong>de</strong><br />

gran importancia en los sistemas<br />

1. De procesamiento por lotes<br />

2. Multiprogramados<br />

3. Multiusuario<br />

4. De tiempo compartido<br />

Ejercicios<br />

• El tiempo <strong>de</strong> respuesta es un factor <strong>de</strong><br />

gran importancia en los sistemas<br />

1. De procesamiento por lotes<br />

2. Multiprogramados<br />

3. Multiusuario<br />

4. De tiempo compartido<br />

Ejercicios<br />

• Los procesos <strong>de</strong> tiempo real se<br />

caracterizan principalmente por:<br />

1. Ser procesos muy veloces<br />

2. Ser procesos monotarea, con 1 sólo hilo<br />

3. Permitir la multiprogramación<br />

4. Cumplir unas restricciones <strong>de</strong> tiempo<br />

<strong>de</strong>finidas a priori<br />

Ejercicios<br />

• El tiempo <strong>de</strong> respuesta es un factor <strong>de</strong><br />

gran importancia en los sistemas<br />

1. De procesamiento por lotes<br />

2. Multiprogramados<br />

3. Multiusuario<br />

4. De tiempo compartido<br />

EPS - UAM 11

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!