martes, 12 de julio de 2011

PRACTICA GRUPO DE TRABAJO

Materia pata realizar la  práctica de grupo de trabajo:
  • Router
  • Cable de red
  • Switch
  • Pc (por equip)
Paso 1
Conectar las Pc en el router o  en el switch, con el cable de red.

Paso 2
Nos dirigimos a centro de  redes nos vamos a cambiar  la configuración del adaptador, nos dirigimos a conexión de área local nos vamos a estado esto indica si hay conexión
 









Paso 3

Ya dentro de configuración del adaptador, nos dirigimos a conexión de área local damos un clic en propiedades nos vamos protocolo versión 4  el damos un clic y nos vamos a propiedades aparece un ventana para ingresar la  dirección IP peo esta, nos vamos lo colocamos en modo automático.



Paso 4
Realizamos  un ping y un ipcongif para ver si tiene comunicación nos vamos a  símbol de sistema. Aparece cuanto enviados y cuantos recibidos.
 
Paso 5
Para accionarle un nombre al grupo de trabajo nos vamos a inicio, equipo damos un clic en botón izquierdo, nos vamos a propiedades, luego nos dirigimos a cambiar configuración, aparece un ventana  de propiedad de sistema nos dirigimos a cambiar grupo ingresamos el nombre del grupo de trabajo que va ser 262M damos en aplicar y aceptar y  te sale un mensaje de reiniciar maquina damos aceptar.
 Paso 6
Ya terminado la configuración nos vamos a red de la Pc y observamos cuanto equipo que está conectado en el grupo de trabajo.




PRACTICA DE PONCHADO DE CABLE

PONCHADO DE CABLE
MATERIALES

- Cable par trenzado UTP categoría 5

 
 
  -Un par de Conectores RJ-45   

 
-Jaz
-Pinzas para ponchar

 
-Probador de cables

 
 PROCEDIMIENTOS

Para ponchar o cable (UTP), se deben tener en cuenta aspectos importantes como: 
 
Lo primero que debemos hacer es definir el tipo de cable que se construirá de acuerdo a su utilización; ya que existen dos clases de cable DIRECTO o CRUZADO

 
  • Un cable (UTP) es DIRECTO, cuando los estándares son iguales para cada extremo de este.
  • Un cable (UTP) es CRUZADO, cuando los estándares son diferentes en cada extremo del mismo.
Estandares para los cables utp
Proceso para ponchar un cable utp
1Tomar el cable UTP y con la ponchadora quitarle la chaqueta no siendo este mayor de dos (2) cms.

 

 
2 .Quitar el revestimiento del cable  y organiza el cable para cortar y organizar .

3.Organizar los cables
 
 Se debe comenzar a organizar los cables de acuerdo al tipo escogido, organizando los
 cuidadosamente, teniendo en cuenta que queden derechos y en el orden correcto según el estándar. Después de tener los cables en el orden correcto, proseguimos a cortarlo con la ponchadora de tal manera que al introducirlos al RJ45 todos queden alineados

 
 
 4.  Cortar el cable para alinearlo
Al tener el cable cortado y alineado correctamente, proseguimos a introducirlo  el cable  en el  conector RJ45, proceso que se debe realizar con cuidado para que los cables internos no se desordenen. Y  introduce el cable ponchar el cable utp.

 
 


5.Ya revisado de que las puntas de los cables internos hayan todas llegado al interior del conector RJ45, se toma la ponchadora y ubicamos el cable en el espacio de ponchar. Se presiona de manera fuerte hasta que la ponchadora misma indica en que momento el cable ha quedado ponchado.Se puede apreciar que el cable utp ha quedado listo.
 

 
6.Para probar si el cable Utp ha quedado bien ponchado, se utiliza un probador de cables; pero si no se tiene a la mano se puede hacer la prueba conectando de un computador a un puerto Ethernet

 
 7.Para la los Jaz se hace el mismo procedimiento que anterior vas a colocar el cable en Jaz  es cogiendo un estandarización vas  a ir colocando el cable.

 
 
 8. Cable listo para usar

 

 

lunes, 11 de julio de 2011

SISTEMA OPERATIVO 2

UNIDAD I
LOS SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS.

 1.1         SISTEMAS DISTRIBUIDOS

Un sistema distribuido es un conjunto de computadoras independientes que se presenta a los usuarios como un sistema único.

En el sistema distribuido cualquier computadora puede tener acceso a el software o hardware y el centralizado solo se encuentra en una computadora a la cual se le pide en servicio.



1.1.1             Ventajas y Desventajas de un sistema distribuido contra un sistema centralizado

Distribuidos
 Ventajas

  • Tiene procesadores mas poderosos y menos costosos
  • Desarrollo de estaciones con mas capacidad
  • Las estaciones satisfacen las necesidades de los usuarios
  • Uso de nuevas interfaces
Desventajas

  • Requerimientos de mayores controles de procesamiento
  • Velocidad de programación de información (muy lenta)
  • Mayores controles de acceso
Centralizado
  Ventajas
  • Mayor aprovechamiento de recursos
  Desventajas
  • El software es mucho mas complejo
Ventajas de los sistemas distribuidos sobre los centralizados
  • Economía
  • Velocidad global de la instalación
  • Solución a problemas, pasan por el empleo de computadoras físicamente distantes
  • La seguridad ante la falla de un CPU puede reorganizarse y seguir operando correctamente pero con menos precisión
  • Un  sistema distribuido permite la aportación de nuevos recursos de computo a fin de elevar su potencial global y el crecimiento es muy util a las empresas y en computadora normal soporta continuamente un aumento de la carga de trabajo debido al crecimiento de la empresa y llegara el momento en que deberá ser sustituida e invertir en una nueva computadora.
1.1.2 Modelo Cliente Servidor
Arquitectura Cliente- Servidor                                           
Una arquitectura es un conjunto de reglas, definiciones, términos y modelos. Que se emplea para producir la arquitectura cliente-servidor agrupa conjuntos de elementos que efectúan procesos distribuidos y computo operativo.

Beneficios
·         Mayor aprovechamiento de la potencia de comput
·         Reduce el trafico en la red
·         Opera bajo sistemas abierto
·         Permite el uso de interfaces graficas variadas
Cliente
Conjunto de software y hardware que invoca los servicios de uno o varios servidores.

1.1.3 Características Hardware Sistemas Distribuidos
                                                                        
Debemos considerar las diversas formas en que es posible interconectar varias computadoras o bien varias CPUS.
Flynn propuso cuatro diferentes categorías en que se podrían clasificar lo sistemas hardware  existen de acuerdo a dos parámetros numero de flujo de instrucciones y números de flujos de datos.
·         SISD  Un flujo de instrucción con flujo de datos
·         SIMD Un flujo de instrucción varios flujos de datos
·         MISD Varios flujos de instrucciones un flujo de datos (no se usa)
·         MIMD Varios flujos de instrucciones y varios flujos de datos
Dentro de esta categoría se pueden encontrar dos tipos distintos de la forma en que se pueden interconectar el hardware. Es así, como tenemos los siguientes grandes grupos
·         MULTIPROCESADORES
·         MULTICOMPUTADORES
Cada uno de estos tipos permite una interconexión de su componente tipo bus y tipo conmuta. Desde el punto de vista de las velocidades de comunicación que pueden alcanzar estos dos grandes grupos se tienen dos conceptos asociados.
Sistemas fuertemente acoplados
Sistemas débilmente acoplados
·         SFA   Tasa de transmisión alta, retraso de mensajes alto (mensajes cortos)
·         SDA   retraso de mensajes entre maquines grande y tasa de transmisión baja
MULTIPROCESADOR
Los multiprocesadores corresponden a un conjunto de CPUS conectadas entres si que utilizan un espacio de direccionamiento virtual común.
MULTIPROCESADORES CON CONEXIÓN DE BUS
En este caso los CPUS están interconectadas entre sí, mediante un bus. Cada vez que una CPU quiere realizar un acceso de lectura o escritura debe acceder al bus.
MULTIPROCESADORES CON CONEXIÓN CONMUTA
En este caso la memoria se divide en diversos bancos y las CPUS se interconectan con ellas no mediante un canal tipo bus, si no de otra manera.
MULTICOMPUTADORES
Esto se refiere a sistemas de computa con memoria distribuida, en esta caso cada computadora pasee su propia memoria local.

1.1.4 Características Software Sistemas Distribuidos
TRANSPARENCIA                                                               
Se define como la ocultación al usuario y al programador de aplicaciones de la superación de los componentes de un sistema distribuido.
TOLERANCIA A FALLOS
Esto se basa en dos Curt iones complementarías entre si. Redundancia hardware y recuperación del software.
COMPARTICIÓN DE RECURSOS
El termino “RECURSO” es bastante abstracto pero es el que mejor caracteriza a el abanico de entidades que pueden compartirse en un sistema distribuido.
APERTURA (Openeness)
Un sistema puede ser abierto o cerrado con respecto a extensiones hardware o con respecto a las extensiones software.
CONCURRENCIA

Cuando existen varios procesos en una única maquina decimos que se están ejecutando.
1.1.5 Direccionamiento Lógico Físico Sistemas Distribuidos
STUB
El stup se implementa en el cliente como una rutina de biblioteca
ESPECIFICACIÓN DE INTERFAZ
El servidor RPC puede ser considerado como un modulo u objeto que implementa operaciones sobre datos ocultos y da a conocer estas operaciones a los clientes mediante lo que se denomina interfase constituida por las declaraciones de los métodos que soporta.
El primer paso es definir la interfaz es decir el conjunto de los prototipos de los procedimientos de servicios mediante un lenguaje determinado de interfaz, un compilador especial toma como estrada el fichero escrito en el lenguaje de interfaz y como salida genera el código objeto de los procedimientos que constituyen el stups del cliente, por una parte y el stup servidor por la otra, el programa cliente se enlaza con estos procedimientos objetos para generar el ejecutable, en cuanto al servidor los procedimientos de servicio escritos por el compilador se compilan previamente al lenguaje objeto y se enlazan con los procedimientos de stup en los que figura el procedimiento principal del servidor
1.1.6         Concepto Características Sor
·         Cada elemento de cómputo tiene su propia memoria y su propio sistema operativo.
·         Control de recursos locales y remotos.
·         Sistemas abiertos (facilidades de cambio y crecimiento).
·         No existe una plataforma estándar (unix, NT, Intel etc…).
·         Medios de comunicación (Redes, protocolos, dispositivos etc…).
·         Capacidad de procesamiento en paralelo.
·         Dispersión y parcialidad.
Factores que an afectado el desarrollo del sistema distribuido
·         Avances tecnológicos
·         Nuevos requerimientos
·         Globalización
·         Aspectos externos (culturales, políticos y económicos)
·         Integración
    
1.2         Concepto Características del Sod
Características
·         El cliente pide servicios a un nodo denominado servidor
·         Detecta e intersecta peticiones de otras aplicaciones y puede redireccionarlas
·         Dedicado a la sección de usuario
·         El método mas común por el que se solicitan los servicios es através de RPC (llamadas a procedimientos remotos)
FUNCIONES COMUNES DEL CLIENTE
·         Mantener y procesar todo el dialogo con el usuario
·         Manejo de pantallas
·         Menús e interpretación de comandos
·         Entrada de datos y validación
·         Procesamiento de ayuda
·         Recuperación de errores
RPC Funcionamiento
 Cliente:
-      Proceso realiza llamada a función
-      Llamada empaqueta ID de función y argumentos en mensaje y los envía a otro proc
-      Queda a la espera del resultado
Servidor:
  •    Recibe mensajes con id de función y argumentos
  •       Se invoca función en el servidor
  •    Resultado de la función se empaqueta en mensaje que se retransmite al clien
Objetivo; Acercar la semántica de las llamadas a procedimientos convencional a un entorno distribuido (transparencia)
---------------------------------------------------------------------------------------------------
UNIDAD II
COMUNICACIÓN EN LOS SISTEMAS OPERATIVOS DISTRIBUIDOS
2.1 Comunicación
La comunicación entre procesos en sistemas con un único procesador se lleva a cabo mediante el uso de memoria compartida entre los procesos. En los sistemas distribuidos, al no haber conexión física entre las distintas memorias de los equipos, la comunicación se realiza mediante la transferencia de mensajes.
2.1.1 Comunicación Cliente-Servidor
Sockets
Es un mecanismo de comunicación, Permite a los sistemas cliente/servidor ser desarrollados Localmente en una sola máquina A través de redes. Funciones tales como impresión, utilerías de red, tales como rlogin y ftp, usualmente usan sockets para comunicarse.
Socket designa un concepto abstracto por el cual dos programas (posiblemente situados en computadoras distintas) pueden intercambiarse cualquier flujo de datos, generalmente de manera fiable y ordenada.
Explicación detallada
Para que dos programas puedan comunicarse entre sí es necesario que se cumplan ciertos requisitos:
  • Que un programa sea capaz de localizar al otro.
  • Que ambos programas sean capaces de intercambiarse cualquier secuencia de octetos, es decir, datos relevantes a su finalidad.
  • Para ello son necesarios los tres recursos que originan el concepto de socket:
  • Un protocolo de comunicaciones, que permite el intercambio de octetos.
  • Una dirección del Protocolo de Red (Dirección IP, si se utiliza el Protocolo TCP/IP), que identifica una computadora.
   2.1.2 Comunicación RPC
Otro paso en el diseño de un sistema operativo distribuido plantea las llamadas a procedimientos remotos o RPCs. Los RPC amplían la llamada local a procedimientos, y los generalizan a una llamada a un procedimiento localizado en cualquier lugar de todo el sistema distribuido. En un sistema distribuido no se debería distinguir entre llamadas locales y RPCs, lo que favorece en gran medida la transparencia del sistema.
Una de las dificultades más evidentes a las que se enfrenta el RPC es el formato de los parámetros de los procedimientos. Un ejemplo es la posibilidad de que en un sistema distribuido formado por diferentes tipos de ordenadores, un ordenador con formato little endian llamara a un procedimiento de otro ordenador con formato big endian, etc. Este problema se podría solucionar si tenemos en cuenta que ambos programas conocen el tipo de datos de los parámetros, o estableciendo un estándar en el formato de los parámetros, de forma que sea usado de forma única.
2.1.3 Comunicación en grupo
La comunicación en grupo tiene que permitir la definición de grupos, así como características propias de los grupos, como la distinción entre grupos abiertos o que permiten el acceso y cerrados que lo limitan, o como la distinción del tipo de jerarquía dentro del grupo. Igualmente, los grupos han de tener operaciones relacionadas con su manejo, como la creación o modificación.
2.1.4 Tolerancia a fallos
Que el sistema de archivos sea tolerante a fallos implica que el sistema debe guardar varias copias del mismo archivo en distintos ordenadores para garantizar la disponibilidad en caso de fallo del servidor original. Además, se ha de aplicar un algoritmo que nos permita mantener todas las copias actualizadas de forma consistente, o un método alternativo que sólo nos permita acceder al archivo actualizado, como invalidar el resto de copias cuando en cualquiera de ellas se vaya a realizar una operación de escritura. El uso de memorias cache para agilizar el acceso a los archivos también es recomendable, pero este caso requiere analizar con especial atención la consistencia del sistema.
2.2 SINCRONIZACIÓN
El modelo cliente-servidor basa la comunicación en una simplificación del modelo OSI. Las siete capas que proporciona producen un desaprovechamiento de la velocidad de transferencia de la red, con lo que sólo se usarán tres capas: física (1), enlace de datos (2) y solicitud/respuesta (5). Las transferencias se basan en el protocolo solicitud/respuesta y se elimina la necesidad de conexión.
 2.2.1 Relojes físicos
El algoritmo de Lamport proporciona un orden de eventos sin ambigüedades, pero: Los valores de tiempo asignados a los eventos no tienen porqué ser cercanos a los tiempos reales en los que ocurren.
 2.2.2 Relojes Lógicos
 Las computadoras poseen un circuito para el registro del tiempo conocido como dispositivo reloj.
   Es un cronómetro consistente en un cristal de cuarzo de precisión sometido a una tensión eléctrica que:
  • Oscila con una frecuencia bien definida que depende de:
    • La forma en que se corte el cristal.
    • El tipo de cristal.
    • La magnitud de la tensión.
  • A cada cristal se le asocian dos registros:
    • Registro contador.
    • Registro mantenedor.
  • Cada oscilación del cristal decrementa en 1” al contador.
  • Cuando el contador llega a “0”:
    • Se genera una interrupción.
    • El contador se vuelve a cargar mediante el registro mantenedor.
  • Se puede programar un cronómetro para que genere una interrupción “x” veces por segundo.
  • Cada interrupción se denomina marca de reloj.
  • Para una computadora y un reloj:  
  • No interesan pequeños desfasajes del reloj porque:
    • Todos los procesos de la máquina usan el mismo reloj y tendrán consistencia interna.
    • Importan los tiempos relativos.
Para varias computadoras con sus respectivos relojes:
  • Es imposible garantizar que los cristales de computadoras distintas oscilen con la misma frecuencia.
  • Habrá una pérdida de sincronía en los relojes (de software), es decir que tendrán valores distintos al ser leídos.
2.2.3 Uso de la sincronización
  La Oficina Internacional de la Hora en París (BIH) recibe las indicaciones de cerca de 50 relojes atómicos en el mundo y calcula el tiempo atómico internacional (TAI).
Como consecuencia de que el día solar promedio (DSP) es cada vez mayor, un día TAI es 3 mseg menor que un DSP.
La BIH introduce segundos de salto para hacer las correcciones necesarias para que permanezcan en fase:
El sistema de tiempo basado en los segundos TAI.
El movimiento aparente del sol.
Surge el tiempo coordenado universal (UTC).
Se deben conocer con precisión la posición relativa del emisor y del receptor: Se debe compensar el retraso de propagación de la señal.
 Si la señal se recibe por módem también se debe compensar por la ruta de la señal y la velocidad del módem.
Se dificulta la obtención del tiempo con una precisión extremadamente alta.
  2.3 NOMINACIÓN
Correspondencia entre objetos de datos lógicos y físicos. Por ejemplo, los usuarios tratan con objetos de datos lógicos representados por nombre de archivos, mientras que el sistema manipula bloques de datos físicos almacenados en las pistas de los discos
Generalmente un usuario se refiere a un archivo utilizando un nombre, el cual se     transforma en un identificador numérico de bajo nivel, que a su vez se corresponde con bloques en disco. Esta correspondencia multinivel ofrece a los usuarios la abstracción de un archivo, que oculta los detalles de cómo y donde se almacena el archivo en disco.
  Si se extiende un poco mas el tratamiento de los archivos como abstracciones, llegamos a la posibilidad de replicas de archivos. Dado un nombre de archivo, la correspondencia devuelve un conjunto de posiciones de las replicas de este archivo. En esta abstracción se ocultan tanto la experiencia de copias como su ubicación.
 Esquema de nominación
Hay tres enfoques principales para los esquemas de nominación.En el enfoque más sencillo, los archivos se nombran con una combinación del nombre de su anfitrión y su nombre local, lo que garantiza un nombre único dentro de todo el sistema.
 El segundo enfoque popularizado por el sistema de archivos de red (NFS, Network File System) de sun, ofrece una forma de unir directorios remotos a directorios locales, lo que da la apariencia a un árbol de directorios coherentes.
El tercer enfoque es la estructura mas compleja y difícil de mantener en la NFS, ya que cualquier directorio se puede unir a cualquier árbol de direcciones locales y la jerarquía resultante puede estar poco estructurada.
Nominación y Transparencia
Existen dos conceptos que hay que distinguir en relación con la correspondencia de nombres en un SD:
 Transparencia de Nominación: El nombre de archivo no revela ningún indicio sobre de la ubicación del almacenamiento físico del archivo.
 Independencia de Ubicación: No es necesario modificar el nombre de un archivo cuando cambia su ubicación en el almacenamiento físico.

 2.3.1 Características y su estructura
 Los  usuarios tratan con objetos de datos lógicos representados por nombre de archivos, mientras que el sistema manipula bloques de datos físicos almacenados en las pistas de los discos.
}  Generalmente un usuario se refiere a un archivo utilizando un nombre, el cual se transforma en un identificador numérico de bajo nivel, que a su vez se corresponde con bloques en disco. Esta correspondencia multinivel ofrece a los usuarios la abstracción de un archivo, que oculta los detalles de cómo y donde se almacena el archivo en disco.
}   Si se extiende un poco mas el tratamiento de los archivos como abstracciones, llegamos a la posibilidad de replicas de archivos. Dado un nombre de archivo, la correspondencia devuelve un conjunto de posiciones de las replicas de este archivo. En esta abstracción se ocultan tanto la experiencia de copias como su ubicación.
 2.3.2 Tipos de Nombres Normalizacion
  Hay tres enfoques principales para los esquemas de nominación.
 }   En el enfoque más sencillo, los archivos se nombran con una combinación del nombre de su anfitrión y su nombre local, lo que garantiza un nombre único dentro de todo el sistema.
}  El segundo enfoque popularizado por el sistema de archivos de red (NFS, Network File System) de sun, ofrece una forma de unir directorios remotos a directorios locales, lo que da la apariencia a un árbol de directorios coherentes.
}  El tercer enfoque es la estructura mas compleja y difícil de mantener en la NFS, ya que cualquier directorio se puede unir a cualquier árbol de direcciones locales y la jerarquía resultante puede estar poco estructurada.

 2.3.3 Resolución y distribución
  Existen dos conceptos que hay que distinguir en relación con al correspondencia de nombres en un SD:
}  Transparencia de Nominación: El nombre de archivo no revela ningún indicio sobre de la ubicación del almacenamiento físico del archivo.
}  Independencia de Ubicación: No es necesario modificar el nombre de un archivo cuando cambia su ubicación en el almacenamiento físico
    2.3.4 Servidores y agentes de nombre
Para implantar una nominación transparente se requiere un mecanismo para correspondencia entre un nombre de archivo y la ubicación asociada. Para que esta correspondencia sea manejable, hay que agrupar conjuntos de archivos en unidades componentes y proporcionar la correspondencia según las unidades componentes, no por archivos.
    2.3.5 Mapas de direcciones
}  Existe una coherencia directa entre los accesos y el tráfico que va y viene del servidor. De notar que se presenta una analogía directa entre los métodos de acceso a disco en los sistemas de archivos convencionales y el método de servicio remoto en un SD. El método de servicio análogo efectúa un acceso al disco para cada solicitud de acceso.
}  Una manera de lograr esta transferencia es a través del método de servicio remoto, con el cual se entregan al servidor las solicitudes de acceso, la maquina servidora lleva a cabo dichos accesos y los usuarios se devuelven al usuar
 2.3.6 Mapas de rutas
En un sistema distribuido, el usar un nombre para los propósitos de la comunicación no es bastante. Porque los procesos en ejecución se comunican desde diferentes computadoras. El conocimiento de su localización actual es necesario. Esto conduce a los términos básicos en esta área: un nombre, una dirección, y una ruta. El significado de estos términos se puede explicar usando las definiciones intuitivas siguientes (Shoch 1978): 
  1. El nombre de un objeto (por ejemplo, recursos, servidor) específico que el proceso busca (al qué desea tener acceso)
  2. Una dirección especifica donde ésta
  3. Una ruta especifica cómo esta ahí
  Cada uno de estos identificadores representa un atascamiento más apretado de la información:
Los nombres son mapeados en direcciones. Este mapeo es necesario para la aplicación en ejecución, puesto que la sintaxis y la semántica de nombres dependen enteramente de qué tipos de entidades se están nombrando y también qué uso se está haciendo de ellas; y 2. Las direcciones son mapeadas en los routeadore

2.3.7 Modelo de Terry
Los mensajes remitentes entre los procesos y objetos soportados por un sistema operativo precisa la presentación para el sistema operativo de los nombres de los objetos que los procesos quieren ganar acceso a. El problema es cómo localizar objetos nombrados. Esto está directamente conectado a la gerencia del espacio de nombre y las estructuras de la facilidad de nombramiento.
  Como ha visto, acto de servidores de nombre como agentes obligatorios distribuidos que amarran el nombre de un objeto para una cierta cantidad de sus propiedades, incluyendo la posición del objeto. Algunos servidores de nombre pueden almacenar información acerca de los objetos particulares. Tales servidores de nombre se llaman las autoridades que nombra o servidores autoritarios de nombre para eso objetan. El problema es cómo distribuir servidores de nombre, esto es, que de las estructuras de una facilidad de nombramiento es el mejor.
 Los criterios diferentes pueden ser tomados en cuenta al desarrollar la facilidad de nombramiento para sistemas de cómputo distribuidos. En la etapa de análisis de la estructura de facilidad de nombramiento, usaremos la mayor parte de importante de esos criterios, a saber actuación. Este criterio es importante para un ambiente distribuido porque que hay usualmente un número de redes interconectadas (lo mismo es cierto en caso de una red de área local conectando un número grande de computadoras personales y / o los puestos de trabajo, y los servidores diferentes), lo cual insinúa que el costo de comunicación entre clientes y servidores de nombre es el cuello de botella principal en localizar recursos remotos. En este caso, la actuación de averiguaciones del servidor de nombre es dominada por el número de servidores de nombre que deben ser a los que se ganó acceso y el costo de ganar acceso a esos los servidores de nombre.
-------------------------------------------------------------------------------------------------------------------
UNIDAD III
PROCESOS Y PROCESADORES EN SISTEMAS DISTRIBUIDOS
 3.1 Procesos Y Procesadores Conceptos Básicos
 Un procesos son todos o todas las actividades o programas compilados y desuerados que se encuentran guardados en una memoria.
Un procesador es el dispositivo de hardware que se encarga de ejecutar los procesos.


3.2 Hilos Y Multihilos
Los hilos son mini procesos. Cada hilo se ejecuta en forma estrictamente secuencial y tiene su propio contador de programa una pila para llevar un registro de su posición.
Los hilos comparten CPU de la misma forma que lo hacen los procesos secuencialmente y tiempo compartido.
Solo en un multiprocesador se pueden ejecutar realmente en paralelo. Los hilos pueden crear hilos hijos, mientras un hilo esta bloqueado se puede ejecutar otra fila del mismo proceso en los distintos hilos de un proceso comparten un espacio de direcciones, y los hilos pueden tener distintos estados (en ejecución, bloqueado, listo y terminación).
Muchos sistemas operativos distribuidos soportan múltiples hilos de control dentro de un proceso que comparten un único espacio de direcciones que ejecutan casi paralelamente como si fueran procesos independientes.
Por ejemplo:
Un servidor de archivos que debe bloquearse ocasionalmente en espera de acceso al disco si tiene hilos de control podría ejecutar un segundo hilo mientras el primero espera el resultado seria mejor rendimiento y desempeño.
 3.3 Modelos De Procesadores
En un sistema distribuido con varios procesadores un aspecto fundamental en el diseño es como se utiliza a los procesadores que se pueden organizar de varias formas:
  • De estación de trabajo
  • De pila de procesadores
  • Hibrido

 3.3.1 De Estación De Trabajo

Este sistema consta de computadoras dispersas conectadas entre si mediante una red de área local puede contar o no con disco duro en cada una de ellas, los usuarios tienen una cantidad fija de poder de computo y un alto grado de autonomía para asignar sus recursos locales.

La idea consiste en ordenar realmente la ejecución de procesos en estaciones de trabajo inactivas.

3.3.2.Modelo De Pila De Procesadores

 Para este modelo se dispone un conjunto de CPU que se pueden asignar dinámicamente a los usuarios según la demanda.

 No existe el concepto de propiedad de los procesadores por que permanecen a todos y se utiliza compartida mente.

 El principio argumentado para la centralización como una pila de procesadores proviene de la teoría de colas.

 El modo de pila es más eficiente que el modelo de búsqueda de estaciones inactivas.

3.3.3. Modelo De Procesador Hibrido
 
El modelo hibrido que consta de estaciones de trabajo y una pila de procesadores.

Los trabajos interactivos se ejecutan en las estaciones de trabajo mientras que los no interactivos se ejecutan en la pila de procesadores.
El  modelo de las estacione de trabajo suele coincidir en la actualidad con la mayoría de las organizaciones cuando se utiliza este modelo hay una serie de aspectos atener en cuenta.

·         La Asignación de procesos de procesadores

·         Los algoritmos de distribución de la carga

·         Planificación de los procesadores en un sistema distribuido



3.4 Modelo Diseño E Implementación De Algoritmos

Los Algoritmos diseñados se escribirán de forma de pseudos código, para cada algoritmo hay códigos representativos en el lenguaje de desarrollo NQC.

Para implementar la arquitectura subsumption se debe implementar el siguiente método:

Un Task encargado de manejar todos los comportamientos también lleva a cabo la coordinación de los comportamientos.

 3.5 Coplanificación

Es en el cual se toman en cuenta los patrones de comunicación entre los procesos durante la planificación para garantizar que todos los miembros de un grupo se ejecuten al mismo tiempo.
 
3.6 Tolerancia A Fallos

La tolerancia a fallos es un aspecto crítico para aplicaciones a gran escala, ya que aquellas simulaciones que pueden tardar del orden de varios días o semanas para ofrecer resultados deben tener la posibilidad de manejar cierto tipo de fallos del sistema o de alguna tarea de la aplicación.

Sin la capacidad de detectar fallos y recuperarse de estos, dichas simulaciones pueden no llegar a completarse. Es más, algunos tipos de aplicaciones requieren ser ejecutadas en un entorno tolerante a fallos debido al nivel de seguridad requeridos.

De cualquier forma, en ciertos casos debería haber algún modo de detectar y responder automáticamente a ciertos fallos del sistema o al menos ofrecer cierta información al usuario en el caso de producirse un fallo.

En PVM hay un mecanismo de notificación de fallos, de forma que una tarea puede manejar notificaciones sobre ciertas tareas de las que espera recibir un mensaje. Por ejemplo, si una tarea muere, otra que estuviese esperando un mensaje de la primera recibirá una notificación en lugar del mensaje que esperaba. De esta forma, la notificación le da la oportunidad de responder al fallo sin tener que fallar forzosamente.

3.7. Sistema Distribuido En Tiempo Real

La capacidad de procesamiento está distribuida entre varias computadoras interconectadas, las actividades del sistema tiene requerimientos de tiempo, existe necesidad de alta capacidad de procesos, distribución física del sistema y tolerancia a fallos.

Se considera débilmente acoplados se aplica en:

·         Sistemas Multimedia

·         Aviación

·         Fabricación Integrada

·         Robótica


En medio de comunicación en sistemas mono procesadores el procesado suele ser el único recurso a planificar, los mensajes tienen un plazo desde que se solicita su envió hasta que se recibe.

 Los procesadores tienen recursos ilimitados,  replicación de tareas, requisitos de utilización de recursos específicos  y distribución geográfica. Utilizan sincronización de relojes y tolerancia a fallos.
---------------------------------------------------------------------------------------------------------
UNIDAD IV.
MEMORIA COMPARTIDA DISTRIBUIDA. (MCD)
 Memoria Compartida Distribuida.
Los sistemas de Memoria Compartida Distribuida (MCD), son sistemas que, mediante software, emulan semántica de memoria compartida sobre hardware que ofrece soporte solo para comunicación mediante paso de mensajes.

4.1 Configuraciones Memoria Compartida Distribuida
Computación paralela:
Un computador paralelo es un conjunto de procesadores capaces de cooperar en la solución de un problema.
El problema se divide en partes. Cada parte se compone de un conjunto de instrucciones. Las instrucciones de cada parte se ejecutan simultáneamente en diferentes CPUs.
 4.1.1 De Circuitos Basados en Bus, anillo o con conmutador.
Arquitecturas de MCD
Existen varias formas de implantar físicamente memoria compartida distribuida, a continuación se describen cada una de ellas.
Memoria basada en circuitos: Existe una única área de memoria y cada micro tiene su propio bus de datos y direcciones (en caso de no tenerlo se vuelve un esquema centralizado)
MCD basada en bus: En este esquema los micros comparten un bus de datos y direcciones por lo que es más barato de implementar, se necesita tener una memoria caché grande y sumamente rápida.
MCD basada en anillos: Es más tolerante a fallos, no hay coordinador central y se privilegia el uso de la memoria más cercana
MCD basada en conmutador: Varios micros se conectan entre sí en forma de bus formando un grupo, los grupos están interconectados entre sí a través de un conmutador.
4.2 Modelos de Consistencia.
La duplicidad de los bloques compartidos aumenta el rendimiento, pero produce un problema de consistencia entre las diferentes copias de la página en caso de una escritura. Si con cada escritura es necesario actualizar todas las copias, el envío de las páginas por la red provoca que el tiempo de espera aumente demasiado, convirtiendo este método en impracticable. Para solucionar este problema se proponen diferentes modelos de consistencia, que establezcan.
Nombramos algunos modelos de consistencia, del más fuerte al más débil: consistencia estricta, secuencial, causal, PRAM, del procesador, débil, de liberación y de entrada.
 4.2.1 Estricta Causal Secuencial Débil, de liberación y de entrada.
Consistencia Estricta
El modelo de consistencia más restrictivo es llamado consistencia estricta y es definido por la siguiente condición Cualquier lectura sobre un item de dato x retorna un valor correspondiente con la más reciente escritura sobre x
Consistencia Causal
Es un debilitamiento de la consistencia secuencial. Se hace una diferenciación entre eventos que están potencialmente relacionados en forma causal y aquellos que no. Las operaciones que no están causalmente relacionadas se dicen concurrentes.
La condición a cumplir para que unos datos sean causalmente consistentes es:
Escrituras que están potencialmente relacionadas en forma causal deben ser vistas por todos los procesos en el mismo orden. Escrituras concurrentes pueden ser vistas en un orden diferente sobre diferentes máquinas.
Consistencia Débil
Los accesos a variables de sincronización asociadas con los datos almacenados son secuencialmente consistentes.
Propiedades
No se permite operación sobre una variable de sincronización hasta que todas las escrituras previas de hayan completado.
Consistencia liberación (Reléase)
se basa en el supuesto de que los accesos a variables compartidas se protegen en secciones críticas empleando primitivas de sincronización, como por ejemplo locks.
4.3 Mcd en base a Páginas.
El esquema de MCD propone un espacio de direcciones de memoria virtual que integre la memoria de todas las computadoras del sistema, y su uso mediante paginación. Las páginas quedan restringidas a estar necesariamente en un único ordenador.
4.3.1 Diseño Replica Granularidad Consistencia, propietario y copias.
 Razones para la Replicación Hay dos razones principales para la replicación de datos:
Confiabilidad
Continuidad de trabajo ante caída de la réplica Mayor cantidad de copias mejor protección contra la corrupción de datos

Rendimiento
El SD escala en número Escala en área geográfica (disminuye el tiempo de acceso al dato) Consulta simultánea de los mismos datos.
Granularidad.
Se refiere a la especificidad a la que se define un nivel de detalle en una tabla.
Los modelos de consistencia se presentan divididos en dos conjuntos:
  • Modelos de consistencia centrados en los datos.
  • Modelos de consistencia centrados en el cliente.
 En los MCD basados en variables se busca evitar la compartición falsa ejecutando un programa en cada CPU que se comunica con una central.
En los MCD basados en objetos se busca el acceso a datos por medio de la encapsulación de la información . Y repartida a través de la red, estos objetos serán definidos por el Programador y las CPU´s cambiaran los estados según procedan con los accesos. MCD Basada en Variables Compartidas.
4.4 Memoria Compartida Distribuida Basada en Variables
La DSM basada en páginas toma un espacio de direcciones y permite que las pagina  emigren de manera dinámica sobre la red, los procesos tienen acceso a toda la memoria mediante las instrucciones normales de lectura y escritura y no son conscientes de las fallas de  página en la red. Un método más estructurado consiste en compartir solo ciertas variables estructuradas de datos necesarias para más de un proceso, el problema pasa de realizar la paginación sobre la red a la forma de mantener una base de datos distribuida, en forma duplicada consiste en las variables compartidas, pueden aplicarse varias técnicas que estas conducen con frecuencia a mejoras esenciales al proceso. El uso de variables compartidas controladas de manera individual proporcionan una oportunidad para no compartir fácilmente, ejemplos Munin y Midway.
 4.5 Memoria Compartida Distribuida Basada en Objetos
 Los sistemas de memoria compartida distribuida basados en páginas que utilizan el hardware de unidad de administración de memoria para señalar accesos a páginas faltantes, aunque tiene muchas ventajas también tienen sus desventajas las cuales en muchos de los lenguajes de programación, los datos se organizan en objetos, paquetes módulos u otras estructuras de datos. Si un proceso hace referencia a un objeto, muchas veces se necesita de todo el objeto ,por lo que se tiene que trasportar los datos a través de la red mediante unidades de objetos no de páginas. En las variables compartidas utilizadas en Munin y Midway, es un paso para organizar la memoria compartida de una forma más estructurada en ambos sistemas se proporciona la información acerca de las variables que son compartidas y las que no, proporcionan información del protocolo en Munin y de asociación en Midway. Si hay errores en las anotaciones puede traer consecuencias graves .Si se utiliza un modelo de programación de alto nivel la programación en los sistemas de memoria compartida distribuida puede ser más sencilla y menos propensa a errores. También se introducen ciertas optimizaciones más difíciles de realizar en un modelo de programación menos abstracto.
-----------------------------------------------------------------------------------------------------------------
Unidad V
Usos y tendencias de los sistemas distribuidos
5.1 Administración Sistemas Distribuidos
La administración de sistemas distribuidos incluye las actividades como: manejo de la versión y distribución del software, monitoreo de la utilización de los recursos y el mantenimiento del sistema de seguridad, entre otros.
Los administradores de sistemas distribuidos se ocupan de monitorear continuamente al sistema y se deben de asegurar de su disponibilidad. Para una buena administración, se debe de poder identificar las áreas que están teniendo problemas así como de la rápida recuperación de fallas que se puedan presentar. La información que se obtiene mediante el monitoreo sirve a los administradores para anticipar situaciones criticas. La prevención de estas situaciones ayuda a que los problemas no crezcan para que no afecten a los usuarios del sistema.


5.1.1 Instalación de Sistemas Operativos Distribuidos
En este caso se instalara el sistema operativo distribuido Linux. Preparación Primero vamos a probar el sistema antes de instalarlo. Para ello, debemos tener un CD de Ubuntu. Podemos hacerlo de varias maneras:
  • Descargarlo desde la página web oficial.
    Pedirlo a través de shipit (tarda de 4 a 6 semanas en llegar)
  • Obtener una copia a través de un conocido. Independientemente del método que usé, el disco que obtendrá será el mismo. Una vez que tengas el CD, debe configurar la BIOS para que nos lea el CD antes de arrancar el disco duro.     
  • Puedes comprobar si lo tienes correctamente configurado introduciendo el CD de Ubuntu y reiniciando el sistema. Si carga el CD lo tienes bien, si no lo carga, debes hacer lo siguiente. Nada más encender el ordenador, aparece una pantalla negra con letras. Debe ser algo parecido a esto: ¿Veis que dice “Press DEL to enter SETUP”? Eso significa que pulsando la tecla Suprimir entraremos a la configuración. Advierto que la tecla varía de unas BIOS a otras. Aquí es Suprimir pero podría ser F2 o F12.

Todo es fijarse y pulsarla. Una vez hecho esto, aparecerá una pantalla típicamente azul. Dentro de ella, debemos buscar algo así como Boot Order, y poner al lector de CD el primero y al disco duro en segundo lugar. Si lo hemos hecho bien, deberá quedarse como en la imagen de abajo. Una vez ajustado este parámetro, buscamos la tecla para salir de la BIOS guardando los cambios (“Save and Exit setup” suele ser la frase asociada a tal tecla). Una vez guardemos los cambios el sistema se reiniciará y debería cargar el CD del lector.
Si sigues teniendo problemas contacta con nosotros o pide ayuda en un foro especializado. Una vez consiga cargar el CD, veremos el siguiente menú: Debemos seleccionar la opción “Probar Ubuntu sin alterar el equipo”, puesto que es lo que queremos. Tardará unos 5 minutos en arrancar. Una vez arranque, tendremos listo el sistema para un primer uso. El primer contacto Al iniciar, tendremos una pantalla parecida a esta.
Vemos 3 menús (Aplicaciones, Lugares y Sistema). Desde Aplicaciones podremos acceder a los programas instalados en el sistema. En Lugares podremos encontrar accesos a los directorios relevantes del sistema. Por último, en el menú sistema podremos configurar aspectos de nuestro sistema (salvapantallas, temas, pantalla de entrada, bluetooth,...)
Dado que estamos iniciando desde el CD, podemos tocar todo lo que queramos sin que esto repercuta en nuestro sistema. Así que lo mejor es comprobar que todo el hardware o casi todo funiona. Por lo demás, simplemente podemos ver las aplicaciones que vienen con el sistema y familiarizarnos un poco con él. Si queremos instalar hacemos doble clic en el icono que hay en el escritorio.
 Lo más fácil es usar una de las opciones prefijadas que nos da el instalador, ya que nos evita este pasó. De todas formas, si lo que queremos es algo personalizado, debemos especificar las particiones manualmente. Debemos recordar que para funcionar correctamente, Ubuntu necesita dos particiones: una ext3 (o ext4) y una partición SWAP. Si elegimos un particionado personalizado crearlas es muy sencillo. Debemos seleccionar un espacio en blanco y crear una partición con formato ext3/ext4 y el tamaño que nosotros elijamos. Además, el punto de montaje de esta partición debe ser / puesto que será nuestra partición raíz. Debe quedar algo parecido a esto: Para la partición SWAP, debemos darle un tamaño aproximado de 1 GB.
5.1.2 Configuración de Sod
En este caso se configurara el sistema operativo LINUX. Primero debemos identificarnos en el sistema (si elegimos en la instalación que entrara automáticamente no será necesario). Para configurar el sistema necesitaremos una conexión a internet, así que lo primero que debes hacer es establecerla. Bien, entraremos en el menú Sistema, después vamos a Administración, y luego Soporte de idiomas. Ahora pulsaremos en el botón "Instalar/eliminar idiomas...". Se nos abrirá una ventana, donde debemos marcar nuestro idioma nativo (Castellano, español, inglés, etc.) y desmarcar los demás. Cuando terminemos pulsamos en aplicar y llevará a cabo ciertas acciones. Nos pedirá la contraseña de usuario. Se la damos y listo
5.1.3 Control Sod
El Control de Sistemas e Informática, consiste en examinar los recursos, las operaciones, los beneficios y los gastos de las producciones (servicios y/o productos de los Sistemas Informáticos), de los Organismos sujetos a control, con la finalidad de evaluar la eficacia y eficiencia Administrativa Técnica y/u Operacional de los Organismos, en concordancia con los principios, normas, técnicas y procedimientos normalmente aceptados. Asimismo de los Sistemas (Planes, Programas y Presupuestos, Diseño, Software, Hardware, Seguridad, Respaldos y otros) adoptados por la Organización para su dinámica de Gestión en salvaguarda de los Recursos del Estado.
 Existe otra definición sobre el "control técnico" en materia de Sistemas e Informática, y esta se orienta a la revisión del Diseño de los Planes, Diseños de los Sistemas, la demostración de su eficacia, la Supervisión compulsa de rendimientos,
Productividad de la Gestión - Demanda llamada "Pruebas intermedias", el análisis de resultados, niveles y medios de seguridad, respaldo, y el almacenamiento. Así mismo medición de la vida útil del Sistema Informático adoptado por la Organización bajo control.
 
5.2 Estándares administración en Sistemas Distribuidos
Aquellas normas usuales, los propósitos, los objetivos, a alcanzar, los datos de carácter histórico las directrices que guían las actividades, las predicciones sobre el volumen de estas, las metas a alcanzar y aquellos índices que integran los planes , y todo dato o cifra que pueda emplearse como medida para cumplirlas, son considerados como estándares.
 Estas medidas son indispensables para el control, ya que indican la manera en que deseas que se ejecute una actividad. En la práctica, son los objetivos declarados y definidos de la organización y por esa razón los estándares deben abarcar las funciones básicas y áreas clave de los resultados logrados.

Para construir los estacares, debe partirse del análisis de procesos, como las normas de trabajo o de costos y la recopilación de experiencias anteriores.
Estándares estadísticos o históricos: parten del análisis de datos de experiencias logradas, que muchas veces son complementadas con el criterio personal.
 Los estándares elaborados técnicamente se fundamentan en el estudio objetivo y cuantitativo de una situación de trabajo específica.
Los estándares puedes ser físicos, intangibles, de costos, de inversión, de recursos o medios de producción, de ingresos o de resultados, y expresarse cuantitativamente, en unidades numéricas, de uno u otro tipo(moneda, volumen, capacidad ), o cualitativos, cunado se establecen subjetivamente y lo que se mide y evalúa se refiere a cierta calidad(impacto en el mercado, nombre de la empresa, precio en la competencia).
Los estándares pueden representar calidad, mediante índices o calificaciones convencionales o por medio de coe 
5.3 Tendencias de Investigación Sistemas Distribuidos
Hoy en día, y gracias a la tecnología, "el termino centralizado" está desapareciendo, con la llegada de la redes de ordenadores podemos compartir recursos sin preocuparnos de la ubicación geográfica de la otra persona, podemos manejar ordenadores como si estuviésemos trabajando físicamente en ellos, además de transmitir información o escribir cartas que llegan al receptor en lapsos de tiempo mínimos.
 Por ellos existen dos arquitecturas que resuelven dichos problemas Arquitectura SMP (Uma) Arquitectura DSM (Numa.) Arquitectura SMP (Uma) Los multiprocesadores simétricos (Symmetric Multiprocessor): son ordenadores con arquitectura de memoria compartida que presentan en la memoria principal un acceso simétrico desde cualquier procesador, es decir, el retardo en el acceso a cualquier posición de memoria es el mismo con independencia del procesador desde el que se realice la operación o tarea, dicha arquitectura es denominada como "Acceso Uniforma a Memoria" (UMA) y se lleva a cabo con una memoria compartida pero centralizada. Estos multiprocesadores dominan el volumen como el capital invertido.

5.4 Sistemas Distribuidos y la Sociedad
 Sistemas cuyos componentes hardware y software, que están en ordenadores conectados en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un objetivo. Se establece la comunicación mediante un protocolo prefijado por un esquema cliente-servidor.
Características:
•Concurrencia.- Esta característica de los sistemas distribuidos permite que los recursos disponibles en la red puedan ser utilizados simultáneamente por los usuarios y/o agentes que interactúan en la red.
•Carencia de reloj global.- Las coordinaciones para la transferencia de mensajes entre los diferentes componentes para la realización de una tarea, no tienen una temporización general, está más bien distribuida a los componentes.
•Fallos independientes de los componentes.- Cada componente del sistema puede fallar independientemente, con lo cual los demás pueden continuar ejecutando sus acciones. Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su conjunto continua trabajando.