Академический Документы
Профессиональный Документы
Культура Документы
HILOS
EN LA MAYORIA DE LOS SISTEMAS OPERATIVOS TRADICIONALES CADA PROCESO TIENE UN ESPACIO DE DIRECCIONES Y UN HILO DE CONTROL. DE HECHO, ESA ES CASI LA DEFINICION DE UN PROCESO. LOS HILOS SON UN CONCEPTO RELATIVAMENTE NUEVO DE LOS S.O
ARCHIVOS ABIERTOS .
PROCESOS HIJOS. SEALES.
SEMAFOROS.
INFORMACION CONTABLE.
HILOS Y PROCESOS
LOS HILOS NO PUEDEN EJECUTARSE ELLOS SOLOS; REQUIEREN LA SUPERVISIN DE UN PROCESO PADRE PARA CORRER. DENTRO DE CADA PROCESO HAY VARIOS HILOS EJECUTNDOSE. POR EJEMPLO, WORD PUEDE TENER UN HILO EN BACKGROUND CHEQUEANDO AUTOMTICAMENTE LA GRAMTICA DE LO QUE ESTOY ESCRIBIENDO, MIENTRAS OTRO HILO PUEDE ESTAR SALVANDO AUTOMTICAMENTE LOS CAMBIOS DEL DOCUMENTO EN EL QUE ESTOY TRABAJANDO.
LA SECCIN DE CDIGO.
LA SECCIN DE DATOS. LOS RECURSOS DEL SO (ARCHIVOS ABIERTOS Y SEALES).
ESTADOS DE UN HILO
LOS PRINCIPALES ESTADOS DE UN HILO SON: EJECUCIN, PREPARADO Y BLOQUEADO; Y HAY CUATRO OPERACIONES BSICAS RELACIONADAS CON EL CAMBIO DE ESTADO DE LOS HILOS: CREACIN: EN GENERAL, CUANDO SE CREA UN NUEVO PROCESO SE CREA TAMBIN UN HILO PARA ESE PROCESO. POSTERIORMENTE, ESE HILO PUEDE CREAR NUEVOS HILOS DNDOLES UN PUNTERO DE INSTRUCCIN Y ALGUNOS ARGUMENTOS. ESE HILO SE COLOCAR EN LA COLA DE PREPARADOS. BLOQUEO: CUANDO UN HILO DEBE ESPERAR POR UN SUCESO, SE LE BLOQUEA GUARDANDO SUS REGISTROS. AS EL PROCESADOR PASAR A EJECUTAR OTRO HILO PREPARADO.
DESBLOQUEO: CUANDO SE PRODUCE EL SUCESO POR EL QUE UN HILO SE BLOQUE PASA A LA COLA DE LISTOS. TERMINACIN: CUANDO UN HILO FINALIZA, SE LIBERAN SU CONTEXTO Y SUS PILAS. UN PUNTO IMPORTANTE ES LA POSIBILIDAD DE QUE EL BLOQUEO DE UN HILO LLEVE AL BLOQUEO DE TODO EL PROCESO. ES DECIR, QUE EL BLOQUEO DE UN HILO LLEVE AL BLOQUEO DE TODOS LOS HILOS QUE LO COMPONEN, AN CUANDO EL PROCESO EST PREPARADO.
La figura 4.4 muestra un programa que calcula dos valores y los suma. La figura 4.5 muestra el proceso tradicional UNIX asociado al programa con el contexto del proceso determinado por tres bloques distintos, los registros, la identidad del proceso y los recursos
public class SimpleHilo { public static void main(String[] args) { // AQU SE INICIA EL PROCESO DEL HILO //AGREGAR UN CONTADOR ES OPCIONAL int contador = 0; while (true){ System.out.println(EJECUTANDO); try { Thread.sleep(1000); //AQU SE ESTABLECEN LOS MILISEGUNDOS DE EJECUCION } catch (InterruptedException ex) { Logger.getLogger(SimpleHilo.class.getName()).log(Level.SEVERE, null, ex); } } } }
QU ES LA PROGRAMACIN MULTIHILOS? UN PROGRAMA MULTIHILO CONTIENE DOS O MS PARTES QUE SE PUEDEN EJECUTAR DE MANERA CONCURRENTE O SIMULTNEA. A CADA UNA DE ESAS PARTES SE LES DENOMINA HILO Y CADA UNO DE ELLOS DEFINE UN CAMINO DE EJECUCIN INDEPENDIENTE. SE PUEDE VER A LA PROGRAMACIN MULTIHILO COMO UNA FORMA ESPECIALIZADA DE MULTITAREA.
MULTIHILOS
Cada hilo es lanzado independientemente, segn el nmero de hilos que se haya seleccionado. Cada hilo ejecuta un algoritmo gentico de la biblioteca y cada algoritmo gentico intercambia (en otro hilo) su individuo mejor, sin necesidad de parar la ejecucin del algoritmo y esperar a que el intercambio se acabe de realizar. Desventajas de un multihilo: Los mltiples hilos pueden interferir uno con el otro al compartir recursos de hardware.
MULTIHILO COOPERATIVO..
MULTIHILO APROPIATIVO
PERMITE AL SISTEMA OPERATIVO DETERMINAR CUNDO DEBE HABER UN CAMBIO DE CONTEXTO. LA DESVENTAJA DE ESTO ES QUE EL SISTEMA PUEDE HACER UN CAMBIO DE CONTEXTO EN UN MOMENTO INADECUADO, CAUSANDO UN FENMENO CONOCIDO COMO INVERSIN DE PRIORIDADES Y OTROS PROBLEMAS.
MULTIHILO COOPERATIVO
DEPENDE DEL MISMO HILO ABANDONAR EL CONTROL CUANDO LLEGA A UN PUNTO DE DETENCIN, LO CUAL PUEDE TRAER PROBLEMAS CUANDO EL HILO ESPERA LA DISPONIBILIDAD DE UN RECURSO. EL SOPORTE DE HARDWARE PARA MULTIHILO DESDE HACE POCO SE ENCUENTRA DISPONIBLE. ESTA CARACTERSTICA FUE INTRODUCIDA POR INTEL EN EL PENTIUM 4, BAJO EL NOMBRE DE HYPER THREADING.
PROCESAMIENTO ASNCRONO
LOS ELEMENTOS ASNCRONOS DE UN PROGRAMA SE PUEDEN IMPLEMENTAR COMO HILOS. UN EJEMPLO ES COMO LOS SOFTWARES DE PROCESAMIENTO DE TEXTO GUARDAN ARCHIVOS TEMPORALES CUANDO SE EST TRABAJANDO EN DICHO PROGRAMA. SE CREA UN HILO QUE TIENE COMO FUNCIN GUARDAR UNA COPIA DE RESPALDO MIENTRAS SE CONTINA CON LA OPERACIN DE ESCRITURA POR EL USUARIO SIN INTERFERIR EN LA MISMA.
TAREAS E HILOS.
UNIDAD MNIMA DE ASIGNACIN: TAREA. UNIDAD MNIMA DE EXPEDICIN: HILO. DOS HILOS DE UNA MISMA TAREA (DENOMINADOS HILOS PARES) COMPARTEN EL SEGMENTO DE CDIGO, EL SEGMENTO DE DATOS Y UN ESPACIO DE PILA, ES DECIR, LOS RECURSOS ASIGNADOS A LA TAREA.
CUANDO UN HILO EST EN EJECUCIN, POSEE EL ACCESO A TODOS LOS RECURSOS QUE TIENE ASIGNADOS LA TAREA.