Documente Academic
Documente Profesional
Documente Cultură
2.3 Cuales son las tres principales actividades de un sistema operativo en lo que concierne el
manejo de memoria.
R.
a. . Mantiene registro de las partes de la memoria que estn siendo actualmente
utilizadas.
b. Decide cuales son los procesos que van a ser cargados en la memoria cuando el
espacio de memoria pase a estar disponible.
c. Asigna y des-asigna espacios de memoria a medida que sean necesarios.
2.4 Cuales son las tres principales actividades de un sistema operativo concerniendo el
manejo del almacenamiento secundario:
R:
a. Manejo de espacio disponible
b. Asignacin de almacenamiento
c. Programacin (Scheduling) de disco
2.5 Para qu sirve el interprete de rdenes? Por qu est generalmente separado del
ncleo?
R: Lee los comandos desde el usuario desde un archivo de comandos y los ejecuta,
generalmente convirtindolos en ms de una llamada a sistema. Generalmente no es parte del
kernel debido a que el intrprete de rdenes est sujeto a cambios.
2.9 Liste 5 servicios provistos por el sistema operativo. Explique cmo cada uno provee
conveniencia al usuario. Explique tambin los casos en los cuales sera imposible para los
programas a nivel de usuario proveer estos servicios.
R:
a. Ejecucin de programas. EL sistema operativo carga los contenidos (o secciones) de un
archivo en la memoria y comenzar su ejecucin. Un programa a nivel usuario no podra
ser confiado para asignar correctamente el tiempo de CPU.
b. Operaciones de E/S Discos, cintas, lneas seriales y otros dispositivos que deben ser
comunicados con un muy bajo nivel. El usuario necesita solamente especificar el
dispositivo y la operacin para operar en el, mientras el sistema convierte ese
requerimiento en el dispositivo o en los comandos especficos de controladores.
Programas a nivel de usuario no pueden ser confiados en el acceder solamente a los
dispositivos, estos deberan tener accesos solamente cuando no estn en uso.
c. Manipulacin de archivos-sistemas. Existen muchos detalles en la creacin de
archivos, la eliminacin de archivos, asignacin y nombrar estos archivos. Estas
acciones los usuarios no deberan realizar. Bloques de espacio de discos son utilizados
por archivos y deberan ser rastreados. Eliminar un archivos requiere remover el
nombre del archivos de informacin y liberar los bloques asignados. Las protecciones
pertinentes tambin deben ser revisadas para asegurar un debido acceso a archivos.
Los programas a nivel de usuario no podran ni asegurar mtodos de proteccin ni
tampoco podran ser confiados en asignar bloques libres ni tampoco reasignar bloques
de eliminacin de archivos.
d. Comunicacin: Mensajes que se transmiten entre sistemas requieren que estos
mismos sean convertidos en paquetes de informacin, enviados desde el controlador
de red, transmitido a travs de medios de comunicacin y re ensamblados por
sistemas de destinacin. La orden de paquetes y datos de correccin pueden tomar
lugar. Nuevamente, programas a nivel de usuario pueden no coordinar el acceso al
dispositvo de red, o bien pueden recibir paquetes destinados para otros propsitos.
e. Deteccin de errores: La deteccin de errores ocurre tanto a niveles de hardware y
software. A nivel de hardware, todos los datos transferidos deben ser inspeccionados
para asegurar los que estos datos no hayan sido corrompidos en el trnsito. Todos los
medios de datos deben ser chequeados para asegurarse de que no cambien desde que
estos fueron escritos en el medio. En el nivel de software, los medios deben ser
chequeados para encontrar consistencia de datos, por ejemplo, tanto si los nmeros
de asignacin y desasignacin de bloques de almacenamiento coincida con el total de
nmeros en el dispositivo. En estos casos, los errores son frecuentemente
independientes del proceso (como por ejemplo la corrupcin de datos en un disco),es
por esto que debe existir un programa global (el sistema operativo) que maneja los
tipos de errores. Tambin, por tener errores de procesos por el sistema operativo, los
procesos no deben contener cdigo para captar y corregir todos los posibles errores
en un sistema.
2.11 Cuales son las principales ventajas del enfoque del micro-kernel al sistema?
R: Los beneficios tpicamente incluyen:
a. Agregar un nuevo servicio no requiere modificar el kernel.
b. Es ms seguro mientras ms operaciones se realizan en modo usuario que en modo
Kernel.
c. Un diseo y una funcionabilidad ms simple tpicamente conlleva a un sistema
operativo ms confiable.
2.12 Por qu algunos sistemas operativos se almacenan en el sistema de firmware y otros
en discos?
R. Para algunos dispositivos, como celulares, un disco con un sistema de archivos puede no
estar disponible para el dispositivo. En esta situacin, el sistema operativo debe ser
almacenado en firmware.
Captulo 4: Procesos
4.1 Varios sistemas operativos de microcomputador populares ofrecen poco o ningn
soporte del procesamiento concurrente. Comente las principales complicaciones que el
procesamiento concurrente aade a un sistema operativo.
R. Un mtodo de tiempo compartido debe ser implementado para permitir a cada proceso a
tener acceso al sistema. Este mtodo involucra el derecho a prioridad a procesos que no
voluntariamente dejaran de utilizar la CPU (Utilizando llamados a sistema) y el Kernel
volviendo a entrar (Ms de un proceso puede estar ejecutando cdigo kernel
concurrentemente)
- procesos y recursos del sistema deben tener proteccin y deben estar protegidos de cada
uno. Cualquier proceso dado debe estar limitado en la cantidad de memoria que puede usar y
las operaciones que puede realizar en los dispositivos como discos
- Se debe tener cuidado en el kernel para prevenir deadlocks entre procesos, para que los
procesos no estn esperando los recursos asignados entre si.
4.2 Describa las diferencias entre la planificacin a corto plazo, mediano plazo y largo plazo.
R.
-Corto plazo (Planificador de CPU (CPU scheduler)- Selecciona desde trabajos en memoria,
aquellos trabajos que estn listos para ejecutar, y asigna la CPU a ellos.
-Mediano plazo. Utilizado especialmente con sistemas de tiempo compartido como un
organizador de nivel intermedio. Un esquema de swapping es implementado para renovar
parcialmente programas que estn corriendo en la memoria y reinstaurarlos ms tarde para
continuar donde quedaron.
-Largo plazo (Planificador de trabajo (Job Scheduler))- Determina cuales trabajos son llevados a
la memoria para ser procesados.
4.3 Un computador DECSYSTEM-20 tiene mltiples conjuntos de registros. Describa las
acciones de una conmutacin de contexto si el contexto nuevo ya est cargado en uno de los
conjuntos de registros. Qu ms debe suceder si el contexto nuevo est en la memoria, no
en un conjunto de registro, y todos los conjuntos de registro estn ocupados?
R. El registro actual de punteros de la CPU es cambiado para apuntar al set que contenga el
nuevo contexto, el cual toma muy poco tiempo. Si el contexto est en memoria, uno de los
contextos en el set de registros debe estar escogido y movido en la memoria, y el nuevo
contexto debe estar cargado desde la memoria al set. Este proceso lleva ms tiempo que en
los sistemas con un solo set de registro, dependiendo en cmo un objetivo a ser reemplazado
es escogido.
4.4 Cite las dos ventajas que tienen los hilos sobre los procesos mltiples Qu desventaja
importante tienen? Sugiera una aplicacin que se beneficiara del uso de hilos, y una que no
se beneficiara.
R. Los hilos son muy baratos de crear y destruir, adems de que utilizan muy pocos recursos
mientras existen. Sin embargo, si utilizan tiempo de CPU, pero no tienen espacios de memoria
completamente separados. Desafortunadamente hilos tienen que confiar entre ellos para no
daar datos compartidos. Por ejemplo, un hilo podra destruir datos que todos los dems hilos
podran depender, mientras que el mismo no podra ocurrir entre procesos a no ser que haya
utilizado una funcin del sistema que les permita compartir datos. Cualquier programa que
pueda hacer ms de una tarea a la vez podra beneficiarse de la multitarea. Por ejemplo, un
programa que lea dispositivos de entrada, los procese y los libere podra tener 3 hilos, uno
para cada tarea. Procesos de una sola forma de pensar no podran beneficiarse de multiples
hilos; por ejemplo, un programa que muestre la hora del da.
4.5 Qu recursos se consumen cuando se crea un hilo? En qu difieren de los que se
consumen cuando se crea un proceso?
R. Un contexto debe ser creado, incluido un registro de un set direcciones de almacenamiento
durante cambios de contexto, y un stack local para registrar los procedimientos de llamada de
argumentos, retornar valores, retornar direcciones y el almacenamiento local de hilos. Un
proceso de creacin resulta en memoria siendo asignado para programas de instrucciones y
datos, como tambin almacenamiento de hilos. El cdigo tambin puede ser asignado en
memorias asignadas.
4.6 Describa las acciones del ncleo cuando conmuta el contexto
a. Entre hilos
b. Entre procesos.
R.
a. El contexto entre hilos debe ser salvado (Registro y contabilidad en caso de ser apropiado), y
otros contextos de hilos tambin tienen que ser cargados.
b. Lo mismo que en a, pero tambin se agrega que el contexto de memoria debe ser
almacenado y el del proceso siguiente debe ser cargado.
4.7 Qu diferencias hay entre los hilos en el nivel de usuario y los apoyados por el ncleo?
En qu circunstancias es un tipo mejor que el otro?
R. Los hilos a nivel de usuario no tienen soporte del kernel, por lo tanto son muy baratos de
crear, destruir y hacerles switch. Sin embargo, si uno se bloquea, todo el proceso se bloquea
tambin. Los hilos que tienen soporte del kernel son ms caros debido a que se necesita una
llamada al sistema para que puedan ser creados y destruidos y el kernel debe programarlos.
Son ms poderosos porque son programados y bloqueados individualmente.
4.8 el algoritmo de productores y consumidores correcto que se present en la seccin 4.4
slo permite que n-1 buffers estn llenos en cualquier momento. Modifique el algoritmo
para permitir que todos los buffers se aprovechen al mximo.
R. sin respuesta.
Preguntas de repaso:
1. Qu es un proceso?
R. Un programa en ejecucin.
2. Qu es PCB? (Ver Figura)
Tiempo de rfaga
Prioridad
P1
10
P2
P3
P4
P5
Se supone que los procesos llegaron en el orden P1,P2, P3, P4, P5 todos en el instante 0.
a. Dibuje cuatro diagramas de Gantt que ilustren la ejecucin de estos procesos
empleando planificacin FCFS, SJF, una tcnica por prioridad no expropiativa (un
nmero de prioridad ms bajo implica una priodidad ms alta) y RR (quantum = 1)
b. Calcule el tiempo de retorno para cada proceso con cada uno de los algoritmos de
planificacin de la parte a.
c. Calcule el tiempo de espera para cada uno de los algoritmos de planificacin de la
parte a.
d. Cul de los planes de la parte a da pie al tiempo de espera promedio ms bajo
(considerando todos los procesos)?
R. Sin respuesta
5.4
5.5
R.
a. En efecto, este proceso tendr un incremento en su prioridad debido a que al recibir tiempo
ms a menudo estar recibiendo un trato preferencial.
b. La ventaja es que a tareas ms importantes se le podra asignar ms tiempo, en otras
palabras, mayor prioridad en el tratamiento. La consecuencia, desde luego, es que tareas ms
pequeas sufrirn.
c. Asignandole ms tiempo a los procesos que merezcan mayorprioridad, en otras palabras,
tener dos o ms quantums posibles en la planificacin RR
5.6Qu ventaja tendra definir quantums de tiempo de diferente tamaa en distitnso
niveles de un sistema de colas multinivel?
R. Procesosque necesiten prestacin de servicios frecuentemente, por ejemplo, procesos
interactivos como los editores, pueden estar en una cola con un quantum mayor, requiriendo
menores cambios de contexto para completar su proceso, haciendo as ms eficiente el uso del
computador.
5.7 Considere el siguiente algoritmo de planificacin por prioridad extrapropiativo basado en
prioridades que cambian dinmicamente. Un nmero de prioridad mayor implica una
prioridad ms alta. Mientras un proceso est esperando la CPU (en la cola de procesos listos,
pero no ejecutndose), su prioridad cambia con una rpidez alfa, cuando se est ejecutnado,
su prioridad cambia con rapidez beta. Todos los procesos reciben una prioridad de 0 cuando
ingresan en la cola de procesos listos. Los parmetros alfa y beta pueden ajustarse para dar
muchos algoritmos de planificacin distitnos.
a. Qu algoritmo se obtiene si beta>alfa>0?
b. Qu algoritmo se obtiene si alfa<beta<0?
R:
a. FCFS
b. LIFO
5.8 Muchos algoritmos de planificacin de la CPU usan parmetros. Por ejemplo, el
algoritmo RR requiere un parmetro indique la porcin de tiempo. Las colas multinivel con
retroalimentacin necesitan parmetros que definan el nmero de colas, los algoritmos de
planificaicn para cada cola, los criterios que se aplican para pasar procesos de una cola a
otra, etctera.
Por tanto, tales algoritmos son realmente conjuntos de algoritmos (por ejemplo, el conjunto
de algoritmos RR para todas las porciones de tiempo, etc) UN conjunto DE ALGORITMOS
PODRA INCLUIR OTRO (Por ejemplo el algoritmo FCFS es el algoritmo RR con un quantum de
tiempo infinito) Qu relacin hay (si acaso existe alguna) entre los siguientes pares de
conjuntos de algoritmos?
a. Prioridad y SJF
Preguntas de resumen.