Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
R: Las llamadas de sistema permiten a los procesos a nivel de usuario hacer un requerimiento
de servicios del sistema operativo
2.2 Cuales son las 5 principales actividades de un sistema operativos en lo que concierne la
gestión de procesos.
R:
2.3 Cuales son las tres principales actividades de un sistema operativo en lo que concierne el
manejo de memoria.
R.
2.4 Cuales son las tres principales actividades de un sistema operative concerniendo el manejo
del almacenamiento secundario:
R:
2.5 Para qué sirve el interprete de órdenes? ¿Por qué está generalmente separado del núcleo?
R: Lee los comandos desde el usuario desde un archivo de comandos y los ejecuta,
generalmente convirtiéndolos en más de una llamada a sistema. Generalmente no es parte del
kernel debido a que el intérprete de órdenes está sujeto a cambios.
2.9 Liste 5 servicios provistos por el sistema operative. Explique cómo cada uno prove
conveniencia al usuario. Explique también los casos en los cuales sería imposible para los
programas a nivel de usuario proveer estos servicios.
R:
R. Las llamadas de sistema permiten a los procesos a nivel de usuario hacer un requerimiento
de servicios del sistema operativo.
2.11 Cuales son las principales ventajas del enfoque del micro-kernel al sistema?
R. Para algunos dispositivos, como celulares, un disco con un sistema de archivos puede no
estar disponible para el dispositivo. En esta situación, el sistemaoperativo debe ser
almacenado en firmware.
Capítulo 4: Procesos
4.1 Varios sistemas operativos de microcomputador populares ofrecen poco o ningún soporte
del procesamiento concurrente. Comente las principales complicaciones que el procesamiento
concurrente añade a un sistema operativo.
R. – Un método de tiempo compartido debe ser implementado para permitir a cada proceso a
tener acceso al sistema. Este método involucra el derecho a prioridad a procesos que no
voluntariamente dejarían de utilizar la CPU (Utilizando llamados a sistema) y el Kernel
volviendo a entrar (Más de un proceso puede estar ejecutando código kernel
concurrentemente)
- procesos y recursos del sistema deben tener protección y deben estar protegidos de cada
uno. Cualquier proceso dado debe estar limitado en la cantidad de memoria que puede usar y
las operaciones que puede realizar en los dispositivos como discos
- Se debe tener cuidado en el kernel para prevenir deadlocks entre procesos, para que los
procesos no estén esperando los recursos asignados entre si.
4.2 Describa las diferencias entre la planificación a corto plazo, mediano plazo y largo plazo.
R.
-Corto plazo (Planificador de CPU (CPU scheduler)- Selecciona desde trabajos en memoria,
aquellos trabajos que están listos para ejecutar, y asigna la CPU a ellos.
-Largo plazo (Planificador de trabajo (Job Scheduler))- Determina cuales trabajos son llevados a
la memoria para ser procesados.
R. El registro actual de punteros de la CPU es cambiado para apuntar al set que contenga el
nuevo contexto, el cual toma muy poco tiempo. Si el contexto está en memoria, uno de los
contextos en el set de registros debe estar escogido y movido en la memoria, y el nuevo
contexto debe estar cargado desde la memoria al set. Este proceso lleva más tiempo que en
los sistemas con un solo set de registro, dependiendo en cómo un objetivo a ser reemplazado
es escogido.
4.4 Cite las dos ventajas que tienen os hilos sobre los procesos mútiples ¿Qué desventaja
importante tienen? Sugiera una aplicación que se beneficiaría del uso de hilos, y una que no se
beneficiaría.
R. Los hilos son muy baratos de crear y destruir, además de que utilizan muy pocos recursos
mientras existen. Sin embargo, si utilizan tiempo de CPU, pero no tienen espacios de memoria
completamente separados. Desafortunadamente hilos tienen que “confiar” entre ellos para no
dañar datos compartidos. Por ejemplo, un hilo podría destruir datos que todos los demás hilos
podrían depender, mientras que el mismo no podría ocurrir entre procesos a no ser que haya
utilizado una función del sistema que les permita compartir datos. Cualquier programa que
pueda hacer más de una tarea a la vez podría beneficiarse de la multitarea. Por ejemplo, un
programa que lea dispositivos de entrada, los procese y los “libere” podría tener 3 hilos, uno
para cada tarea. Procesos “de una sola forma de pensar” no podrían beneficiarse de multiples
hilos; por ejemplo, un programa que muestre la hora del día.
4.5 ¿Qué recursos se consumen cuando se crea un hilo? ¿En qué difieren de los que se
consumen cuando se crea un proceso?
a. Entre hilos
b. Entre procesos.
R.
a. El contexto entre hilos debe ser salvado (Registro y contabilidad en caso de ser apropiado), y
otros contextos de hilos también tienen que ser cargados.
b. Lo mismo que en a, pero también se agrega que el contexto de memoria debe ser
almacenado y el del proceso siguiente debe ser cargado.
4.7 ¿Qué diferencias 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?
R. Los hilos a nivel de usuario no tienen soporte del kernel, por lo tanto son muy baratos de
crear, destruir y hacerles “switch”. Sin embargo, si uno se bloquea, todo el proceso se bloquea
también. Los hilos que tienen soporte del kernel son más caros debido a que se necesita una
llamada al sistema para que puedan ser creados y destruidos y el kernel debe programarlos.
Son más poderosos porque son programados y bloqueados individualmente.
R. sin respuesta.
Preguntas de repaso:
1. Qué es un proceso?
R. Un programa en ejecución.
R. Determina qué trabajos pertenecen en la mezcla actual de trabajos que e están ejecutando
y los que están esperando
R: Determina cual de los trabajos actuales debería correr en la próxima ráfaga de CPU
8. Que planificador debe trabajar muy rápido con el fin de que no se gaste tiempo significante
de la CPU? ¿Cuál puede ser lento?
R. EL que tiene que ser rápido es el de corto plazo, y el que puede ser lento es el de largo
plazo.
R. no caché.
11. Verdadero o falso: El planificador de largo plazo selecciona un grupo de trabajos ligados a
dispositivos de E/S o un grupo de trabajo ligado a la CPU para actividades subsecuentes.
Explique
R. Usuarios que son impacientes con respuestas de largo tiempo se desconectarán, resultando
en que hayan menos usuarios en el sistema con un tiempo de respuesta mayor.
R. Copiar un proceso que está fuera de la memoria a un disco o tambor, permitiendo así que se
desocupe espacio para otros procesos activos. Una vez que el espacio se vuelva a ampliar se
volverán a copiar en la memoria.
R.
R. ni un brillo
Capítulo 5 planificación de CPU
5.2 Defina la diferencia entre planificación expropiativa y no expropiativa. Explique por qué es
poco probable que se use una planificación no expropitiva estricta en un centro de cómputo.
P1 10 3
P2 1 1
P3 2 3
P4 1 4
P5 5 2
Se supone que los procesos llegaron en el orden P1,P2, P3, P4, P5 todos en el instante 0.
5.4
5.5
R.
a. En efecto, este proceso tendrá un incremento en su prioridad debido a que al recibir tiempo
más a menudo estará recibiendo un trato preferencial.
b. La ventaja es que a tareas más importantes se le podría asignar más tiempo, en otras
palabras, mayor prioridad en el tratamiento. La consecuencia, desde luego, es que tareas más
pequeñas sufrirán.
c. Asignandole más tiempo a los procesos que merezcan mayorprioridad, en otras palabras,
tener dos o más quantums posibles en la planificación RR
5.6¿Qué ventaja tendría definir quantums de tiempo de diferente tamaña en distitnso niveles
de un sistema de colas multinivel?
R:
a. FCFS
b. LIFO
5.8 Muchos algoritmos de planificación de la CPU usan parámetros. Por ejemplo, el algoritmo
RR requiere un parámetro indique la porción de tiempo. Las colas multinivel con
retroalimentación necesitan parámetros que definan el número de colas, los algoritmos de
planificaicón para cada cola, los criterios que se aplican para pasar procesos de una cola a otra,
etcétera.
Por tanto, tales algoritmos son realmente conjuntos de algoritmos (por ejemplo, el conjunto
de algoritmos RR para todas las porciones de tiempo, etc) UN conjunto DE ALGORITMOS
PODRÍA INCLUIR OTRO (Por ejemplo el algoritmo FCFS es el algoritmo RR con un quantum de
tiempo infinito) ¿Qué relación hay (si acaso existe alguna) entre los siguientes pares de
conjuntos de algoritmos?
a. Prioridad y SJF
b. Colas multinivel con realimentación y FCFS
c. Prioridad y FCFS
d. RR y SJF
R.
c. FCFS da la mayor prioridad a la tarea habiendo estado en existencia la mayor parte del
tiempo.
d. Ninguna
R.
Favorecerá a los programas ligados a E/S porque las ráfagas de CPU relativamente cortas
solicitadas por estos mismos. Sin embargo, los programas ligados a la CPU no se
desabastecerán porque los programas ligados a E/S renunciarían a la CPU relativamente
temprano para hacer su E/S
5.10 Explique las diferencias en el grado en que los algoritmos de planificación siguientes
discriminan a favor de los procesos cortos:
a. FCFS
b. RR
R.
a. FCFS – Discrimina contra tareas pequeñas debido a que cualquier tarea corta que llegue
después de una larga tendrá una espera de tiempo mayor.
b. RR – Trata a todas las tareas por igual (dándoles el mismo tiempo de ráfagas de CPU)
asique tareas pequeñas podrán irse del sistema más rápido debido a que germinarán
primero.
Preguntas de resumen.
1. Qué es una Rafaga de CPU? Qué es una ráfaga de E/S?
- Ráfaga de CPU: Un intervalo de tiempo cuando el un proceos usa solamente la CPU
- Ráfaga E/S: Un intervalo de tiempo donde un proceso usa solamente dispositivos
de E/S
2. Un programa ligado a E/S podría típicamente tener algún tipo de ráfaga de CPU?
R. Pequeño
3. Qué es el Despachador?
6.1 ¿Qué significa el término espera activa? ¿Qué otros tipos de espera hay en un sistema
operativo? ¿Es posible evitar totalmente la espera activa? Explique su respuesta
R.
- Un proceso está esperando por un evento que ocurra cuando lo hace ejecutando
instrucciones.
- Un proceso está esperando por un evento a ocurrir en alguna cola de espera (por ejemplo
E/S, semáforos) y lo hace sin que la CPU lo haya asignado.
6.2 Paja
6.5 En la sección 6.3 mencionamos que la desactivación frecuente de las interrupciones podría
afectar el reloj del sistema. Explique por qué podría suceder esto y cómo podría minimizarse
dicho efecto.
6.6 Demuestre que, si las operaciones espera y señal no se ejecutan atómicamente, podría
violarse la mutua exlcusión.
R.
6.7
Preguntas de resumen
R: Para diseñar un algoritmo que permita a lo más un proceso en la sección crítica a la vez, sin
deadlock
3 . Por qué los programas tienen sección crítica?
4. Haga una lista de las limitaciones Dijkstra situadas en soluciones para elproblema de la
sección crítica.
5 Cuales son los tres requerimientos que debe satisfacer una solución a la sección crítica?
R. Ejecución en grupo, sin un cambio de contexto posible hasta que todos las declaraciones en
el grupo hayan sido completadas.
R. Añade 1 al semáforo