Sistemas Distribuidos: Cliente-Servidor, Socket y Procesos
Clasificado en Informática
Escrito el en español con un tamaño de 2,64 KB
Un sistema distribuido
Crear un sistema informático, conformado por varios nodos/computadoras de manera tal que puedan procesar/intercambiar datos, información y recursos entre ellos y que contribuyan a un fin superior. Lo compone aplicaciones informáticas y una red informática.
Cliente Servidor
El modelo que mejor se ajusta a cumplir los requerimientos de los sistemas distribuidos. En los servidores existe al menos algún “proceso servidor” esperando a que algún “proceso cliente” le solicite algún recurso/dato.
Dinámica
El servidor contiene un proceso servidor, a la espera de recibir solicitudes por parte de procesos clientes. Un proceso cliente debe “conectarse” al proceso servidor en cuestión. El proceso servidor tiene el poder de decidir si acepta o no al proceso cliente. De aceptarlo, el proceso cliente y proceso servidor comenzarán a interactuar transmitiéndose datos. Una vez resueltas las necesidades del cliente, ambos acuerdan en cerrar la conexión.
Socket
Componente en el proceso que define información y acciones para manipular conexiones. Su objetivo es librar al programador de tener que entrar en detalles sobre manejo de la placa de red, protocolos ARP, IP, TCP y UDP. El cliente almacena ip local, puerto local, ip remota, puerto remoto y realiza conexión, transmisión de datos y cierra. El servidor almacena protocolo capa transporte y número de puerto. Realiza: escucha, acepta, transmite y cierra.
Bloque Control Proceso
Es el que representa al proceso en el S.O. – almacena el estado del proceso (preparado, en ejecución, nuevo), registros de CPU (registros de propósito general), información de memoria (información de registros), contador de programa (siguiente instrucción de dicho proceso), etc.
Serialización de Objetos
Representa el objeto en cuestión como una secuencia de bytes. Generalmente deben serializarse objetos cuando los mismos son enviados por una red.
Multiprogramación
Capacidad del S.O. de poder cargar varios programas. Proceso: código, datos, pila, registros CPU, contador de programa.
Protocolo Capa Transporte
Multiplexación de servicios - puerto origen y destino. Diferencias TCP: confiabilidad, control de flujo (ventana deslizante), sobrecarga (más lento). UPD: no confiable (se pierden datos, datos erróneos, datos desordenados), no hay control de flujo (receptor saturado), poca sobrecarga (más rápido).
Planificación a Corto Plazo
Selecciona de entre los procesos ya preparados para ser ejecutados. Largo Plazo: selecciona procesos y los carga en memoria para ejecutar.