Vous êtes sur la page 1sur 2

PROCESOS

HILOS

Proceso ligero que no posee recursos propios, sino que los comparte con otros.
Proceso: Programa en ejecución.
Implementación de Hilos: Los hilos son proporcionados en forma de paquete, junto con operaciones para crear, destruir y
sincronizar.
Aplicaciones de los hilos:
– Paralelismo y ejecución concurrente de tareas u operaciones independientes.
– Implementación de interfaces de usuario interactivas.
– Operaciones I/O que no se bloquean.
– Comportamiento Asíncrono.
– Implementación de temporizadores y alarmas.
MECANISMOS DE HILAMIENTO JAVA:
Herencia: clase que hereda la clase Thread
Interfaz: Clase que implementa la interfaz Runnable
PROBLEMAS DE CONCURRENCIA:
- Compartir recursos: Alguien se apodera del recurso, Se toma como bueno un dato obsoleto, se borra un dato antes de
ser usado.
- Sincronización: Tareas que deben esperar el fin de otras, Tareas que deben esperar una condición.
METODO SINCRONIZED:
Todo el objeto queda bloqueado, de modo que otras llamadas a ese método o a otro deben esperar.
PRODUCTORES CONSUMIDORES:
Productor: proporcionan datos a una estructura de datos común.
Consumidor: usan los datos de la estructura para realizar diversas acciones.
PRIORIDAD EN HILOS:
A cada hilo se le asigna una prioridad, Los hilos tienen la misma prioridad por defecto de acuerdo con el SO, java permite el
cambio de prioridad (ThreadName.setPriority(int number)).
MECANISMOS
Cerrojo:
Lectores y escritores: Dos tipos de hilos que comparten la región crítica (RC). Unos q la consultan (lectores) y las que lo
modifican (escritores). Solo puede haber un escritor usando RC. Varios lectores pueden consultar la RC.
Semáforo: Mientras haya permiso el hilo puede acceder a la RC, si no debe esperar.

COMUNICACIÓN ENTRE PROCESOS


Para comunicar dos procesos se debe establecer una línea de comunicación, los extremos de esta línea se conocen como
enchufes (sockets), cada socket tiene una dirección url y un puerto.
-Los sockets pueden estar en una misma maquina o en dos diferentes.
-url (Universal resource locator): tipo de dirección que permite identificar recursos en una red.
-Puerto: número de contacto, permite operar varios canales de comunicación entre computadores. Entre (0-65535), protegidos
hasta 1023.
TIPOS:
TCP: establece una sesión entre los extremos permitiendo comunicación como archivos de texto, cuidan el orden de sus
paquetes y reenvío si se pierden.
UDP: No establecen sesión, pierde orden, pueden llegar bien o mal, son más rápidos.
STREAMS TCP
Api de java:
-Serversocket: Crea un conector en el puerto de servicio para escuchar la petición de clientes.
-accept(): Toma una petición connect de la cola, se bloquea si esta vacía, el resultado es un objeto socket.
HILOS EN SISTEMAS DISTRIBUIDOS.
Los hilos pueden proporcionar un medio conveniente para permitir llamadas de bloqueo de sistema sin bloquear todo el
proceso que se ejecuta en el hilo.
Clientes Multihilos: La manera más común de ocultar las latencias de comunicación es iniciar la comunicación y proceder de
inmediato con alguna otra cosa.

Servidores Multihilos: Las peticiones son enviadas hacia el servidor,


después de examinar la petición el hilo servidor elige un hilo trabajador
sin utilizar (Bloqueado). Y le agrega la petición para su ejecución.

Maneras de construir un servidor.


Servidor de Archivos un solo hilo: Obtiene una petición, la examina
y la ejecuta antes de obtener la siguiente.
Máquina de estado finito: Obtiene un evento y luego reacciona a él,
dependiendo de lo que esté dentro.

VIRTUALIZACIÓN
-Pretender que existen más unidades de procesamiento.
-Reemplazo de una interfaz existente de modo que imite
el comportamiento de otro sistema.

Arquitecturas de máquinas virtuales.


Tipos de Interfaz por niveles:
- Interfaz entre hardware y software, constituida por instrucciones
máquina que se puede invocar desde cualquier programa.
- Interfaz entre hw y sw, constituida por instrucciones
máquina que se invoca solo desde programas privilegiados.
- Interfaz que consta de llamadas de sistema.
- Interfaz que consta de llamadas a bibliotecas.