HILOS DE PROCESOS | ¿QUE ES UN HILO? | CONCEPTOS BÁSICOS DE SISTEMAS OPERATIVOS

FNE Profesor
26 Feb 202412:10

Summary

TLDREn este video, se exploran los procesos y hilos en sistemas operativos. Se definen procesos y hilos, destacando que cada proceso tradicionalmente tiene un espacio de direcciones y un solo hilo de control. Los hilos, que comparten el espacio de direcciones del proceso padre, pueden ejecutarse de forma quasi-paralela, simplificando la programación y permitiendo la ejecución de múltiples tareas a la vez. Los hilos son ligeros y fáciles de administrar, lo que mejora la eficiencia de los programas. Además, en sistemas con múltiples CPU, los hilos pueden ejecutarse en paralelo, aumentando el rendimiento. Se ilustra con un ejemplo de un procesador de texto que interactúa con el usuario, formatea texto y escribe en disco de forma simultánea.

Takeaways

  • 🧵 Los hilos son un concepto en sistemas operativos que permiten la ejecución de varias actividades a la vez dentro del mismo espacio de direcciones de un proceso.
  • 💡 Un hilo de ejecución se define por un Program Counter, que marca las direcciones de las instrucciones que se ejecutan.
  • 🔄 La utilización de hilos puede mejorar la eficiencia y la simplificación de la programación, ya que permiten que varias tareas parezcan ejecutarse de forma paralela.
  • 📚 Los hilos comparten el espacio de direcciones y los datos del proceso padre, lo que incluye variables globales pero cada hilo tiene su propia pila de variables locales.
  • ⚖️ Los hilos son más ligeros que los procesos, lo que hace que sean más fáciles de crear y destruir, mejorando la eficiencia en la ejecución de programas.
  • 🔗 La capacidad de los hilos para compartir datos y memoria puede promover el uso de hilos en lugar de procesos, ya que reduce la sobrecarga de manejo de recursos.
  • 💻 La creación de un hilo es significativamente más rápida que la de un proceso, lo que puede ser crucial en aplicaciones que requieren alta eficiencia.
  • 📈 La presencia de hilos puede no aumentar el rendimiento si todos están ligados a la CPU, pero sí mejora la eficiencia cuando hay operaciones de entrada/salida.
  • 🖥️ En sistemas con múltiples CPUs, los hilos pueden ejecutarse en paralelo en diferentes núcleos, lo que representa un verdadero paralelismo en la ejecución.
  • 🔄 En sistemas operativos tradicionales, cada proceso tiene un solo hilo de control, pero la implementación de múltiples hilos permite una ejecución más eficiente y flexible.

Q & A

  • ¿Qué es un hilo de ejecución en un sistema operativo?

    -Un hilo de ejecución, también conocido como subproceso, es una unidad de procesamiento capaz de ejecutar instrucciones de forma independiente dentro de un proceso. Es ligero en comparación con un proceso y comparte el espacio de direcciones y datos globales con otros hilos del mismo proceso.

  • ¿Cuál es la diferencia fundamental entre un proceso y un hilo?

    -Un proceso es una instancia de un programa en ejecución que tiene su propio espacio de direcciones, mientras que un hilo es una entidad más pequeña que ejecuta dentro de un proceso y comparte el espacio de direcciones y datos con otros hilos del mismo proceso.

  • ¿Por qué se utilizan varios hilos en un mismo espacio de direcciones?

    -Se utilizan varios hilos para lograr una ejecución casi paralela de tareas, lo que puede mejorar la eficiencia y la simplicidad de la programación. Los hilos pueden compartir datos y memoria, lo que facilita la colaboración en tareas comunes.

  • ¿Cuál es la ventaja de usar hilos sobre procesos en términos de rendimiento?

    -Los hilos son más ligeros que los procesos, lo que significa que son más fáciles y rápidos de crear y destruir. Esto puede mejorar la eficiencia y la velocidad de ejecución de programas que requieren la ejecución de múltiples tareas a la vez.

  • ¿Cómo pueden los hilos afectar positivamente un programa que realiza operaciones de entrada/salida?

    -Cuando un hilo está esperando por una operación de entrada/salida, otros hilos pueden continuar ejecutándose, lo que puede agilizar la aplicación y mejorar el uso general de la CPU.

  • ¿Cómo se relacionan los hilos con el paralelismo en sistemas con múltiples CPU?

    -En sistemas con múltiples CPU, los hilos pueden ejecutarse en paralelo reales, con cada hilo potencialmente corriendo en un núcleo de CPU diferente, lo que permite un verdadero paralelismo en la ejecución de instrucciones.

  • ¿Qué es el Program Counter y cómo se relaciona con los hilos?

    -El Program Counter es un registro que indica la siguiente instrucción que debe ejecutarse en un hilo. Cada hilo tiene su propio Program Counter, lo que le permite ejecutarse de manera independiente dentro del proceso.

  • ¿Por qué es importante que los hilos compartan el mismo espacio de direcciones?

    -La compartición del mismo espacio de direcciones permite que los hilos accedan y modifiquen datos y variables globales compartidas, lo que simplifica la programación y facilita la colaboración en tareas comunes.

  • ¿Cómo se gestiona la ejecución de múltiples hilos en un sistema operativo?

    -Un sistema operativo gestiona la ejecución de múltiples hilos mediante el uso de un planificador de hilos que decide cuál hilo se ejecutará en qué momento, a menudo intercambiando rápidamente entre ellos para dar la impresión de ejecución paralela.

  • ¿Qué problemas pueden surgir si los hilos no están bien sincronizados?

    -Si los hilos no están bien sincronizados, pueden ocurrir problemas como la condición de carrera, donde los hilos acceden y modifican datos compartidos sin la debida coordinación, lo que puede llevar a datos inconsistentes o a la corrupción de la memoria.

Outlines

00:00

🧵 Conceptos básicos de hilos en sistemas operativos

Este párrafo introduce los hilos de ejecución en sistemas operativos, comparándolos con los procesos. Se explica que mientras un proceso tiene su propio espacio de direcciones, un hilo actúa dentro del espacio de direcciones de su proceso padre. Los hilos son útiles para la ejecución de tareas de manera casi paralela, compartiendo datos y direcciones, lo que puede simplificar la programación y mejorar la eficiencia. Además, se menciona que los hilos son más ligeros que los procesos, lo que facilita su creación y destrucción, y pueden mejorar el rendimiento al permitir la superposición de cálculos y operaciones de E/S. Finalmente, se discute cómo los hilos pueden ser útiles en sistemas con múltiples CPU, permitiendo un paralelismo real.

05:01

👨‍💻 Modelos de programación con hilos y su simplicidad

En este párrafo se explora cómo la programación se vuelve más simple con la utilización de hilos, proporcionando un ejemplo de un procesador de texto que tiene tres hilos: uno interactúa con el usuario, otro formatea el texto y el tercero escribe periódicamente el contenido de la RAM al disco. Se destaca que cada hilo maneja su propia pila de variables locales, pero comparten las mismas variables globales. Esto simplifica la programación al permitir que varios hilos operen sobre el mismo documento sin la necesidad de una gestión compleja de recursos. Además, se menciona que en sistemas con múltiples núcleos, se puede lograr un paralelismo real en la ejecución de instrucciones.

10:02

🔄 Diferencias entre procesos y hilos en términos de recursos y administración

Este párrafo profundiza en la diferencia entre los procesos y los hilos, enfocándose en la cantidad de recursos y la forma en que son administrados por el sistema operativo. Mientras que los procesos tienen un espacio de direcciones, variables globales, archivos abiertos, procesos hijos, alarmas, señales y manejadores de interrupciones, los hilos son más ligeros y tienen menos elementos a administrar, como un contador de programa, registros y una pila de variables locales. Se resalta que los hilos pueden modificar cualquier variable global dentro del espacio de direcciones del proceso, lo que implica que no hay protección entre ellos, y por lo tanto, la programación debe ser cuidadosa para evitar conflictos de memoria.

Mindmap

Keywords

💡Proceso

Un proceso es una instancia de un programa en ejecución, que tiene su propio espacio de direcciones y un conjunto de datos asociados. En el video, se menciona que los procesos son administrados por el sistema operativo y tienen un contexto de ejecución. Esto es fundamental para entender la base de los sistemas operativos, donde cada proceso se ejecuta de manera aislada pero bajo el control del sistema operativo.

💡Hilo

Un hilo, también conocido como subproceso, es una unidad de ejecución dentro de un proceso que puede ejecutarse de manera paralela a otros hilos dentro del mismo proceso. El video destaca que los hilos comparten el espacio de direcciones del proceso padre, lo que permite una ejecución más eficiente y la capacidad de compartir datos entre ellos. Esto es esencial para la comprensión de la concurrencia en sistemas operativos.

💡Program Counter (PC)

El Program Counter es un registro que indica la dirección de la siguiente instrucción que se ejecutará en un proceso o hilo. En el video, se explica que cada hilo de control se da por el PC, que marca las direcciones de las instrucciones que el proceso ejecutará, lo que es crucial para la secuenciación y el flujo de control dentro de un proceso.

💡Espacio de direcciones

El espacio de direcciones es el conjunto de direcciones en la memoria que un proceso o hilo puede utilizar para almacenar y acceder a sus datos. En el contexto del video, se menciona que cada proceso tiene su propio espacio de direcciones, pero los hilos dentro de un proceso comparten este espacio, lo que facilita la compartición de datos y la comunicación entre hilos.

💡Concurrencia

La concurrencia se refiere a la capacidad de un sistema para gestionar varias unidades de trabajo simultáneamente. El video habla sobre la concurrencia en el contexto de los hilos, que permiten que varias unidades de trabajo (hilos) se ejecuten de manera aparentemente simultánea dentro del mismo proceso, mejorando la eficiencia y el rendimiento del sistema.

💡Multihilo

Multihilo hace referencia a la capacidad de un sistema o proceso para tener múltiples hilos de ejecución activos al mismo tiempo. El video explica que la programación multihilo puede simplificar el modelo de programación al permitir que varias tareas se realicen de manera paralela, lo que es especialmente útil en aplicaciones que requieren varias actividades a la vez.

💡Administración de hilos

La administración de hilos implica la creación, destrucción y gestión de la ejecución de los hilos dentro de un proceso. El video menciona que los hilos son más ligeros que los procesos, lo que hace que sean más fáciles de administrar. Esto es importante para la eficiencia del sistema operativo, ya que permite una rápida creación y destrucción de hilos sin comprometer la estabilidad del sistema.

💡Rendimiento

El rendimiento se refiere a la eficiencia y velocidad con la que un sistema puede ejecutar tareas. En el video, se discute cómo la utilización de hilos puede mejorar el rendimiento de las aplicaciones, especialmente cuando se combinan con operaciones de entrada/salida, ya que permiten que se superpongan actividades de cálculo y E/S, agilizando la aplicación.

💡CPU

La CPU, o unidad central de procesamiento, es el componente de una computadora que realiza la mayoría de las operaciones de procesamiento. El video menciona la importancia de los hilos en sistemas con múltiples CPUs, donde los hilos pueden ejecutarse en paralelo en diferentes núcleos de la CPU, lo que representa el verdadero paralelismo y mejora significativamente el rendimiento del sistema.

💡Memoria compartida

La memoria compartida es un concepto clave en la programación multihilo, donde los hilos dentro de un proceso tienen acceso a las mismas variables globales. El video destaca que esta característica permite a los hilos compartir datos y estado, lo que puede simplificar la programación y aumentar la eficiencia de la ejecución de tareas, pero también requiere una gestión cuidadosa para evitar conflictos y errores.

Highlights

Definición de hilo de ejecución en sistemas operativos.

Relación entre procesos y hilos en términos de espacio de direcciones y control.

Importancia del Program Counter (PC) en el control de hilos.

Ventajas de utilizar múltiples hilos en un mismo espacio de direcciones.

Aplicaciones de hilos en programas que requieren actividades simultáneas.

Mejora en la simplificación de la programación con la utilización de hilos.

Comparación de la eficiencia entre procesos y hilos en la administración de recursos.

Impacto en el rendimiento de aplicaciones con hilos en sistemas con múltiples CPUs.

Ejemplo práctico de hilos en un procesador de texto y su interacción con el usuario.

Diferenciación entre paralelismo cuasi y verdadero en el contexto de hilos y CPUs.

Importancia de la programación multihilo en sistemas operativos modernos.

Desarrollo de modelos de programación más simples con la utilización de hilos.

Comparación de la eficiencia en la creación y destrucción de hilos versus procesos.

Funcionamiento de hilos en sistemas con una única CPU y su ilusión de paralelismo.

Riesgo de interferencia entre hilos debido a la falta de protección en el espacio de direcciones compartido.

Administración de hilos en términos de recursos y estados por parte del sistema operativo.

Elementos fundamentales que componen a un hilo de ejecución en sistemas operativos.

Conclusión sobre la utilidad y la implementación de hilos en la programación de sistemas operativos.

Transcripts

play00:07

Bienvenidos a otro video hoy vamos a

play00:09

hablar sobre procesos e hilos en

play00:12

sistemas operativos vamos a definir

play00:15

básicamente lo que es un hilo pensemos

play00:18

lo siguiente hemos hablado de que es un

play00:20

proceso en videos anteriores eh donde

play00:22

tenemos obviamente un contexto un

play00:24

espacio de

play00:25

direcciones diferentes datos asociados a

play00:28

lo que es un proceso o como tal que es

play00:31

que básicamente es administrado por el

play00:33

sistema operativo pero en el caso de los

play00:35

hilos podemos hablar que en los sistemas

play00:37

operativos tradicionales cada proceso

play00:39

tiene un espacio de direcciones y un

play00:41

solo hilo de control recordemos que el

play00:44

hilo de control va a estar dado por lo

play00:46

que es el program Counter Sí donde el

play00:48

program Counter va a ir marcando las

play00:50

direcciones de las instrucciones que va

play00:53

a ejecutar el proceso Sí o sea de la

play00:56

parte de del código del proceso se va a

play00:58

ir ejecutando a través de ese hilo de

play01:00

control que marca el program Counter

play01:03

bien en situaciones es conveniente tener

play01:05

varios hos de control en el mismo

play01:07

espacio de direcciones en las cuales

play01:09

podemos analizar o pensar que se ejecuta

play01:12

cuasi paralelamente sí como si fueran

play01:14

procesos en este caso casi separados

play01:17

excepto que estos hilos comparten el

play01:22

espacio de direcciones del proceso padre

play01:25

Por así decirlo del proceso mayor de

play01:27

alguna

play01:28

manera lo

play01:30

siguiente Cuáles son las razones por las

play01:33

cuales nosotros podríamos querer

play01:35

utilizar varios hilos o varios

play01:37

subprocesos Por así decirlo eh En las

play01:40

cuales podemos hablar de que muchas

play01:42

aplicaciones desarrollan varias

play01:44

actividades a la vez sí Entonces que

play01:47

puede que se requieran que estas estos

play01:49

cilos de ejecución actúen de forma cuasi

play01:52

paralela sí dándonos la sensación de que

play01:54

hacen varias tareas a la vez sí entonces

play01:57

Eh puede ser que algunas de ellas eh se

play01:59

puedan bloquear de vez en cuando y

play02:01

generar un modelo de programación más

play02:03

simplificado al poder ejecutar varios

play02:05

hilos Esa es la la idea para el uso en

play02:08

las cuales con hilo se puede agregar un

play02:11

nuevo elemento la habilidad de las

play02:13

entidades en paralelo de compartir el

play02:15

espacio de direcciones y todos sus datos

play02:17

entre ellas es lo que eh digamos

play02:20

promueve el uso de hilos ya que eh se

play02:23

puede compartir el mismo espacio de

play02:25

direcciones y todos los datos del

play02:28

proceso y todo lo que son las variables

play02:30

locales y globales o en este caso las

play02:32

variables globales del proceso son

play02:34

compartidas por los hilos eso es lo que

play02:37

puede ayudar eh este este uso de hilos

play02:41

no otra de las razones para tener hilos

play02:43

es que como son más ligeros que los

play02:46

procesos digamos son más fáciles de

play02:48

administrar estos hilos que toda la

play02:50

información que que vimos que necesita

play02:52

un proceso quiere decir que son más

play02:54

fáciles de crear y destruir entonces en

play02:57

muchos sistemas la creación de un hilo

play02:59

es de 10 a 100 veces más rápida que la

play03:02

de un proceso Entonces ahí es donde

play03:05

radica la importancia del uso de hilos y

play03:08

est puede mejorar obviamente la

play03:10

eficiencia y la básicamente ejecución de

play03:14

los diferentes programas

play03:18

no alguna otra razón para tener hilos

play03:22

también un argumento relacionado con el

play03:23

rendimiento los hilos fíjense que no

play03:25

producen Un aumento en el rendimiento

play03:27

cuando todos ellos están ligados a la

play03:28

cpu pero cuando hay una cantidad

play03:31

considerable de cálculos y operaciones

play03:32

de entrada salida al tener hilos Estas

play03:34

actividades se pueden superponer con la

play03:36

cual se agiliza la aplicación si no es

play03:39

lo mismo que un proceso como tal accede

play03:42

a entrada salida a un hilo que es algo

play03:44

más ligero y que digamos

play03:47

e va a intercambiar información quizás

play03:50

de menor de menor calibre o de menor

play03:53

ancho de banda de alguna forma con este

play03:56

dispositivo de entrada salida por último

play03:59

podemos decir decir que los cilos son

play04:00

útiles para los sistemas con varias cpu

play04:03

Ya que ahí es donde podemos hablar del

play04:06

verdadero paralelismo si nosotros

play04:07

hablamos de que tenemos varios Hilos de

play04:09

ejecución dentro de un proceso eh pero

play04:13

solo utilizamos una cpu está va a ser

play04:16

una ejecución cuasi paralela ya que esos

play04:19

hilos se van a ir conmutado dentro de

play04:21

esa única cpu ahora si tenemos varias

play04:23

cpu que manejan varios program Counter

play04:27

Sí varios eh varios de estos registros o

play04:30

sea varios hilos varios puntos de

play04:34

control de alguna forma o varios Hilos

play04:38

de control volviendo digamos a este

play04:40

concepto ahí donde vamos a encontrar el

play04:43

verdadero paralelismo ya que si

play04:45

encontramos una cpu con cuatro con

play04:48

cuatro núcleos Por así decirlo cada uno

play04:50

de esos núcleos podría estar digamos

play04:52

atendiendo cada uno de esos hilos por

play04:56

ejemplo bien fíjense Vamos a verlo

play04:59

ejemplo que nos va a quedar mucho más

play05:01

claro de qué hablamos cuando estamos

play05:03

hablando de hilos en este caso tenemos

play05:05

con tres hilos el modelo de programación

play05:08

podría ser mucho más simple fíjense que

play05:10

el primer hilo eh podemos hablar de que

play05:13

interactuamos con el usuario el segundo

play05:16

proceso o hilo en este caso puede dar

play05:20

formato a lo que es un documento en un

play05:23

procesador de texto para ponernos en

play05:25

contexto tenemos un procesador de texto

play05:28

recordemos que tenemos el kern y acá

play05:30

Tenemos el mismo espacio de direcciones

play05:32

y los tres Hilos de ejecución Sí

play05:34

entonces un hilo podría estar

play05:36

interactuando con el usuario el otro

play05:39

hilo podría estar dándole formato al

play05:41

texto de este procesador de texto y el

play05:43

tercer hilo podría estar escribiendo

play05:45

contenido de la ram al disco en forma

play05:47

periódica Entonces fíjense como Eh Al

play05:50

tener varios hlos de ejecución tenemos

play05:52

varias tareas que se realizan de forma

play05:54

cuasi paralela y que para el usuario se

play05:56

realizarían de forma básicamente

play05:58

simultánea no en la cual está

play06:00

interactuando con el usuario a través

play06:02

del teclado está dándole formato al eh

play06:06

texto de este procesador y a su vez está

play06:08

escribiendo en disco el contenido de la

play06:11

memoria RAM Qué tienen en común digamos

play06:14

estos hilos eh que operan el mismo

play06:17

documento fíjense que claramente

play06:19

trabajan con las mismas variables

play06:21

globales del documento pero cada uno

play06:24

maneja su propia eh su propio conjunto

play06:27

su propia pila de variable locales en

play06:30

este caso fíjense que esto simplifica

play06:33

mucho más la programación y a su vez si

play06:35

tenemos varios núcleos que en los cuales

play06:39

Se podrían estar ejecutando varios hlos

play06:40

de ejecución Eh Esto nos permitiría

play06:43

obviamente la verdadera eh el verdadero

play06:45

paralelismo en la ejecución de

play06:51

instrucciones Fíjese que el modelo

play06:53

clásico de ilo se basa básicamente en

play06:55

dos conceptos eh independientes uno es

play06:58

el agup ento de recursos y ejecución

play07:01

otro concepto que tiene un proceso de

play07:03

hilo de ejecución es que por lo general

play07:05

solo se lo llama hilo y el hilo tiene un

play07:08

contador de programa que lleva al

play07:10

registro del cual

play07:12

eh nos va indicando Cuál es la

play07:14

instrucción que se ejecuta a

play07:15

continuación si ese registro es

play07:17

justamente ese contador de programa PR

play07:19

Counter que nosotros hablábamos

play07:22

anteriormente obviamente va a tener

play07:24

registros que contienen las variables de

play07:26

trabajo actual y va a tener una pila que

play07:28

va a contener justamente el historial de

play07:30

ejecución con el conjunto de valores

play07:32

para cada uno de los procedimientos que

play07:34

llama o que utiliza cada uno de esos

play07:36

hilos entonces tiene una serie de

play07:39

e así como lo vimos con los procesos

play07:42

tiene una serie de datos eh que va de

play07:45

datos e información que necesita para

play07:47

poder administrar ese hilo de alguna

play07:49

manera recordando que ocupa el mismo

play07:52

espacio de direcciones que el proceso eh

play07:55

mayor que digamos está llamando a este

play07:58

hilo de ejecución no

play08:01

fíjense lo siguiente el modelo clásico

play08:03

deo vamos a tener Obviamente el espacio

play08:05

de kern lo que es el núcleo y en este

play08:07

caso tenemos tres procesos pero cada uno

play08:09

con un hilo de ejecución o sea cada uno

play08:11

maneja un program Counter y este program

play08:14

Counter va a estar digamos

play08:18

eh conmutado cada uno de estos Hilos de

play08:21

ejecución o de cada uno de estos

play08:22

procesos no por otro lado podemos tener

play08:26

el proceso con tres hilos en los cuales

play08:28

se va trabajando con cada uno de esos

play08:30

hilos de ejecución distintos que este

play08:33

proceso

play08:34

contiene recordando que comparte el

play08:37

mismo espacio de direcciones Por ende

play08:39

las mismas variables globales y cada

play08:41

hilo va a tener su propia sus propias

play08:43

variables locales

play08:46

no fíjese cuando hablamos de multihilo

play08:49

cuando se ejecuta un proceso con

play08:51

multihilo en un sistema con una cpu los

play08:53

hilos van a tomar turnos para ejecutarse

play08:55

en paralelo el multilent lo que va a

play08:58

hacer de la la misma manera la cpu va a

play09:01

conmutar rápidamente un entre un hilo y

play09:03

otro dando la ilusión de que estos hilos

play09:05

se van a ejecutar en paralelo Aunque en

play09:07

una cpu más lenta que la verdadera con

play09:10

tres hilos limitados a cálculos en un

play09:13

proceso los hilos digamos parecerían que

play09:15

se Ejecutan en paralelo pero cada uno

play09:17

digamos va a utilizar en un tercio la

play09:20

cpu o la velocidad de la cpu verdadera

play09:22

no en este

play09:23

caso fíjese que los distintos siglos en

play09:26

un proceso no son tan independientes

play09:29

como los procesos ya que todos los hilos

play09:31

van a tener el mismo espacio de

play09:32

direcciones esto que hablábamos que van

play09:34

a compartir las mismas variables

play09:36

globales Como cada hilo puede acceder

play09:38

digamos a cada dirección de memoria

play09:40

dentro del espacio de direcciones del

play09:41

proceso un hilo puede leer escribir o

play09:43

incluso borrar la pila de de datos de

play09:46

otro hilo fíjese que no hay protección

play09:49

entre los hilos debido a que uno es

play09:51

imposible y otro no Debería ser

play09:53

necesario ya que digamos si está bien de

play09:56

desarrollada la programación eh de estas

play09:59

tareas no debería poder no debería

play10:01

básicamente pisarse en memoria los

play10:04

diferentes datos de cada hilo de

play10:07

ejecución que se está utilizando

play10:11

no fíjense cuando hablamos de multilent

play10:15

habíamos hablado que por proceso definí

play10:17

un espacio de direcciones variables

play10:19

globales archivos abiertos procesos

play10:21

hijos alarma señales y manejadores de

play10:24

Señales o

play10:25

interrupciones información contable todo

play10:28

lo que nos permitía administrar a un

play10:31

proceso o le permitía al sistema

play10:32

operativo poder administrar ese proceso

play10:34

y planificarlo y programarlo en la cpu

play10:37

ahora los hilos dijimos que son más

play10:40

ligeros Por ende van a tener elementos

play10:44

eh menor cantidad de elementos como

play10:46

vemos tenemos un contador de

play10:49

programa una cantidad de registros que

play10:51

van a utilizar una pila Sí una pila de

play10:55

de variables como veníamos hablando y el

play10:58

estado obviamente en el el cual se

play10:59

encuentra el hilo recordemos que puede

play11:01

estar ejecutándose en espera bloqueado

play11:03

eh lo mismo que los procesos como

play11:06

habíamos visto en su

play11:10

momento fíjense que acá tenemos

play11:13

justamente el modelo un poco más eh en

play11:16

detalle donde vamos a tener a cada hilo

play11:19

con su propia pila fíjense que acá

play11:21

tenemos la pila del hilo uno la pila del

play11:23

hilo dos la pila del hilo 3es son

play11:25

básicamente la pila de variables locales

play11:27

que usa cada uno de los hilos y

play11:29

obviamente estos hilos pueden modificar

play11:31

cualquier variable global que está

play11:33

dentro de este espacio de direcciones y

play11:35

recordemos que est es la memoria el

play11:37

espacio de usuario y este es el espacio

play11:38

kernel que en el cual accederías a esas

play11:41

instrucciones eh privilegiadas del

play11:44

sistema

play11:45

operativo bien Esto fue entonces una

play11:48

aproximación a lo que son los hilos

play11:52

de en relación a los procesos si estos

play11:55

hil los de ejecución espero les sirva

play11:57

nos vemos la próxima no te darle like y

play11:59

suscribirte Muchas

play12:08

gracias

Rate This

5.0 / 5 (0 votes)

Étiquettes Connexes
Sistemas OperativosProcesosHilosParalelismoEficienciaProgramaciónAdministración de ProcesosMemoria CompartidaMultihiloCPU
Besoin d'un résumé en anglais ?