Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[Sistemas Operativos] VoF de Finales (Introducción y Estructuras de SO)
Autor Mensaje
Alejandro Sin conexión
Militante
nada
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 84
Agradecimientos dados: 5
Agradecimientos: 224 en 21 posts
Registro en: Apr 2008
Mensaje: #1
[Sistemas Operativos] VoF de Finales (Introducción y Estructuras de SO) Finales Sistemas Operativos
Aporto VoF de finales resueltos, algunos resueltos por mi y otros los encontré resueltos, la idea es debatir cuales estan mal.

Las llamadas al sistema son servicios del sistema operativo dentro de los cuales se pueden ejecutar instrucciones privilegiadas.
Verdadero, Las llamadas al sistema proveen una interfaz entre los procesos y los servicios del sistema operativo. Mediante las llamadas al sistema, el usuario solicita los servicios que desea del sistema operativo. Cuando se hace una llamada al sistema se cambia de modo usuario a modo kernel para poder ejecutar instrucciones privilegiadas. [Silberschatz pág. 17 y pág. 39]

Un procesador que ejecuta código de usuario, sólo podrá realizar un mode switch si se produce un system call.
Falso, también puede realizar un mode switch en otros casos como por ejemplo ante la aparición de una interrupción o un trap.

La llamada al sistema (system call) es una forma que tienen los procesos de acceder a funciones privilegiadas.
Verdadero, un proceso usuario puede pedir un servicio al kernel mediante un system call o una instrucción privilegiada.

El SO es capaz de prevenir que un proceso ejecute una instrucción privilegiada sin que el procesador esté marcado como para ejecutar en ese modo.
Falso. El HW detecta los errores de violación de los modos. El SO se encarga de tratar estos errores. [Silberchatz-Galvin, 7ª ed. Esp., Pg. 18].

En relación con las llamadas al sistema, es cierto que en un sistema multiprocesador puede invocarse en el mismo instante la misma llamada al sistema por más de un proceso.
Verdadero. Por ejemplo: puede haber dos procesos que soliciten la apertura (open) de archivos en un mismo instante.

Algunas llamadas al sistema, como las de sockets, podrían implementarse como funciones que corran en espacio de usuario.
Falso, en algún momento tiene que cambiar a modo kernel para ejecutar instrucciones privilegiadas porque se tiene que comunicar con una parte del hardware en este caso la placa de red.

En un sistema operativo Microkernel la forma básica de comunicación entre procesos (ó entre hilos) son las interrupciones a nivel software.
Falso. No son las interrupciones, es el paso de mensajes. Pág. 178, 1er. párrafo de IPC. [Stallings, 5ª ed. Esp., Pg. 178].

El Kernel del sistema operativo debe ser los más pequeño posible, esto se debe a que de esta forma es menos propenso a los fallos.
Falso, es verdad que los microkernels proporcionan más fiabilidad dado que la mayoría de los servicios se ejecutan como procesos de usuario y si un servicio falla, el resto del SO no se ve afectado pero los microkernels pueden tener un rendimiento peor que otras soluciones debido a la carga de procesamiento adicional impuesta por las funciones del sistema.[Silberschatz pág. 56]

El diseño del Microkernel impone interfases no uniformes en los requerimientos hechos por los procesos.
Falso. La función principal del microkernel es proporcionar un mecanismo de comunicaciones entre el proceso cliente y los distintos servicios que se ejecutan también en el espacio de usuario. La comunicación se realiza mediante el paso de mensajes. El programa cliente y el servicio interactúan intercambiando mensajes con el microkernel. Para ello la interfaz que proporciona a los procesos usuario debe ser uniforme.

Una de las ventajas que presentan los sistemas basados en micronúcleos, con respecto a otras arquitecturas, es el mayor rendimiento al basar su funcionamiento en el paso de mensajes.
Falso. Las ventajas de los sistemas basados en micronúcleos no están relacionadas justamente con el rendimiento sino con la flexibilidad y seguridad. El rendimiento podría estar en desventaja en comparación con otras arquitecturas ya que lleva mayor tiempo construir y enviar un mensaje a través del microkernel, aceptarlo y decodificar la respuesta que realizar un service call como en otras arquitecturas.

En una arquitectura microkernel, el algoritmo de elección de víctima y el de reemplazo de pagina se encuentran fuera del microkernel.
Verdadero, las partes esenciales se encuentran dentro del micronucleo, otras como la gestión de archivos, memoria virtual etc., están fuera del micronucleo.

En una arquitectura de microkernel, el algoritmo de elección de la víctima y el de reemplazo de páginas se encuentran fuera del microkernel.
Verdadero, el manejo de la memoria virtual no se encuentra en el microkernel porque este solo contiene las funciones absolutamente esenciales del sistema operativo.[Stallings 177]

El código correspondiente al tratamiento de interrupciones en un sistema operativo como UNIX se ejecuta en modo usuario.
Falso, la rutina de tratamiento de interrupción es en modo privilegiado.

Una de las tareas del procesador al tratar una interrupción es asignar al contador de programa (Program Counter) la dirección de inicio del programa de manejo de interrupción (interrupt handler).
Verdadero, cuando se produce una interrupción se guarda el contexto del proceso en ejecución para invocar la rutina de interrupción por lo que se carga la dirección de inicio de dicha rutina y comienza la ejecución del servicio de la interrupción.

La cantidad de interrupciones de HW internas que se pueden producir en forma concurrente está fuertemente relacionada con la cantidad de procesadores.
Verdadero. Las interrupciones internas son producidas por los procesadores (interno a la CPU). Por lo tanto está relacionada con la cantidad de procesadores. Este tipo de interrupciones son manejadas en su totalidad por el hardware y no es posible modificarlas. Un ejemplo claro de este tipo de interrupciones es la que actualiza el contador del reloj interno de la computadora, el hardware hace el llamado a esta interrupción varias veces durante un segundo para mantener la hora actualizada.

Cuando ocurre una excepción (trap) el SO determina el error y si la condición de excepción es fatal.
Verdadero. Con un trap, el SO conoce si una condición de error o de excepción es irreversible. Si es así, el proceso en ejecución se pone en el estado Saliente y se hace un cambio de proceso. De no ser así, el SO actuará dependiendo de la naturaleza del error y su propio diseño. [Stallings, 5ª ed. Esp., Pg. 139].

Un claro ejemplo de una interrupción es una división por cero.

Verdadero. Una división por cero es una excepción, es decir una interrupción generada por software. [Silberschatz pág. 16].

Cuando un proceso en modo usuario intenta ejecutar una operación privilegiada ocurre una excepción (trap).
Verdadero. "Si se hace un intento de ejecutar una instrucción privilegiada en modo usuario, el hardware no ejecuta la instrucción sino que la trata como ilegal y envía una excepción al sistema operativo.[Silberschatz pág. 17].

Sabemos que es totalmente posible que se produzcan dos interrupciones de hardware externas al mismo tiempo ¿Puede pasar lo mismo con dos interrupciones de hardware internas?
No, porque las interrupciones internas son internas al procesador, con lo cual sólo puede producirse una al mismo tiempo. [Stallings, 5ª ed. Esp., Pgs. 17-27, “Interrupciones”].

Cuando se produce una interrupción, el SO a veces puede no tratarlas.
Falso, puede retrasarse en atenderlas debido a que tiene las interrupciones deshabilitadas, pero no puede dejar de atenderlas. El sistema operativo siempre trata las interrupciones (a lo sumo demora el tiempo en atenderlas). Salvo que se corte la luz!

Las interrupciones se producen debido a un error o excepción generados dentro del actual proceso en ejecución.
Falso, depende el tipo de interrupción, porque las interrupciones externas provienen de dispositivos de E/S.

Una operación atómica es aquella que se ejecuta con las interrupciones deshabilitadas.
Verdadero, una operación atómica es la que no puede ser interrumpida, por lo tanto la función atómica tiene las interrupciones deshabilitadas.

El vector de interrupciones es una estructura de datos que se encuentra dentro de la tabla de procesos.
Falso, el vector de interrupciones se encuentra en una memoria protegida por el SO.

Siempre que una interrupción sea lanzada mientras la CPU se encuentra ejecutando una instrucción, la CPU completará la instrucción actual y luego, de manera inmediata, dará lugar al tratamiento de la interrupción.
Verdadero. "El procesador termina la ejecución de la instrucción actual antes de responder a la interrupción." Stallings pág.20

La característica de los Sistemas de Tiempo Real que refleja cuánto tiempo le toma al sistema operativo dar servicio a una interrupción luego de haberla aceptado es conocida por determinismo.
Falso, Dicha característica es conocida como "reactividad". El determinismo se preocupa de cuánto tiempo tarda el sistema operativo antes de reconocer una interrupción. [Stallings pág.464]

Una de las características de los Sistemas Operativos de Tiempo Real es el “determinismo”, la cual indica cuánto tarda el Sistema Operativo desde que reconoce una interrupción hasta brindarle servicio.
Falso, Dicha característica es conocida como "reactividad". El determinismo se preocupa de cuánto tiempo tarda el sistema operativo antes de reconocer una interrupción. [Stallings pág.464]

Una de las diferencias entre los sistemas operativos de tiempo real y los de uso general es que la implementación de estos últimos tienden a ser determinísticos mientras que los de tiempo real no.
Falso, los STR son los que tienden a ser determinísticos. [Stallings pág.464]

Una de las características de la planificación en tiempo real es que las tareas siempre deben cumplir con los plazos establecidos.
Falso, ningún sistema puede ser totalmente determinista porque depende de la velocidad a la que es capaz de responder a las interrupciones y si el sistema tiene capacidad suficiente para manejar todas solicitudes dentro del tiempo requerido. [Stallings pág.464]

Los sistemas operativos monolíticos están necesariamente implementados en código máquina.
Falso, puede estar implementado en un lenguaje de alto nivel. Ej: unix monolítico.

El diseño de un sistema operativo por capas necesariamente debe ser monolítico.
Falso, los SO por capas son una evolución de los monolíticos. Los monolíticos carecen de estructura.

El diseño del Sistema Operativo UNIX se caracteriza por su estructura en capas.
Falso. Se caracteriza por contar con un núcleo monolítico.

En los Sistemas de procesamiento en serie solamente se producían desperdicios de procesamiento de CPU si el JOB finalizaba antes de lo estimado.
Verdadero porque no existía ningún sistema operativo, los usuarios solicitaban bloques de tiempo fijos para el procesamiento y si se terminaba antes se malgastaba el tiempo.

Para solucionar los inconvenientes que traían aparejados los SO de procesamiento en serie, surgen los sistemas de procesamiento en batch.
Verdadero, con procesamiento en serie cada usuario ponía su proceso reservando una cantidad de tiempo estimada que podía ser desperdiciada, con sistemas batch se entregan un lote de trabajos y un monitor es el encargado de asignar el procesador a cada trabajo de modo que cuando se terminaba de ejecutar un proceso se continuaba con el siguiente.

Con el surgimiento de los Sistemas de procesamiento batch multiprogramados se incorpora el concepto de multiprogramación.
Verdadero porque cuando un proceso estaba bloqueado a la espera de que se complete una operación de E/S se podía continuar con la ejecución de otro proceso.

A Diferencia de los Time Sharing Systems, el objetivo de los Sistemas de procesamiento batch es minimizar el Response Time (Tiempo de Respuesta).
Falso, los sistemas de tiempo compartido tienen el objetivo de minimizar el tiempo de respuesta (tiempo que se tarda desde que un proceso está listo para ejecutarse hasta que el recurso de la CPU es adquirido por el mismo).

Los Sistemas Operativos de tiempo compartido realizan tareas en colaboración con las máquinas cliente.
Falso, el tiempo compartido da ráfagas de CPU a distintos usuarios, todo el proceso lo hace el computador central.

En una estructura SMP (Symmetric MultiProcessor) no se comparte la memoria principal para evitar problemas de coherencia de cache en los procesadores.
Falso ya que la memoria principal es compartida por todos los procesadores. El SO debe implementar los mecanismos necesarios de protección para que la ejecución se haga sin problemas

La administración de múltiples procesos en un sistema de un solo procesador es conocida como Multiprogramación (Multiprogramming), mientras que en sistemas de varios procesadores se lo conoce como Multiprocesamiento.
Verdadero porque la definición de multiprogramación es: la administración de múltiples procesos dentro de un sistema de único procesador mientras que Multiprocesamiento es: la administración de múltiples procesos dentro de múltiples procesadores.

En un Sistema con multiprocesamiento no se puede dar el caso que un procesador quede ocioso mientras existen procesos esperando para ejecutar.
Falso, si la asignación de procesadores es estática se puede dar el caso que un procesador se encuentre ocioso.[Stallings pág. 454]

Un Sistema Operativo multiprogramado es un Sistema Operativo de tiempo compartido. Sin embargo, no es válido el reciproco.
Falso, un sistema de tiempo compartido puede ser un sistema multiprogramado ya que se reparte el procesador entre distintos usuarios. Aparte un sistema multiprogramado puede ser monousuario.

Multithreading se refiere a la habilidad de un SO para soportar múltiples Threads en ejecución dentro de múltiples procesos.
Falso. Multithreading se a la capacidad de un sistema operativo de dar soporte a múltiples hilos de ejecución en un solo proceso, no necesariamente en múltiples procesos. [Stallings pág. 158]

Muchos sistemas informáticos actuales soportan múltiples procesadores y permiten que cada procesador se autoplanifique de forma independiente.
Falso, el SO es el encargado de la planificación de los procesos.

El concepto de máquina virtual se basa en una arquitectura en niveles, donde el hardware y el sistema operativo subyacentes son emulados lo más fielmente posible.
Verdadero, se abstrae el hardware de la computadora formando varios entornos de ejecución diferentes, creando así la ilusión de que cada entorno de ejecución está operando en su propia computadora privada.

El método de comunicación entre procesos (IPC) mediante memoria compartida requiere que los procesos que se van a comunicar compartan algunas variables.
Falso, lo que requiere es que dos o más procesos acuerden en eliminar la restricción del sistema operativo a que un proceso acceda a la memoria de otro proceso.[Silberschatz pág.49]

Si se ejecutan dos señales en el mismo instante, tales como SIGINT y SIGKILL, se atenderá la segunda señal ya que tiene más prioridad que la primera.
Falso, las señales a diferencia de las interrupciones, no utilizan prioridades. Si dos señales ocurren al mismo tiempo, éstas son presentadas al proceso una a la vez, sin un orden específico.

Los signals (señales) son mecanismos del HW que informan a los procesos de la ocurrencia de eventos asincrónico.
Falso. Las señales son proporcionadas por el SO.
(Este mensaje fue modificado por última vez en: 16-02-2013 15:15 por Alejandro.)
17-01-2013 17:04
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Alejandro recibio 13 Gracias por este post
leonel (18-01-2013), jimena (22-01-2013), martintama (02-02-2013), Axius (06-03-2013), _Gabo (08-01-2014), reLlene (20-03-2014), H3rnst (07-07-2014), CarooLina (01-01-2015), Vallo (02-02-2015), lucascla (08-02-2015), GeRod (26-02-2015), leandrong (18-10-2015), guillermoOK (12-01-2016)
Fly Sin conexión
Secretario de la SAE
estado sólido
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 511
Agradecimientos dados: 118
Agradecimientos: 169 en 58 posts
Registro en: May 2011
Mensaje: #2
RE: [Sistemas Operativos] VoF de Finales (Introducción y Estructuras de SO)
Que raro ser el primero en responder acá...
Tengo dudas con esta:

Cita:La administración de múltiples procesos en un sistema de un solo procesador es conocida como Multiprogramación (Multiprogramming), mientras que en sistemas de varios procesadores se lo conoce como Multiprocesamiento.
Verdadero porque la definición de multiprogramación es: la administración de múltiples procesos dentro de un sistema de único procesador mientras que Multiprocesamiento es: la administración de múltiples procesos dentro de múltiples procesadores.

¿De dónde sale esa definición de Multiprogramación?
Según DeLuca la multiprogramación significa "muchos programas en memoria", y según Wikipedia:
"Se denomina multiprogramación a una técnica por la que dos o más procesos pueden alojarse en la memoria principal y ser ejecutados concurrentemente por el procesador o CPU."

Para mi la Multiprogramación también se da en sistemas de Multiprocesamiento, o sea, que siempre que se puedan gestionar varios procesos en memoria va a existir la multiprogramación...
(Este mensaje fue modificado por última vez en: 16-01-2014 02:34 por Fly.)
16-01-2014 02:33
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
fer89cai Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 17
Agradecimientos dados: 8
Agradecimientos: 4 en 4 posts
Registro en: Dec 2012
Mensaje: #3
RE: [Sistemas Operativos] VoF de Finales (Introducción y Estructuras de SO)
Las definiciones que puso de Multiprogramacion y multiprocesamiento son correctas
(Este mensaje fue modificado por última vez en: 23-02-2015 22:08 por fer89cai.)
23-02-2015 22:00
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Dios Sin conexión
Presidente del CEIT
.
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.051
Agradecimientos dados: 33
Agradecimientos: 144 en 124 posts
Registro en: Dec 2011
Mensaje: #4
RE: [Sistemas Operativos] VoF de Finales (Introducción y Estructuras de SO)
(16-01-2014 02:33)Fly escribió:  Para mi la Multiprogramación también se da en sistemas de Multiprocesamiento, o sea, que siempre que se puedan gestionar varios procesos en memoria va a existir la multiprogramación...

Si se habla sólo de multiprogramación es solamente tener varios procesos en memoria (pensá en computadoras con CPU antea de que tuvieran más de un núcleo: por ejemplo Windows 98 en un K6-2: es multiprogramado porque así está hecho Windows, pero no tiene multiprocesamiento porque no hay más de un CPU).
En multiprocesamiento siempre hay multiprogramación (o debería, si no estamos desperdiciando CPUs), pero no viceversa.

«(…)Se arman paquetes… ¿eh?… tecnológicos… tecnológicos portes de… en donde están… este… interrelacionados con las otras capas.(…)»
24-02-2015 11:10
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Ruben Maier Enzler Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 22
Agradecimientos dados: 1
Agradecimientos: 5 en 2 posts
Registro en: Apr 2013
Mensaje: #5
RE: [Sistemas Operativos] VoF de Finales (Introducción y Estructuras de SO)
La administración de múltiples procesos en un sistema de un solo procesador es conocida como Multiprogramación (Multiprogramming),
En esto concuerdo.

mientras que en sistemas de varios procesadores se lo conoce como Multiprocesamiento.

Acá no concuerdo (aunque mi negación viene mas por parte de la relación que hicieron en la formulación del enunciado y no concretamente en la definición del mismo).

La multiprogramación es la acción de administrar varios procesos contenidos en memoria principal (independientemente de cuantos procesadores tenga el sistema).
Un sistema multiprocesador, es aquel que cuenta con varios procesadores.
el multiprocesamiento es la acción de poder relacionar la interacción de arquitecturas de multiprocesadores con multriprogramación.

Por tanto la multriprogramación refiere directamente a la necesidad esencial de un sistema multriprocesador e indirectamente a la necesidad parcial de multiprogramación.
26-06-2015 01:58
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
CarooLina Sin conexión
Colaborador
2016! ❥
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 3.468
Agradecimientos dados: 930
Agradecimientos: 1.224 en 456 posts
Registro en: Sep 2010
Mensaje: #6
RE: [Sistemas Operativos] VoF de Finales (Introducción y Estructuras de SO)
me perdi con lo demas que dijiste, pero Un sistema multiprocesador, es aquel que cuenta con varios procesadores de propósito general.
Como sabes DMA se utilza con un procesador de proposito especial (por citar un ejemplo), dada una situacion... tendrias dos procesadores, pero solo uno de proposito general => monoprocesador. A lo que voy es que no importa que cantidad, sino como sean.

love
(Este mensaje fue modificado por última vez en: 05-07-2015 18:28 por CarooLina.)
05-07-2015 18:27
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.