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.
A partir de aquí, respondidas todas las 51 siguientes preguntas:
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?
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)
Estado del proceso (Cualquiera de los 5 estados)
b)
Contador de programa (indica la dirección del siguiente proceso a
ejecutar)
c)
Registros (acumuladores, registros índices, etc.).
d)
Información de planificación de CPU.
e)
Información de gestión de memoria.
f)
Información contable.
g)
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
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.-
Liste 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
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.
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.
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.
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.
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.
·
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.-
·
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 Proceso distribuido.
R.-
·
Multiprogramación: Es la gestión de varios procesos
de un sistema monoprocesador.
·
Multiproceso: Es la gestión de varios procesos
dentro de un sistema multiprocesador.
·
Proceso
distribuido: Es la
gestión de varios procesos que ejecutan en sistemas de computadores múltiples y
remotas.
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.
·
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.
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.
No hay comentarios:
Publicar un comentario
Muchas Gracias por tus comentarios ...