redes de computadoras capa de aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaaplicacion1.pdfhilos...

27
1 Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia Universisdad Industrial de Santander Escuela de Sistemas Redes de Computadoras Capa de Aplicación Prof. Gilberto Díaz [email protected]

Upload: others

Post on 13-Jun-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

1Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Universisdad Industrial de SantanderEscuela de Sistemas

Redes de ComputadorasCapa de Aplicación

Prof. Gilberto Dí[email protected]

Page 2: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

2Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Definición de Proceso

Un proceso, conocido también como tarea, se define como un programa en ejecución. Podemos decir también que es la entidad que se asigna a un procesador.

Procesos

Tiempo

Tiempo

Page 3: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

3Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Características de un Proceso

A un proceso se le asigna un espacio de memoria y algunos otros recursos como dispositivos de entrada/salida.

Procesos

MemoriaRAM

Page 4: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

4Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Transiciones de Estado de un Proceso

Un proceso puede pasar por distintos estados durante su existencia. Las transiciones de tales estados son causadas por eventos en el sistema.

Procesos

Page 5: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

5Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Transiciones de Estado de un Proceso

Procesos

DespacharFinQuantum

Susp

enderR

eanu

dar

Rea

nuda

r

Susp

end

er

Fin deE/S o evento

Fin deE/S o evento

Bloquear

Page 6: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

6Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Hilos o Hebras

Son subprocesos de un proceso. Se conocen también como procesos ligeros. Dentro de un proceso se pueden identificar flujos de ejecución independientes.

Existen técnicas para hacer que estos flujos de ejecución puedan actuar como un proceso

Procesos Ligeros

Page 7: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

7Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Hilos o Hebras

Podemos decir también que un hilo no es más que la habilidad de un proceso o programa para dividirse en varios hilos deejecución simultáneos o aparentemente simultáneos.

Procesos Ligeros

Page 8: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

8Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Hilos o Hebras

La memoria y los recursos son asignados a los procesos

Todos los hilos de un proceso comparten la memoria y los recursos asignados a ese proceso

Sin embargo, cada hilo tiene un contexto diferente

Procesos Ligeros

Page 9: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

9Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Hilos o Hebras

El procesador es el único recurso que no se comparte entre los hilos Cada hilo tiene una pila diferente

Un proceso puede ser formado por uno o más hilos

Procesos Ligeros

Page 10: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

10Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Hilos o Hebras

Procesos Ligeros

Proceso AProceso A

Hilo

Memoria Proceso A

Proceso BProceso B

Hilo

Memoria Proceso B

Page 11: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

11Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Hilos o Hebras

Procesos Ligeros

Proceso AProceso A

Hilo A

Memoria Proceso A

Hilo B

Page 12: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

12Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Diferencia entre Proceso e Hilo

Un proceso es una entidad relativamente independiente que dispone de su propio espacio de direcciones, su propia información de estado y que utiliza los mecanismos de comunicación entre procesos que le proporciona el sistema operativo para comunicarse con otros procesos.

Procesos Ligeros

Page 13: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

13Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Diferencia entre Proceso e Hilo

Por otro lado, un hilo es una entidad más reducida capaz de convivir junto a otros hilos bajo el contexto de un único proceso, permitiendo compartir la información de estado, el área de memoria y/olos recursos asociados a ese proceso.

Procesos Ligeros

Page 14: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

14Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Tipos de Hilos

Espacio de UsuarioSe utilizan aplicaciones o bibliotecas para gestionar los hilosEl sistema operativo no conoce la existencia de hilos

Espacio del SistemaEl S.O conoce la existencia de hilosEl planificador selecciona hilos para despachar y no procesosEl hilo seleccionado puede pertenecer al mismo proceso o a uno distinto

Procesos Ligeros

Page 15: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

15Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Estado de los Hilos

El estado de un proceso determinado está dado por la combinación del estado de todos sus hilos.

Si uno de los hilos está en estado de ejecución entonces el proceso se encuentra también en estado de ejecución

Si ningún hilo se está ejecutando pero alguno está en estado de listo, el proceso estará en estado de listo

Procesos Ligeros

Page 16: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

16Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Estado de los Hilos

Un proceso estará bloqueado si todos sus hilos están bloqueados.

Procesos Ligeros

Page 17: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

17Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Tiempo Compartido

Los sistemas operativos multitarea utilizan una técnica denominada tiempo compartido para despachar procesos

Concurrencia

Procesos Listos

...

Page 18: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

18Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Tiempo Compartido

El sistema operativo despacha el primer proceso de la cola de listos

Concurrencia

Procesos Listos

...

Despachar

Page 19: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

19Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Tiempo Compartido

El proceso comienza su ejecución

Concurrencia

Procesos Listos

... Ejecutando

Page 20: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

20Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Tiempo Compartido

El S.O le asigna un tiempo llamado quantum el cual representa el tiempo máximo que el proceso puede estar en el procesador

Concurrencia

Procesos Listos

...

Page 21: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

21Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Tiempo Compartido

El proceso se ejecuta hasta que finalice

Concurrencia

Procesos Listos

...

Page 22: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

22Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Tiempo Compartido

O hasta que transcurra el quantum. En este caso el proceso vuelve a la cola de listos

Concurrencia

Procesos Listos

...

Page 23: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

23Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Concurrencia

Es la existencia de varios procesos en el sistema.

Podemos decir también que es la ejecución de varios procesos de manera tal que parezca que se ejecutan al mismo tiempo

Concurrencia vs Paralelismo

Page 24: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

24Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Paralelismo

Es la ejecución simultánea de varios procesos. Esto es posible cuando se cuenta con más de un procesador.

Concurrencia vs Paralelismo

Page 25: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

25Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Características de Procesos

El kernel de Linux asocia cuatro números a cada proceso: un

UID (User ID) real UID efectivoGID (Group ID) real GID efectivo

Gestión de Procesos

Page 26: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

26Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Características de Procesos

Los números identificadores reales son utilizados para la contabilidad.

Los números identificadores efectivos son usados para los permisos de accesos.

Estos últimos le dan una imagen diferentea los procesos a la hora de realizar ciertas operaciones sobre archivos con permisos restringidos.

Gestión de Procesos

Page 27: Redes de Computadoras Capa de Aplicaciónwiki.sc3.uis.edu.co/images/d/dd/11_capaAplicacion1.pdfHilos o Hebras Son subprocesos de un proceso. Se conocen también como procesos ligeros

27Profesor Gilberto Daz – Redes de Computadores – Universidad Industrial de Santander – Bucaramanga – Colombia

Procesos

En Linux hay una serie de comandos y herramientas que nos permiten gestionar procesos:

ps top kill pkillnice renice

Gestión de Procesos