Este material es de uso exclusivo para los cursos impartidos por Universidad de la Empresa
1
2 Sistemas Operativos I – Solución Primer Parcial Curso 2015
Este material es de uso exclusivo para los cursos impartidos por Universidad de la Empresa
2
Sistemas Operativos I – Solución Primer Parcial Curso 2015 3
3. ¿Qué es un bus de datos? ¿Cuántos buses de datos tienen los sistemas computacionales?
¿Cuál es la función de cada uno?
Solución:
El bus de datos es un sistema digital que permite conectar y comunicar los distintos
componentes de la computadora (CPU, memoria, almacenamiento secundario y dispositivos de
E/S). Casi todos los sistemas tienen dos o más buses:
• Frontside bus - Bus principal, comunica el procesador con la memoria y los buses
periféricos.
• Backside bus - Comunica en forma exclusiva, el procesador con la memoria.
• Bus periférico - Comunica los distintos dispositivos de E/S con el bus principal.
4. ¿Qué es un proceso? ¿Qué se define en el sistema operativo para manipular información de un
proceso? ¿Qué información del proceso se almacena?
Solución:
Un proceso es un programa en ejecución. Cada proceso tiene asociado un espacio de
direcciones de memoria, en el cual se almacenan, el programa ejecutable, los datos del
programa y su pila o stack. También hay asociados a cada proceso un conjunto de recursos
(registros- contador de programa; puntero a la pila entre ellos, lista de archivos abiertos, lista de
procesos relacionados).
El sistema operativo crea para cada proceso una estructura que agrupa toda la información que
el sistema operativo necesita conocer respecto a un proceso particular. A esta estructura se la
llama Bloque de Control del Proceso (PCB, sus siglas en inglés).
Información del PCB:
• Identificador del proceso (process identificator – PID, son sus siglas en inglés).
• Estado del proceso - ej: listo, en espera, bloqueado.
• Contador de programa - dirección de la próxima instrucción a ejecutar.
• Valores de registros de CPU. Se utilizan en el cambio de contexto.
Este material es de uso exclusivo para los cursos impartidos por Universidad de la Empresa
3
4 Sistemas Operativos I – Solución Primer Parcial Curso 2015
Este material es de uso exclusivo para los cursos impartidos por Universidad de la Empresa
4
Sistemas Operativos I – Solución Primer Parcial Curso 2015 5
7. ¿Cuáles son las áreas en la investigación de bloqueos? Describir una de ellas indicando una
estrategia aplicada en esa área.
Solución:
Las 4 áreas de investigación de bloqueos son:
• Prevención de bloqueos.
• Evasión de bloqueos.
• Detección de bloqueos.
• Recuperación de bloqueos.
Describimos en detalle la primera de ellas: Prevención de bloqueos.
La estrategia consiste en anular alguna de las cuatro condiciones necesarias para que se
produzca un bloqueo:
• Exclusión mutua: No puede ser anulada porque existen recursos que deben ser
usados en modalidad exclusiva.
• Uso y espera: La alternativa sería hacer que todos los procesos solicitaran todos los
recursos que habrán de utilizar antes de utilizarlos al momento de su ejecución lo cual
seria muy ineficiente.
• No interrupción: Para anular esta condición cuando un proceso solicita un recurso y este
es negado el proceso deberá liberar sus recursos y solicitarlos nuevamente con los
recursos adicionales. Hay que tener en cuenta que hay recursos que no pueden ser
interrumpidos.
• Espera circular: Consiste en que el sistema operativo numere en forma exclusiva los
recursos y obligue a los procesos a solicitar recursos en forma ascendente. El problema
de esta implementación es que limita a la aplicación.
8. ¿En qué consiste la planificación de CPU? Describir dos algoritmos de planificación de CPU.
Solución:
Consiste en un algoritmo del sistema operativo que determina que proceso hará uso de la CPU.
El objetivo general de un algoritmo de scheduling es el de distribuir el trabajo llevado a cabo por
el sistema maximizando en alguna medida la satisfacción del usuario. Describimos dos
algoritmos a continuación de tiempo compartido:
• Mecanismo Round-Robing (robo de ciclos): Está especialmente diseñado para
sistemas en tiempo compartido. Se trata de asignar un determinado tiempo para la
ejecución de cada proceso.(quantum de tiempo). Suele tener un valor entre 10 y 100
milisegundos. Es un mecanismo de bajo nivel. Cuando se interrumpe un proceso pasa a
la cola de espera.
• Algoritmo de expulsión anticipada (preemption): Consiste en quitar el tiempo de
procesador a un proceso cuando llega otro con “más derecho”. Dados dos procesos, uno
fuera con 10 segundos de tiempo presupuestado y otro ejecutándose con 15 segundos
de tiempo presupuestado, si el tiempo de ejecución es de 3 segundos, el proceso es
expulsado anticipadamente. En cambio, no sucedería si hubiera consumido 8 seg.
Este material es de uso exclusivo para los cursos impartidos por Universidad de la Empresa
5