Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Sistemas Operativos Distribuidos

No description
by

Leonardo Franco Caycho Torrejon

on 22 February 2017

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Sistemas Operativos Distribuidos

End
Start
Fallas y Aspectos de Implementación
RPC
LLAMADA DE PROCEDIMIENTO REMOTO -RPC
Sistemas Operativos Distribuidos
Integrantes de Grupo:
Caycho Torrejon, Leonardo
Alcántara Torres, Johnny Alvaro
Rosales Astahuaman, Jhonatan
Correa Vásquez, David
Ponce Arias, Elvis

Remote Procedure Call(Llamada al Procedimiento Remoto)
ONC RPC SUN ONC SUN RPC
DCE RPC
Distributed Computing Environment / Remote Procedure Calls
SUN MICROSYSTEMS
KERNEL
software que constituye la parte más importante del sistema operativo
realizan las funciones básicas como la gestión de procesos, la gestión de memoria y de entrada salida
El kernell está conformado por 5 grandes subsistemas.
• El planificador de procesos (sched).
• El administrador de memoria (mm).
• El sistema del archivo virtual (vfs).
• La interface de la red (net).
• La comunicación inter-procesos (ipc).
ADMINISTRACION PROCESOS

Al crearse un nuevo proceso se le asigna un identificador único.

Process ID (PID): Identificador del proceso, asignado por el sistema, este número debe utilizarse por el administrador para referirse a un proceso dado, al ejecutar un comando.

Parent Process ID (PPID): Es el PID del proceso padre. hace referencia al proceso principal del cual se dividió.

Identificadores de procesos
Estados de un proceso
En ejecución: El proceso tiene asignado la CPU y se están ejecutando las instrucciones.
Listo: El proceso está esperando ser asignado a un procesador.
Bloqueado: El proceso está esperando a que se produzca un suceso o evento, como la terminación de una operación de E/S o la recepción de una señal.

Planificador procesos
Controla la admisión de procesos nuevos al sistema.
Administra los recursos del sistema excepto el CPU.
Su frecuencia de llamada depende de la carga del sistema, pero es mucho menor que los otros dos tipos.
Incorpora algoritmos relativamente complejos y computacionalmente intensivos para admitir trabajos al sistema.
En términos del diagrama de transición de estados de procesos, queda a cargo de las transiciones del estado nuevo al estado preparado o listo.
Trae procesos suspendidos a la memoria principal.
Es invocado cuando queda espacio libre en memoria por la terminación de un proceso o cuando el suministro de procesos preparados quede por debajo de un límite especificado.

Determina que proceso toma el control de la CPU.
Asigna el procesador entre el conjunto de procesos preparados residentes en memoria.
Su objetivo principal es maximizar el rendimiento del sistema de acuerdo a un conjunto de criterios elegidos
Esta a cargo de la transición del estado preparado a ejecución.

Algoritmos de Planificación
CARACTERISTICA
planificación apropiativa
planificación no apropiativa
Algoritmo Primero en entrar Primero en salir (FIFO)
Algoritmo Primero el trabajo más corto (SJF)
Algoritmo por Turno Rotatorio (Round Robin)
Algoritmo por Tiempo Restante más Corto (SRT)
Proceso Tiempo de ráfaga
P1 24 ms
P2 3 ms
P3 3 ms

Caso1: Los procesos llegan en el orden: P1, P2, P3.
Con los datos obtenemos su diagrama de Gantt




Tiempo de espera para cada proceso:
P1 = 0, P2 = 24, P3 = 27
Tiempo medio de espera:
(0 + 24 + 27) / 3 = 17 ms

Algoritmo Primero en entrar Primero en salir (FIFO)
Protocolo TCP
Protocolo UDP

Algoritmo Primero trabajo mas corto
(SJF)
Proceso Tiempo de ráfaga
P1 6 ms
P2 8 ms
P3 7 ms
P4 3 ms
Trazamos su diagrama de Gantt y obtenemos



Tiempo de espera para cada proceso:
P1 = 3, P2 = 16, P3 = 9, P4 = 0
Tiempo medio de espera:
(3 + 16 + 9 + 0) / 4 = 7 ms

Algoritmo Turno rotatorio (Roind Robin)
Proceso Tiempo de ráfaga Q=4
P1 24 ms
P2 3 ms
P3 3 ms
Con los datos obtenemos su diagrama de Gantt




Tiempo de espera para cada proceso:
P1 = (10 - 4), P2 = 4, P3 = 7
Tiempo medio de espera:
(6 + 4 + 7) / 3 = 5,66 ms

Algoritmo Tiempo restante mas corto (SRT)
Proceso Tiempo de llegada Tiempo de ráfaga
P1 0 ms 8 ms
P2 1 ms 4 ms
P3 2 ms 9 ms
P4 3 ms 5 ms
Con los datos obtenemos su diagrama de Gantt



Tiempo de espera para cada proceso:
P1 = (10 - 1), P2 = (1 - 1), P3 = (17 - 2), P4 = (5 - 3)
Tiempo medio de espera:
(9 + 0 + 15 + 2) / 4 = 6,5 ms

ADMINISTRACION MEMORIA
La memoria se divide en un número de particiones fijas donde cada una puede contener un proceso.
El S.O. mantiene una tabla indicando que partes de memoria están disponibles y cuales están ocupadas.
Cuando llega un proceso, se busca un espacio suficientemente grande para ese proceso.
Si se encuentra una, se asigna la memoria requerida, manteniendo el resto disponible para satisfacer futuros requerimientos.
Así, la memoria es asignada a los procesos hasta que el requerimiento del próximo proceso no pueda ser satisfecho.


Asignación de memoria
Segmentación
Segmentación
Paginación
Primer ajuste (TFirst-fit): Se asigna el primer agujero que sea lo suficientemente grande.
La exploración puede comenzar desde el principio del conjunto de agujeros o en el punto en que hubiera terminado la exploración anterior. Podemos detener la exploración en cuanto encontremos un agujero libre que sea lo suficientemente grande.

Mejor ajuste (Best-fit): Se asigna el agujero más pequeño que tenga el tamaño suficiente. Debemos explorar la lista completa, a menos que ésta esté ordenada según su tamaño. Esta estrategia hace que se genere el agujero más pequeño posible con la memoria que sobre en el agujero original.

Paginación
La memoria física se divide en bloques de tamaño fijo llamados marcos. La memoria lógica también se divide en bloques del mismo tamaño llamados páginas.
LENGUAJE IDL
ENLACE DINÁMICO
ENLAZADOR DINÁMICO
Modelo de Objetos de Componentes Distribuidos de Microsoft DCOM
Funcionamiento
Introducción
¿Que es RPC?
Es un protocolo que permite a una aplicación de computadora procesar una función que incluya código ejecutable en otra máquina remota o servidor sin tener que preocuparse por las comunicaciones entre ambos.

Paso de Mensajes
Es iniciado por el cliente cuando envía un mensaje solicitud al servidor remoto conocido para ejecutar un procedimiento especificado con los parámetros suministrados
El servidor remoto envía una respuesta al cliente, y la aplicación continúa su proceso
El cliente se bloquea cuando el servidor esta procesando la llamada, al menos que se envíe una solicitud asincrónica al servidor.
Tipos de semántica

Semántica tal-vez
Procedimiento remoto puede ejecutarse una vez o ninguna vez.
El cliente puede recibir una respuesta o ninguna.
Semántica al menos
una vez
Semántica como
máximo una vez
Procedimiento remoto se ejecuta una o más veces.
El cliente puede recibir una o más respuestas.

El procedimiento remoto se ejecuta exactamente una vez o no llega a ejecutarse ninguna.
El cliente recibe una respuesta o una indicación de que no se ha ejecutado el procedimiento remoto

Tipos de RPC
ONC RPC
Desarrollado por el grupo ONC de Sun Microsystems como parte del proyecto de su sistema de archivos de Red NFS
DCE RPC
Fue desarrollado por un gran número de empresas y grupos de investigación y se mejora continuamente por el grupo de proyecto DCE-Web del Instituto de Investigación de Open Group y la comunidad en general DCE.
MS RPC
Versión modificada por Microsoft con algunas mejoras, como la inclusión de soporte para cadenas Unicode
Elementos Necesarios
Proceso llamador (cliente):
Proceso llamador (cliente):
• Proceso realiza la llamada a una función.
• Llamada empaqueta id. de función y argumentos en mensaje
• Envía mensaje a otro proceso.
• Queda a la espera del resultado.
• Al recibirlo, lo desempaqueta y retorna el valor

Proceso llamado (servidor):
• Recibe mensaje con id. de función y argumentos.
• Se invoca función en el servidor.
• Resultado de la función se empaqueta en mensaje
• Se transmite mensaje de respuesta al cliente.

Estructura de los mensajes petición-respuesta
Una RPC tiene dos participantes:

Un cliente activo, que envía una RPC al servidor
Un servidor pasivo, que calcula un resultado y lo devuelve al cliente.
Estructura de los mensajes petición-respuesta
Una RPC tiene dos participantes:

Un cliente activo, que envía una RPC al servidor
Un servidor pasivo, que calcula un resultado y lo devuelve al cliente.
Full transcript