PreguntasyrespuestasdeSO
Páginas: 18 (4455 palabras)
Publicado: 7 de mayo de 2016
de usuario? ¿Qué ocurre en ambos casos con una llamada que debería bloquear al proceso
como una lectura?
Implementación como biblioteca de usuario:
● Puede implementarse en sistemas operativos que no soporten threads.
●Cada proceso necesita su tabla de threads privada para poder monitorear a los threads de ese
proceso.
● Se mantiene información acerca de cada thread individual: program counter, stack pointer,
registros, estados y demás.
● Se puede hacer un switching de un thread a otro sin la necesidad de hacer un trap a nivel kernel.
● Cada proceso puede tener su propio algoritmo de scheduling para los threads.
●Si un thread comienza, ningún otro thread va a correr en CPU hasta que éste ceda voluntariamente
la misma.
Tiene ciertos problemas cuando ocurre una system call bloqueante. Sería inaceptable dejar que el thread
realice la system call, ya que bloquearía el proceso, afectando a otros threads. Una alternativa sería
cambiar las system calls para que sean no bloqueantes, pero eso implicaría un cambio en el sistemaoperativo. Otra alternativa más viable sería realizar un wrapper para las llamadas bloqueantes, que sólo se
realizarían cuando éstas son seguras.
Implementación a nivel kernel:
● No hay tabla de threads en cada proceso.
● El kernel tiene una tabla de threads que mantiene información de todos los threads del sistema.
● El kernel le puede sacar tiempo de CPU para otorgárselo a otro thread.
● Debido al alto costo de crear y destruir threads, éstos se reciclan.
●Cuando un thread causa una page fault, el kernel puede chequear si el proceso tiene otro thread y
correr ese mientras espera que la página requerida sea traída desde el disco.
● Las señales son enviadas a los procesos, no a los threads.
Cuando un thread bloquea, el kernel puede correr otro thread, tanto del mismo proceso como de otro.
2. ¿Cumple el Intel Pentium con las condiciones de Popeck y Goldberg para virtualizar unaplataforma? ¿Cómo se realiza esta virtualización?
Condicion de Popeck y Goldberg > Se puede construir VM si las Instrucciones sensibles (las qe dependen
de los recursos o los configuran) son un subconjunto de las Privilegiadas (las qe pueden generar traps si
esta en modo usuario).
No. Cuenta con instrucciones sensibles que no son privilegiadas, violando una de las condiciones de
Popeck.Para realizar la virtualización de esta máquina se requiere de una extensión que la permita, que en este
caso es el Intel IVT, que genera containers en los que la ejecución de una instrucción sensible provoca un
software trap. Luego, con la trampa se debe emular el comportamiento de la máquina autónoma del
sistema operativo guest.
3. En Android, ¿qué es una Activity y cómo es su ciclo de vida?Una activity es una aplicación que se comunica por medio de una pantalla con el usuario. Generalmente,
esta comunicación se realiza fullscreen, pero puede ser una pantalla flotante. Una aplicación está
compuesta por una o más activities, pero sólo una puede estar activa a la vez. El resto de las activities se
guarda en un stack.
Ciclo de vida:
● Active: está al tope del stack e interactuando con el usuario.
●Paused: visible pero sin foco.
● Stopped: queda en memoria pero ya terminó. Candidata al kill.
● Inactive: fuera de la memoria. Debe lanzarse nuevamente.
4. ¿Cuál es el principio de funcionamiento de los hipervisores de tipo II?
Corre bajo el control de un sistema operativo anfitrión. Puede virtualizar cualquier ambiente y modifica el
programa que está corriendo.5. ¿Qué es y que cosas debe contener un Object File tanto para un ejecutable como para una
Biblioteca (por ejemplo, los object file formats pe, elf o coff)?
Es un formato de archivos de computadora usado para el almacenamiento de código objeto y datos
relacionados.
Hay muchos formatos distintos. Originalmente, cada tipo de computadora tenía su propio formato único,...
Leer documento completo
Regístrate para leer el documento completo.