administración del procesador

23
Ingeniería de Sistemas Universidad Nacional de Trujillo 30/07/2015 “ADMINISTRACIÓN DEL PROCESADOR” SISTEMAS OPERATIVOS UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERO: - Ing. AGREDA GAMBOA, EMERSON DAVID INTEGRANTES: - ALFARO GOMEZ, ERICK GIANPIER - ARIAS TANDAYPAN, JORGE LUIS - CASTILLO VELASQUEZ, NELLY ROSALIA - HARO GUITIERREZ, JUAN JEINY - VARGAS OTINIANO, ALVARO ALFREDO

Upload: erick-gianpier-alfaro

Post on 13-Dec-2015

214 views

Category:

Documents


1 download

DESCRIPTION

Sistemas Operativos

TRANSCRIPT

Page 1: Administración Del Procesador

Ingeniería de Sistemas Universidad Nacional de Trujillo

30/07/2015

“ADMINISTRACIÓN DEL PROCESADOR”

SISTEMAS OPERATIVOS

UNIVERSIDAD NACIONAL DE

TRUJILLO

INGENIERO:

- Ing. AGREDA GAMBOA, EMERSON DAVID

INTEGRANTES:

- ALFARO GOMEZ, ERICK GIANPIER

- ARIAS TANDAYPAN, JORGE LUIS

- CASTILLO VELASQUEZ, NELLY ROSALIA

- HARO GUITIERREZ, JUAN JEINY

- VARGAS OTINIANO, ALVARO ALFREDO

Page 2: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 1

DEDICATORIA

"Este proyecto va dedicado en primer lugar a dios y a la Santísima Virgen de

la Puerta, por darnos las fuerzas para continuar en lo adverso y por cada día de

vida que nos brinda, por guiarnos en el sendero de lo sensato y darnos sabiduría en

las situaciones difíciles. También, a nuestros respectivos padres, por darnos la vida

y luchar día a día para que logremos escalar y conquistar cada peldaño en este

camino ascendente de la vida, así como estar con nosotros a pesar de nuestras

caídas y motivarnos a seguir adelante; por ser nuestro ejemplo y enseñarnos a

luchar en esta vida llena de adversidades y a conquistar las metas que nos

propongamos hasta agotar los recursos que sean necesarios. Este trabajo va

dedicado para ellos."

Page 3: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 2

INTRODUCCIÓN

los sistemas operativos son y serán el corazón de todos los equipos de

cómputo es por ello que es indispensable conocer cuáles son las funciones que

realiza el sistema operativo para poder realizar las tareas que se le encomienda, es

decir los sistemas operativos manejan muchísimos procesos claro que todos estos

procesos se llevan a cabo con ayuda del procesador, un proceso tiene muchas

definiciones entre ellas se encuentra la siguiente: un proceso es un programa que

se encuentra en ejecución durante un determinado tiempo.

En este trabajo se encuentra información muy completa de la forma en que

se realizan los procesos en el procesador, entre ellos se encuentran la concurrencia

entre procesos, la forma de planificación de los procesos, los tipos de interbloqueo

y las técnicas de administración de procesos.

En el desarrollo del trabajo presentamos las definiciones que cada tipo de

planificación utiliza, los objetivos que utilizan para ser la base de cada estructura

de los procesos, otro punto importante que estaremos utilizando en este trabajo es

que mostramos la forma de solucionar los problemas por cualquier tipo de bloqueo

o por cualquier interrupción del sistema operativo.

Para terminar este trabajo presentamos algunas técnicas de administración

en las que indicamos cual es la forma en que se deben de implementar para realizar

operaciones con el procesador o para hacer funcionar mejor el procesador.

Page 4: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 3

ÍNDICE ADMINISTRACIÓN DEL PROCESADOR ................................................................................................. 4

1 MULTIPROCESAMIENTO .................................................................................................................. 4

1.1 Sistemas de Multiprocesamiento ................................................................................................... 4

1.2 Modelos arquitectónicos para un multiprocesador ...................................................................... 6

1.3 Explotación del Paralelismo ........................................................................................................... 7

1.4 Paralelismo Masivo ......................................................................................................................... 7

1.5 Metas de los sistemas de multiprocesamiento ............................................................................... 8

1.6 Detección automática del paralelismo ........................................................................................... 8

1.7 Paralelismo Masivo ......................................................................................................................... 8

1.8 Metas de los sistemas de multiprocesamiento ............................................................................... 8

1.9 Detección automática del paralelismo ........................................................................................... 8

1.10 Multitarea ........................................................................................................................................ 9

1.10.1 Tipos de Multitarea ................................................................................................................ 9

2 SISTEMAS OPERATIVOS MULTIPROCESADORES ................................................................... 10

2.1 CARACTERÍSTICAS: ................................................................................................................. 10

2.2 Funciones: ...................................................................................................................................... 11

2.2.1 Maestro / Satélite: ................................................................................................................ 11

2.2.2 Ejecutivos Separados: .......................................................................................................... 12

2.2.3 Tratamiento Simétrico: ........................................................................................................ 12

2.3 ESTRUCTURA FUNCIONAL: ................................................................................................... 12

2.4 VENTAJAS: .................................................................................................................................. 14

2.4.1 Rendimiento y potencia de cálculo ...................................................................................... 14

2.4.2 Tolerancia a fallos: ............................................................................................................... 14

2.4.3 Flexibilidad ........................................................................................................................... 15

2.4.4 Crecimiento Modular ........................................................................................................... 15

2.4.5 Especialización Funcional .................................................................................................... 15

3 RECUPERACIÓN DE ERRORES ...................................................................................................... 15

3.1 Rutinas de Manejo de Errores: .................................................................................................... 15

3.2 Tipos de Errores ............................................................................................................................ 16

3.3 Herramientas para disminuir el número de errores .................................................................. 16

3.4 Recuperación de Errores Sintácticos .......................................................................................... 16

3.5 Errores en Análisis LR ................................................................................................................. 17

3.6 Estrategias de Recuperación ........................................................................................................ 17

4 MULTIPROCESAMIENTO SIMETRICO ........................................................................................ 19

4.1 Ventajas ......................................................................................................................................... 20

4.2 Desventajas .................................................................................................................................... 21

BIBLIOGRAFIA ............................................................................................................................................ 22

Page 5: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 4

ADMINISTRACIÓN DEL PROCESADOR

1 MULTIPROCESAMIENTO

Multiprocesamiento o multiproceso es el uso de dos o más procesadores (CPU) en una

computadora para la ejecución de uno o varios procesos (programas corriendo). Algunas

personas, en el idioma español hacen sinónimo este término con el de multitareas (del inglés

multitasking) el cual consiste en la ejecución de uno o más procesos concurrentes en un

sistema. Así como la multitarea permite a múltiples procesos compartir una única CPU,

múltiples CPUs pueden ser utilizados para ejecutar múltiples procesos o múltiples hilos

(Threads) dentro de un único proceso.

Los algoritmos que utilizan los sistemas operativos para aprovechar los procesadores

han sido ampliamente estudiados en libros clásicos como el de Madnick y Donovan, el de

Andrew S. Tanenbaum y el de Abraham Silberschatz, entre otros

1.1 Sistemas de Multiprocesamiento

Un sistema de multiprocesamiento consiste en una computadora que tiene más

de un procesador (o bien en una serie de computadoras con CPU’s o procesadores

independientes). La mayoría de computadoras supervisoras se diseñan específicamente

para dar soporte a múltiples procesadores. Incluyen un bus de altas prestaciones, decenas

de MB para memoria con corrección de errores, sistemas de disco redundantes,

arquitecturas avanzadas de sistemas que reducen los cuellos de botella utilidades

redundantes, como múltiples fuentes de alimentación.

Existen dos tipos de diseños de sistemas multiprocesador:

Simétrico: Los microprocesadores del sistema comparten los recursos del sistema,

como la entrada salida de memoria y disco. Se distribuye uniformemente la carga

de trabajo a los procesadores disponibles, de modo que uno no esté inactivo

mientras otro tiene un exceso de trabajo con una tarea específica. Las prestaciones

se incrementan para todas las tareas al añadir microprocesadores, su desventaja es

que los sistemas operativos que soportan este tipo de multiprocesamiento son más

difíciles de diseñar.

Page 6: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 5

Asimétrico: Diferentes microprocesadores gobiernan las distintas tareas y

recursos del sistema. El enfoque principal que adoptan es el incremento de

rendimiento del sistema para múltiples usuarios de red en múltiples segmentos de

red de área local. Los sistemas supervisores dan soporte a múltiples tarjetas de

red, lo que incrementa el número de posibles segmentos. El bus de alta velocidad

del servidor proporciona transferencia rápida de información entre los segmentos

de red. Cada CPU se dedica a una función específica tal como entrada / salida de

la tarjeta de interfaz de red u operaciones con archivos.

Podemos concluir que el hardware permite el progreso simultáneo de varias

actividades (varios CPUS’s con memoria local).

Concurrencia

Los procesos son concurrentes su ejecución se solapa en el tiempo. Una

operación de un proceso empieza antes de que termine la última operación del otro

proceso. La sincronización es un término general para las restricciones de tiempo

de este tipo de comunicación impuesta sobre las interacciones entre procesos

concurrentes.

La forma más simple de interacciones es un intercambio de señales de

sincronización entre dos procesos. Un ejemplo bien conocido es el uso de

interrupciones para indicar al procesador que la finalización de operaciones

asíncronas de periféricos.

Page 7: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 6

Otro tipo de señales de sincronización, los sucesos, sirven para sincronizar

procesos concurrentes. Cuando un proceso decide esperar un suceso, se retarda la

ejecución de su próxima operación hasta que otro proceso indica la ocurrencia del

suceso.

Modificación Pérdida

Dependencia no comprometida.- Se presenta cuando se permite a una

transacción leer un registro que ha sido puesto al día por otra transacción y ésta

última todavía no lo ha comprometido; pues si todavía no está comprometido,

siempre existe la posibilidad de que nunca se comprometa, y en cambio, se anule

en cuyo caso la primera transacción habrá visto algunos datos que ya no existen.

Análisis Inconsistente

Ventajas del multiprocesamiento.- El beneficio del multiprocesamiento es

el procesamiento en paralelo, donde un solo proceso o aplicación es separado en

múltiples partes que pueden ejecutarse simultáneamente en diversos CPU’s. Hasta

recientemente el procesamiento en paralelo normalmente requería una

programación especial de aplicaciones y por ello fue usado en supercomputadoras

y sistemas similares. Ahora las técnicas multi-hilos han traído esta capacidad a los

nuevos sistemas multiprocesadores.

1.2 MODELOS ARQUITECTÓNICOS PARA UN MULTIPROCESADOR

Las mejoras en microprocesadores cada vez son más complejas: cada avance

implica crecer en complejidad, potencia y superficie, lenta pero clara mejora en el

software, que permite explotar el paralelismo.

Las arquitecturas actuales son muy diversas: hay más investigación que

resultados definitivos.

Dos factores clave para la extensión de los Multiprocesadores:

Page 8: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 7

Flexibilidad: El mismo sistema puede usarse para un único usuario

incrementado el rendimiento en la ejecución de una única aplicación o para

varios usuarios y aplicaciones en un entorno compartido.

Coste-rendimiento: Actualmente estos sistemas se basan en procesadores

comerciales, por lo que su costo se ha reducido drásticamente. La inversión

más fuerte se hace en la memoria y la red de interconexión. Como su nombre

indica son aquellos sistemas operativos que están montados sobre

computadoras que están compuestas por más de un procesador, supongamos

un computadora que en vez de tener un procesador, tuviera dos o más

procesadores conectados entre sí dentro de la misma placa base, esto sería un

sistema multiprocesador.

1.3 Explotación del Paralelismo

La mayoría de los sistemas de multiprocesamiento tienen como meta principal

el incremento de la capacidad de ejecución. La programación sigue siendo esencialmente

secuencial y generalmente no se explota la concurrencia. Las principales razones son las

siguientes:

Las personas piensan en forma secuencial.

Ningún lenguaje humano proporciona expresiones de paralelismo, pero

existen lenguajes de computación con soporte de concurrencia.

El multiprocesamiento no ha sido usado para explotar el paralelismo.

El hardware tradicional está orientado hacia la operación secuencial.

Es muy difícil 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

automáticamente.

1.4 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. Esto ofrece una forma de ejecutar un programa en el menor tiempo posible.

La cuestión central es, disponiendo del paralelismo masivo, ¿cuál es el tiempo mínimo

requerido para ejecutar un algoritmo determinado?

Page 9: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 8

1.5 METAS DE LOS SISTEMAS DE MULTIPROCESAMIENTO

Las metas de los sistemas de multiprocesamiento generalmente son la

confiabilidad y la disponibilidad muy altas, como así también el incremento del poder

de computación. El diseño modular proporciona una flexibilidad importante y facilita la

expansión de la capacidad.

1.6 DETECCIÓN AUTOMÁTICA DEL PARALELISMO

Los multiprocesadores hacen posible la explotación del paralelismo. Los

sistemas de computación obtienen los beneficios del procesamiento concurrente más por

la “multiprogramación” de varios procesos y menos por la explotación del “paralelismo”

dentro de un solo proceso. La detección 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 “explícito” o “implícito”.

Las principales características del paralelismo explícito son las que se detallan a

continuación:

Es indicado de forma específica por un programador mediante una

“construcción de concurrencia”

Se pueden utilizar procesadores separados para ejecutar cada proposición.

Es susceptible de errores de programación difíciles de detectar y depurar.

El programador puede omitir situaciones donde se aplica el paralelismo.

1.7 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. Esto ofrece una forma de ejecutar un programa en el menor tiempo posible.

La cuestión central es, disponiendo del paralelismo masivo, ¿cuál es el tiempo mínimo

requerido para ejecutar un algoritmo determinado?

1.8 METAS DE LOS SISTEMAS DE MULTIPROCESAMIENTO

Las metas de los sistemas de multiprocesamiento generalmente son la

confiabilidad y la disponibilidad muy altas, como así también el incremento del poder

de computación. El diseño modular proporciona una flexibilidad importante y facilita la

expansión de la capacidad.

1.9 DETECCIÓN AUTOMÁTICA DEL PARALELISMO

Page 10: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 9

Los multiprocesadores hacen posible la explotación del paralelismo. Los

sistemas de computación obtienen los beneficios del procesamiento concurrente más por

la “multiprogramación” de varios procesos y menos por la explotación del “paralelismo”

dentro de un solo proceso. La detección 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 “explícito” o “implícito”.

Las principales características del paralelismo explícito son las que se detallan a

continuación:

Es indicado de forma específica por un programador mediante una

“construcción de concurrencia”

Se pueden utilizar procesadores separados para ejecutar cada proposición.

Es susceptible de errores de programación difíciles de detectar y depurar.

El programador puede omitir situaciones donde se aplica el paralelismo.

1.10 Multitarea

La multitarea es la característica de los sistemas operativos modernos de permitir

que varios procesos se ejecuten —al parecer— al mismo tiempo compartiendo uno o

más procesadores.

Los sistemas operativos multitarea son capaces de dar servicio a más de un

proceso a la vez para permitir la ejecución de muchos más programas.

En esta categoría también se encuentran todos los sistemas que cumplen

simultáneamente las necesidades de dos o más usuarios —llamados sistemas

multiusuario— que compartan los mismos recursos. Este tipo de sistemas se emplea

especialmente en redes. En resumen, se trata de fraccionamiento del tiempo (timesharing

en inglés).

1.10.1 Tipos de Multitarea

A. Cooperativa

El sistema operativo da el control a un proceso, y es este el que

cede de nuevo el control pasando a estar en espera cuando decide

voluntariamente que no puede seguir su ejecución. Al depender del propio

proceso en ejecución, puede ser problemática, puesto que si el proceso de

usuario se interrumpe y no cede la CPU al sistema operativo, todo el

sistema quedará bloqueado, es decir, sin poder hacer nada. Da lugar

Page 11: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 10

también a latencias muy irregulares y la imposibilidad de tener en cuenta

este esquema en sistemas operativos de tiempo real. Las versiones de

Windows desde la 3 hasta el 95, todas ejecutadas bajo MS.DOS realmente

por lo que no son auténticos Sistemas Operativos sino añadidos sobre el

mismo, son un ejemplo de este tipo de Multitarea.

B. Apropiativa o preferente

El sistema operativo es el encargado de administrar el/los

procesador(es) repartiendo el tiempo de uso entre los procesos que estén

esperando para utilizarlo. Cada proceso utiliza el procesador durante

lapsos cortos, pero el resultado final es virtualmente igual a ejecutarse

todo al mismo tiempo. Ejemplos de sistemas de este tipo serían Unix y

sus derivados (FreeBSD, Linux), VMS y derivados, AmigaOS, Windows

NT.

C. Real

Solo se da en sistemas con multiprocesador; varios procesos se

ejecutan realmente al mismo tiempo en distintos microprocesadores; suele

ser también preferente. Ejemplos de sistemas operativos con esa

capacidad: variantes de Unix, Windows NT, Mac OS X.

2 SISTEMAS OPERATIVOS MULTIPROCESADORES

Un sistema operativo multiproceso se refiere al número de procesadores del sistema,

que es más de uno y éste es capaz de usarlos todos para distribuir su carga de trabajo.

2.1 CARACTERÍSTICAS:

Sistemas multiprocesador con más de una CPU en comunicación cercana.

Cada procesador controla sus propios recursos dedicados.

La contención sobre las tablas del Sistema Operativo es mínima.

El Sistema Operativo administra un grupo de procesadores idénticos, donde

cualquiera puede utilizar cualquier dispositivo de Entrada / Salida y cualquiera puede

referenciar a cualquier unidad de almacenamiento.

Sistemas de fallos controlados por software

Todos los procesadores pueden cooperar en la ejecución de un proceso determinado.

Es posible equilibrar la carga de trabajo más precisamente que en las otras

organizaciones.

Page 12: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 11

El Sistema Operativo administra un grupo de procesadores idénticos, donde

cualquiera puede utilizar cualquier dispositivo de Entrada / Salida y cualquiera puede

referenciar a cualquier unidad de almacenamiento.

El procesador ejecutivo es el responsable (uno sólo) en un momento dado de las tablas

y funciones del sistema; así se evitan los conflictos sobre la información global.

Incremento del rendimiento y la confiabilidad.

La reconfiguración de los dispositivos de Entrada / Salida puede implicar el cambio

de dispositivos a diferentes procesadores con distintos Sistemas Operativos.

2.2 Funciones:

Las capacidades funcionales de los Sistemas Operativos de multiprogramación

y de multiprocesadores incluyen lo siguiente:

Asignación y administración de recursos.

Protección de tablas y conjuntos de datos.

Prevención contra el interbloqueo del sistema.

Terminación anormal.

Equilibrio de cargas de Entrada / Salida.

Equilibrio de carga del procesador.

Reconfiguración.

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 automáticamente. Las organizaciones básicas de los Sistemas

Operativos para multiprocesadores son las siguientes:

Maestro / satélite.

Ejecutivo separado para cada procesador.

Tratamiento simétrico (o anónimo) para todos los procesadores.

2.2.1 Maestro / Satélite:

Es la organización más fácil de implementar. No logra la utilización

óptima del hardware dado que sólo el procesador maestro puede ejecutar el

Sistema Operativo y el procesador satélite sólo puede ejecutar programas del

usuario. Las interrupciones generadas por los procesos en ejecución en los

procesadores satélites que precisan atención del Sistema Operativo deben ser

Page 13: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 12

atendidas por el procesador maestro y por ello pueden generarse largas colas de

requerimientos pendientes.

2.2.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 información global de todo el sistema (por

ejemplo, lista de procesadores conocidos por el Sistema Operativo) a las

que se debe acceder utilizando exclusión mutua.

Es más confiable que la organización maestro / satélite.

Cada procesador controla sus propios recursos dedicados.

La reconfiguración de los dispositivos de Entrada / Salida puede implicar

el cambio de dispositivos a diferentes procesadores con distintos Sistemas

Operativos.

La contención sobre las tablas del Sistema Operativo es mínima.

Los procesadores no cooperan en la ejecución de un proceso individual, que

habrá sido asignado a uno de ellos.

2.2.3 Tratamiento Simétrico:

Es la organización más complicada de implementar y también la más

poderosa y confiable.

El Sistema Operativo administra un grupo de procesadores idénticos, donde

cualquiera puede utilizar cualquier dispositivo de Entrada / Salida y

cualquiera puede referenciar a cualquier unidad de almacenamiento.

El Sistema Operativo precisa código reentrante y exclusión mutua.

Es posible equilibrar la carga de trabajo más precisamente que en las otras

organizaciones.

Adquieren significativa importancia el hardware y el software para

resolución de conflictos.

Todos los procesadores pueden cooperar en la ejecución de un proceso

determinado.

El procesador ejecutivo es el responsable (uno sólo) en un momento dado

de las tablas y funciones del sistema; así se evitan los conflictos sobre la

información global.

2.3 ESTRUCTURA FUNCIONAL:

Page 14: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 13

En términos muy generales podemos caracterizar a los multiprocesadores

atendiendo a 2 criterios:

Un multiprocesador es un único computador que incluye múltiples

procesadores.

Los procesadores se pueden comunicar y cooperar a diferentes niveles para

resolver un problema dado. La comunicación se puede realizar enviando

mensajes de un procesador a otro o compartiendo una memoria común.

Existen algunas similitudes entre los multiprocesadores y los sistemas

multicomputador, ya que ambos están motivados por el mismo objetivo básico: soportan

operaciones concurrentes en el sistema. Sin embargo, existe una distinción importante

entre ellos basada en el grado en que comparte recursos y cooperan en la solución de

problemas. Un SISTEMA MULTICOMPUTADOR consta de varios computadores

autónomos que pueden o no comunicarse entre ellos. Un SISTEMA

MULTIPROCESADOR está controlado por un sistema operativo que proporciona

interacción entre los procesadores y sus programas a nivel de procesos.

A continuación describimos 2 conjuntos diferentes de modelos arquitectónicos

para un multiprocesador.

GRADOS DE

ACOPLAMIENTO

EN

MULTIPROCESAMIENTO

DESCRIPCIÓN

LIGERAMENTE

ACOPLADO

Incluye la conexión de dos o más sistemas

independientes por medio de un enlace de comunicación.

Cada sistema tiene su propio Sistema Operativo y

almacenamiento.

Los sistemas pueden funcionar independientemente y se

comunican cuando sea necesario.

Los sistemas separados pueden acceder a los archivos de

los otros e intercambiar tareas a procesadores menos

cargados.

RÍGIDAMENTE ACOPLADO

Utiliza un solo almacenamiento compartido por varios

procesadores.

Emplea un solo Sistema Operativo que controla todos los

procesadores y el hardware del sistema.

Tabla N° 1: Grados de acoplamiento de multiprocesamiento.

Page 15: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 14

Figura N° 1: Multiprocesamiento ligeramente acoplado.

Figura N° 2: Multiprocesamiento rígidamente acoplado.

2.4 VENTAJAS:

2.4.1 Rendimiento y potencia de cálculo

Dedicando múltiples procesadores a la ejecución de una aplicación es

posible obtener ganancias significativas de velocidad. Los problemas que

suponen las interacciones más extensas o más frecuentes entre procesadores

pueden resolverse más rápidamente que en un sistema distribuido ya que el

ancho de banda de comunicación entre procesadores es más elevado.

2.4.2 Tolerancia a fallos:

La redundancia inherente a los multiprocesadores puede emplearse para

aumentar la disponibilidad y eliminar puntos de fallo.

Page 16: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 15

2.4.3 Flexibilidad

Un sistema multiprocesador podría tener capacidad para reconfigurarse

dinámicamente y ajustarse de tal modo que optimice diferentes objetivos para

diferentes aplicaciones, tales como aumento de productividad, ganancia de

velocidad de las aplicaciones o incluso ciertos aspectos de tolerancia a fallos.

2.4.4 Crecimiento Modular

Hasta cierto punto, un diseño modular de un sistema puede adaptarse a

las necesidades de una instalación específica añadiéndole exactamente el tipo de

componente que más probablemente alivie un cuello de botella importante, tal

como procesadores, memorias o dispositivos de E/S.

2.4.5 Especialización Funcional

Se puede añadir procesadores comerciales con relaciones

coste/rendimiento varios órdenes de magnitud inferiores a la de los

supercomputadores pueden estructurase en multiprocesadores con una relación

coste/ efectividad adecuada a un amplio rango de aplicaciones.

3 RECUPERACIÓN DE ERRORES

3.1 RUTINAS DE MANEJO DE ERRORES:

Ocupan gran parte de los compiladores.

Objetivos:

- Informar con claridad y exactitud.

- Recuperación rápida (recuperación no es corrección)

- No debe retrasar el procesamiento de programas sin errores.

- No debe generar errores en cascada, como por ejemplo, eliminar

identificador.

Acciones posibles:

- Detectar errores.

- Informar de los errores.

- Recuperación ante los errores.

- Corregir errores.

Es más rápido re-compilar que leer el siguiente error.

Page 17: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 16

3.2 TIPOS DE ERRORES

Léxicos: escribir mal un identificador, número, etc.

Sintácticos: no poner un “;” al final de una sentencia, o tener una estructura

incorrecta.

Semánticos: multiplicar por una variable booleana.

Lógicos: bucles infinitos

3.3 HERRAMIENTAS PARA DISMINUIR EL NÚMERO DE ERRORES

Existen herramientas con diferentes funcionalidades que permiten la detección de

errores y a la vez solucionarlos, permitiendo que la secuencia siga correctamente.

Dependiendo del tipo de error, las herramientas deben tener ciertas características:

Léxicos: herramientas que completen palabras que detecten que están

incompletas.

Sintácticos: herramientas de edición basados en sintaxis.

Semánticos: herramienta que se encargue de buscar funciones/clases e indicar

los tipos especificados.

3.4 RECUPERACIÓN DE ERRORES SINTÁCTICOS

Ejemplo 1: Análisis Descendente

Gramática:

S::= a A S | b A

A::= c A | d

Tabla:

Entrada: a b …

Estado del análisis cuando detecta el error:

Pila de Entrada

$S a b …

$SAa a b …

$SA b …

Error: Se ha encontrado un b, cuando se esperaba un c o d

Podría eliminarse

ΣN a b c d

S aAS bA

A cA d

Page 18: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 17

3.5 ERRORES EN ANÁLISIS LR

Ejemplo 2: Análisis Descendente

Gramática

1. S:: = A A

2. A:: = x A

3. A:: = y

Entrada: xy

acción ir a

x y $ S A

0 d3 d4 1 2

1 acpt

2 d3 d4 5

3 r3 d4 6 6

4 r3 r3 r3 7

5 r1 8

6 r2 r2 r2

Estado del análisis cuando detecta el error:

Pila Entrada

0x3A6 $

0A2 $

0A2 $

Se podría añadir un token.

3.6 ESTRATEGIAS DE RECUPERACIÓN

No hay una estrategia de aceptación universal, es más, abundan técnicas heurísticas y ad

hoc.

Existe un principio general de recuperación:

Minimizar tokens eliminados/modificados.

Dejar el analizador listo para continuar procesando.

Las principales estrategias de recuperación son:

Modelo de pánico/alarma

Es el método más sencillo.

Lo pueden usar la mayoría de los AS.

No entra en lazos infinitos

Page 19: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 18

Adecuado para lenguajes en los que son raros múltiples errores en la misma

proposición

Funcionamiento general: El AS desecha símbolos de la entrada, uno por

uno, hasta encontrar un token de sincronización para continuar.

- Delimitadores: punto y coma, palabras clave como end.

Su mayor inconveniente es que podría omitirse una gran cantidad de

símbolos sin analizar.

Nivel de frase

Correcciones en la cadena de entrada.

Funcionamiento: Una vez descubierto el error, se corrige (localmente) la

entrada por un prefijo que permite continuar el AS.

- Sustituir una coma por punto y coma, insertar un punto y coma, etc.

Inconvenientes:

- Dificultad para resolver situaciones en las que el error se produjo

antes de la detección de éste.

- Pueden producir lazos infinitos (evitar insertar símbolos antes del

símbolo actual de entrada).

Producción de error

Funcionamiento:

- Conocidos los errores más comunes, se extiende la gramática con

producciones de error.

- Reconocido el error, se dan diagnósticos precisos de la construcción

errónea.

Inconvenientes

- Dificultad para ir más allá de los casos particulares más frecuentes.

- Generación de ambigüedades

Corrección Global

Algoritmos que eligen una secuencia mínima de cambios para obtener una

corrección global de menor costo.

Su único inconveniente es que las técnicas son costosas en tiempo y en

espacio: métricas de distancia, búsqueda, optimización, etc.

Page 20: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 19

4 MULTIPROCESAMIENTO SIMETRICO

A medida que aumenta la siempre creciente demanda de mayores prestaciones, y

conforme el coste de los microprocesadores se reduce, los fabricantes han introducido los

sistemas SMP. El término SMP, sistema multiprocesador simétrico, se refiere a la arquitectura

hardware del sistema multiprocesador y al comportamiento del sistema operativo que utiliza

dicha arquitectura. Un SMP es un computador con las siguientes características:

1) Tiene dos o más procesadores similares de capacidades comparables.

2) Los procesadores comparten la memoria principal y la E/S, y están interconectados

mediante un bus u otro tipo de sistema de interconexión, de manera que el tiempo de

acceso a memoria es aproximadamente el mismo para todos los procesadores.

3) Todos los procesadores comparten los dispositivos de E/S, pero pueden hacerlo bien a

través de los mismos canales, o bien a través de otros caminos de acceso al mismo

dispositivo.

4) Todos los procesadores pueden desempeñar las mismas funciones (de ahí el término

simétrico).

5) El sistema está controlado por un sistema operativo que posibilita la interacción entre

los procesadores y sus programas.

La última de las características anteriores apunta a una de las diferencias de los SMP

respecto a los sistemas multiprocesadores débilmente acoplados, como son los ‘clusters’. En

estos, la unidad de interacción es normalmente un mensaje o un fichero completo. Sin embargo,

en un SMP, la interacción se puede producir a través de elementos de datos individuales, y puede

existir un elevado nivel de cooperación entre procesadores. De ahí que esten clasificados como

sistemas fuertemente acoplados.

A continuación se relacionan las ventajas potenciales de un SMP respecto a una

arquitectura monoprocesador:

Prestaciones: Si el trabajo a realizar por un computador puede organizarse de

forma que diferentes partes puedan realizarse en paralelo, concurrentemente,

entonces un sistema con varios procesadores proporcionará mejores prestaciones

que uno con un sólo procesador del mismo tipo.

Disponibilidad: Como en un SMP todos los procesadores pueden realizar las

mismas funciones, un fallo en un procesador no hará que el computador se detenga.

Page 21: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 20

Crecimiento incremental: Se pueden aumentar las prestaciones del sistema

añadiendo más procesadores.

Escalado: Los fabricantes pueden ofrecer una gama de productos con diferentes

precios y prestaciones, en función del número de procesadores que configuran el

sistema.

Sin embargo, los beneficios anteriores no son beneficios garantizados, sino potenciales.

Por su parte, el sistema operativo debe proporcionar herramientas y funciones que permitan

explotar el paralelismo del programa y proyectarlo sobre los diferentes procesadores de un SMP.

Los sistemas SMP poseen una característica muy atractiva, y es que la existencia de

varios procesadores es transparente al usuario. Es el sistema operativo el que posibilita la

sincronización entre los procesadores, y la planificación de los hilos o de los procesos, puesto

que es el responsable de asignarlos a los distintos procesadores.

4.1 VENTAJAS

1. Este tipo de sistemas tienden a ser más eficientes porque las tareas tanto del sistema

operativo como de los usuarios pueden ser distribuidas en forma balanceada a todos

los procesadores.

2. El tiempo de inactividad de un procesador mientras otro está sobre trabajando es

mínimo.

3. Si un procesador falla, es posible que sus tareas sean repartidas entre los demás y

no es necesario que todo el sistema sea parado o que falle el sistema.

4. La portabilidad del sistema es mayor debido a que no sigue la arquitectura de

master/Slave.

5. Los sistemas SMP permiten que cualquier procesador trabaje en cualquier tarea sin

importar su localización en memoria.

6. La memoria globalmente compartida también vuelve fácil la sincronización de los

datos.

7. Muchos procesos pueden ejecutarse simultáneamente (N procesos si hay N CPU)

sin que haya deterioro del desempeño.

8. Permite compartir dinámicamente trabajos y recursos entre los distintos

procesadores, y puede reducir la varianza entre los sistemas.

Page 22: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 21

4.2 DESVENTAJAS

1. Conforme se añaden procesadores, el tráfico en el bus de memoria se satura.

2. Al manejarse ocho o más procesadores, el cuello de botella se vuelve crítico,

inclusive para los mejores diseños, por lo que SMP es considerada

una tecnología poco escalable.

3. Los sistemas operativos que soportan este tipo de multiprocesamiento son más

difíciles de diseñar.

4. Dado que las CPU son independientes, una podría estar ociosa mientras otra está

sobrecargada, con la consiguiente ineficiencia.

Page 23: Administración Del Procesador

SISTEMAS OPERATIVOS Ingeniería de Sistemas

Universidad Nacional de Trujillo | 22

BIBLIOGRAFIA Procesos y Administración del procesador:

http://exa.unne.edu.ar/informatica/SO/SO2.htm (Consultado el 22 de julio)

Sistemas Operativos de Multiprocesador:

http://somultiprocesador-y-

distribuidos.wikispaces.com/Sistemas+Operativos+de+Multiprocesador (Consultado el 22

de julio)

PDF: Sistemas Operativos. Autor: Mg. David Luis la Red Martínez.

http://sistop.gwolf.org/biblio/Sistemas_Operativos_-_Luis_La_Red_Martinez.pdf

(Consultado el 22 de julio)

Recuperación de Errores

http://www.giaa.inf.uc3m.es/docencia/II/PL1/PL1erroresSintactico.pdf (Consultado el 22

de julio)

http://slideplayer.es/slide/3922895/ (Consultado el 22 de julio)

Multiprocesamiento Simétrico

http://ocw.uv.es/ingenieria-y-arquitectura/sistemas-electronicos-para-el-tratamiento-de-la-

informacion/seti_materiales/seti10_ocw.pdf (Consultado el 19 de julio)

https://eciencia.urjc.es/bitstream/handle/10115/5245/tesis_pablo_huerta.pdf?sequence=1

(Consultado el 19 de julio)