SlideShare una empresa de Scribd logo
1 de 9
Universidad Regional Autónoma de los Andes
–UNIANDES–
CONCEPTO DE HILO Y LOS MODELOS DE HILOS
EXISTENTES, ASÍ COMO LOS PRINCIPALES ASPECTOS
DE SU DISEÑO COMO THREADS. ADEMÁS, EXPLICAR
LA INSERCIÓN DE HILOS EN EL ENTORNO DE UN
PROCESO, ASÍ COMO LA IMPLEMENTACIÓN DE
SEÑALES, TEMPORIZADORES Y EXCEPCIONES
Asas Saltos Jorge Bladimir
Ramírez Juan Carlos
Junio de 2017
OBJETIVO GENERAL:
Conocer acerca de la funcionalidad de los procesos ligeros (Hilos) en su desarrollo
en los Sistemas Operativos.
OBJETIVOS ESPECIFICOS:
 Determinar la estructura de los procesos ligeros (Hilos).
 Establecer los aspectos fundamentales de su diseño.
 Analizar su entorno e implementación en ellos.
El presente documento contiene especificaciones claras efectivas y concisas acerca
de los procesos ligeros también conocidos como hilos, distribuido en secciones
valorizadas por su concepto, característica, modeló, funcionabilidad, e
implementación dentro de Sistemas Operativos. Dentro del desarrollo del
documento se orientó de manera unificada al método de investigación cualitativa
debido a que es fundamentada, orientada al descubrimiento, procesó y descripción.
Además de tener información valida, real y profunda no generalizable.
Se argumentó que los hilos son una ejecución concreta de un programa, con un
camino determinado y un valor de sus variables determinados. Para acotar la unidad
mínima de expedición y de asignación de recursos es el proceso. De igual forma la
Señal forma una interrupción al proceso. La excepción: Es un evento que ocurre
durante la ejecución de un programa y que requiere la ejecución de un fragmento
de código situado fuera del flujo normal de ejecución y los Temporizadores: Nos
permitan medir correctamente los tiempos de ejecución asociados a programas o
segmentos de código.
Para la conceptualización del tema se tuvo pequeñas dificultades entre las cuales
resalta la con función entre un proceso pesado y ligero, además que muy pocos
autores los llaman procesos ligeros, por ende, a la hora de recabar información
existió más tiempo de lo previsto. Para poder desarrollar y cumplir con las
especificaciones del documento requerido, se asistió con información adicional de
internet concreta.
DESARROLLO
Un proceso ligero o thread, es un programa en ejecución flujo de ejecución) que
comparte la imagen de memoria y otras informaciones con otros procesos ligeros.
Desde el punto de vista de la programación un proceso ligero se define como una
función cuya ejecución se puede lanzar en paralelo con otras. El hilo de ejecución
primario, o proceso ligero primario, corresponde a la función main. Cada proceso
ligero tiene información que le son propias y que no comparte con otros procesos
ligeros.
MODELOS DE HILOS:
Hay tres patrones en los que caen generalmente los modelos de hilos; podemos
emplear a más de uno de estos patrones en diferentes áreas de nuestra aplicación,
e incluso podemos anidarlos:
Jefe / trabajador: Un hilo tiene una tarea distinta de todos los demás: El hilo jefe
genera o recopila tareas que requieren ser cubiertas, las separa y se las entrega a
los hilos trabajadores. Este modelo es el más común para procesos que
implementan servidores y para aplicaciones gráficas, en que hay una porción del
programa (el hilo jefe) esperando a que ocurran eventos externos.
Equipo de trabajo: Al iniciar la porción multihilos del proceso, se crean muchos hilos
idénticos, que realizarán las mismas tareas sobre diferentes datos. Este modelo es
muy frecuentemente utilizado para cálculos matemáticos. Puede combinarse con
un estilo jefe/trabajador para irle dando al usuario una pre visualización del resultado
de su cálculo, dado que éste se irá ensamblando progresivamente, pedazo por
pedazo.
Su principal diferencia con el patrón jefe/trabajador consiste en que el trabajo a
realizar por cada uno de los hilos se plantea en un principio, esto es, el paso de
división de trabajo no es un hilo más, sino que prepara los datos para que éstos
sean lanzados en paralelo. Estos datos no son resultado de eventos independientes
(como en el caso anterior), sino partes de un solo calculo.
Línea de ensamblado: Si una tarea larga puede dividirse en pasos sobre bloques
de la información total a procesar, cada hilo puede enfocarse a hacer sólo una tarea
y pasarle los datos a otro hilo conforme vaya terminando. Una de las principales
ventajas de este modelo es que nos ayuda a mantener rutinas simples de
comprender, y permite que el procesamiento de datos continúe incluso si parte del
programa está bloqueado esperando E/S (dispositivos /archivos).
 PRINCIPALES ASPECTOS DE SU DISEÑO COMO THREADS:
La utilización de procesos ligeros ofrece las ventajas de división de trabajo que dan
los procesos, pero con una mayor sencillez, lo que se traduce en mejores
prestaciones. En este sentido, es de destacar que los procesos ligeros comparten
memoria directamente, por lo que no hay que añadir ningún mecanismo adicional
para utilizarla, y que la creación y destrucción de procesos ligeros requiere mucho
menos trabajo que la de procesos.
Una de las aplicaciones típicas de los procesos ligeros es el diseño de procesos
servidores paralelos:
Proceso ligero Distribuidor: Se plantea un proceso ligero distribuidor cuya función
es la recepción de las ordenes y su traspaso a un proceso ligero trabajador. El
esquema puede funcionar creando un nuevo proceso ligero trabajador por cada
solicitud de servicios, proceso ligero que muere al finalizar su trabajo.
Proceso ligero Igual: Consiste en todos los cuales pueden aceptar una orden.
Cuando llega una solicitud, la recibe uno de los procesos ligeros que están leyendo
del puerto.
Este proceso ligero tratará la petición y, una vez finalizado el trabajo solicitado,
volverá a la fase de leer una nueva petición del puerto.
Proceso de Segmentación: También llamada pipe-line, cada trabajo se divide en
una serie de fases, encargándose de cada una de ellas un proceso ligero
especializado. El esquema permite tratar al mismo tiempo tantas solicitudes como
fases de la segmentación, puesto que se puede tener una en cada proceso ligero.
 INSERCIÓN DE HILOS EN EL ENTORNO DE UN PROCESO
La memoria de trabajo del proceso ligero sigue siendo asignada por proceso, los
thread (hilos) dentro del proceso comparten toda la misma región de memoria, el
mismo espacio de direcciones. Cada hilo tiene su propio contexto (estado de
ejecución), así que cada vez que se suspende un hilo para permitir la ejecución de
otro, su contexto es guardado y restablecido nuevamente solo cuando es su turno
de ejecución.
El proceso si bien ya no es la unidad de ejecución sigue siendo parte fundamental
en el funcionamiento del sistema ya que el proceso hace parte de la asignación de
prioridad de ejecución, es al que se le asigna memoria y de hecho es al que se le
asignan los recursos, así como privilegios y otros datos importantes. El hilo es solo
quien se ejecuta (sin demeritar en absoluto algo tan importante como esto).
Adicionalmente se puede acotar para que haya una inserción en un proceso debe
pasar por los siguientes tres estados básicos: Ejecución, Bloqueado, Listo.
Ejecución: En este estado está el proceso está siendo ejecutado por el procesador,
es decir, que está en fase de procesamiento. En esta fase el estado del proceso
reside en los registros del procesador.
Bloqueado: Un proceso bloqueado está esperando a que ocurra un evento y no
puede seguir ejecutando hasta que suceda el evento. Una situación típica de
proceso bloqueado se produce cuando el proceso solicita una operación de
dispositivos/archivos. Hasta que no terminar esta operación, el proceso queda
bloqueado. Ilustración 5 Proceso Ligero Igual Ilustración 6 Proceso Pipe-Line
Listo: Un proceso está listo para ejecutar cuando puede entrar en fase de
procesamiento. Dado que puede haber varios procesos en este estado, una de las
tareas del sistema operativo que toma esta decisión se denomina planificador.
 IMPLEMENTACIÓN DE SEÑALES, TEMPORIZADORES Y EXCEPCIONES
Las señales cumplen con el hilo que debe informar a otro que cierta condición está
ya cumplida. Por ejemplo, un hilo prepara una conexión en red mientras que otro
calcula lo que tiene que enviar. No podemos arriesgarnos a comenzar a enviar antes
de que la conexión esté lista. Dado que las señales se utilizan para indicarle al
proceso muchas cosas diferentes, existen una variedad de ellas, que se incluye tres
categorías de señales: Excepciones Hardware, Comunicación y FIS asíncrona.
Cada vez que la rutina del sistema operativo que trata las interrupciones de reloj
comprueba que ha transcurrido un segundo, de cementa todos los temporizadores
que no estén a 0 y comprueba si han llegado a 0. Para aquellos procesos cuyo
temporizador acaba de llegar a 0 el sistema operativo notifica el proceso que el
temporizador ha vencido. Por ejemplo, en POSIX se genera una señal SIGALRN.
En Win32 se ejecuta una función definida por el usuario y que asocia al
temporizador. El proceso activa el temporizador mediante un servicio en el que
especifica el número de segundo o milisegundo que quiere temporizar. Cuando
vence la temporización, recibirá la correspondiente señal o se ejecutará la función
asociada al mismo.
Las excepciones son eventos que ocurren durante la ejecución de un programa y
que requiere la ejecución de un fragmento de código situado fuera del flujo normal
de ejecución. Las excepcione son generadas por el hardware o el software.
Cuando ocurre una excepción, tanto hardware como software, el control es
transferido al sistema operativo, que ejecuta la rutina de tratamiento de excepción
correspondiente. Esta rutina crea un registro que contiene información sobre la
excepción generada. Si existe un manejador para la excepción generada, el sistema
operativo transfiere el control a dicho manejador, en caso contrario aborta la
ejecución del proceso. Ilustración 7 Estados de Proceso
CONCLUSIÓN:
Los procesos ligeros son una unidad básica de utilización del CPU consistente en
un juego de registros y un espacio de pila. Comparte el código, los datos y los
recursos con sus hebras pares. Una tarea (o proceso pesado) está formada ahora
por una o más hebras. Además, un proceso ligero consta de tres estados:
ejecutando, listo o bloqueado.
Cada Proceso necesita una serie de recursos, y cada proceso es secuencial para
ser atendido, ocupa un espacio de memoria que contiene el programa ejecutable,
sus datos, su pila, conjunto de registros asociados al proceso. Los beneficios clave
de los hilos se derivan de las implicaciones del rendimiento: se tarda menos tiempo
en crear un nuevo hilo de un proceso que ya existe, en terminarlo, y en hacer un
cambio de contexto entre hilos de un mismo proceso. Al someter a un mismo
proceso a varios flujos de ejecución se mantiene una única copia en memoria del
código, y no varias.
La funcionabilidad de los hilos es variada, y un ejemplo de aplicación que podría
hacer uso de los hilos es un servidor de ficheros de una red de área local. Cada vez
que llega una solicitud de una operación sobre un fichero, se puede generar un
nuevo hilo para su gestión. El servidor gestiona multitud de solicitudes, por tanto, se
pueden crear y destruir muchos hilos en poco tiempo para dar servicio a estas
peticiones. Si el servidor es un multiprocesador, se pueden ejecutar varios hilos de
un mismo proceso simultáneamente y en diferentes procesadores.

Más contenido relacionado

La actualidad más candente

Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
Fernando Camacho
 
Inf 324 01 07 Procesos
Inf 324 01 07  ProcesosInf 324 01 07  Procesos
Inf 324 01 07 Procesos
OscarSanchezD
 
Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)
Javier Alvarez
 
Resumen del primer corte
Resumen del primer corteResumen del primer corte
Resumen del primer corte
ADOLFO BORJA
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De Procesos
GUADALUPE
 
gestion de procesos
gestion de procesosgestion de procesos
gestion de procesos
saoriiih
 
INF-324 01 07 Procesos
INF-324 01 07 ProcesosINF-324 01 07 Procesos
INF-324 01 07 Procesos
OscarSanchezD
 
Estructura modular
Estructura modularEstructura modular
Estructura modular
juan_180
 
Sistemas operativos miguel angel
Sistemas operativos  miguel angelSistemas operativos  miguel angel
Sistemas operativos miguel angel
carlos-1
 

La actualidad más candente (17)

Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
 
Planificación Sistemas Operativos 2021 2
Planificación Sistemas Operativos 2021 2Planificación Sistemas Operativos 2021 2
Planificación Sistemas Operativos 2021 2
 
Inf 324 01 07 Procesos
Inf 324 01 07  ProcesosInf 324 01 07  Procesos
Inf 324 01 07 Procesos
 
Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)
 
Procesos e Hilos, Sistemas Operativos
Procesos e Hilos, Sistemas OperativosProcesos e Hilos, Sistemas Operativos
Procesos e Hilos, Sistemas Operativos
 
Resumen del primer corte
Resumen del primer corteResumen del primer corte
Resumen del primer corte
 
Trabajo de sisope
Trabajo de sisopeTrabajo de sisope
Trabajo de sisope
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De Procesos
 
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesosSO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
 
gestion de procesos
gestion de procesosgestion de procesos
gestion de procesos
 
Comunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosComunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de Procesos
 
Tiposde Sistema Operativos
Tiposde Sistema OperativosTiposde Sistema Operativos
Tiposde Sistema Operativos
 
Cuestionario cap.3 so
Cuestionario cap.3 soCuestionario cap.3 so
Cuestionario cap.3 so
 
INF-324 01 07 Procesos
INF-324 01 07 ProcesosINF-324 01 07 Procesos
INF-324 01 07 Procesos
 
Estructura modular
Estructura modularEstructura modular
Estructura modular
 
Sistemas operativos - 6to SSI
Sistemas operativos - 6to SSISistemas operativos - 6to SSI
Sistemas operativos - 6to SSI
 
Sistemas operativos miguel angel
Sistemas operativos  miguel angelSistemas operativos  miguel angel
Sistemas operativos miguel angel
 

Similar a Administrador de procesos

Unidad 2 Sistemas Operativos
Unidad 2 Sistemas OperativosUnidad 2 Sistemas Operativos
Unidad 2 Sistemas Operativos
Kim Sorel Rush
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
TEUJARA
 
Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01
Alfredo Gonzalez
 
Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01
Alfredo Gonzalez
 

Similar a Administrador de procesos (20)

Sistemas operativos informe
Sistemas operativos informe Sistemas operativos informe
Sistemas operativos informe
 
S..O. Unidad 2
S..O. Unidad 2S..O. Unidad 2
S..O. Unidad 2
 
Hilo de ejecución
Hilo de ejecuciónHilo de ejecución
Hilo de ejecución
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
 
Unidad 2 Sistemas Operativos
Unidad 2 Sistemas OperativosUnidad 2 Sistemas Operativos
Unidad 2 Sistemas Operativos
 
Tiposde Sistema
Tiposde SistemaTiposde Sistema
Tiposde Sistema
 
Tiposde Sistema
Tiposde SistemaTiposde Sistema
Tiposde Sistema
 
Procesos
ProcesosProcesos
Procesos
 
Grupo1
Grupo1Grupo1
Grupo1
 
Procesos
ProcesosProcesos
Procesos
 
Administración de procesos y del procesador.pptx
Administración de procesos y del procesador.pptxAdministración de procesos y del procesador.pptx
Administración de procesos y del procesador.pptx
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Hilos con Posix
Hilos con PosixHilos con Posix
Hilos con Posix
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01
 
Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01
 
Sincronización de Procesos
Sincronización de Procesos Sincronización de Procesos
Sincronización de Procesos
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesos
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 

Último

ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
zulyvero07
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
JonathanCovena1
 

Último (20)

Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 

Administrador de procesos

  • 1. Universidad Regional Autónoma de los Andes –UNIANDES– CONCEPTO DE HILO Y LOS MODELOS DE HILOS EXISTENTES, ASÍ COMO LOS PRINCIPALES ASPECTOS DE SU DISEÑO COMO THREADS. ADEMÁS, EXPLICAR LA INSERCIÓN DE HILOS EN EL ENTORNO DE UN PROCESO, ASÍ COMO LA IMPLEMENTACIÓN DE SEÑALES, TEMPORIZADORES Y EXCEPCIONES Asas Saltos Jorge Bladimir Ramírez Juan Carlos Junio de 2017
  • 2. OBJETIVO GENERAL: Conocer acerca de la funcionalidad de los procesos ligeros (Hilos) en su desarrollo en los Sistemas Operativos. OBJETIVOS ESPECIFICOS:  Determinar la estructura de los procesos ligeros (Hilos).  Establecer los aspectos fundamentales de su diseño.  Analizar su entorno e implementación en ellos. El presente documento contiene especificaciones claras efectivas y concisas acerca de los procesos ligeros también conocidos como hilos, distribuido en secciones valorizadas por su concepto, característica, modeló, funcionabilidad, e implementación dentro de Sistemas Operativos. Dentro del desarrollo del documento se orientó de manera unificada al método de investigación cualitativa debido a que es fundamentada, orientada al descubrimiento, procesó y descripción. Además de tener información valida, real y profunda no generalizable. Se argumentó que los hilos son una ejecución concreta de un programa, con un camino determinado y un valor de sus variables determinados. Para acotar la unidad mínima de expedición y de asignación de recursos es el proceso. De igual forma la Señal forma una interrupción al proceso. La excepción: Es un evento que ocurre durante la ejecución de un programa y que requiere la ejecución de un fragmento de código situado fuera del flujo normal de ejecución y los Temporizadores: Nos permitan medir correctamente los tiempos de ejecución asociados a programas o segmentos de código. Para la conceptualización del tema se tuvo pequeñas dificultades entre las cuales resalta la con función entre un proceso pesado y ligero, además que muy pocos autores los llaman procesos ligeros, por ende, a la hora de recabar información existió más tiempo de lo previsto. Para poder desarrollar y cumplir con las especificaciones del documento requerido, se asistió con información adicional de internet concreta.
  • 3. DESARROLLO Un proceso ligero o thread, es un programa en ejecución flujo de ejecución) que comparte la imagen de memoria y otras informaciones con otros procesos ligeros. Desde el punto de vista de la programación un proceso ligero se define como una función cuya ejecución se puede lanzar en paralelo con otras. El hilo de ejecución primario, o proceso ligero primario, corresponde a la función main. Cada proceso ligero tiene información que le son propias y que no comparte con otros procesos ligeros. MODELOS DE HILOS: Hay tres patrones en los que caen generalmente los modelos de hilos; podemos emplear a más de uno de estos patrones en diferentes áreas de nuestra aplicación, e incluso podemos anidarlos: Jefe / trabajador: Un hilo tiene una tarea distinta de todos los demás: El hilo jefe genera o recopila tareas que requieren ser cubiertas, las separa y se las entrega a los hilos trabajadores. Este modelo es el más común para procesos que implementan servidores y para aplicaciones gráficas, en que hay una porción del programa (el hilo jefe) esperando a que ocurran eventos externos. Equipo de trabajo: Al iniciar la porción multihilos del proceso, se crean muchos hilos idénticos, que realizarán las mismas tareas sobre diferentes datos. Este modelo es muy frecuentemente utilizado para cálculos matemáticos. Puede combinarse con
  • 4. un estilo jefe/trabajador para irle dando al usuario una pre visualización del resultado de su cálculo, dado que éste se irá ensamblando progresivamente, pedazo por pedazo. Su principal diferencia con el patrón jefe/trabajador consiste en que el trabajo a realizar por cada uno de los hilos se plantea en un principio, esto es, el paso de división de trabajo no es un hilo más, sino que prepara los datos para que éstos sean lanzados en paralelo. Estos datos no son resultado de eventos independientes (como en el caso anterior), sino partes de un solo calculo. Línea de ensamblado: Si una tarea larga puede dividirse en pasos sobre bloques de la información total a procesar, cada hilo puede enfocarse a hacer sólo una tarea y pasarle los datos a otro hilo conforme vaya terminando. Una de las principales ventajas de este modelo es que nos ayuda a mantener rutinas simples de comprender, y permite que el procesamiento de datos continúe incluso si parte del programa está bloqueado esperando E/S (dispositivos /archivos).
  • 5.  PRINCIPALES ASPECTOS DE SU DISEÑO COMO THREADS: La utilización de procesos ligeros ofrece las ventajas de división de trabajo que dan los procesos, pero con una mayor sencillez, lo que se traduce en mejores prestaciones. En este sentido, es de destacar que los procesos ligeros comparten memoria directamente, por lo que no hay que añadir ningún mecanismo adicional para utilizarla, y que la creación y destrucción de procesos ligeros requiere mucho menos trabajo que la de procesos. Una de las aplicaciones típicas de los procesos ligeros es el diseño de procesos servidores paralelos: Proceso ligero Distribuidor: Se plantea un proceso ligero distribuidor cuya función es la recepción de las ordenes y su traspaso a un proceso ligero trabajador. El esquema puede funcionar creando un nuevo proceso ligero trabajador por cada solicitud de servicios, proceso ligero que muere al finalizar su trabajo. Proceso ligero Igual: Consiste en todos los cuales pueden aceptar una orden. Cuando llega una solicitud, la recibe uno de los procesos ligeros que están leyendo del puerto.
  • 6. Este proceso ligero tratará la petición y, una vez finalizado el trabajo solicitado, volverá a la fase de leer una nueva petición del puerto. Proceso de Segmentación: También llamada pipe-line, cada trabajo se divide en una serie de fases, encargándose de cada una de ellas un proceso ligero especializado. El esquema permite tratar al mismo tiempo tantas solicitudes como fases de la segmentación, puesto que se puede tener una en cada proceso ligero.  INSERCIÓN DE HILOS EN EL ENTORNO DE UN PROCESO La memoria de trabajo del proceso ligero sigue siendo asignada por proceso, los thread (hilos) dentro del proceso comparten toda la misma región de memoria, el mismo espacio de direcciones. Cada hilo tiene su propio contexto (estado de ejecución), así que cada vez que se suspende un hilo para permitir la ejecución de otro, su contexto es guardado y restablecido nuevamente solo cuando es su turno de ejecución.
  • 7. El proceso si bien ya no es la unidad de ejecución sigue siendo parte fundamental en el funcionamiento del sistema ya que el proceso hace parte de la asignación de prioridad de ejecución, es al que se le asigna memoria y de hecho es al que se le asignan los recursos, así como privilegios y otros datos importantes. El hilo es solo quien se ejecuta (sin demeritar en absoluto algo tan importante como esto). Adicionalmente se puede acotar para que haya una inserción en un proceso debe pasar por los siguientes tres estados básicos: Ejecución, Bloqueado, Listo. Ejecución: En este estado está el proceso está siendo ejecutado por el procesador, es decir, que está en fase de procesamiento. En esta fase el estado del proceso reside en los registros del procesador. Bloqueado: Un proceso bloqueado está esperando a que ocurra un evento y no puede seguir ejecutando hasta que suceda el evento. Una situación típica de proceso bloqueado se produce cuando el proceso solicita una operación de dispositivos/archivos. Hasta que no terminar esta operación, el proceso queda bloqueado. Ilustración 5 Proceso Ligero Igual Ilustración 6 Proceso Pipe-Line Listo: Un proceso está listo para ejecutar cuando puede entrar en fase de procesamiento. Dado que puede haber varios procesos en este estado, una de las tareas del sistema operativo que toma esta decisión se denomina planificador.  IMPLEMENTACIÓN DE SEÑALES, TEMPORIZADORES Y EXCEPCIONES
  • 8. Las señales cumplen con el hilo que debe informar a otro que cierta condición está ya cumplida. Por ejemplo, un hilo prepara una conexión en red mientras que otro calcula lo que tiene que enviar. No podemos arriesgarnos a comenzar a enviar antes de que la conexión esté lista. Dado que las señales se utilizan para indicarle al proceso muchas cosas diferentes, existen una variedad de ellas, que se incluye tres categorías de señales: Excepciones Hardware, Comunicación y FIS asíncrona. Cada vez que la rutina del sistema operativo que trata las interrupciones de reloj comprueba que ha transcurrido un segundo, de cementa todos los temporizadores que no estén a 0 y comprueba si han llegado a 0. Para aquellos procesos cuyo temporizador acaba de llegar a 0 el sistema operativo notifica el proceso que el temporizador ha vencido. Por ejemplo, en POSIX se genera una señal SIGALRN. En Win32 se ejecuta una función definida por el usuario y que asocia al temporizador. El proceso activa el temporizador mediante un servicio en el que especifica el número de segundo o milisegundo que quiere temporizar. Cuando vence la temporización, recibirá la correspondiente señal o se ejecutará la función asociada al mismo. Las excepciones son eventos que ocurren durante la ejecución de un programa y que requiere la ejecución de un fragmento de código situado fuera del flujo normal de ejecución. Las excepcione son generadas por el hardware o el software. Cuando ocurre una excepción, tanto hardware como software, el control es transferido al sistema operativo, que ejecuta la rutina de tratamiento de excepción correspondiente. Esta rutina crea un registro que contiene información sobre la excepción generada. Si existe un manejador para la excepción generada, el sistema operativo transfiere el control a dicho manejador, en caso contrario aborta la ejecución del proceso. Ilustración 7 Estados de Proceso
  • 9. CONCLUSIÓN: Los procesos ligeros son una unidad básica de utilización del CPU consistente en un juego de registros y un espacio de pila. Comparte el código, los datos y los recursos con sus hebras pares. Una tarea (o proceso pesado) está formada ahora por una o más hebras. Además, un proceso ligero consta de tres estados: ejecutando, listo o bloqueado. Cada Proceso necesita una serie de recursos, y cada proceso es secuencial para ser atendido, ocupa un espacio de memoria que contiene el programa ejecutable, sus datos, su pila, conjunto de registros asociados al proceso. Los beneficios clave de los hilos se derivan de las implicaciones del rendimiento: se tarda menos tiempo en crear un nuevo hilo de un proceso que ya existe, en terminarlo, y en hacer un cambio de contexto entre hilos de un mismo proceso. Al someter a un mismo proceso a varios flujos de ejecución se mantiene una única copia en memoria del código, y no varias. La funcionabilidad de los hilos es variada, y un ejemplo de aplicación que podría hacer uso de los hilos es un servidor de ficheros de una red de área local. Cada vez que llega una solicitud de una operación sobre un fichero, se puede generar un nuevo hilo para su gestión. El servidor gestiona multitud de solicitudes, por tanto, se pueden crear y destruir muchos hilos en poco tiempo para dar servicio a estas peticiones. Si el servidor es un multiprocesador, se pueden ejecutar varios hilos de un mismo proceso simultáneamente y en diferentes procesadores.