Documente Academic
Documente Profesional
Documente Cultură
3. ¿Qué diferencia hay entre una trampa y una interrupción? ¿Para qué
sirve cada función?
Una trampa es una interrupción generada de software. Una interrupción puede ser
utilizada para señalar la culminación de una E/S y obviar la necesidad de un sondeo
de dispositivo. Una trampa se puede utilizar para llamar a las rutinas del sistema
operativo, o para detectar errores aritméticos.
b. Borrar la memoria.
b. Requerir que todos los programas sean escritos en lenguajes de alto nivel para que
todo el código objeto sea producido por el compilador. El compilador generaría (ya
sea en línea o en las llamadas a funciones) los controles de protección que el
hardware no encuentra.
Sistemas Operativos
Página |3
Las cachés son útiles cuando dos o más componentes necesitan intercambiar datos, y
los componentes transfieren a velocidades diferentes. Las cachés resuelven el
problema de transferencia, proporcionando un búfer de velocidad intermedia entre
componentes. Si el dispositivo rápido encuentra los datos que necesita en la caché,
no es necesario esperar al dispositivo más lento. Los datos de la caché deben
mantener coherencia con los datos de los componentes. Si un componente tiene un
cambio de valor en sus datos, y el dato también se encuentra en la caché, la memoria
caché también se debe actualizar. Esto es un problema en sistemas multiprocesador,
donde más de un proceso puede tener acceso a un dato. Un componente puede ser
eliminado por una caché de igual tamaño, pero sólo si: a) la caché y el componente
tienen una capacidad de almacenamiento equivalente (es decir, si el componente
retiene sus datos cuando se quita la electricidad, el cache debe retener los datos), y b)
la memoria caché es asequible, ya que la velocidad de almacenamiento tiende a ser
más cara.
b. Instrucciones privilegiadas
Sistemas Operativos
Página |4
c. Temporizador
d. Protección de memoria
Llevar un registro de qué partes de la memoria están siendo utilizados y por quién.
Decidir cuáles son los procesos que se cargan en la memoria cuando el espacio de
memoria disponible.
Asignación de almacenamiento
15. ¿Para qué sirve el intérprete de ordenes? ¿Por qué generalmente está
separado del núcleo?
Lee los comandos del usuario o desde un archivo de comandos y los ejecuta, por lo
general, para convertirlos en una o más llamadas al sistema. Generalmente no es
parte del núcleo.
16. Liste cinco servicios que un sistema operativo presta. Explique cómo
cada uno ofrece comodidad a los usuarios, y también en que caso sería
imposible que programas en el nivel de usuario proporcionaran esos
servicios.
Operaciones de E/S. Discos, cintas, y otros dispositivos deben ser comunicados con
un nivel muy bajo. El usuario sólo necesita especificar el dispositivo y la operación a
realizar en la misma, mientras que el sistema convierte esa petición en los comandos
del dispositivo o controlador específico. Los programas a nivel de usuario no son
confiables para acceder a los dispositivos, y sólo tener acceso a ellos cuando son, de
otra manera, no utilizados.
Sistemas Operativos
Página |6
Las llamadas al sistema permiten a los programas de usuario, solicitar servicios del
sistema operativo.
Los programas del sistema pueden considerarse como útiles paquetes de llamadas al
sistema. Estos proporcionan la funcionalidad básica para los usuarios no tengan que
escribir sus propios programas para resolver problemas comunes.
Al igual que en todos los casos de diseño modular, el diseño de un sistema operativo
de forma modular tiene varias ventajas. El sistema es más fácil de depurar y
modificar, ya que los cambios sólo afectan a sectores limitados del sistema en lugar
de tocar todas las secciones del sistema operativo. La información se mantiene sólo
donde se necesita y es accesible sólo dentro de un área definida y limitada, por lo
que cualquier error que afecte a los datos debe limitarse a un módulo específico o
una capa.
El mecanismo y la política deben estar separados para garantizar que los sistemas
sean fáciles de modificar. Ninguna de las dos instalaciones del sistema son las
mismas, porque cada instalación puede querer ajustar el sistema operativo para
adaptarlo a sus necesidades. Con los mecanismos y la política separados, la política
se puede cambiar a voluntad, mientras que el mecanismo se mantiene sin cambios.
Este acuerdo establece un sistema más flexible.
PROCESOS:
Un método de tiempo compartido debe ser implementado para permitir a cada uno
de los procesos tener acceso al sistema. Este método implica el sobreseimiento de los
procesos que no renuncian voluntariamente a la CPU (mediante una llamada al
sistema, por ejemplo) y el núcleo se ralentiza (pues más de un proceso puede estar
ejecutando código del núcleo al mismo tiempo).
Los procesos y los recursos del sistema deben tener las protecciones y se deben
proteger el uno del otro. Cualquier proceso debe ser limitado en la cantidad de
memoria que puede utilizar y las operaciones que puede realizar en dispositivos
como los discos.
Se debe tener cuidado en el núcleo para evitar puntos muertos entre procesos, para o
que los procesos no están a la espera de los demás recursos asignados.
24. Describa las diferencias entre las planifica ción a corto plazo, mediano
y largo plazo.
A corto plazo: Selecciona trabajos en memoria, dichos trabajos deben estar listos
para ejecutarse, y, entonces se asigna la CPU a éstos.
Sistemas Operativos
Página |8
26. Cite las dos ventajas que tienen los hilos sobre los procesos múltiples.
¿Qué desventaja importante tienen ? Sugiera una aplicación que se
beneficiaría del uso de hilos y una que no se beneficiaría.
Los hilos son muy baratos al crearlos y destruirlos, y utilizan muy pocos recursos,
mientras existen. Tienen tiempo de uso de CPU por instantes, pero no tienen
espacios de memoria separados. Desafortunadamente, los hilos deben sincronizarse
entre sí para no dañar los datos compartidos. Cualquier programa que pueda hacer
más de una tarea a la vez, podría beneficiarse de la multitarea. Por ejemplo, un
programa que lee la entrada, la procesa, y la presenta tiene tres hilos, uno para cada
tarea.
27. ¿Qué recursos se consumen cuando se crea un hilo? ¿En que difieren
de los que se consumen cuando se crea un proceso?
29. ¿Qué diferencia hay entre los hilos en el nivel de usuario y los
apoyados por el núcleo? ¿En qué circunstancias es un tipo “mejor” que el
otro?
Sistemas Operativos
Página |9
Los hilos a nivel de usuario no tienen el soporte del núcleo, por lo que son muy
fáciles de crear, destruir y cambiar entre sí. Sin embargo, si uno se bloquea, todos los
hilos lo harán.
Los hilos del núcleo son más caros porque las llamadas al sistema son necesarias
para crear y destruir, entonces el núcleo debe programarse. Estos hilos son más
poderosos, porque son programados de forma independiente y pueden bloquearse de
forma individual.
Sistemas Operativos