17 Dic

1-¿Cómo contribuye la alteración a la aplicación de las sedes de competición en sistemas multiprogramables/multitarea? ¿Cuáles son sus ventajas?

La alteración es el mecanismo que posibilita la competencia en las computadoras, siendo la base de los sistemas multiprogramables. Se genera por un evento externo al sistema. Sus ventajas incluyen la ejecución de más procesos simultáneamente, con un mejor control y utilización de la CPU, la memoria principal (MP) y los dispositivos periféricos.

2-Tipos de procesos:

a) Antecedentes: Proceso sin comunicación con el usuario durante su ejecución.

b) Interactivos: Proceso que permite la comunicación directa con el usuario durante su ejecución.

c) E/S dependientes: Proceso que pasa la mayor parte del tiempo en espera de operaciones de E/S.

d) CPU dependientes: Proceso que pasa la mayor parte del tiempo en estado de ejecución.

3-¿Qué son las llamadas al sistema y cómo funcionan? Cite un ejemplo.

Respuesta: Una llamada al sistema se activa cuando una aplicación requiere una rutina del sistema operativo.

Imagen

4-¿Las instrucciones privilegiadas se ejecutan en modo usuario? Justifique.

Respuesta: No, las instrucciones privilegiadas solo se ejecutan en modo kernel, ya que ofrecen un riesgo potencial al sistema. En modo usuario solo se ejecutan instrucciones no privilegiadas.

5-¿Qué estados puede tomar un proceso y cuáles son las posibles transiciones entre ellos?

Estados de un proceso:

  • En ejecución: El proceso que está siendo procesado por la CPU en un momento dado.
  • Listo: Proceso que espera ser ejecutado.
  • En espera: Proceso que espera un evento o recurso para continuar su ejecución.
  • Creación: Proceso cuyo bloque de control de proceso (PCB) ya se ha creado, pero aún no ha iniciado su ejecución.
  • Terminado: Proceso que ha finalizado su ejecución, pero el sistema operativo mantiene su información de control en memoria.

6-¿Qué es el cambio de contexto y cuál es la función del registro en este evento?

Respuesta: El cambio de contexto implica guardar el contenido de los registros generales de la CPU, así como los registros de propósito especial (contador de programa (PC), puntero de pila (SP) y registro de estado). Cuando un proceso pierde el uso de la CPU, su contexto se guarda para que pueda reanudarse posteriormente.

7-¿Cuáles son las ventajas de utilizar un modelo de máquina virtual?

Respuesta: Las máquinas virtuales simplifican la interacción entre el usuario y el ordenador, permitiendo la coexistencia de diferentes sistemas operativos en la misma máquina. Además, ofrecen un completo aislamiento entre cada máquina virtual, lo que proporciona alta seguridad.

8-¿Cuáles son las ventajas de compartir el espacio de direcciones entre hilos de un mismo proceso?

Respuesta: Al compartir el mismo espacio de direcciones, los hilos pueden acceder fácilmente a los datos de otros hilos. Sin embargo, esto requiere mecanismos de comunicación y sincronización para garantizar el acceso seguro a los datos compartidos. La ventaja principal es la simplicidad y rapidez en el acceso a la memoria.

9-¿Qué es el hambre y cómo se puede tratar este problema mediante una estrategia de programación por prioridad?

Respuesta: El hambre es la situación en la que un proceso nunca puede acceder a su región crítica y, por lo tanto, a un recurso compartido. La solución implica la creación de mecanismos por parte del sistema operativo para garantizar el acceso a los recursos por todos los procesos que lo soliciten.

10-Explique las cuatro condiciones para la ocurrencia de un interbloqueo (deadlock) y cuáles son las posibles soluciones.

Respuesta: Un interbloqueo ocurre cuando un proceso espera un recurso que nunca estará disponible o un evento que no se produce. Las cuatro condiciones necesarias son:

  • Exclusión mutua: Cada recurso solo puede ser asignado a un único proceso a la vez.
  • Retención y espera: Un proceso puede retener recursos asignados mientras espera otros.
  • No apropiación: Un recurso no puede ser liberado de un proceso solo porque otro lo necesite.
  • Espera circular: Un proceso espera un recurso que está en manos de otro proceso, y viceversa.

Para evitar el interbloqueo, se debe asegurar que al menos una de estas condiciones no se cumpla. La prevención de interbloqueos es limitada en la práctica. El algoritmo del banquero, aunque útil, tiene limitaciones como la necesidad de un número fijo de procesos y recursos.

11-Explique cómo la programación con múltiples colas equilibra el uso de la CPU para procesos de E/S y procesos dependientes de la CPU.

La programación con múltiples colas favorece a los procesos de E/S, ya que tienden a mantener una alta prioridad en las colas, mientras que los procesos dependientes de la CPU tienden a posicionarse en colas de menor prioridad.

12-Explique el uso de semáforos y objetos mutex en la implementación de la exclusión mutua y la sincronización condicional.

Un semáforo tiene dos variables (0 y 1) y solo permite operaciones de incremento y decremento.

Imagen

13-Tipos de planificación:

  • Preferente: El sistema operativo puede interrumpir un proceso en ejecución para asignar la CPU a otro proceso.
  • No preferente (Colaborativa): Un proceso debe liberar la CPU voluntariamente para que otro proceso pueda ejecutar.

Deja un comentario