Cuestionario SO - Semana 8

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 6

1. ¿Cuál es la diferencia entre programa y proceso?

La diferencia entre Programa y Proceso es que el Programa es una entidad


inactiva,recién cuándo se lo instancia, se convierte en proceso o entidad activa.
Proceso: instancia de un programa en ejecución. Un mismo programa puede dar
lugar a varios procesos y ocupa un espacio en memoria y tiene unos datos, por
eso PROCESO no es lo mismo PROGRAMA. Para el sistema operativo el
proceso es un conjunto son los datos a gestionar.es el elemento central de la
ejecución y el que realiza los trabajos del usuario.

2. ¿Cuáles son los subadministradores que conforman al administrador del


procesador?

Los subadministradores que conforman el administrador del procesador son:


1) El Planificador de Trabajos
2) El Planificador de Procesos

3. ¿Cuál es la meta del planificador de trabajos?

El administrador de procesador es una composición de dos administradores: uno


a cargo de la planificación de trabajos y otro a cargo de la planificación de
procesos. Se denominan planificador de trabajos y planificador de procesos.
El objetivo del planificador de trabajos es poner los trabajos en una secuencia
que usará todos los recursos del sistema de la manera más completa posible.
4. ¿Qué es una hebra de control?

Una Hebra de control es una porción de un proceso (tarea), que se puede


ejecutar de manera independiente. Ej. si el sistema permite que los procesos
tengan una sola hebra de control y ud. Desea una serie de imágenes en el sitio
Web de un amigo, puede instruir al navegador (Browser) para que establezca
una conexión entre ambos sitios y descargar una imagen a la vez en cambio si el
sistema permite múltiples hebras de control se pueden pedir varias imágenes al
mismo tiempo.
5. ¿Qué son las políticas de planificación de procesos? Ejemplifique una
Apropiativa y una No apropiativa.

En un entorno multiprogramación suele haber más trabajos a ejecutar de los que


posiblemente podrían ejecutarse al mismo tiempo. Antes que el sistema operativo
pueda planificarlos, necesita resolver tres limitaciones del sistema: 1) hay un número
finito de recursos (como unidades de disco, impresoras y unidades de cinta); 2)
algunos recursos, una vez asignados, no pueden compartirse con otro trabajo (por
ejemplo, impresoras); y 3) algunos recursos requieren la intervención del operador;
es decir, no es posible reasignados automáticamente de un trabajo a otro (como las
unidades de disco).
Criterios:
-Maximizar el resultado.
-Minimizar el tiempo de respuesta.
-Minimizar el tiempo de retorno.
-Minimizar el tiempo de espera.
-Asegurar lo justo para todos los trabajos.

Una apropiativa:
Round robin:
El Round Robin es un algoritmo de planificación de procesos de sistemas
interactivos se basa en una fracción de tiempo que se da a cada trabajo para que los
procesos activos compartan por igual el CPU. Por eso el elemento vital para la
eficiencia del Round Robin es la fracción de tiempo se conoce como “quantum de
tiempo” .
Los trabajos se colocan en la cola LISTO usando un esquema de primero en llegar,
primero en servirse y el planificador de procesos selecciona el primer trabajo desde
el frente de la cola, establece el temporizador en el cuanto de tiempo y asigna la
CPU a este trabajo. Si el procesamiento no ha terminado cuando expira el tiempo, el
trabajo es expropiado, se coloca al final de la cola y su información se guarda en su
PCB.

No apropiativa:
Primero en llegar, primero en servirse (FCFS):
Es un algoritmo de planificación no expropiativo que maneja trabajos según su
tiempo de llegada, donde se atiende a los primeros en hacerlo. La implementación
de este algoritmo es muy simple porque usa una cola FIFO. Este algoritmo funciona
bien para la mayor parte de los sistemas por lotes, aunque es inaceptable para
sistemas interactivos porque los usuarios interactivos esperan tiempos de respuesta
rápidos. Con FCFS, a medida que un nuevo trabajo entra al sistema, su PCB se
vincula con el final de la cola LISTO y se elimina del frente de la cola cuando el
procesador se vuelve disponible; es decir, después que ha procesado todos los
trabajos que lo preceden en la cola. En un sistema FCFS estricto no hay listas en
ESPERA (cada trabajo se ejecuta hasta su terminación), aunque puede haber
sistemas donde el control (contexto) se intercambia sobre una espera natural
(solicitud de E/S) y luego el trabajo se reanuda después de la terminación de la E/S.
Los siguientes ejemplos presumen un entorno estrictamente FCFS (sin
multiprogramación). Con la política FCFS es impredecible el tiempo de respuesta;
considere los tres trabajos siguientes: • El trabajo A tiene un ciclo de CPU de 15
milisegundos. • El trabajo B tiene un ciclo de CPU de 2 milisegundos. • El trabajo C
tiene un ciclo de CPU de 1 milisegundo. Para cada trabajo, el ciclo de CPU contiene
el uso actual de la CPU y las solicitudes de E/S. Es decir, es el tiempo de respuesta
total. Al usar un algoritmo FCFS con una secuencia de llegada de A, B, C, la línea de
tiempo (diagrama de Gantt) se muestra en la figura 4.5.
6. ¿Qué tareas realiza el administrador de nivel medio y en qué entorno
aparece?
En un entorno muy interactivo existe un tercer nivel del administrador del
procesador llamado planificador de nivel medio, cuándo el sistema está
sobrecargado lo que hace es retirar trabajos activos de la memoria para reducir
el grado de multiprogramación, esto hace que los trabajos se completen más
rápido. Este subadministrador controla los trabajos que se intercambian hacia
afuera y de regreso.
7. ¿Cuáles son los cinco estados posibles de un trabajo?¿Quién inicia la
transición de un estado a otro?
A medida que un trabajo se mueve por el sistema siempre estará en uno de los 5
estados posibles cambia de Aceptado a Listo a Ejecución a Terminado a
Bloqueado a Finalizado son estados de trabajo o de proceso.
Quién inicia la transición de un estado a otro es el Planificador de trabajos o
procesos utilizando políticas predefinidas, algoritmos, límites de tiempo,
instrucción de tareas, señal del administrador de dispositivos de E/S.

8. ¿En qué casos el sistema pasará procesos a estado bloqueado?

Dos de los problemas más importantes en la programación de procesos


concurrentes son el interbloqueo y la inanición.
El interbloqueo, llamado también bloqueo mutuo o deadlock, se define como el
bloqueo permanente de procesos que requieren los servicios de determinados
recursos. Es decir, cuando todos los procesos aseguran algunos recursos pero
quedan a la espera de otros, los cuales han sido asignados a procesos diferentes.
Estos a su vez, necesitan los recursos asignados a los primeros procesos. De esta
forma, cada proceso asegura algún recurso pero queda en espera de otro.
El problema de inanición, por su parte, suele tener las mismas consecuencias del
interbloqueo, pero las causas son diferentes dado que la inanición se define como el
bloqueo indefinido debido a la negativa permanente para la utilización de un recurso
compartido.
Los problemas de interbloqueo e inanición suelen tener consecuencias diversas
dependiendo del tipo de recurso utilizado, sean consumibles o reutilizables.
Los bloqueos mutuos pueden prevenirse al no permitir que las cuatro condiciones de
un bloqueo ocurran en un sistema al mismo tiempo. Al eliminar por lo menos una de
las cuatro condiciones (exclusión mutua, retención de recursos, ausencia de
expropiación y espera circular), el sistema puede permanecer libre de bloqueos
mutuos.

Los bloqueos mutuos pueden evitarse al identificar claramente estados seguros y


estados inseguros, y requiriendo al sistema que mantenga suficientes recursos en
reserva para garantizar que todos los trabajos activos en el sistema puedan
ejecutarse hasta su terminación. La desventaja de una política de evasión es que los
recursos del sistema no se asignan a todo su potencial.
Si un sistema no atiende prevención o evasión, entonces debe prepararse para
detectar y recuperarse de los bloqueos que puedan ocurrir. Desafortunadamente,
esta opción suele depender de la selección de por lo menos una "víctima": un trabajo
que debe terminarse antes de completar su ejecución y reiniciarse desde el principio.

9. ¿De qué manera puede finalizar la ejecución de un trabajo?


La finalización de la ejecución de un trabajo puede terminar de dos maneras:
1- cuándo el trabajo se ha completado con éxito ó
2- Que el sistema operativo indique que ha ocurrido un error y la tarea se da por
terminada de manera prematura.

10. ¿Qué es el PCB?¿Quien lo crea?¿Qué información almacena?¿Cuándo se


actualiza?

El PCB es Bloque de control de procesos tiene la información básica de la tarea,


lo qué es, dónde va, cuánto de su procesamiento se ha completado, dónde está
almacenada y cuánto se ha gastado en recursos . Se crea cuándo el Planificador
de trabajos acepta un trabajo o tarea y se actualiza con el avance desde el
principio hasta el final de su ejecución.
11. ¿Qué es el cambio de contexto?¿Cuándo ocurre?

El cambio de contexto (depende de la arquitectura del computador)en muchos


sistemas existen instrucciones especiales que rápidamente guardan y restauran
la información, de todos modos consume un tiempo valioso del CPU.
● El sistema almacena el estado del proceso en ejecución anterior en
registros y asigna la CPU a un nuevo proceso.
● Durante el tiempo de ejecución de un nuevo proceso, el sistema hace que
el anterior espere en una cola lista.
● Cuando se requiere reanudar la implementación del proceso anterior, la
CPU lo abre al mismo tiempo que fue interrumpido por otro proceso.

El CPU no guarda el estado del proceso, su ejecución comenzará desde


la primera etapa. Sin embargo, el cambio de contexto permite que el
sistema operativo cambie entre procesos, los almacene y recargue, y
lleve a cabo tareas cuando sea necesario.

12. ¿Qué diferencia Multiprocesamiento con Procesamiento Concurrente?

El multiprocesamiento es cuando se ejecutan múltiples procesos en múltiples


CPU (núcleos) generalmente dos o más. En el procesamiento múltiple, puede
ocurrir en varias configuraciones: en un sistema con procesador único donde
procesos interactivos obtienen el control de la única CPU en momentos
diferentes o en sistemas con múltiples procesadores donde el trabajo de cada
procesador se comunica y coopera con los otros y es sincronizado por el
administrador del procesador.
El Procesamiento concurrente es la ejecución por un sólo procesador de un
conjunto de procesos de modo que parece que están sucediendo al mismo
tiempo. También se denomina multiprocesamiento.

13. ¿Qué es la inanición? Ejemplifique que puede implementar el SO para


evitarlo.

La inanición es el resultado de la asignación conservadora de recursos donde a


un solo trabajo se le impide su ejecución porque se mantiene en espera de
recursos que nunca se vuelven disponibles.
Una vez que se ha detectado inanición, el sistema puede bloquear nuevos
trabajos hasta que se hayan satisfecho. Este algoritmo debe supervisarse
estrechamente: si se aplica muy a menudo, entonces nuevos trabajos serán
bloqueados con demasiada frecuencia y entonces disminuye el resultado. Si no
se aplica a menudo, entonces suficientes trabajos en inanición permanecen en el
sistema durante un periodo inaceptable.
14. ¿Para que se implementan las soluciones de monitor, semáforo y paso de
mensajes? ¿Qué similitudes y diferencias tienen entre sí estas técnicas?

Dado que las soluciones por software y hardware al problema de concurrencia de


procesos son insuficientes, es necesario incorporar otro tipo de soluciones. Entre
ellas se encuentran:

● Semáforos: utiliza un sistema de señales que permiten cumplir la exclusión


mutua de manera potente y flexible.
● Monitores: facilitan a través de herramientas de sincronización la exclusión
mutua.
● Paso de mensajes: proporcionan la sincronización y comunicación de los
procesos de manera simultánea.

15. ¿Qué es el Bloqueo Mutuo? ¿En que casos puede ocurrir?¿Que debe
considerar el SO al respecto?

El bloqueo mutuo es más serio que posponer un trabajo o incluso que la


inanición porque afecta a más de un trabajo, dado que los recursos están en
uso, la totalidad del sistema queda bloqueado ej, nadie puede avanzar mientras
que alguien no se quite de su camino ni sin que nadie avance o se retire hacia la
parte trasera En los primeros sistemas por lotes, eran pocos frecuentes, el
sistema operativo se aseguraba que todos los recursos solicitados estuvieran
disponibles y asignados al trabajo antes de pasarlos a la cola de listos mientras
que los mismos no estuvieran disponibles. Los bloqueos mutuos se volvieron
más frecuentes con el uso de los sistemas interactivos, estos mejoran el uso de
los recursos al compartirlos dinámicamente, pero también incrementa la
posibilidad de los bloqueos mutuos.
¿En qué casos puede ocurrir?
Ocurre en 7 casos:
1-Bloqueos mutuos en solicitudes de archivos.
2-Bloqueos mutuos en bases de datos.
3-Bloqueos mutuos en asignación de dispositivos dedicados.
4-Bloqueos mutuos en asignación de dispositivos múltiples.
5-Bloqueos en spooling.
6-Bloqueos en una red.
7-Bloqueos en compartición de discos.
¿Qué debe considerar el SO al respecto?
El sistema operativo (u otros sistemas) puede reconocer: exclusión mutua,
retención de recursos, inexistencia de expropiabilidad y espera circular. Es
importante recordar que cada una de estas cuatro condiciones es necesaria para
que el sistema operativo funcione sin contratiempos.
El sistema necesita reconocer la combinación de condiciones antes que ocurran
y amenacen con provocar un bloqueo del sistema.

También podría gustarte