Sunteți pe pagina 1din 6

María López V-27.407.

707
Jesús Ruiz V-27.296.976

1) Realice una comparación sobre los tipo de planificación en sistemas multiprocesamiento


(Espacial ó Temporal). Esto debe hacerlo mediante dos casos prácticos donde se deba
aplicar un caso distinto de planificación. Debe explicar las razones en cada caso por la cual
se aplica determinado tipo de planificación. Valor(3)

Caso 1:
La planificación temporal define cuales procesos deben ejecutarse en una unidad de
tiempo. Como ejemplo, el sistema posee un conjunto de actividades, las cuales pueden
ejecutarse en primer o segundo plano. Cuando el sistema inicia crea procesos que
interactúan con el usuario y procesos que tienen funciones específicas (segundo plano),
como por ejemplo aceptar un email entrante ( pudiendo ser una actividad que se esta
ejecutando sin ser utilizada). Estos procesos se pueden ir atendiendo según su prioridad,
donde cada procesador tendría una planificación que permita una mejor respuesta a estos
tipos de trabajos.
Se implementa esta, ya que define una política de planificación en cada procesador
individual, como si de un monoprocesador se tratara.

Caso 2:
En las aplicaciones concurrentes de hoy en día, de tipo multihilo, los threads
habitualmente interaccionan de manera muy estrecha (estos usan memoria compartida
como mecanismo de comunicación entre ellos), por lo que la carencia de recursos para
planificar alguno de los hilos puede provocar que otros hilos de la aplicación que sí
disponen de procesador no progresen y consuman ciclos de CPU esperando por
condiciones que deberían satisfacer los hilos no planificados, lo que conduce a pobres
resultados en cuanto a tiempos de finalización y retardos. Esto invita a implementar
políticas de asignación de procesadores que permitan a una aplicación disponer de los
recursos necesarios para que la ejecución de la aplicación pueda progresar
adecuadamente, como nos lo permite la planificación espacial.

El criterio de proporcionar recursos exclusivos para la aplicación, en vez de compartidos,


tiene como contrapartida la posibilidad de que gran parte de ellos queden ociosos o con un
uso poco eficiente, debido a que el sistema operativo no conoce a priori el perfil de
necesidades de la aplicación.
2) Basado en las funciones de los sistemas operativos, diseñe un sistema operativo en el
cual solo incluyan 3 de sus funciones básicas, sin que éste deje de ser un sistema operativo
funcional. Explique brevemente las características de este sistema operativo y las razones
por las cuales escogió unas funciones y descarto las otras. (Debe hacer referencia a cada
una de ellas). Valor (3)

Debe incluir:
 Gestión de recursos. Administración de recursos del hardware y de redes de un
sistema informático, como la unidad de procesamiento central, memoria, unidades
de disco y periféricos de entrada o salida.

Razón: Si no controlamos y manipulamos los recursos del equipo los dispositivos de


almacenamiento pueden comenzar a embasurarse, podríamos perder información,
muchos procesos en memoria, el equipo podría comenzar a raleantizarse o incluso
colgarse. No habría ningún tipo de rendimiento.

 Gestión de archivos. Un sistema de información contiene programas de


administración de archivos que controlan la creación, borrado, acceso de archivos
de datos y programas; y los permisos de acceso a ellos.

Razón: Es de necesidad mantener el registro de la ubicación física de los archivos


en los discos magnéticos u otros tipos de almacenamiento secundario. Los
permisos de acceso son de gran importancia, incluso en temas de seguridad. Hay
archivos propios del sistema operativo (archivos de programas) a los que hay que
restringir el acceso a los usuarios (muchos de estos están ocultos), o incluso
archivos de datos que solo permiten el acceso al administrador, archivos de
lectura o escritura, o unicamente de visualización.

 Gestionar procesos. Actuar como entorno de la aplicación en la cual un programa es


ejecutado, planeando los recursos y trabajos, puesto que ayuda a decir no solo que
recursos usar (asignación), sino también cuando utilizarlos (planificación)

Razón: El sistema realiza varias actividades simultáneamente que compiten por la


utilización de determinados recursos, entre ellos el CPU. Por ello gestionar los
procesos es necesario para llevar un control de aquellos que se están atendiendo
y los que aun están a la espera , buscando optimizar el rendimiento del sistema.
Descartadas:

• Gestión de varios usuarios: La razón principal para las cuentas de usuario es


verificar la identidad de cada individuo utilizando un computador. Una razón
secundaria es la de permitir la utilización personalizada de recursos y privilegios de
acceso.
Razón: Si el sistema no gestiona varios usuarios esto no representa que hayan
problemas en cuanto a las funciones principales del sistema como es el caso de las
versiones domésticas de Windows, MS-DOS...

• Servicio de soporte: Estos servicios dependerán de cada sistema operativo. Como


nuevos paquetes, mejoras de seguridad, entre otros.

Razón: Un ejemplo de este seria también una actualización de versión. Y aunque no


actualicemos el sistema y pueda comenzar a quedar obsoleto (por app actuales,
entre otros) puede seguir funcionando y operando como anteriormente lo hacia.

• Multitarea: es la característica de los sistemas operativos modernos de permitir que


varios procesos o aplicaciones se ejecuten aparentemente al mismo tiempo,
compartiendo uno o más procesadores

Razón: Un sistema operativo puede ser mono-tarea, que es aquel que solamente
puede ejecutar un proceso del programa de computación a la misma vez. Esta es
una característica de los sistemas operativos más antiguos como MS-DOS.

3) Diseñe un algoritmo (Explíquelo) que permita la implementación de colas multinivel. El


algoritmo debe soportar procesos que no tienen definida una característica especifica
(Interactivos, uso de cpu). Valor(2)

En la planificación multinivel, los procesos pueden cambiar de una cola a otra (conocido
como colas realimentadas), para estos cambios se definen criterios.

Condición primaria de la ejecución del programa: Que las colas estén vaciás y el
procesador también.
!bandera || !AdministradorColas.getVacio()
Variables principales
Planificador AdministradorColas;
pthread_t threads[NUM_THREADS];

Se implementaran 4 colas, donde estás atienden al primero en llegar (planificación interna).


La planificación entre estas colas sera de prioridad fija, es decir, cada cola tiene prioridad
absoluta sobre la cola de prioridad más baja. Siendo Cola1 > Cola2 > Cola3 > Cola4.

En caso de que en tiempo de ejecución se admitan nuevos procesos y entren en colas


superiores a la que se esta atendiendo, por la planificación establecida se retomara la
gestión de aquellas colas de mayor prioridad.

Para el control del proceso que se esta ejecutando en el cpu, se necesita saber de que cola
proviene, ya que cada una de estas tiene un Q asignado; esto es necesario para poder
controlar su tiempo de ejecución. Teniendo que si el tiempo que ha estado el proceso
ejecutándose es igual al tiempo de ejecución asignado, este ha terminado.
Retroalimentación de colas: Cada cola tiene asignado un quantum, si un proceso esta
ejecutando sus lineas de código en el CPU y se vence el quantum, el proceso es sacado del
procesador e ingresado en la cola de menor prioridad que le sigue. Por ejemplo, si se esta
ejecutando un proceso proveniente de la Cola 1 (donde Q=2), y este tenga un tiempo de
ejecución asignado de 3, cuando hayan pasado la unidad de quantum este sera sacado del
procesador e insertado en la cola 2.

Para dar información a todo momento de estado de las colas y la información de cada
proceso, basta con llamar a las funciones de imprimir.

Tipo de Hilos levantados: El proceso entra y sale del procesador.

S-ar putea să vă placă și