ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Reto 3 sistemas operativos UVEG


Enviado por   •  26 de Abril de 2024  •  Tareas  •  1.630 Palabras (7 Páginas)  •  23 Visitas

Página 1 de 7

| 

1

Similitudes y diferencias entre los procesos y los hilos

Instrucción: en las siguientes tablas deberás registrar 10 similitudes y 10 diferencias que existen entre los procesos y los hilos.

Similitudes entre procesos e hilos

  1. Unidad de ejecución: Tanto los procesos como los hilos representan unidades de ejecución dentro de un programa. 

  1. Asignación de recursos: Tanto los procesos como los hilos requieren recursos del sistema, como memoria y tiempo de CPU, para su ejecución.
  1. Contexto de ejecución: Tanto los procesos como los hilos tienen su propio contexto de ejecución, que incluye registros, pila de ejecución y variables locales.
  1. Planificación: Tanto los procesos como los hilos pueden ser planificados por el sistema operativo para la ejecución en el procesador.
  1. Comunicación: Los procesos y los hilos pueden comunicarse entre sí mediante mecanismos de comunicación, como variables compartidas o paso de mensajes.
  1. Sincronización: Tanto los procesos como los hilos pueden requerir sincronización para evitar condiciones de carrera y garantizar la consistencia de los datos compartidos.
  1. Multiprogramación: Tanto los procesos como los hilos permiten la multiprogramación, es decir, la ejecución simultánea de múltiples unidades de ejecución.
  1. Independencia relativa: Tanto los procesos como los hilos pueden ejecutarse de manera independiente, lo que permite la realización de tareas concurrentes.
  1. Jerarquía: Tanto los procesos como los hilos pueden organizarse en una jerarquía, donde un proceso puede contener múltiples hilos y un hilo puede pertenecer a un proceso.
  1. Flexibilidad: Tanto los procesos como los hilos ofrecen flexibilidad en el diseño de programas concurrentes y paralelos, permitiendo aprovechar eficientemente los recursos del sistema

Diferencias entre procesos e hilos

Definición:

  • Proceso: "Un proceso es un programa en ejecución, incluidos sus datos y variables de estado asociadas."
  • Hilo: "Un hilo (o thread) es una entidad dentro de un proceso que puede ser programada para su ejecución."

Independencia:

  • Proceso: Los procesos son independientes y no comparten recursos de manera predeterminada.
  • Hilo: Los hilos existen dentro de un proceso y comparten recursos como memoria y archivos.

Creación:

  • Proceso: Los procesos se crean mediante la llamada al sistema fork() en sistemas UNIX.
  • Hilo: Los hilos se pueden crear dentro de un proceso utilizando la biblioteca de subprocesos de un lenguaje de programación o una API específica del sistema operativo.

Conmutación:

  • Proceso: Los cambios de contexto entre procesos son más costosos, ya que implican guardar y restaurar todo el estado del proceso.
  • Hilo: Los cambios de contexto entre hilos son más eficientes, ya que comparten la mayoría de los recursos y solo necesitan cambiar el estado de la CPU.

Comunicación:

  • Proceso: La comunicación entre procesos suele ser más compleja y lenta, ya que requiere mecanismos como tuberías, colas de mensajes o memoria compartida.
  • Hilo: La comunicación entre hilos es más fácil y rápida, ya que comparten el mismo espacio de memoria.

Recursos:

  • Proceso: Los procesos tienen su propio espacio de direcciones de memoria y recursos como archivos y sockets.
  • Hilo: Los hilos comparten el mismo espacio de direcciones de memoria y recursos dentro de un proceso.

Bloqueo:

  • Proceso: Si un proceso se bloquea, no afecta a otros procesos en el sistema.
  • Hilo: Si un hilo se bloquea, puede afectar a otros hilos en el mismo proceso, ya que comparten recursos.

Seguridad:

  • Proceso: Los procesos proporcionan un mayor nivel de seguridad, ya que están más aislados unos de otros.
  • Hilo: Los errores en un hilo pueden afectar a otros hilos dentro del mismo proceso

Escalabilidad:

  • Proceso: Los procesos son más pesados en términos de recursos y pueden ser menos escalables en comparación con los hilos.
  • Hilo: Los hilos son más ligeros y su creación y destrucción son más eficientes, lo que puede mejorar la escalabilidad de una aplicación.

Paralelismo:

  • Proceso: Los procesos pueden ejecutarse en paralelo en múltiples núcleos de CPU o incluso en múltiples sistemas.
  • Hilo: Los hilos dentro de un proceso se ejecutan de manera concurrente pero no necesariamente en paralelo, ya que dependen de la implementación del sistema operativo y la asignación de recursos.

  • Silberschatz, A., Galvin, P. B., & Gagne, G. (2020). Operating System Concepts (10th ed.). Wiley.
  • Tanenbaum, A. S., & Bos, H. (2015). Modern Operating Systems (4th ed.). Pearson.
  • Andrews, G. R. (2000). Concurrent Programming: Principles and Practice. Addison-Wesley.
  • Butenhof, D. R. (1997). Programming with POSIX Threads. Addison-Wesley Professional.
  • Goetz, B., Peierls, T., Bloch, J., Bowbeer, J., Holmes, D., & Lea, D. (2006). Java Concurrency in Practice. Addison-Wesley Professional.
  • Lynch, N. (1996). Distributed Algorithms. Morgan Kaufmann.
  • Bacon, J., & Harris, T. (2003). Operating Systems: Concurrent and Distributed Software Design. Addison-Wesley.
  • Lewis, T. G. (1996). Distributed Systems. Addison-Wesley.
  • Burns, A., & Wellings, A. J. (2006). Real-Time Systems and Programming Languages. Addison-Wesley.
  • Shibu, K. (2013). Introduction to Operating Systems. McGraw-Hill Education.

2

Ejemplo de un proceso

Instrucción: considerando el modelo de 5 estados, ejemplifica un proceso en específico que se realice en algún dispositivo que tenga sistema operativo.

...

Descargar como (para miembros actualizados)  txt (11 Kb)   pdf (127 Kb)   docx (572 Kb)  
Leer 6 páginas más »
Disponible sólo en Clubensayos.com