SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Procesos e hilo
Concepto procesos
• Los procesos: son programas en ejecución los cuales están
gestionado por el OS. El sistema operativo mantiene la
información de cada proceso, tales como sus características y
los recursos asignados, memoria, archivos abiertos y puertos
de combinación.
Procesos e hilo
Estado de un proceso
Un proceso consta de dos modelos de estado, ya sea
estado de ejecución o no. Al crearse un nuevo proceso, se
coloca en estado de no ejecución. Sin embargo en algún
momento, el proceso en ejecución puede pasar a estado
de no ejecución, mientras que otro proceso se
seleccionará de la lista de procesos listos a ejecutar y se
pondrá en estado de ejecución.
Procesos e hilo
Modelo de cinco estado
➢ Nuevo: El proceso recién fue creado y todavía no fue admitido por el sistema
operativo. En general los procesos que se encuentran en este estado todavía no
fueron cargados en la memoria principal.
➢ Ejecución: es un proceso que está haciendo uso del procesador.
➢ Bloqueado: No puede ejecutarse hasta que un evento externo sea llevado a cabo.
➢ Listo: ha dejado disponible al procesador para que otro proceso pueda ocuparlo.
➢ Terminado: El proceso fue expulsado del grupo de procesos ejecutables, ya sea
porque terminó o por algún fallo, como un error de protección, aritmético, etc.
Procesos e hilo
Procesos
• Los procesos son creados y destruidos por el sistema operativo, así como
también este se debe hacer cargo de la comunicación entre procesos.
• El mecanismo por el cual un proceso crea otro proceso se denomina
bifurcación.
• El sistema operativo es el responsable de determinar las pautas de
intercalado y asignación de recursos a cada proceso.
Procesos e hilo
Procesos
• Es muy importante destacar la importancia de
mantener varias colas de procesos listos
cuando existe un esquema con diferentes
niveles de prioridad. Cada cola representa un
nivel de prioridad distinto y ayuda a
determinar qué proceso es más conveniente
ejecutar a continuación.
Procesos e hilo
Hilio
• Hilo: Un hilo en un sistema operativo permite que una
aplicación realice múltiples tareas concurrentemente. Los hilos
comparten recursos como el espacio de memoria, los archivos
abiertos y la situación de autentificación, lo que simplifica el
diseño de una aplicación que necesita realizar varias funciones
simultáneamente.
Procesos e hilo
Hilo Ejemplo
• Un servidor web que funcione con un solo hilo de ejecución solo
podría atender a un cliente a la vez, lo que resultaría en largos tiempos
de espera para los clientes. Una solución sería crear un nuevo proceso
para cada solicitud, pero esto consume tiempo y recursos.
• En cambio, se propone utilizar hilos en lugar de procesos. Esto permite
que un proceso único utilice múltiples hilos, donde uno de ellos se
encarga de escuchar las solicitudes y, cuando llega una nueva
solicitud, se crea otro hilo para procesarla. Esta estrategia es más
eficiente, ya que los hilos comparten recursos y no requiere la creación
de procesos adicionales.
Procesos e hilo
Funcionalidad de los hilio
• Al igual que los procesos, los hilos tienen un estado de ejecución
y pueden sincronizarse para evitar problemas de recursos
compartidos. Cada hilo tiene una tarea específica para
aumentar la eficiencia del procesador.
• Todos los hilos comparten el mismo espacio de direcciones y
otros recursos, como archivos abiertos. Las modificaciones
realizadas por un hilo pueden afectar a los demás hilos del
mismo proceso, por lo que es necesario sincronizar su actividad
para evitar interferencias o corrupción de datos.
Procesos e hilo
Tareas e hilos.
Unidad mínima de asignación: tarea.
Unidad mínima de expedición: hilo.
• Este se habla que dos hilos de una misma tarea, conocidos como hilos pares,
comparten el segmento de código, el segmento de datos y un espacio de pila,
es decir, los recursos asignados a la tarea.
• Se compara el control de múltiples hilos con el control de múltiples procesos.
En el caso de los procesos, cada uno opera de manera independiente, con su
propio contador de programa, registro de pila y espacio de direcciones. Esta
organización es útil cuando los trabajos realizados por los procesos no están
relacionados entre sí.
Procesos e hilo
Comunicación entre procesos
• La comunicación entre procesos es una función esencial de los sistemas
operativos, que permite que los procesos se comuniquen y sincronicen
entre sí a través de un sistema de paso de mensajes de bajo nivel.
• Las técnicas de IPC están divididas dentro de métodos para: paso de
mensajes, sincronización, memoria compartida y llamadas de
procedimientos remotos (RPC).
Procesos e hilo
Comunicación entre procesos
• En un sistema, algunos procesos pueden
ejecutarse de forma independiente,
mientras que otros requieren cooperación y
comunicación con otros procesos para
completar sus tareas. Esto puede ser
motivado por la competencia por recursos
compartidos o la necesidad de ejecución
sincronizada para lograr una tarea
específica.
Procesos e hilo
Programación concurrente
• La programación concurrente se refiere a las técnicas de
programación utilizadas para expresar el paralelismo entre tareas y
resolver los problemas de comunicación y sincronización entre
procesos.
• El principal desafío de la programación concurrente radica en el
hecho de que no se sabe en qué orden se ejecutarán los
programas, especialmente aquellos que se comunican entre sí. Por
lo tanto, es crucial tomar precauciones para garantizar que el
orden de ejecución no afecte el resultado de los programas.
Procesos e hilo
Problemas clásicos de IPC
El problema de la cena de los filósofos
En 1965 Dijkstra planteó y resolvió un problema de
sincronización llamado el problema de la cena de los filósofos,
que se puede enunciar como sigue. Cinco filósofos se sientan a
la mesa, cada uno con un plato de espaghetti. El espaghetti es
tan escurridizo que un filósofo necesita dos tenedores para
comerlo. Entre cada dos platos hay un tenedor. En imagen se
muestra la mesa.
Los filósofos se disponen a comer;
La vida de un filósofo consta de periodos alternos de comer y pensar. Cuando un filósofo
tiene hambre, intenta obtener un tenedor para su mano derecha, y otro para su mano
izquierda, cogiendo uno a la vez y en cualquier orden. Si logra obtener los dos tenedores,
come un rato y después deja los tenedores y continúa pensando. La pregunta clave es: puede
el lector escribir un programa para cada filósofo que permita comer equitativamente a los
filósofos y no se interbloquee?
Procesos e hilo
Problemas clásicos de IPC
❖ El problema de los lectores y los escritores
El problema de la cena de los filósofos es útil para modelar procesos que
compiten por el acceso exclusivo a un número limitado de recursos, como
una unidad de cinta u otro dispositivo de E/S. Otro problema famoso es el
de los lectores y escritores (Courtois et al., 1971), que modela el acceso a
una base de datos. Supóngase una base de datos, con muchos procesos que
compiten por leer y escribir en ella. Se puede permitir que varios procesos
lean de la base de datos al mismo tiempo, pero si uno de los procesos está
escribiendo (es decir, modificando) la base de datos, ninguno de los demás
debería tener acceso a ésta, ni siquiera los lectores.
PPT CAP 2 Proceso e hilo.pdf

Más contenido relacionado

La actualidad más candente

PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEgladysmamani
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesJosé Antonio Sandoval Acosta
 
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 procesadorFernando Camacho
 
Autómatas de Pila
Autómatas de PilaAutómatas de Pila
Autómatas de PilaPablo Guerra
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesosayreonmx
 
Archivo secuencial indexado
Archivo secuencial indexadoArchivo secuencial indexado
Archivo secuencial indexadoTortuly
 
Android estructura del Sistema Operativo
Android estructura del Sistema OperativoAndroid estructura del Sistema Operativo
Android estructura del Sistema OperativoJesus Jimenez
 
Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"Ra'Fat Al-Msie'deen
 
Ciclo de vida de un sistema de información
Ciclo de vida de un sistema de informaciónCiclo de vida de un sistema de información
Ciclo de vida de un sistema de informaciónJuan Pablo Bustos Thames
 
Almacenamiento en la Nube y Cloud Computing
Almacenamiento en la Nube y Cloud ComputingAlmacenamiento en la Nube y Cloud Computing
Almacenamiento en la Nube y Cloud ComputingAlfredo Vela Zancada
 
Procesos de los sistemas operativos
Procesos de los sistemas operativosProcesos de los sistemas operativos
Procesos de los sistemas operativosDeivis Romero
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UMLramirezjaime
 

La actualidad más candente (20)

PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 
Noción de archivo real y virtual
Noción de archivo real y virtual Noción de archivo real y virtual
Noción de archivo real y virtual
 
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
 
Tipos de procesos
Tipos de procesosTipos de procesos
Tipos de procesos
 
Administración de Memoria
Administración de MemoriaAdministración de Memoria
Administración de Memoria
 
Autómatas de Pila
Autómatas de PilaAutómatas de Pila
Autómatas de Pila
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesos
 
Archivo secuencial indexado
Archivo secuencial indexadoArchivo secuencial indexado
Archivo secuencial indexado
 
Ch4 memory management
Ch4 memory managementCh4 memory management
Ch4 memory management
 
Unidad de Control
Unidad de ControlUnidad de Control
Unidad de Control
 
MECANISMO DE PROTECCION
MECANISMO DE PROTECCIONMECANISMO DE PROTECCION
MECANISMO DE PROTECCION
 
Android estructura del Sistema Operativo
Android estructura del Sistema OperativoAndroid estructura del Sistema Operativo
Android estructura del Sistema Operativo
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamica
 
Sistemas Operativos Gestión de memoria
Sistemas Operativos Gestión de memoriaSistemas Operativos Gestión de memoria
Sistemas Operativos Gestión de memoria
 
Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"
 
Ciclo de vida de un sistema de información
Ciclo de vida de un sistema de informaciónCiclo de vida de un sistema de información
Ciclo de vida de un sistema de información
 
Almacenamiento en la Nube y Cloud Computing
Almacenamiento en la Nube y Cloud ComputingAlmacenamiento en la Nube y Cloud Computing
Almacenamiento en la Nube y Cloud Computing
 
Procesos de los sistemas operativos
Procesos de los sistemas operativosProcesos de los sistemas operativos
Procesos de los sistemas operativos
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UML
 

Similar a PPT CAP 2 Proceso e hilo.pdf

104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesadorMiguel Joshua Godinez Barbosa
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosEmmanuel Fortuna
 
Recurrencia en procesos
Recurrencia en procesosRecurrencia en procesos
Recurrencia en procesosrcarrerah
 
Sistemas operativos threads
Sistemas operativos   threadsSistemas operativos   threads
Sistemas operativos threadsLiNo Candelario
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasJ M
 
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.pptxNoraTorres35
 
SO2_U2_PROCESOS, HILOS Y COMUNICACIÓN.pptx
SO2_U2_PROCESOS, HILOS Y COMUNICACIÓN.pptxSO2_U2_PROCESOS, HILOS Y COMUNICACIÓN.pptx
SO2_U2_PROCESOS, HILOS Y COMUNICACIÓN.pptxitphectorsg
 
Administrador de procesos
Administrador de procesosAdministrador de procesos
Administrador de procesosjorge asas
 
hilos informatica
hilos informatica hilos informatica
hilos informatica Shire Apaza
 
Equipo 2 - Exposición.pptx
Equipo 2 - Exposición.pptxEquipo 2 - Exposición.pptx
Equipo 2 - Exposición.pptxJuanVaggom
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrentegiovatovar
 
Guia 1 de hilos y procesos posix
Guia 1 de hilos y procesos posixGuia 1 de hilos y procesos posix
Guia 1 de hilos y procesos posixMariano Gutierrez
 

Similar a PPT CAP 2 Proceso e hilo.pdf (20)

Hilos hebras
Hilos hebrasHilos hebras
Hilos hebras
 
Unidad2
Unidad2Unidad2
Unidad2
 
Hilo de ejecución
Hilo de ejecuciónHilo de ejecución
Hilo de ejecución
 
104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas Operativos
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Recurrencia en procesos
Recurrencia en procesosRecurrencia en procesos
Recurrencia en procesos
 
Uso de hilos
Uso de hilosUso de hilos
Uso de hilos
 
Sistemas operativos threads
Sistemas operativos   threadsSistemas operativos   threads
Sistemas operativos threads
 
S..O. Unidad 2
S..O. Unidad 2S..O. Unidad 2
S..O. Unidad 2
 
:)Resumen
:)Resumen:)Resumen
:)Resumen
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o Hebras
 
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
 
SO2_U2_PROCESOS, HILOS Y COMUNICACIÓN.pptx
SO2_U2_PROCESOS, HILOS Y COMUNICACIÓN.pptxSO2_U2_PROCESOS, HILOS Y COMUNICACIÓN.pptx
SO2_U2_PROCESOS, HILOS Y COMUNICACIÓN.pptx
 
Administrador de procesos
Administrador de procesosAdministrador de procesos
Administrador de procesos
 
hilos informatica
hilos informatica hilos informatica
hilos informatica
 
Uso de threads en C#
Uso de threads en C#Uso de threads en C#
Uso de threads en C#
 
Equipo 2 - Exposición.pptx
Equipo 2 - Exposición.pptxEquipo 2 - Exposición.pptx
Equipo 2 - Exposición.pptx
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
 
Guia 1 de hilos y procesos posix
Guia 1 de hilos y procesos posixGuia 1 de hilos y procesos posix
Guia 1 de hilos y procesos posix
 

Último

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 

Último (10)

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 

PPT CAP 2 Proceso e hilo.pdf

  • 1.
  • 2. Procesos e hilo Concepto procesos • Los procesos: son programas en ejecución los cuales están gestionado por el OS. El sistema operativo mantiene la información de cada proceso, tales como sus características y los recursos asignados, memoria, archivos abiertos y puertos de combinación.
  • 3.
  • 4. Procesos e hilo Estado de un proceso Un proceso consta de dos modelos de estado, ya sea estado de ejecución o no. Al crearse un nuevo proceso, se coloca en estado de no ejecución. Sin embargo en algún momento, el proceso en ejecución puede pasar a estado de no ejecución, mientras que otro proceso se seleccionará de la lista de procesos listos a ejecutar y se pondrá en estado de ejecución.
  • 5. Procesos e hilo Modelo de cinco estado ➢ Nuevo: El proceso recién fue creado y todavía no fue admitido por el sistema operativo. En general los procesos que se encuentran en este estado todavía no fueron cargados en la memoria principal. ➢ Ejecución: es un proceso que está haciendo uso del procesador. ➢ Bloqueado: No puede ejecutarse hasta que un evento externo sea llevado a cabo. ➢ Listo: ha dejado disponible al procesador para que otro proceso pueda ocuparlo. ➢ Terminado: El proceso fue expulsado del grupo de procesos ejecutables, ya sea porque terminó o por algún fallo, como un error de protección, aritmético, etc.
  • 6. Procesos e hilo Procesos • Los procesos son creados y destruidos por el sistema operativo, así como también este se debe hacer cargo de la comunicación entre procesos. • El mecanismo por el cual un proceso crea otro proceso se denomina bifurcación. • El sistema operativo es el responsable de determinar las pautas de intercalado y asignación de recursos a cada proceso.
  • 7. Procesos e hilo Procesos • Es muy importante destacar la importancia de mantener varias colas de procesos listos cuando existe un esquema con diferentes niveles de prioridad. Cada cola representa un nivel de prioridad distinto y ayuda a determinar qué proceso es más conveniente ejecutar a continuación.
  • 8.
  • 9. Procesos e hilo Hilio • Hilo: Un hilo en un sistema operativo permite que una aplicación realice múltiples tareas concurrentemente. Los hilos comparten recursos como el espacio de memoria, los archivos abiertos y la situación de autentificación, lo que simplifica el diseño de una aplicación que necesita realizar varias funciones simultáneamente.
  • 10. Procesos e hilo Hilo Ejemplo • Un servidor web que funcione con un solo hilo de ejecución solo podría atender a un cliente a la vez, lo que resultaría en largos tiempos de espera para los clientes. Una solución sería crear un nuevo proceso para cada solicitud, pero esto consume tiempo y recursos. • En cambio, se propone utilizar hilos en lugar de procesos. Esto permite que un proceso único utilice múltiples hilos, donde uno de ellos se encarga de escuchar las solicitudes y, cuando llega una nueva solicitud, se crea otro hilo para procesarla. Esta estrategia es más eficiente, ya que los hilos comparten recursos y no requiere la creación de procesos adicionales.
  • 11.
  • 12. Procesos e hilo Funcionalidad de los hilio • Al igual que los procesos, los hilos tienen un estado de ejecución y pueden sincronizarse para evitar problemas de recursos compartidos. Cada hilo tiene una tarea específica para aumentar la eficiencia del procesador. • Todos los hilos comparten el mismo espacio de direcciones y otros recursos, como archivos abiertos. Las modificaciones realizadas por un hilo pueden afectar a los demás hilos del mismo proceso, por lo que es necesario sincronizar su actividad para evitar interferencias o corrupción de datos.
  • 13. Procesos e hilo Tareas e hilos. Unidad mínima de asignación: tarea. Unidad mínima de expedición: hilo. • Este se habla que dos hilos de una misma tarea, conocidos como hilos pares, comparten el segmento de código, el segmento de datos y un espacio de pila, es decir, los recursos asignados a la tarea. • Se compara el control de múltiples hilos con el control de múltiples procesos. En el caso de los procesos, cada uno opera de manera independiente, con su propio contador de programa, registro de pila y espacio de direcciones. Esta organización es útil cuando los trabajos realizados por los procesos no están relacionados entre sí.
  • 14.
  • 15. Procesos e hilo Comunicación entre procesos • La comunicación entre procesos es una función esencial de los sistemas operativos, que permite que los procesos se comuniquen y sincronicen entre sí a través de un sistema de paso de mensajes de bajo nivel. • Las técnicas de IPC están divididas dentro de métodos para: paso de mensajes, sincronización, memoria compartida y llamadas de procedimientos remotos (RPC).
  • 16. Procesos e hilo Comunicación entre procesos • En un sistema, algunos procesos pueden ejecutarse de forma independiente, mientras que otros requieren cooperación y comunicación con otros procesos para completar sus tareas. Esto puede ser motivado por la competencia por recursos compartidos o la necesidad de ejecución sincronizada para lograr una tarea específica.
  • 17.
  • 18. Procesos e hilo Programación concurrente • La programación concurrente se refiere a las técnicas de programación utilizadas para expresar el paralelismo entre tareas y resolver los problemas de comunicación y sincronización entre procesos. • El principal desafío de la programación concurrente radica en el hecho de que no se sabe en qué orden se ejecutarán los programas, especialmente aquellos que se comunican entre sí. Por lo tanto, es crucial tomar precauciones para garantizar que el orden de ejecución no afecte el resultado de los programas.
  • 19. Procesos e hilo Problemas clásicos de IPC El problema de la cena de los filósofos En 1965 Dijkstra planteó y resolvió un problema de sincronización llamado el problema de la cena de los filósofos, que se puede enunciar como sigue. Cinco filósofos se sientan a la mesa, cada uno con un plato de espaghetti. El espaghetti es tan escurridizo que un filósofo necesita dos tenedores para comerlo. Entre cada dos platos hay un tenedor. En imagen se muestra la mesa. Los filósofos se disponen a comer; La vida de un filósofo consta de periodos alternos de comer y pensar. Cuando un filósofo tiene hambre, intenta obtener un tenedor para su mano derecha, y otro para su mano izquierda, cogiendo uno a la vez y en cualquier orden. Si logra obtener los dos tenedores, come un rato y después deja los tenedores y continúa pensando. La pregunta clave es: puede el lector escribir un programa para cada filósofo que permita comer equitativamente a los filósofos y no se interbloquee?
  • 20. Procesos e hilo Problemas clásicos de IPC ❖ El problema de los lectores y los escritores El problema de la cena de los filósofos es útil para modelar procesos que compiten por el acceso exclusivo a un número limitado de recursos, como una unidad de cinta u otro dispositivo de E/S. Otro problema famoso es el de los lectores y escritores (Courtois et al., 1971), que modela el acceso a una base de datos. Supóngase una base de datos, con muchos procesos que compiten por leer y escribir en ella. Se puede permitir que varios procesos lean de la base de datos al mismo tiempo, pero si uno de los procesos está escribiendo (es decir, modificando) la base de datos, ninguno de los demás debería tener acceso a ésta, ni siquiera los lectores.