Sunteți pe pagina 1din 14

Captulo 3 Estructuras de un sistema operativo

2.1 Cual es el propsito de las llamadas de sistema?


R: Las llamadas de sistema permiten a los procesos a nivel de usuario hacer un requerimiento
de servicios del sistema operativo
2.2 Cuales son las 5 principales actividades de un sistema operativos en lo que concierne la
gestin de procesos.
R:
a.
b.
c.
d.

La creacin y la eliminacin de tanto usuario u procesos de sistema


La suspensin y la reanudacin de procesos
La provisin de mecanismos para procesos de sincronizacin
La provisin de mecanismos para el manejo de deadlock

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.10 Para qu sirven las llamadas de sistema?


R. Las llamadas de sistema permiten a los procesos a nivel de usuario hacer un requerimiento
de servicios del sistema operativo.

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)

R: Proceso de control de bloqueo. Contiene varias estructuras de datos


3 Haga una lista de algunas de las colas tpicas de un sistema.
R. Ready, Run, I/O

4. Cmo son ests colas tpicamente implementadas?


R. Colas FIFO, Arboles, Listas enlazadas.
5. Cuantas colas de dispositivos existen en un sistema?
R. Una para cada dispositivo.
6. Qu hace el planificador a largo plazo?
R. Determina qu trabajos pertenecen en la mezcla actual de trabajos que e estn ejecutando
y los que estn esperando
7. Qu hace el planificador de corto plazo?
R: Determina cual de los trabajos actuales debera correr en la prxima rfaga de CPU
8. Que planificador debe trabajar muy rpido con el fin de que no se gaste tiempo
significante de la CPU? Cul puede ser lento?
R. EL que tiene que ser rpido es el de corto plazo, y el que puede ser lento es el de largo
plazo.
9. Cual es el grado de multiprogramacin
R. no cach.

10. Cuando se invoca al controlador de largo plazo?


R. Cuando un trabajo es completado, o cuando un grado no se ha alcanzado.
11. Verdadero o falso: El planificador de largo plazo selecciona un grupo de trabajos ligados a
dispositivos de E/S o un grupo de trabajo ligado a la CPU para actividades subsecuentes.
Explique
R. Falso. Se selecciona. Un mix de tareas para utilizacin eficiente de la mquina.
12. Qu es tiempo compartido? Qu tipo de planificacin tiene involucrada?
R. Tiempo compartido es cuando muchos usuarios de forma interactiva usan un sistema
simultneamente, cada usuario tiene una parte del tiempo de CPU, despus de que otroas
usuarios hayan conseguido su parte. Utiliza planificacin de tiempo medio.
13. Explique el sentido de: Tiempo compartido depende de la retroalimentacin negativo
de usuarios para operaciones rpidas
R. Usuarios que son impacientes con respuestas de largo tiempo se desconectarn, resultando
en que hayan menos usuarios en el sistema con un tiempo de respuesta mayor.
14. Qu es swapping?
R. Copiar un proceso que est fuera de la memoria a un disco o tambor, permitiendo as que se
desocupe espacio para otros procesos activos. Una vez que el espacio se vuelva a ampliar se
volvern a copiar en la memoria.
15. Qu es el cambio de contexto.
R. EL tiempo que se necesita para cambiar de una tarea a otra.
16. Describa 5 implementaciones del mecanismo de creacin de nuevos procesos.
R.
a. Ejecucin contnua de los padres.
b. Los padres no se ejecutan hasta que los hijos terminen
c. Padres e hijos comparten todas las variables.
d. Los hijos comparten solamente un subset de variables de los padres.
e. Padres e hijos no comparten recursos en comn.
17. Describa el problema productor/consumidor
R. El consumidor no se le permite utilizar un resultado hasta que el productor lo haya creado, y
al productor no se le permite de crear resultados si el buffer est completo.
18. De ejemplos de pares productor/consumidor

R. Compilador/enlazador, enlazador/cargador, lector de tarjetas/Impresora de lnea


19. Cmo se implementa un arreglo circular=
R. ni un brillo

Captulo 5 planificacin de CPU


5.1 Un algoritmo de planificacin de la CPU determina un orden para la ejecicin de sus
proceos. Si hay que planificar n procesos, en un procesador ,Cuntos planes distintos puede
haber? Deduzca una frmula en trminos den.
R: n! (n factorial = n n 1 n 2 ... 2 1).
5.2 Defina la diferencia entre planificacin expropiativa y no expropiativa. Explique por qu
es poco probable que se use una planificacin no expropitiva estricta en un centro de
cmputo.
R. PLanificacin expropiativa permite al proceso ser interrumpido a la mitad de su ejecucin,
sacando la CPU y asignadola a otro proceso. Planificacin expropiativa asegura que el proceso
renuncie al control de la CPU solamente cuando ha finalizado con su rfaga de CPU actual.
5.3 Considere el conjunto de procesos siguiente (la duracin de la rfaga de CPU s en
milisegundos):
Proceso

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

b. Colas multinivel con realimentacin y FCFS


c. Prioridad y FCFS
d. RR y SJF
R.
a. La tarea ms corta tiene la mayor prioridad.
b. La tarea de ms bajo nivel de MLFQ es FCFS
c. FCFS da la mayor prioridad a la tarea habiendo estado en existencia la mayor parte del
tiempo.
d. Ninguna
5.9 Suponga que un algoritmo de planificacin (en el nivel de planificacin de la CPU a
corto plazo) favorece los procesos que han consumido la menor cantidad de tiempo de
procesador en el pasado reciente. Por qu este algoritmo favorecera los procesos
limitados por E/S pero sin postergar indifenidamente los programas limintados por CPU?
R.
Favorecer a los programas ligados a E/S porque las rfagas de CPU relativamente cortas
solicitadas por estos mismos. Sin embargo, los programas ligados a la CPU no se
desabastecern porque los programas ligados a E/S renunciaran a la CPU relativamente
temprano para hacer su E/S
5.10 Explique las diferencias en el grado en que los algoritmos de planificacin siguientes
discriminan a favor de los procesos cortos:
a. FCFS
b. RR
c. Colas multinivel retroalimentadas.
R.
a. FCFS Discrimina contra tareas pequeas debido a que cualquier tarea corta que llegue
despus de una larga tendr una espera de tiempo mayor.
b. RR Trata a todas las tareas por igual (dndoles el mismo tiempo de rfagas de CPU)
asique tareas pequeas podrn irse del sistema ms rpido debido a que germinarn
primero.
c. Colas multinivel retroalimentadas- Trabajan de una forma similar que el algoritmo RR
Discriminan favorablemente para las tareas cortas.

Preguntas de resumen.

1. Qu es una Rafaga de CPU? Qu es una rfaga de E/S?


- Rfaga de CPU: Un intervalo de tiempo cuando el un proceos usa solamente la CPU
- Rfaga E/S: Un intervalo de tiempo donde un proceso usa solamente dispositivos
de E/S
2. Un programa ligado a E/S podra tpicamente tener algn tipo de rfaga de CPU?
R. Pequeo
3. Qu es el Despachador?
R. Determina qu procesos son intercambiados.

Captulo 6 Sincronizacin de procesos.


6.1 Qu significa el trmino espera activa? Qu otros tipos de espera hay en un sistema
operativo? Es posible evitar totalmente la espera activa? Explique su respuesta
R.
- Un proceso est esperando por un evento que ocurra cuando lo hace ejecutando
instrucciones.
- Un proceso est esperando por un evento a ocurrir en alguna cola de espera (por ejemplo
E/S, semforos) y lo hace sin que la CPU lo haya asignado.
- La espera activa no puede ser evitada totalmente.
6.2 Paja
6.5 En la seccin 6.3 mencionamos que la desactivacin frecuente de las interrupciones
podra afectar el reloj del sistema. Explique por qu podra suceder esto y cmo podra
minimizarse dicho efecto.
R. La mantencin del tiempo (TImekeeping) est usualmente basado en interrumpiciones
generadas por un reloj de cristarl. Fespus de una cantidad definida de oscilaciones, las que
equivalen al pasaje de una cantidad de tiempo, una interrupciun ocurre y el computador
incrementa su tiempo de almacenamiento. Si la interrupcin es desactivada, estos ticks de
reloj pueden ser perdidos, y el valor del tiempo no se incrementara.
6.6 Demuestre que, si las operaciones espera y seal no se ejecutan atmicamente, podra
violarse la mutua exlcusin.
R.
a. T0. P1 determina que el valor de S = 1
b. T1: p2 determina que el valor de S = 1
c. T2: p1 decrementa S por 1 y entra en la seccin crtica
d. T3: p3 decrementa S por 1 y entra en la seccin crtica.
6.7
Preguntas de resumen
1. Qu es una seccin crtica?
R. Una porcin de cdigo en la que solo un proceso a la vez puede ser ejecutado.
2 Cual es problema de la seccin critca?
R: Para disear un algoritmo que permita a lo ms un proceso en la seccin crtica a la vez, sin
deadlock

3 . Por qu los programas tienen seccin crtica?


R. Para permitir no msde un proceso a la vez.
4. Haga una lista de las limitaciones Dijkstra situadas en soluciones para elproblema de la
seccin crtica.
a. Ejecucin simultnea es equivalente a la ejecucin secuencial en un orden desconocido.
b. Las velocidades de los procesos son independientes uno de otro.
c. Un procesos en la seccin no crtica no puede prevenir a otros procesos de entrar en la
seccin crtica.
d. Seleccin de admitir un proceso en la seccin crtica no puede ser indefinidamente
pospuesta.
5 Cuales son los tres requerimientos que debe satisfacer una solucin a la seccin crtica?
R. Exclusin mutua, progreso (progress), espera ligada (bounded waiting).
6 Qu significa ejecucin atmica?
R. Ejecucin en grupo, sin un cambio de contexto posible hasta que todos las declaraciones en
el grupo hayan sido completadas.
7. Defina la operacin wait- (postopone) y wait(S)
R. Mientras un semforo est en estado no positivo, wait; cuando un semforo se pone en
positivo, sustrae uno y se va.
8. Defina la operacin wakeup signal(s)
R. Aade 1 al semforo
9. Suponga que queremos ejecutar instrucciones S1, S2 y S3 en secuencia, pero que S2 no

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