Operating Systems Guide. Pt.1

Based from the book Operating Systems Concepts by Silverschatz

1.¿Cuáles son los tres propósitos principales de un sistema operativo?

  • Proporcionar un entorno para que un usuario de una computadora ejecute programas por medio de su hardware de forma conveniente y eficiente. (Interfaz de usuario)
  • Asignación de recursos separados de la computadora según su necesidad para la resolución de un problema dado (administrar los recursos)
  • Programa de control:
    • Supervisión de los programas de usuario para evitar errores y uso indebido
    • Gestión de la computadora y control de dispositivos I/O

2. Se ha mencionado la necesidad de que un sistema operativo haga un uso eficiente de los recursos de hardware. ¿Cuándo es adecuado para un sistema operativo no cumplir con este propósito y “malgastar” recursos? ¿Por qué realmente no es un malgasto de recursos?

Los sistemas de un solo usuario deben maximizar el uso del sistema para el usuario. Una GUI podría “desperdiciar” ciclos de CPU, pero optimiza la interacción del usuario con el sistema.

3.¿Cuál es la dificultad principal que un programador debe resolver en un sistema operativo de tiempo real?

Mantener el OS dentro de los limites de tiempo fijos de un sistema en tiempo real. Si el sistema no completa una tarea en un período de tiempo determinado, puede causar un desglose de todo el sistema que se está ejecutando. Debe asegurarse de que sus esquemas de programación no permitan que el tiempo de respuesta exceda la restricción de tiempo.

4.Teniendo en mente las definiciones de sistema operativo, considere si un sistema operativo debe no incluir aplicaciones como un navegador web o clientes de correos. Argumente los dos escenarios:

  • Argumento a favor de incluir aplicaciones populares con el sistema operativo:
    • La aplicación está incorporada dentro del sistema operativo entonces es probable que pueda aprovechar mejor las características del kernel y, por lo tanto, tener ventajas de rendimiento sobre una aplicación que se ejecuta fuera del kernel.
  • Argumento en contra de incluir aplicaciones populares con el sistema operativo:
    • Las aplicaciones forman parte de un componente de un sistema de computadora, a parte del sistema operativo.
    • Lleva a un sistema operativo hinchado.
    • Cualquier ventaja de rendimiento de la ejecución dentro del kernel está compensada por vulnerabilidades de seguridad.

5. ¿Cómo es que tener dos modos el modo kernel el modo usuario proveen un sistema rudimentario de seguridad?

  • Modo kernel:
    • El acceso a los dispositivos de hardware
    • Las interrupciones
    • Las instrucciones privilegiadas
  • Modo usuario:
    • Capacidad limitada

La ejecución de instrucciones privilegiadas en el modo de usuario causará una trampa en el sistema operativo. Por lo tanto, el modo dual de operación proporciona una forma rudimentaria de protección.

6.¿Cuáles de las siguientes instrucciones deben accederse en modo kernel?

Configurar un timer. (modo kernel)

Leer el reloj. (modo usuario)

Limpiar la memoria. (modo kernel)

Manejar una interrupción vía software(trap) (modo usuario)

Apagar las interrupciones (modo kernel)

Modificar las entradas en la tabla de estado de los dispositivos (modo kernel)

Cambiar de modo usuario a modo kernel (modo usuario)

Acceder a dispositivos de entrada y salida. (modo kernel)

7. Algunas PC protegen al sistema operativo colocándolo en una región de memoria que no se puede modificar, inclusive por el propio sistema. Mencione dos problemas ocasionados por esto.

  • Los datos críticos, como las contraseñas y la información de control de acceso que requiere o genera el sistema operativo, deberán pasar o almacenarse en ranuras de memoria desprotegidas y serán accesibles por usuarios no autorizados.
  • El sistema operativo nunca podrá actualizarse o parchearse, ya que no es modificable ni accesible por el usuario o el sistema operativo en sí.

8.Algunos CPU´s tienen mas de dos modos, ¿Cuales son los dos posibles usos de este tipo de modos?

a)Posibilidad de proporcionar diferentes distinciones dentro del kernel.

b)Posibilidad de proporcionar diferentes distinciones dentro del modo de usuario.

9.Los timers pueden emplearse para medir el tiempo actual, ¿indique cómo puede realizarse?

Los timers pueden tomar la ayuda de un programa que utiliza los siguientes pasos para calcular la hora actual con la ayuda de las interrupciones del timer:

i.Establece el temporizador para un tiempo posterior a la hora actual y se pone en suspensión.

ii.Una interrupción despierta el programa y puede actualizar su estado local que está utilizando para realizar un seguimiento de la cantidad de interrupciones que ha recibido hasta el momento.

iii.Repite el proceso cuando las interrupciones realmente se activan

10. Menciona la utilidad en las memorias cache ¿Qué problemas resuelven? ¿Que problemas causa? Si la cache puede hacerse del tamaño del dispositivo ¿Por qué no hacerlas y eliminar por completo al dispositivo?

  1. Los cachés son útiles cuando dos o más componentes necesitan intercambiar datos, y los componentes realizan la transferencia a diferentes velocidades. Los cachés resuelven el problema de transferencia proporcionando un búfer de velocidad intermedia entre los componentes. Si el dispositivo rápido encuentra los datos que necesita en el caché, no necesita esperar al dispositivo más lento. Los datos en el caché deben mantenerse consistentes con los datos en los componentes. Si un componente tiene un cambio de valor de datos, y el dato también está en la memoria caché, la memoria caché también debe actualizarse.
  2. Esto es un problema en sistemas multiprocesador donde más de una vez el proceso puede estar accediendo a un dato. Un componente puede ser eliminado por un caché de igual tamaño si:
    1. el caché y el componente tienen una capacidad de ahorro de estado equivalente.
    1. el caché es asequible, porque un almacenamiento más rápido tiende a ser más costoso.

11.Mencione las diferencias entre el modelo cliente-servidor y el modelo peer-to-peer de los sistemas distribuidos.

Modelo Cliente-Servidor Modelo peer-to-peer
Sistemas categorizados como sistemas cliente Todos los nodos son considerados pares
Los sistemas de servidor satisfacen la petición de los sistemas cliente. Cada par puede actuar como cliente o servidor, dependiendo de la operación que esté realizando.
Los recursos están controlados y disponibles en el sistema del servidor. Los recursos se distribuyen entre los pares y son fáciles de compartir entre los compañeros.
Mayor seguridad ya que la autenticación de los usuarios se realiza en el servidor central Menor seguridad ya que no hay un servidor central que autentique a los usuarios.
Costoso No muy costoso
Difícil de configurar Facil de configurar
Sugerible para organizaciones grandes y oficinas Sugerible para hogares domésticos y pequeñas oficinas.

12.En un sistema multiproceso y de tiempo compartido, varios usuarios acceden a él simultáneamente. Este escenario puede resaltar en varios sistemas de seguridad.

a)¿Cuáles son dos de ellos?

  • Administración de la memoria
  • Programación de la CPU

b) ¿se puede alcanzar el mismo nivel de seguridad que en un sistema monousuario?

  • No, porque en una máquina de tiempo compartido hay varios trabajos simultáneamente en la memoria.

13.El problema de manejo de recursos ocurre de manera diferente dependiendo el tipo de sistema operativo. Indique qué recursos deben manejarse de manera apropiada en los siguientes ambientes:

1.Mainframe

  1. Recursos de memoria
  2. Recursos de CPU
  3. Almacenamiento
  4. Ancho de banda de red

2.Estaciones de trabajo conectadas a servidores

  1. Recursos de memoria
  2. Recursos de CPU

3.Computadoras mobiles.

  1. Consumo de energía
  2. Recursos de memoria

14.Bajo que escenarios es mejor utilizar un sistema de tiempo compartido que una PC.

  • Cuando existen pocos usuarios, la asignación o tarea es grande, el hardware es rápido y el tiempo compartido tiene sentido. Necesidad de recursos al mismo tiempo.

15.Describa las diferencias entre computación simétrica (SMP) y asimétrica (ASMP). ¿Cuales son tres ventajas y una desventaja de un sistema multiproceso?

  • En procesamiento simétrico (SMP):
    • Todos los procesadores son iguales.
    • Todos los procesadores ejecutan una copia del sistema operativo.
    • Los procesadores se comunican entre sí según sea necesario.
    • No se necesita hardware / software especial para diferenciarse
  • En multiprocesamiento asimétrico (ASMP):
    • El procesador tendrá esquema de relación maestro-esclavo.
    • Cada procesador es asignado por una tarea específica. (por un procesador maestro)
    • Un proceso maestro controla el sistema.
    • Un hardware o software especial solo puede diferenciar un maestro y varios esclavos.
  • Tres ventajas de los sistemas multiprocesador son:
    • Aumento de rendimiento
    • Economía de escala
    • Mayor confiabilidad
  • Desventaja de los sistemas multiprocesador:
    • Costo en la “activación de una copia de seguridad y reinicio el punto de control más reciente” debido en la duplicación del hardware.

16.¿Cómo los clusters son diferentes de los sistemas multiprocesador? ¿Qué es lo que se requiere para que dos computadores pertenecientes a un cluster proveen un servicio de alta disponibilidad?

  • Los clusters están compuestos por varias CPU´s para realizar un trabajo computacional. Los clusters se diferencian de los sistemas multiprocesador en que están compuestos de dos o mas sistemas individuales compilados juntos. Comparte el almacenamiento y está estrechamente alineado a través de redes LAN.
  • La alta disponibilidad se obtiene generalmente agregando un nivel de redundancia en el sistema. Una capa de software de clúster se ejecuta en los nodos del clúster. Cada nodo puede monitorear uno o más de los otros (a través de LAN). Si la máquina supervisada falla, la máquina de supervisión puede tomar posesión de su almacenamiento y reiniciar la aplicación que se estaba ejecutando en la máquina fallida.

17.Considere un cluster compuesto de dos nodos que corren una base de datos. Mencione dos formas en las cuales el cluster puede tener acceso a los datos en el disco. Discuta los beneficios y desventajas de cada uno.

  • Estructura asimétrica y simétrica.
  • En la asimétrica, una máquina está en modo de espera activa, mientras que la otra ejecuta las aplicaciones. El host-stand por máquinas host no hace nada más que monitorear el servidor activo. Si ese servidor falla, el servidor de espera en caliente se convierte en el servidor activo.
  • En la simétrica, dos o la mayoría de los hosts ejecutan aplicaciones y se monitorizan entre sí. Este modo es diferente, ya que utiliza todo el hardware disponible. Requiere que más de una aplicación esté disponible para ejecutarse.

18. ¿Cómo una red de computadoras difiere de una computadora personal? Describe algún escenario que utilizar una red de computadoras es mejor.

  • La computadora de red depende de una computadora centralizada para la mayoría de sus servicios. Por lo tanto, puede tener un sistema operativo mínimo.

19. ¿Cuál es el objetivo de las interrupciones? ¿Cómo las interrupciones son diferentes de los traps? ¿Pueden los traps ser generados intencionalmente por los programas? Si sí ¿cual es el propósito?

  • Una interrupción es un cambio de flujo generado por el hardware dentro del sistema. Un trap es una interrupción generada por software. Se puede utilizar una interrupción para indicar la finalización de una I/O. Se puede usar una trap para llamar rutinas del sistema operativo o detectar errores aritméticos.

20.La memoria de acceso directo se utiliza por dispositivos de entrada salida para evitar saturar al CPU.

a)¿Cómo le hace el CPU para coordinar la transferencia?

La CPU puede iniciar una operación DMA escribiendo valores en registros especiales a los que el dispositivo puede acceder de forma independiente. El dispositivo inicia la operación correspondiente una vez que recibe un comando de la CPU.

b)¿Cómo el CPU sabe cuando la transferencia está completa?

Cuando el dispositivo termina con su operación, interrumpe la CPU para indicar la finalización de la operación.

c)La CPU puede ejecutar otros programas mientras el controlador DMA está transfiriendo datos. ¿Interfiere este proceso con la ejecución de los programas de usuario? Si es así, describa qué formas de interferencia son causadas.

Tanto el dispositivo como la CPU pueden acceder a la memoria simultáneamente. El controlador de memoria proporciona acceso al bus de memoria de manera justa a estas dos entidades. Por lo tanto, es posible que una CPU no pueda emitir operaciones de memoria a velocidades máximas, ya que tiene que competir con el dispositivo para obtener acceso al bus de memoria.

21. Algunas computadoras no cuentan con un modo kernel. ¿Se puede crear un sistema operativo seguro para estas?

  • Si, con la limitante de permanecer en control en todo momento por medio de interpretación de software de todos los programas de usuario. (proporcionaría lo que el hardware no proporciona) y el requerimiento que todos los programas se escriban en lenguaje de alto nivel para que todo el código objeto sea producido por el compilador. El compilador generaría las verificaciones de protección que falta el hardware.

22.Muchos SMP tienen diferentes tipos de caché. Uno es local a cada CPU y otro es compartido entre todos. ¿Por que se requieren estos diferentes caches?

  • Para la velocidad de acceso como en el tamaño. Cuanto más cerca esté la memoria caché de la CPU, más rápido será el acceso. os cachés más pequeños y más rápidos se colocan localmente en cada CPU, y los cachés compartidos que son más grandes, pero más lentos, se comparten entre varios procesadores diferentes.

23.Considere un sistema como el de la figura 1.6 Diga un escenario en el cual un dato en el cache puede ser diferente en cada CPU.

  • Supongamos que el procesador 1 lee los datos A con valor 5 de la memoria principal a su caché local. De manera similar, el procesador 2 lee también los datos A en su caché local. El procesador 1 luego actualiza de A a 10. Sin embargo, como A reside en el caché local del procesador 1, la actualización solo ocurre allí y no en el caché local del procesador 2.

24. Mencione como el problema de coherencia del cache surge en diferentes sistemas.

a)Sistemas de un solo procesador.

En los sistemas de un solo procesador, la memoria debe actualizarse cuando un procesador emite actualizaciones a los valores almacenados en caché.

b)Sistemas multiprocesador.

En un sistema multiprocesador, diferentes procesadores pueden almacenar en caché la misma ubicación de memoria en sus cachés locales. Cuando se realizan las actualizaciones, las otras ubicaciones en caché deben ser invalidadas o actualizadas.

c)Sistemas distribuidos.

En sistemas distribuidos, la consistencia de los valores de la memoria caché no es un problema. Sin embargo, pueden surgir problemas de coherencia cuando un cliente almacena en caché los datos del archivo.

25. Mencione un mecanismo de protección para prevenir que los programas acceded a la memoria de otros.

  • La información sobre la extensión de la memoria de un programa se puede mantener utilizando registros de límites y de base y realizando una verificación de cada acceso a la memoria.

26.¿Cuál red LAN o WAN es mejor en los siguientes escenarios?

  1. Un campus (LAN)
  2. Varios campus (WAN)
  3. Un vecindario (WAN O LAN)

27. Mencione los retos para diseñar un sistema para dispositivos móviles versus a PC.

  • Menos capacidad de almacenamiento
  • Manejar el consumo de energía de manera cuidadosa
  • Menos poder de procesamiento y numero de procesadores

28.¿Cuáles son las ventajas de un sistema peer-to-peer contra un sistema cliente servidor?

  • Fácil de instalar y configurar
  • Recursos y contenidos compartidos por todos los muelles
  • Confiable
  • Cada usuario es administrador de su maquina.

29.Describa algunas aplicaciones distribuidas que serían apropiadas para un sistema peer-to-peer.

  • Servicios de archivos
  • Servicios de directorio distribuidos
  • Servicios de nombres de dominio
  • Servicios de correo electrónico distribuidos

30.Identifique las ventajas y desventajas de un sistema operativo open-source.

  • Ventajas:
    • Comunidad grande
    • Facilidad de acceso y distribución y ciclos de actualización rápidos.
    • Gratuitos
    • Poder ver y modificar el código fuente
  • Desventajas:
    • No ofrecen programas de soporte pagados.
    • El ciclo de lanzamiento frecuente exacerba estos problemas al obligar a los usuarios a realizar actualizaciones con frecuencia.

Leave a comment

Blog at WordPress.com.

Up ↑

Design a site like this with WordPress.com
Get started