Cuestionario para ExtraOrdinario de Sistemas Operativos

Anuncio
Cuestionario para el Examen ExtraOrdinario de
Sistemas Operativos
2006 - A
1.- ¿Qué es un sistema operativo?
2.- ¿Qué es el Kernel?
3.- ¿Cuáles son los objetivos que debe cumplir un sistema operativo?
4.- Mencione como han evolucionado los sistemas operativos a través de las
generaciones de computadoras.
5.- ¿Qué es una capa del sistema operativo?
6.- ¿Cuál es la principal ventaja del enfoque de capas?
7.- ¿En que sistema operativo se uso por primera vez el diseño por capas?
8.- Mencione las capas del sistema Venus y The.
9.- Explique lo que es una maquina virtual.
10.- ¿Cuáles son los modos de operación agregados al hardware para proteger al
sistema operativo?
11.- ¿Qué es el bit de modo?
12.- Explique las diferencias entre los dos tipos de bit de modo.
13.- ¿Con qué otras denominaciones conocemos al “Modo Supervisor”?
14.- ¿En que modo inician las computadoras cuando son encendidas para cargar el
sistema operativo?
15.- Explique el enfoque de capas desde el punto de vista de la modularidad y su
relación con la programación orientada a objetos.
16.- ¿Qué es un proceso?
R.- Es la ejecución de un programa individual. También se le llama tarea.
17.- ¿Qué es el estado de un proceso?
1
R.- Esta definido en parte por la actividad actual de ese proceso.
18.- ¿Cuáles son los estados de un proceso?
R.- Son 5:





Nuevo: El proceso se acaba de crear.
En ejecución: Se están ejecutando instrucciones.
Pendiente: El proceso está esperando que ocurra algún suceso.
Listo: El proceso está esperando que se le asigne a un procesador.
Terminado: El proceso terminó su ejecución
19.- ¿Qué es el Bloque de Control de Proceso?
R.- Es el Bloque de Control de Tarea que contiene elementos de información:
a)
b)
c)
d)
e)
f)
g)
Estado del proceso (Cualquiera de los 5 estados)
Contador de programa (indica la dirección del siguiente proceso a ejecutar)
Registros (acumuladores, registros índices, etc.).
Información de planificación de CPU.
Información de gestión de memoria.
Información contable.
Información de E/S
20.- ¿Para qué sirve la suspensión de procesos?
R.- Cuando se pasa un proceso al estado de suspendido y se transfiere a disco, el espacio
que se libera de la memoria principal puede utilizarse entonces para traer otro proceso.
Un proceso suspendido no está disponible de inmediato para ejecución.
21.- Menciona las estructuras de control de procesos.
R.-


Ubicación de los procesos.
Atributos del proceso.
22.- ¿Cuáles elementos contiene una imagen de proceso?
R.-




Datos de usuario.
Programa de usuario.
Pila del sistema.
Bloque de control de proceso.
23.- Menciona los elementos que constituyen la información de un PCB (bloque de
2
control de proceso).
R.A.- Identificación de proceso
 Identificadores.
B.- Información de estado del procesador
 Registros visibles para el usuario.
 Registros de control y de estado.
 Punteros de pila.
C.- Información del control del proceso
 Información de planificación y de estado.
 Estructuración de datos.
 Comunicación entre procesos.
 Privilegios de los procesos.
 Gestión de memoria.
 Propiedad de los recursos y utilización.
24.- Listé las funciones básicas del Kernel de un Sistema Operativo.
R.A) Gestión de procesos.
 Creación y terminación de los procesos.
 Planificación y expedición de los procesos.
 Cambio de procesos.
 Sincronización de procesos y soporte para la comunicación entre procesos.
 Gestión de los bloques de control de procesos.
B) Gestión de memoria
 Asignación de espacios de direcciones de los procesos.
 Intercambio.
 Gestión de páginas y segmentos.
C) Gestión de E/S.
 Gestión de buffer.
 Asignación de canales de E/S y dispositivos a los procesos.
D) Funciones de soporte.
 Tratamiento de interrupciones
 Contabilidad.
 Supervisión.
25.- Explica el concepto modos de ejecución.
R.- La mayoría de los procesadores dan soporte para modos de ejecución por lo menos.
Ciertas instrucciones pueden ejecutarse sólo en modo privilegiado. Entre éstas están la
lectura o modificación de registros de control, instrucciones primitivas de E/S, etc.
Además, se puede acceder a ciertas regiones de memoria sólo en el modo más
3
privilegiado.
Al modo menos privilegiado se le conoce como modo de usuario, ya que los programas
de usuario ejecutan normalmente en ese modo.
26.- Explica el concepto de cambio de contexto.
R.- En el ciclo de interrupción, el procesador comprueba si se ha producido alguna
interrupción, si hay alguna pendiente, el procesador hace lo siguiente:
* Salva el contexto del programa que está ejecutándose.
**Asigna al contador de programa el valor de la dirección de comienzo de un programa de
tratamiento de la interrupción.
27.- ¿Cuál es la clave de la Multiprogramación?
R.- En la planificación de procesos, ya que mediante esto, siempre o casi siempre un
proceso estará en ejecución.
28.- ¿Cuál es el propósito de la planificación?
R.- Consiste en asignar los procesos al procesador o procesadores para que sean ejecutados
a los largo del tiempo, de forma tal que cumplan objetivos del sistema.
29.- Mencione la planificación a largo plazo.
R.- Decisión de añadir procesos al conjunto de procesos a ejecutar.
30.- Mencione la planificación a medio plazo.
R.- Decisión de añadir procesos al conjunto de procesos que se encuentran parcial o
completamente en la memoria.
31- Mencione la planificación a corto plazo.
R.- Decisión sobre que solicitud de E/S pendiente será tratada por un dispositivo de E/S
disponible.
32.- Explique el algoritmo de FIFO.
R.- También es conocido como FCFS = First – Come, First – Served; de “primero en
llegar, primero en ser servido” o “servicio por orden de llegada”.
La implementación de la política FCSF es fácil con una cola FIFO, cuando un proceso
ingresa en la cola de procesos listos, y si la CPU queda libre, entonces, se asigna al
proceso que esta en la cola, acto seguido, el proceso en ejecución se saca de la cola, sin
embargo, el tiempo de espera promedio cuando se adopta la política FCFS suele ser
muy largo.
4
33.- Defina los siguientes términos: TCPU, TE, Quantum, SJF, FIFO, FCFS, SPF,
RR.
R.







TCPU = Tiempo de CPU.
TE = Tiempo de ejecución
Quantum = Cuanto de tiempo o porción de tiempo.
SJF = Shortest Job First = Primero el más corto.
FIFO: First In, First Out = Primero en Llegar… Primero en ser atendido e irse.
FCFS = First Come, First Served = Primero en llegar, Primero en ser atendido.
SPF = Short Process First = Primero el más corto.
RR = Round Robin
34.- Explique el algoritmo SPF.
R.- Asocia a cada proceso un TCPU. Cuando la CPU queda disponible, se asigna al
proceso cuya siguiente TCPU sea más corta, si hay dos procesos cuyas TCPU tengan el
mismo tamaño, entonces, se les aplica a esos dos procesos en particular el algoritmo de de
FCFS, para romper el empate.- Lo normal es que cuando se ejecute un proceso, se termine,
pero, si el procesador asigna un TE de menor tamaño al TCPU, entonces el algoritmo se
modifica mediante esto: “Primero el que tenga menor tiempo restante”; y suele ocurrir
cuando procesos que se bloquean, pasan al estado de pendiente y entonces el texto del
algoritmo sería así: “Primero el más corto, hasta que no hayan pendientes”.
35.- Explique el algoritmo por Turno Circular.
R.- Es conocido también como Round Robin (RR) y se diseño especialmente para los
sistemas de tiempo compartido, es similar al FCFS, pero, con la propiedad de conmutación
entre procesos, y así es como funciona:
Los procesos nuevos se añaden al final de la cola.- El planificador de la CPU escoge el
primer proceso de la cola, ajusta un temporizador de modo que interrumpa después de un
quantum y despacha al proceso.
36.- Explique el algoritmo de Prioridades.
R.- Se asocia a cada proceso una prioridad y la CPU se asigna al proceso que tiene la
prioridad más alta.- Los procesos con la misma prioridad se planifican con FCFS para
romper el empate.
Los tres tipos de prioridades que se manejan son:
A = Alta = Primero en ejecutar.
M = Media = Siguiente en ejecutar.
B = Baja = Último en ejecutar.
5
37.- ¿Cuál es el algoritmo mejorado en donde se mezclan dos algoritmos en uno solo?
R.- Quantum – Prioridades = RR – Prioridades = Round Robin – Prioridades
38.-Menciona los requisitos para la gestión de memoria.
R. Reubicación: Se debe poder mover un programa de una región a otra de
memoria principal sin invalidar las referencias a memoria del programa.
 Protección: Cada proceso debe protegerse contra interferencias no deseadas
de otros procesos, tanto accidentales como intencionados. Las exigencias de
protección de memoria pueden ser satisfechas por el procesador (hardware)
en vez de por el sistema operativo (software).
 Comparticiòn: Cualquier mecanismo de protección que se implemente debe
tener flexibilidad de permitir el acceso de varios procesos a la misma zona
de memoria principal.
 Organización lógica.
 Organización física.
39.-Explica la diferencia entre fragmentación interna y externa.
R.La fragmentación interna es el fenómeno en el que se malgasta el espacio interno de
una partición cuando el bloque de datos cargado sea más pequeño que dicha partición; y
la fragmentación externa se refiere al hecho de que la memoria externa se fragmenta
cada vez más hasta que llega un momento en el que su rendimiento decae.
40.- ¿Cuál es la ventaja de utilizar segmentación simple en lugar de paginación
simple?
R.Que la segmentación simple no tiene fragmentación interna.
41.- Menciona las diferencias en el uso de particiones fijas y variables.
R.En la partición fija, la memoria principal se divide en un conjunto de particiones fijas
durante la generación del sistema. Un proceso se puede cargar en una participación
mayor o de igual tamaño. Tiene un empleo ineficiente de la memoria debido a la
fragmentación interna pero es sencilla de implementar y tiene poca sobrecarga del
sistema operativo.
En la partición dinámica las particiones se crean dinámicamente, de forma que
cada proceso se carga en una partición de exactamente el mismo tamaño que el
proceso. No hay fragmentación interna y tiene un uso más eficiente de la memoria
principal pero tiene un uso ineficiente del procesador debido a la necesidad de
compactación para contrarrestar la fragmentación externa.
6
42.- Describe el proceso de compactación y cuando debe ser utilizado.
R.De vez en cuando el sistema operativo desplaza los procesos para que estén contiguos de
forma que toda la memoria libre quede junta en un bloque. Consume tiempo por lo que
desperdicia tiempo del procesador. Necesita de la reubicación dinámica. Debe ser
utilizado para superar la fragmentación interna.
43.- Explica las ventajas de utilizar memoria virtual.
R.Permite un alto grado de multiprogramación muy efectiva, un gran espacio virtual
para el proceso y releva al usuario de las rígidas e innecesarias restricciones de la
memoria principal.
44.- ¿A que se refiere el concepto thrashing?
R.Cuando el sistema operativo lleva a la memoria un fragmento, debe expulsar otro.
Si expulsa un fragmento justo antes de ser usado, tendrá que traer de nuevo el
fragmento de manera casi inmediata.
El thrashing o hiperpaginación se da cuando existen demasiados intercambios de
fragmentos. El procesador consume más tiempo intercambiando fragmentos que
ejecutando instrucciones de usuario.
45.- ¿Cuál es la función del TLB (Traslation Lookaside Buffer)?
R.Es el buffer de traducción adelantada. Esta caché funciona igual que una memoria
caché y contiene aquellas entradas de la tabla de páginas usadas hace menos tiempo.
46.- Explica la importancia del tamaño de página.
R.Cuanto menor sea el tamaño de página, menor será la cantidad de fragmentación interna
y mayor será el número de páginas que se necesitan por proceso, lo cual quiere decir que
una gran parte de las tablas de páginas de los procesos activos deban estar en memoria
virtual, no en memoria principal.
47.- Explica la paginación y la segmentación simple.
R.En la paginación simple, la memoria principal se encuentra particionada en trozos
iguales de tamaño fijo y del mismo tamaño que los de memoria. En tal caso, los trozos
del proceso, conocidos como páginas, pueden asignarse a trozos libres de memoria,
conocidos como marcos de páginas.
En la segmentación simple el programa y sus datos asociados se dividen en un conjunto
de segmentos. No es necesario que todos los segmentos de todos los programas tengan la
misma longitud, aunque existe una longitud máxima de segmento.
7
48.- Explica el uso de paginación y segmentación combinadas resaltando las
ventajas de esta asociación.
R.En esta combinación, el espacio de direcciones de un usuario se divide en varios
segmentos según el criterio del programador. Cada segmento se vuelve a dividir en
varias páginas de tamaño fijo, que tienen la misma longitud que un marco de memoria
principal. Si el segmento tiene menor longitud que la página, el segmento ocupará solo
una página.
49.- Define la implementación de políticas de protección y compartición.
R.Puesto que cada entrada de la tabla de segmentos incluye la longitud, además de la
dirección base, un programa no podrá acceder por descuido a una posición de memoria
principal más allá de los límites de un segmento. Para conseguir la compartición, es
posible que un segmento se referencia en las tablas de segmentos de más de un proceso.
Este mecanismo también es valido en un sistema de paginación, pero como la estructura
de páginas de programas y datos no es visible al programador, es más difícil la
especificación de los requisitos de protección y seguridad.
50.- ¿Cuales son las áreas de decisión de las que depende el diseño de un gestor de
memoria?
R. Si se emplean o no técnicas de memoria virtual.
 El uso de paginación, segmentación o ambas.
 Los algoritmos empleados para los diversos problemas de la gestión de
memoria.
51.- Menciona las políticas involucradas en el diseño del gestor de memoria,
explica tres de ellas.
R.
Políticas de lectura(fetch): Está relacionada con la decisión de cuándo se debe
cargar una página en memoria principal. Existen dos alternativas más comunes:
Paginación por demanda: Se trae una página a memoria principal solo cuando
se hace referencia a una posición en dicha página.
Paginación previa: Se cargan otras distintas a las demandadas debido a un fallo
de página.
8


Políticas de ubicación: Tiene que ver con determinar donde va a residir una
parte de un proceso en memoria principal.
Políticas de reemplazo: Trata de la selección de la página a reemplazar en
memoria principal cuando se debe cargar una nueva página.
52.- Explica los problemas de Dekker al elaborar el algoritmo de exclusión mutua
y
la solución correcta.
R.En el primer intento, un problema fue que los procesos debían alternarse de manera
estricta en el uso de las secciones críticas y otra fue que si un proceso fallaba, el otro
proceso se bloqueaba permanentemente.
En el segundo, la solución propuesta falla porque un proceso puede cambiar su
estado después de que el otro proceso lo ha verificado.
En el tercero, los procesos se interbloqueaban.
En el cuarto, cualquier cambio en la velocidad relativa de los dos procesos rompería
el ciclo y permitiría a una entrar en la sección crítica.
En la solución correcta se tiene que poner un orden en la actividad de los dos
procesos para evitar el problema de la “cortesía mutua”. Se usa una variable para
indicar que proceso tiene prioridad para exigir la entrada a la sección crítica. (Esta
variable es la llamada “Turno”)
53.- Haz una comparación de ventajas y desventajas de las técnicas para
solucionar la exclusión mutua.
R.1. Las soluciones por software suelen tener un alto coste y el riesgo de errores
lógicos en el programa es también alto.
2. Las soluciones por hardware suponen el uso de instrucciones especiales de
la máquina; estos métodos reducen la sobrecarga, pero son aún ineficientes
porque emplean espera activa.
3. Las características dentro del sistema operativo contienen dos técnicas:
 Semáforos
 Paso de mensajes
54.- Cuales son los requisitos para la exclusión mutua?
R.-
9






Solo un proceso de entre todos los que poseen secciones críticas por el mismo
recurso u objeto compartido debe tener permiso para entrar en ella en un
instante dado.
Un proceso que se interrumpe en una sección no crítica debe hacerlo sin
estorbar a los demás.
Un proceso no debe solicitar acceso a una sección crítica para después ser
demorado indefinidamente; no puede permitirse el interbloqueo.
Cuando ningún proceso está en su sección crítica, cualquier proceso que solicite
entrar a la suya debe poder hacerlo sin retraso.
No se puede hacer suposiciones sobre la velocidad relativa de los procesos o su
número.
Un proceso permanece en su sección crítica solo por un tiempo finito.
55.- Explica la diferencia entre Multiprogramación, Multiproceso y
distribuido.
R. Multiprogramación: Es la gestión de varios procesos de un
monoprocesador.
 Multiproceso: Es la gestión de varios procesos dentro de un
multiprocesador.
 Proceso distribuido: Es la gestión de varios procesos que ejecutan en
de computadores múltiples y remotas.
Proceso
sistema
sistema
sistemas
56.- Explica los términos inanición e interbloqueo.
R. Interbloqueo: Es el bloqueo de un conjunto de procesos que compiten por los
recursos del sistema o bien se comunican unos con otros. El bloqueo es
permanente hasta que el sistema operativo realice alguna operación
extraordinaria.
 Inanición: Cuando por exceso de cortesía un proceso no se ejecuta.
57.- Explica el funcionamiento de la instrucción comparar y fijar.
R.La instrucción examina el valor de su argumento. Si el valor es 0, lo cambia por 1 y
devuelve cierto. En otro caso, el valor no se modifica y se devuelve falso. La
función Comparar y Fijar se ejecuta inmediatamente en su totalidad, es decir, no
está sujeta a interrupciones.
58.- Explica los tres tipos de interacción entre procesos.
R. Los procesos no tienen conocimiento de los demás: Son procesos
independientes que no están pensados en operar juntos.
10


Los procesos tienen un conocimiento indirecto de otros: Los procesos no
conocen necesariamente a los otros por su nombre, pero comparten el acceso a
algunos objetos mostrando cooperación.
Los procesos tienen un conocimiento directo de los otros: Los procesos son
capaces de comunicarse con los demás por el nombre y están diseñados para
trabajar conjuntamente mostrando cooperación.
59.- ¿Cuál es el principio fundamental de los semáforos?
R.Dos o más procesos pueden cooperar por medio de simples señales, de forma que se
pueda obligar a detenerse a un proceso en una posición determinada hasta que
reciba una señal especifica.
Los semáforos son una herramienta básica, pero potente y flexible para hacer
cumplir la exclusión mutua y coordinar procesos, pero es muy difícil construir un
programa correcto.
Para transmitir una señal en un semáforo S, los procesos ejecutan la primitiva
signal(s) (Señal) y para recibir una señal se usa wait(s) (Espera)
60.- ¿Que son los monitores?
R.Son estructuras de un lenguaje de programación que ofrecen una funcionalidad
equivalente a la de los semáforos y son más fáciles de controlar.
61.- ¿Qué es un monitor con señales y cuales son sus características?
R.Es un módulo de sistema operativo que consta de uno o más procedimientos, una
secuencia de inicialización y unos datos locales. Sus características son las
siguientes:
 Las variables de datos locales están solo accesibles para los procedimientos del
monitor y no para procedimientos externos.
 Un proceso entra al monitor invocando a uno de sus procedimientos.
 Solo un proceso puede estar ejecutando en el monitor en un instante dado;
cualquier otro proceso que haya invocado al monitor quedará suspendido
mientras espera a que el monitor esté disponible.
62.- ¿Qué es el paso de mensajes?
R.Cuando los procesos interactúan unos con otros, se deben de satisfacer dos
requisitos básicos, la sincronización y la comunicación; el paso de mensajes es el
método posible para ofrecer ambas funciones.
11
Su funcionalidad real es por medio de estas dos primitivas: Send (destino,
mensaje) y Receive (origen, mensaje).
En la comunicación un proceso envía información en forma de un mensaje a otro
proceso designado como destino. Un proceso recibe información ejecutando la
primitiva Receive, que indica el proceso emisor(origen) y el mensaje.
Con respecto a la sincronización, el receptor no puede recibir un mensaje hasta que
sea enviado por otro proceso. Además, hace falta especificar que le sucede a un
proceso después de ejecutar una primitiva send o receive.
63.- Cuales son los dos tipos de direccionamiento y explícalos?
R. Direccionamiento directo: La primitiva send incluye una identificación
específica del proceso destino. La primitiva receive se puede gestionar de dos
formas:
a) Designe explícitamente el proceso emisor.
b) En ocasiones lo anterior es imposible ya que no se puede especificar el
proceso origen por anticipado.
 Direccionamiento indirecto: En este caso, los mensajes no se envían
directamente del emisor al receptor, sino en una estructura de datos compartida
formada por colas que pueden guardar mensajes temporalmente.
64.- Explica los tres tipos de dirección.
R. Dirección lógica: Es una referencia a una posición de memoria independiente
de la asignación actual de datos a memoria.
 Dirección relativa: Es un caso particular de la dirección lógica.
 Dirección física: O dirección absoluta. Es una posición real de la memoria
principal.
65.- Qué es el conjunto residente?
R.Es el proceso (fragmento) que realmente está en memoria.
66.- Menciona las dos características con las cuales no es necesario que todas las
páginas o segmentos estén cargadas en memoria en un instante dado.
R.1. Todas las referencias a memoria dentro de un proceso son direcciones
lógicas que se traducen dinámicamente y direcciones físicas durante su
ejecución. Es decir, un proceso puede cargarse y descargarse de memoria
principal de forma que ocupe regiones diferentes en instantes diferentes a
lo largo de su ejecución.
2. Un proceso puede dividirse en varias partes y no es necesario que estas partes se
encuentren contiguos en memoria principal durante la ejecución.
12
Descargar