Você está na página 1de 20

UNIVERSIDAD JOS CARLOS

MARITEGUI
FACULTAD DE INGENIERA
CARRERA PROFESIONAL DE INGENIERA DE SISTEMAS E
INFORMTICA

CURSO:
Operativos

Sistemas

TITULO:

PROCESOS
ADMINISTRACIN DEL PROCESADOR

PRESENTADO POR:

HEBERT VILCA MAMANI,

Luis enrique huaricone

DOCENTE: ING. MADELEINE GUTIERREZ


DAVILA

Cdigo: 131081011p

MOQUEGUA - PER

Abril del 2015

1 Multiprocesamiento.......................................1
1
Introduccin............................................1
2
Confiabilidad...........................................1
3
Explotacin del Paralelismo....................2
4
Paralelismo Masivo.................................2
5
Metas de los Sistemas de Multiprocesamiento
3
6
Deteccin Automtica del Paralelismo...3
7
Distribucin de Ciclos.............................4
8
Reduccin de la Altura del rbol............5
2 Organizacin del Hardware del Multiprocesador 6
1
Tiempo Compartido o Bus Comn (o
Conductor Comn)..............................6
2
Matriz de Barras Cruzadas e Interruptores 7
3
Almacenamiento de Interconexin Mltiple 7
3 Grados de Acoplamiento en Multiprocesamiento 7
1
Organizacin Maestro / Satlite.......7
4 Sistema Operativo de Multiprocesadores.....8
1
Maestro / Satlite...........................9
2
Ejecutivos Separados...........................10
3
Tratamiento Simtrico..........................11
5 Rendimiento del Sistema de Multiprocesamiento 12
6 Recuperacin de Errores.............................13
7 Multiprocesamiento Simtrico (MPS).......14
8 Tendencias de los Multiprocesadores..........15

2.13 Multiprocesamiento
2.13.1

Introduccin
Es una tendencia significativa en el campo de la

computacin.

Consiste en configurar un sistema de computacin con varios procesadores.


No es un enfoque nuevo pero s posee grandes perspectivas en funcin del desarrollo de los
microprocesadores.
Se podran concebir sistemas construidos por cientos o miles de microprocesadores.

2.13.1

Confiabilidad

Si un procesador falla, los restantes continan operando, lo cual no es automtico y requiere de un


diseo cuidadoso.
Un procesador que falla habr de informarlo a los dems de alguna manera, para que se
hagan cargo de su trabajo .
Los procesadores en funcionamiento deben poder detectar el fallo de un procesador
determinado.
El Sistema Operativo debe percibir que ha fallado un procesador determinado y ya no
podr asignarlo y tambin debe ajustar sus estrategias de asignacin de recursos para evitar
la sobrecarga del sistema que est degradado.

2.13.2

Explotacin del Paralelismo

La mayora de los sistemas de multiprocesamiento tienen como meta principal el incremento


de la capacidad de ejecucin.
La programacin sigue siendo esencialmente secuencial y generalmente no se explota la
concurrencia.
Las principales razones son las siguientes:
Las personas piensan en forma secuencial.
Ningn lenguaje humano proporciona la expresin adecuada de paralelismo, pero
existen lenguajes de computacin con soporte de concurrencia (por ejemplo, Ada,
Pascal Concurrente, etc.).
Ni el multiprocesamiento ha sido usado con amplitud para explotar el paralelismo.
El hardware tradicional del computador est orientado hacia la operacin secuencial.
Es muy difcil depurar programas en paralelo.

Los multiprocesadores no se utilizan a menudo para explotar el paralelismo ya que es muy


escaso el software que explote el paralelismo.
Lo deseable es que los Sistemas Operativos y compiladores puedan detectar e implementar el paralelismo automticamente.

2.13.3

Paralelismo Masivo

Se debe disponer de suficientes procesadores como para que todas las operaciones que
puedan ser ejecutadas en paralelo puedan ser asignadas a procesadores separados [14, Pino y
Marrone].
Esto ofrece una forma de ejecutar un programa en el menor tiempo posible.
La cuestin central es, disponiendo del paralelismo masivo, cul es el tiempo mnimo
requerido para ejecutar un algoritmo determinado?.

2.13.4 Metas de los Sistemas de


Multiprocesamiento
Las metas de los sistemas de multiprocesamiento generalmente son la confiabilidad y la
disponibilidad muy altas, como as tambin el incremento del poder de computacin.
El diseo modular proporciona una flexibilidad importante y facilita la expansin de la
capacidad.

2.13.5

Deteccin Automtica del Paralelismo

Los multiprocesadores hacen posible la explotacin del paralelismo.


Los sistemas de computacin obtienen los beneficios del procesamiento concurrente ms por la
multiprogramacin de varios procesos y menos por la explotacin del paralelismo dentro de
un solo proceso.
La deteccin del paralelismo es un problema complejo y la puede efectuar el programador, el
traductor del lenguaje, el hardware o el Sistema Operativo.
El paralelismo dentro de los programas puede ser explcito o implcito.
Las principales caractersticas del paralelismo explcito son las que se detallan a continuacin:
Es indicado de forma especfica por un programador mediante una construccin de
concurrencia como la siguiente:
cobegin;
Proposicin 1;
................
Proposicin n; coend;
Se pueden utilizar procesadores separados para ejecutar cada una de las proposiciones.
Es susceptible de errores de programacin difciles de detectar y depurar.
El programador puede omitir tratar situaciones donde sera aplicable el paralelismo.

Las principales caractersticas del paralelismo implcito son las que se detallan a
continuacin:
La verdadera esperanza est en la deteccin automtica del paralelismo implcito.
Es el paralelismo intrnseco del algoritmo pero no establecido explcitamente por el
programador.
Los compiladores explotan el paralelismo implcito mediante las tcnicas de distribucin de
ciclos y de reduccin de la altura del rbol.

2.13.2

Distribucin de Ciclos

Una estructura de ciclos o de repeticin implica la repeticin de una serie de proposiciones


(cuerpo del ciclo) hasta que ocurre alguna condicin de terminacin, por ejemplo:
For i = 1 to 3
Do

a(i) = b(i) + c(i)

(2.2)

;
El procesador secuencial realizar en secuencia lo siguiente:

a(
1)
a(
2)
a(
3)

=
=
=

b(1) +
c(1)
b(2)
+
c(2)
b(3) +
c(3)

En un sistema de multiprocesamiento con tres procesadores disponibles se podran


ejecutar concurrentemente.
Un compilador que detecte automticamente el paralelismo implcito puede convertir el
ciclo del ejemplo 2.2 de la pgina 51 en lo siguiente:

cobegin;

a(1) = b(1) + c(1)


coend;
Esta tcnica se denomina distribucin de ciclos.

UNIDADES
DE

PROCESADORES

Figura 2.6: Idea simplificada de la organizacin de un multiprocesador.


MECANISMO DE
INTERCONEXION
((P+Q)+R)+S

(P+Q)+(R+S)

PROCESADORES
3
21
+ 3
DE E / S

1
+ 2

+ 2

+ 1

+ 1

+ 1

Figura 2.7: Reduccin de la altura del rbol por asociatividad.

2.13.3 Reduccin de la Altura del rbol


Utilizando las propiedades asociativa, conmutativa y distributiva de la aritmtica, los compiladores
pueden:
1. Detectar el paralelismo implcito en expresiones algebraicas.
2. Producir un cdigo objeto para multiprocesadores que indique las operaciones que se
pueden realizar simultneamente.
3. Reordenar expresiones para que sean ms apropiadas para la computacin en para- lelo.

Se invierten ms tiempo y recursos durante la compilacin para reducir el tiempo


de ejecucin, es decir que se busca optimizacin en el momento de la compilacin
para lograr ejecucin en tiempo mnimo, lo que es aplicable especialmente cuando
los sistemas pasan a produccin, no tanto cuando estn en desarrollo.

2.14 Organizacin del Hardware del


Multiprocesador
El problema clave es determinar los medios de conexin de los procesadores mltiples y los
procesadores de Entrada / Salida a las unidades de almacenamiento [7, Deitel].
Los multiprocesadores se caracterizan por los siguientes aspectos:
Un multiprocesador contiene dos o ms procesadores con capacidades aproximada mente
comparable.
Todos los procesadores comparten el acceso a un almacenamiento comn y a canales de
Entrada / Salida, unidades de control y dispositivos.
Todo est controlado por un Sistema Operativo que proporciona interaccin entre
procesadores y sus programas en los niveles de trabajo, tarea, paso, archivo y ele- mentos
de datos.
Las organizaciones ms comunes son las siguientes:
Tiempo compartido o bus comn (conductor comn).
Matriz de barras cruzadas e interruptores.
Almacenamiento de interconexin mltiple.

2.14.1 Tiempo Compartido o Bus Comn (o


Conductor Comn)
Usa un solo camino de comunicacin entre todas las unidades funcionales10 .
El bus comn es en esencia una unidad pasiva.
Un procesador o procesador de Entrada / Salida que desee transferir datos debe efec- tuar los
siguientes pasos:
1. Verificar la disponibilidad del conductor y de la unidad de destino.
2. Informar a la unidad de destino de lo que se va a hacer con los datos.
3. Iniciar la transferencia de datos.
Las unidades receptoras deben poder reconocer qu mensajes del bus son enviados hacia ellas
y seguir y confirmar las seales de control recibidas de la unidad emisora.
Es una organizacin econmica, simple y flexible pero con una sola va de comunicacin, por lo
cual:
El sistema falla totalmente si falla el bus.

PROCE- S ADOR
PROCE- SADOR

MEMORIAMEMORIA

PROC.
E/S

Figura 2.10: Organizacin de multiprocesador de tiempo compartido de bus


MEMORI

MEMORI

PROC.

PROC.

PROC.
E/S

comn.

BUS

PROCE- SADOR
PROCE- S ADOR

La tasa
est limitada por la tasa neta de transmisin del
A neta de transmisiones
A
E/S
E/S
conductor.

La contencin por el uso del bus en un sistema sobrecargado puede ocasionar una seria
degradacin.

2.14.2
Matriz
de
Interruptores

Barras

Cruzadas

En este caso existe un camino diferente para cada unidad de almacenamiento, por lo cual
las referencias a dos unidades diferentes de almacenamiento no son bloqueantes sino
simultneas y la multiplicidad de caminos de transmisin puede proporcionar tasas de
transferencia muy altas .

2.14.3
Almacenamiento
Mltiple

de

Interconexin

Se obtiene al sacar las lgicas de control, de conmutacin y de arbitraje de prioridades fuera


del interruptor de barras cruzadas y se las coloca en la interfaz de cada unidad de
almacenamiento.
Cada unidad funcional puede acceder a cada unidad de almacenamiento, pero slo en una
conexin de almacenamiento especfica, es decir que hay una conexin de almacenamiento
por unidad funcional.
El conexionado es ms complejo que en los otros esquemas.
Se puede restringir el acceso a las unidades de almacenamiento para que no todas las
unidades de procesamiento las accedan, en tal caso habr unidades de almacenamiento
privadas de determinados procesadores.

2.15 Grados
de
Acoplamiento
Multiprocesamiento

en

Los grados de acoplamiento en multiprocesamiento pueden clasificarse de ligeramente


acoplados o rgidamente acoplados , segn las caractersticas que se detallan en
MEMORIA
0

PROCES.
0

PROCES.
1

MEMORIA
1

MEMORIA
J

PROC. E / S 0

PROC. E / S 1

PROCES. I
PROC. E / S K

Figura 2.11: Organizacin del multiprocesador por matriz de barras cruzadas e interruptores.

PROCES.
0

MEMORIA
0

PROCES.
1

MEMORIA
1

PROCES. E / S 0

PROCES.
2

MEMORIA
2

PROCES. E / S 1

MEMORIA
3

PROCES. E / S 2

Figura 2.12: Organizacin de multiprocesador por sistema de memoria de interconexin


mltiple.

PROCES.
0

MEMORIA 0

MEMORIA 1

PROCES. E / S 0

PROCES.
1

MEMORIA 2

MEMORIA
3

PROCES. E / S 1

Figura 2.13: Organizacin de multiprocesador por sistema de memoria de interconexin


mltiple con memorias privadas.

2.15.1

Organizacin Maestro / Satlite

Un procesador est diseado como el maestro y los otros como satlites.


El procesador maestro es de propsito general y realiza operaciones de Entrada /
Salida y computaciones.
Los procesadores satlites slo realizan computaciones.
Los procesos limitados por computacin pueden ejecutarse con efectividad en los satlites.
Los procesos limitados por la Entrada / Salida ejecutados en los satlites generan
frecuentes llamadas de servicios al procesador maestro, pudiendo resultar ineficientes.
Si falla un satlite se pierde capacidad computacional pero el sistema no falla.
Si falla el maestro el sistema falla al no poder efectuar operaciones de Entrada /
Salida, por lo que un satlite debera asumir las funciones del maestro previo cambio de
los perifricos y reinicio del sistema.
En el multiprocesamiento simtrico todos pueden hacer Entrada / Salida.

2.16 Sistema Operativo de


Multiprocesadores
Las capacidades funcionales de los Sistema Operativo de multiprogramacin y de multiprocesadores incluyen lo siguiente:
Asignacin y administracin de recursos.
Proteccin de tablas y conjuntos de datos.

Grados de
acoplamiento
en
multiprocesamiento
Ligeramente
acoplado

Descripcin
Incluye la conexin de dos o ms
sistemas independientes por medio de un
enlace de comunicacin.
Cada sistema tiene su propio Sistema
Operativo y almacenamiento.
Los sistemas pueden funcionar
independientemente y se comunican
cuando sea necesario.

Rgidamente acoplado

Los sistemas separados pueden acceder a


los archivos de los otros e intercambiar
tareas a procesadores menos cargados.
Utiliza un solo almacenamiento
compartido por varios procesadores.
Emplea un solo Sistema Operativo
que controla todos los procesadores y
el hardware del sistema.

Tabla 2.5: Grados de acoplamiento en multiprocesamiento.

ALMACENA

ALMACENA

ENLACE DE COMUNICACIONES

Figura 2.14: Multiprocesamiento ligeramente acoplado.


PROCESADOR

PROCESADOR

Prevencin contra el interbloqueo del sistema.


Terminacin anormal.
E/S
Equilibrio de cargas
de Entrada / Salida.

E/S

Equilibrio de carga del procesador.


Reconfiguracin.
Las tres ltimas son especialmente importantes en Sistemas Operativos de
multiprocesadores, donde es fundamental explotar el paralelismo en el hardware y
en los programas y hacerlo automticamente.
Las organizaciones bsicas de los Sistemas Operativos para multiprocesadores
son las siguientes:
Maestro / satlite.
Ejecutivo separado para cada procesador.
Tratamiento simtrico (o annimo) para todos los procesadores.

2.16.1

Maestro / Satlite

Es la organizacin ms fcil de implementar.


No logra la utilizacin ptima del hardware dado que slo el procesador maestro
puede ejecutar el Sistema Operativo y el procesador satlite slo puede ejecutar
programas del usuario.
Las interrupciones generadas por los procesos en ejecucin en los procesadores
satlites que precisan atencin del Sistema Operativo deben ser atendidas por el
procesador maestro y por ello pueden generarse largas colas de requerimientos
pendientes.

2.16.2

Ejecutivos Separados

Cada procesador tiene su propio Sistema Operativo y responde a interrupciones


de los usuarios que operan en ese procesador.
Existen tablas de control con informacin global de todo el sistema (por ejemplo,
lista de procesadores conocidos por el Sistema Operativo) a las que se debe acceder
utilizando exclusin mutua.
Es ms confiable que la organizacin maestro /
satlite. Cada procesador controla sus propios
recursos dedicados.
La reconfiguracin de los dispositivos de Entrada / Salida puede implicar el
cambio de dispositivos a diferentes procesadores con distintos Sistemas Operativos.
La contencin sobre las tablas del Sistema Operativo es mnima.
Los procesadores no cooperan en la ejecucin de un proceso individual, que habr
sido asignado a uno de ellos.

2.16.3

Tratamiento Simtrico

Es la organizacin ms complicada de implementar y tambin la ms poderosa y


confiable. El Sistema Operativo administra un grupo de procesadores idnticos,
donde cualquiera puede utilizar cualquier dispositivo de Entrada / Salida y
cualquiera puede referenciar a
Cualquier unidad de almacenamiento.
El Sistema Operativo precisa cdigo reentrante y exclusin mutua.
Es posible equilibrar la carga de trabajo ms precisamente que en las otras
organizaciones.
Adquieren significativa importancia el hardware y el software para resolucin de
conflictos.
Todos los procesadores pueden cooperar en la ejecucin de un proceso determinado.
El procesador ejecutivo es el responsable (uno slo) en un momento dado de las
tablas y funciones del sistema; as se evitan los conflictos sobre la informacin
global.

2.17 Rendimiento
del
Sistema
Multiprocesamiento

de

An con multiprocesamiento completamente simtrico, la adicin de un nuevo


procesador no har que la capacidad de ejecucin del sistema aumente segn la
capacidad del nuevo procesador, siendo las causas las siguientes:
Hay sobrecarga adicional del Sistema Operativo.
Se incrementa la contencin por recursos del sistema.
Hay retrasos del hardware en el intercambio y en el encaminamiento de las
transmisiones entre un nmero mayor de componentes.
Al incrementar el nmero de procesadores n similares en un multiprocesador, el
incremento de la productividad no es lineal y tiende a disminuir cuando n crece.

2.18 Recuperacin de Errores


Una de las capacidades ms importantes de los Sistemas Operativos de
multiprocesadores es la de soportar fallas de hardware en procesadores individuales y
continuar su operacin.
Debe existir el soporte correspondiente en el Sistema Operativo.

2.19.

MULTIPROCESAMIENTO SIMTRICO (MPS)

Las tcnicas de recuperacin de errores incluyen los siguientes aspectos:


Los datos crticos (del sistema y de usuario) deben mantenerse en copias
mltiples y en bancos de almacenamiento separados.
El Sistema Operativo debe ejecutar efectivamente con la configuracin
mxima y con subconjuntos ante fallas.
Debe haber capacidad de deteccin y correccin de errores de hardware sin
interferir con la eficiencia operacional del sistema.
Se debe utilizar la capacidad ociosa del procesador para tratar de detectar
posibles fallos antes de que se produzcan.
El Sistema Operativo debe dirigir un procesador operativo para que tome el
control de un proceso que se estaba ejecutando en un procesador que falla.

2.19

Multiprocesamiento Simtrico (MPS)

Cada procesador posee capacidades funcionales completas.


Los dispositivos de Entrada / Salida pueden ser conectados a cada uno de los
procesadores.
Todas las llamadas al supervisor pueden ser ejecutadas en todos los
procesadores, inclusive las de Entrada / Salida.
Si un programa en ejecucin en un procesador pide una operacin de Entrada
/ Salida en un dispositivo conectado a un procesador diferente, el procesador
puede continuar ejecutando el trabajo y la Entrada / Salida se coloca en una cola
para su iniciacin por el procesador apropiado.
Se considera procesador ejecutante al que est ejecutando un proceso
determinado.
Se considera procesador propietario al que est conectado a los diferentes
dispositivos utilizados por el proceso.
Es ms eficiente que la organizacin maestro / satlite, ya que los
requerimientos de Entrada / Salida se encolan y no sobrecargan con
intercambio de contexto y a que en la organizacin maestro / satlite las
peticiones de Entrada / Salida en el satlite provocan un intercambio de
contexto en el maestro.
Cada procesador puede ejecutar el planificador para buscar el siguiente trabajo
a ejecutar, de forma que un proceso determinado se ejecuta en diferentes
procesadores en distintos momentos; adems, el MPS utiliza una sola cola de
trabajos y cada procesador puede seleccionar trabajos de ella, con lo cual se

equilibra la carga entre los procesadores. Para minimizar la contencin en el


despacho de procesos, los relojes de los procesadores tienen oblicuidad, debido a ello
las interrupciones de reloj ocurren en diferentes momentos.

2.20 Tendencias de los


Multiprocesadores

Todo indica que el uso de los multiprocesadores se incrementar


considerablemente en el futuro
E/S

PROCESADOR

E/S

PROCESADOR

MEMORIA

PROCESADOR

E/S

PROCESADOR

E/S

Figura 2.16: Ejemplo de implementacin de multiprocesamiento simtrico.

2.20.

TENDENCIAS DE LOS MULTIPROCESADORES

Las principales razones son las siguientes:


La confiabilidad requerida es cada vez mayor.
La reduccin de costos consecuencia de los avances en microelectrnica.
El previsible desarrollo de lenguajes que permitan a los usuarios expresar el
paralelismo explcitamente.
El progreso en la deteccin automtica del paralelismo.
El hecho de que se estara llegando a los lmites de un procesador debido a la
compactacin de componentes, es decir que se estara prximo a los lmites
de longitud y de proximidad de los caminos electromagnticos (longitud

del recorrido de la seal electromagntica); alcanzados los lmites


mencionados, la nica posibilidad de incrementar capacidad de cmputo es
mediante multiprocesamiento.
Existen estudios de tendencias en arquitectura de computadoras que
apuntan a los poli procesadores, es decir, sistemas que combinan el
multiprocesamiento, simtrico y asimtrico, para crear una jerarqua de
procesadores dentro de un sistema.