¿Qué es el Handshake? Preguntas y Respuestas sobre Sistemas Operativos

¿Qué es el Handshake y Otros Conceptos Clave en Sistemas Operativos?

Este documento aborda preguntas fundamentales sobre sistemas operativos, cubriendo temas como el handshake, interrupciones, gestión de memoria, y planificación de procesos. A continuación, se presentan las preguntas y respuestas, con énfasis en la claridad y la optimización para SEO.

  1. ¿Qué es el handshake y entre qué elementos se produce?

    Es el protocolo empleado entre la CPU y los dispositivos de entrada/salida para sincronizarse antes de la transferencia de datos.

  2. En una interrupción, ¿por qué se salvan primero el PC y el SR?

    c) Para volver donde se produjo en el mismo estado

    Aunque b) también parece correcta. Se guarda PC (dirección desde donde se llama a la interrupción) y SR (estado de la CPU) para poder volver al mismo sitio y restaurar el estado original.

  3. ¿Qué dos componentes hardware fundamentales tiene una MMU?

    Para realizar la traducción de dirección virtual a dirección física necesita un comparador y un sumador.

  4. Enumera de forma detallada las fases (al menos ocho) que tiene una llamada al sistema

    1. El código hace una llamada a una rutina de librería
    2. Se busca la dirección en el vector de interrupciones
    3. Este llama a una rutina dispersora
    4. Esta llama a una rutina residente
    5. Esta llama a una rutina dependiente del hardware
    6. Esta llama a una rutina de atención del dispositivo
    7. Se espera a que se hayan transferidos los datos
    8. Se devuelven los datos a través de los parámetros
  5. ¿Crees que las rutinas de la BIOS se usan en el S.O?

    b) No, el sistema no las usa

    La BIOS son las rutinas necesarias para arrancar el computador, reconocer el hardware y proceder a la ejecución del cargador del S.O. Una vez arrancado el S.O este ya tiene sus propias rutinas para acceder al hardware, sin tener que llamar a la BIOS.

  6. Cuando en un sistema de ficheros se produce un enlace hardware, ¿crees que implica algún problema en su recorrido?

    b) No, da igual

    Los enlaces apuntan a un fichero, que son las hojas del árbol, con lo que no se producirán bucles.

  7. ¿En qué se apoyan los sistemas multitarea para dar sensación de eficiencia?

    b) En la relativa lentitud de la respuesta humana

    Si tenemos un único procesador no hay multitarea real, pero a nosotros nos parece que sí, debido a la velocidad a la que se cambia de una tarea a otra.

  8. Indica si esta afirmación es en general correcta y explícalo: un S.O microkernel da más rendimiento que uno monolítico

    Un sistema monolítico es más eficiente porque tiene todo el código en un único módulo. En un sistema microkernel, si se llama a una función que no está codificada en el microkernel se ha de llamar a otro módulo con la consiguiente pérdida de eficiencia.

  9. Indica todas las listas de procesos que mantiene el S.O en el caso más extremo

    Lista de procesos preparados en memoria, preparados pero no en memoria, una lista de procesos bloqueados por cada elemento hardware (disco, impresora…) en memoria o bloqueados pero no en memoria.

  10. Los enlaces entre procesos Linux:

    b) Entre los hijos y el padre, hermanos e hijo menor

    El padre apunta a su hijo menor. Los hijos apuntan al padre y a su hermanos siguiente mayor y siguiente menor.

  11. Indica tres métodos para hacer el cambio de contexto algo más ligero

    • Introduciendo parte del kernel en el propio proceso
    • Usando hilos
    • Con la técnica COW, pues padre e hijo comparten código
  12. Si un proceso tiene un fichero abierto y termina normalmente, ¿qué pasa con ese fichero?

    b) El S.O lo cierra y no se pierde información

  13. En un sistema multicore en que se mantiene la afinidad, ¿cuántas colas de preparados hay?

    a) Una por cada core

    Al mantener la afinidad cada procesador ejecuta unos determinados procesos y los mantiene en una lista propia.

  14. ¿Crees que es conveniente que el S.O tenga conocimiento del hyperthreading y por qué?

    No, pues el hyperthreading se hace por hardware, y el sistema operativo ve un core que tiene soporte de hyperthreading (no todos lo tienen) como varios cores independientes (uno por cada thread que ejecuta). De esta forma si el S.O no tiene conocimiento de ello, funciona de la misma forma tenga o no soporte el core. Se delega en el hardware.

  15. ¿Cuál crees que da más rendimiento (uso de CPU), los planificadores expulsores o no expulsores?

    Tiene más rendimiento un planificador no expulsor, pues pierde menos tiempo en los cambios de contexto.

  16. ¿Qué implicación tiene que alpha sea igual a cero en el SJF?

    Si alpha es cero siempre se preverá el histórico, sin tener en cuenta la última ráfaga, con lo que siempre se preverá un mismo tiempo.

  17. Normalmente en Windows, ¿se respeta la afinidad de los hilos?

    c) Sí, es lo habitual en casi todos los S.O

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.