SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Hilo – Multihilo

Un hilo de ejecución o subproceso es una característica que permite a una aplicación
realizar varias tareas a la vez ( concurrentemente ). Los distintos hilos de ejecución
comparten una serie de recursos tales como el espacio de memoria, los archivos
abiertos, situación de autenticación, etc.

Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo
distintas funciones simultáneamente.

Un hilo es básicamente una tarea que puede ser ejecutada en paralelo con otra tarea.
Hilos

Consideremos, un servidor de archivos que debe bloquearse en forma ocasional, en
espera de acceso al disco. Si el servidor tiene varios hilos de control, se podría ejecutar
un segundo hilo mientras el primero duerme. No es posible eso si se crean dos procesos
servidores independientes.

Los hilos suelen ser llamados procesos ligeros.
Hilos

Los hilos de un proceso no son tan independientes como los procesos distintos. Todos
los hilos tienen el mismo espacio de direcciones, comparten las mismas variables
globales. Un hilo puede leer, escribir o limpiar de manera completa la pila de otro hilo.
Modelos de Sistemas

Estaciones de trabajo ( WorkStation ):

Sin disco: arranque por red ( via PXE )

Con discos individuales:

   • Paginación y archivos temporales
   • Paginación, archivos temporales y binarios del sistema
   • Paginación, archivos tmp y binarios del sistema y ocultamiento de archivos
   • Sistema local de archivos completo
Modelos de Sistemas

Estaciones de trabajo ( WorkStation ):

Con discos individuales:
Ventajas:
   • Los usuarios tienen cantidad fija de poder de cómputo
   • Tiempo de respuesta garantizado
   • Alto grado de autonomía
   • Independencia si el servidor falla

Desventajas:
   • Poder de cómputo excesivo para ciertas aplicaciones
   • Asignación ineficiente de recursos
   • Alto Consumo de energía eléctrica
Modelos de Sistemas

Pila de procesadores:

   • Terminales gráficas de alto desempeño
   • Es más parecido al modelo de tiempo compartido tradicional que al modelo PC
   • Economía de recursos
   • Basado en teoría de colas, su desempeño puede ser modelado de forma analítica
   • Modelo centralizado, con sus consecuentes ventajas y desventajas

Híbrido:
Asignación de Procesadores
Aspectos de diseño de asignación:

   • Algoritmos deterministas vs heurísticos
   • Algoritmos centralizados vs descentralizados
   • Algoritmos óptimos vs subóptimos
   • Algoritmos locales vs globales
   • Algoritmos iniciados por emisor vs iniciados por el receptor
Planificación en Sistemas Distribuidos
Tolerancia a Fallos

Fallas de componentes ( hardware ): fallas transitorias, intermintentes y permanentes
Fallas de sistema: silentes, bizantinas

Uso de redundancia:

   • Redundancia de información: código hamming,
   • Redundancia de tiempo: transacciones atómicas
   • Redundancia física: equipos adicionales, servidores en paralelo

Tolerancia mediante réplica activa: (deportes:árbitros, turbina de aviones)
Tolerancia mediante respaldo primario: el eemplazo se realiza en forma limpia,
solamente siendo notado por el sistema operativo cliente, no por la aplicación.
Sistemas Distribuidos de Tiempo REAL
Sistemas de Tiempo REAL

Es un sistema que interactúa activamente en un entorno con dinámica conocida con sus
entradas, salidas y restricciones temporales. Cuando aparece un estímulo, este
responde de forma correcta y en un tiempo límite. Rápido =! Preciso..

Para un RTOS ( Real Time Operating System ) se deben tener en cuenta los siguientes
recursos:
• Procesador: predecible, sin paginación,
• Programación de tareas: lista de tareas con pocas entradas.
• Comunicación entre tareas:mensajes vs semáforos.
• Interrupciones:se procesa la información ántes de la siguiente interrupción.
• Memoria: reparto de memoria y fragmentación. Sin paginación.
• Comunicaciones: CAN bus, puertos serie.

Ejemplo de RTOS: QNX, Windows CE, VxWorks.
Sistemas Distribuidos de Tiempo REAL
Sistemas de Tiempo REAL

Aspectos de Diseño:

• Sincronización de reloj: activados por evento vs activados por tiempo.
• Predictibilidad: debe asegurarse, incluso con carga pico.
• Tolerancia a fallos: uso de réplica activa.
• Soporte de lenguaje: se deben expresar los retrasos máximo y mínimo.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (11)

Memoria cache juan saenz
Memoria cache juan saenzMemoria cache juan saenz
Memoria cache juan saenz
 
Pawer point de arquitectura de la computadora
Pawer point de arquitectura de la computadoraPawer point de arquitectura de la computadora
Pawer point de arquitectura de la computadora
 
Memoria RAM, Memoria Caché
Memoria RAM, Memoria CachéMemoria RAM, Memoria Caché
Memoria RAM, Memoria Caché
 
7 memoria cache
7 memoria cache7 memoria cache
7 memoria cache
 
Memoria caché
Memoria cachéMemoria caché
Memoria caché
 
Bios y Memoria Cache
Bios y Memoria CacheBios y Memoria Cache
Bios y Memoria Cache
 
Memorias de un computador
Memorias de un computador Memorias de un computador
Memorias de un computador
 
Memorias de un computador (1) grupo2
Memorias de un computador (1)  grupo2Memorias de un computador (1)  grupo2
Memorias de un computador (1) grupo2
 
Memorias de un computador (1) arreglo grupo 2
Memorias de un computador (1) arreglo grupo 2Memorias de un computador (1) arreglo grupo 2
Memorias de un computador (1) arreglo grupo 2
 
Grupo 2 memorias de un computador
Grupo 2 memorias de un computadorGrupo 2 memorias de un computador
Grupo 2 memorias de un computador
 
Memorias de un computador (1) arreglo grupo 2
Memorias de un computador (1) arreglo grupo 2Memorias de un computador (1) arreglo grupo 2
Memorias de un computador (1) arreglo grupo 2
 

Destacado

Colas, tipos y operaciones
Colas, tipos y operacionesColas, tipos y operaciones
Colas, tipos y operacionesJordangel Silva
 
Programacion en bash
Programacion en bashProgramacion en bash
Programacion en bashLuis Morán
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldabaux singapore
 

Destacado (9)

Colas, tipos y operaciones
Colas, tipos y operacionesColas, tipos y operaciones
Colas, tipos y operaciones
 
Programacion en bash
Programacion en bashProgramacion en bash
Programacion en bash
 
Unidad II
Unidad IIUnidad II
Unidad II
 
Unidad V
Unidad VUnidad V
Unidad V
 
Unidad III
Unidad IIIUnidad III
Unidad III
 
Unidad I
Unidad IUnidad I
Unidad I
 
Unidad VI
Unidad VIUnidad VI
Unidad VI
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 

Similar a Unidad IV

Los sistemas operativos
Los sistemas operativosLos sistemas operativos
Los sistemas operativosGabriel Piña
 
Sistemas operativos software
Sistemas operativos softwareSistemas operativos software
Sistemas operativos softwareJohan Guerra
 
Presentacion sistemas operativos
Presentacion sistemas operativosPresentacion sistemas operativos
Presentacion sistemas operativosPedro_Pizarro
 
Programación Paralela - Conceptos y diseño de sistemas distribuidos
Programación Paralela - Conceptos y diseño de sistemas distribuidosProgramación Paralela - Conceptos y diseño de sistemas distribuidos
Programación Paralela - Conceptos y diseño de sistemas distribuidosJose Moyano
 
evolucion de sisitemas operativos
evolucion de sisitemas operativosevolucion de sisitemas operativos
evolucion de sisitemas operativosAlexander Daniel
 
evolucion de los sistemas operativos
evolucion de los sistemas operativosevolucion de los sistemas operativos
evolucion de los sistemas operativosAlexander Daniel
 
Segunda unidas open suse
Segunda unidas open suseSegunda unidas open suse
Segunda unidas open suseMiguel Magaña
 
Estructura de un sistema operativo
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativoSuujeey Hernandez
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 

Similar a Unidad IV (20)

Los sistemas operativos
Los sistemas operativosLos sistemas operativos
Los sistemas operativos
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
INTRODUCCION A SISTEMAS OPERATIVOS
INTRODUCCION A SISTEMAS OPERATIVOSINTRODUCCION A SISTEMAS OPERATIVOS
INTRODUCCION A SISTEMAS OPERATIVOS
 
Sistemas operativos software
Sistemas operativos softwareSistemas operativos software
Sistemas operativos software
 
Presentacion sistemas operativos
Presentacion sistemas operativosPresentacion sistemas operativos
Presentacion sistemas operativos
 
Base expo
Base expoBase expo
Base expo
 
Programación Paralela - Conceptos y diseño de sistemas distribuidos
Programación Paralela - Conceptos y diseño de sistemas distribuidosProgramación Paralela - Conceptos y diseño de sistemas distribuidos
Programación Paralela - Conceptos y diseño de sistemas distribuidos
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Sistema computacional (arquitecturas y memorias)
Sistema computacional (arquitecturas y memorias)Sistema computacional (arquitecturas y memorias)
Sistema computacional (arquitecturas y memorias)
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 
So unidad 01
So unidad 01So unidad 01
So unidad 01
 
evolucion de sisitemas operativos
evolucion de sisitemas operativosevolucion de sisitemas operativos
evolucion de sisitemas operativos
 
evolucion de los sistemas operativos
evolucion de los sistemas operativosevolucion de los sistemas operativos
evolucion de los sistemas operativos
 
Segunda unidas open suse
Segunda unidas open suseSegunda unidas open suse
Segunda unidas open suse
 
3 unidad so2
3 unidad so23 unidad so2
3 unidad so2
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Arqui hardware
Arqui hardwareArqui hardware
Arqui hardware
 
Estructura de un sistema operativo
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativo
 
Estructura de un sistema operativo
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativo
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 

Unidad IV

  • 1. Hilo – Multihilo Un hilo de ejecución o subproceso es una característica que permite a una aplicación realizar varias tareas a la vez ( concurrentemente ). Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc. Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente. Un hilo es básicamente una tarea que puede ser ejecutada en paralelo con otra tarea.
  • 2. Hilos Consideremos, un servidor de archivos que debe bloquearse en forma ocasional, en espera de acceso al disco. Si el servidor tiene varios hilos de control, se podría ejecutar un segundo hilo mientras el primero duerme. No es posible eso si se crean dos procesos servidores independientes. Los hilos suelen ser llamados procesos ligeros.
  • 3. Hilos Los hilos de un proceso no son tan independientes como los procesos distintos. Todos los hilos tienen el mismo espacio de direcciones, comparten las mismas variables globales. Un hilo puede leer, escribir o limpiar de manera completa la pila de otro hilo.
  • 4. Modelos de Sistemas Estaciones de trabajo ( WorkStation ): Sin disco: arranque por red ( via PXE ) Con discos individuales: • Paginación y archivos temporales • Paginación, archivos temporales y binarios del sistema • Paginación, archivos tmp y binarios del sistema y ocultamiento de archivos • Sistema local de archivos completo
  • 5. Modelos de Sistemas Estaciones de trabajo ( WorkStation ): Con discos individuales: Ventajas: • Los usuarios tienen cantidad fija de poder de cómputo • Tiempo de respuesta garantizado • Alto grado de autonomía • Independencia si el servidor falla Desventajas: • Poder de cómputo excesivo para ciertas aplicaciones • Asignación ineficiente de recursos • Alto Consumo de energía eléctrica
  • 6. Modelos de Sistemas Pila de procesadores: • Terminales gráficas de alto desempeño • Es más parecido al modelo de tiempo compartido tradicional que al modelo PC • Economía de recursos • Basado en teoría de colas, su desempeño puede ser modelado de forma analítica • Modelo centralizado, con sus consecuentes ventajas y desventajas Híbrido:
  • 7. Asignación de Procesadores Aspectos de diseño de asignación: • Algoritmos deterministas vs heurísticos • Algoritmos centralizados vs descentralizados • Algoritmos óptimos vs subóptimos • Algoritmos locales vs globales • Algoritmos iniciados por emisor vs iniciados por el receptor
  • 8. Planificación en Sistemas Distribuidos Tolerancia a Fallos Fallas de componentes ( hardware ): fallas transitorias, intermintentes y permanentes Fallas de sistema: silentes, bizantinas Uso de redundancia: • Redundancia de información: código hamming, • Redundancia de tiempo: transacciones atómicas • Redundancia física: equipos adicionales, servidores en paralelo Tolerancia mediante réplica activa: (deportes:árbitros, turbina de aviones) Tolerancia mediante respaldo primario: el eemplazo se realiza en forma limpia, solamente siendo notado por el sistema operativo cliente, no por la aplicación.
  • 9. Sistemas Distribuidos de Tiempo REAL Sistemas de Tiempo REAL Es un sistema que interactúa activamente en un entorno con dinámica conocida con sus entradas, salidas y restricciones temporales. Cuando aparece un estímulo, este responde de forma correcta y en un tiempo límite. Rápido =! Preciso.. Para un RTOS ( Real Time Operating System ) se deben tener en cuenta los siguientes recursos: • Procesador: predecible, sin paginación, • Programación de tareas: lista de tareas con pocas entradas. • Comunicación entre tareas:mensajes vs semáforos. • Interrupciones:se procesa la información ántes de la siguiente interrupción. • Memoria: reparto de memoria y fragmentación. Sin paginación. • Comunicaciones: CAN bus, puertos serie. Ejemplo de RTOS: QNX, Windows CE, VxWorks.
  • 10. Sistemas Distribuidos de Tiempo REAL Sistemas de Tiempo REAL Aspectos de Diseño: • Sincronización de reloj: activados por evento vs activados por tiempo. • Predictibilidad: debe asegurarse, incluso con carga pico. • Tolerancia a fallos: uso de réplica activa. • Soporte de lenguaje: se deben expresar los retrasos máximo y mínimo.