Sei sulla pagina 1di 7

Escuela: Informática.

Aula Virtual: Sistemas Operativos II

Alexis Almao, C.I.:15.691.375


Asignación I Corte: RESOLUCIÓN DE PROBLEMAS
TEÓRICOPRÁCTICOS. VALOR 15%

1.- ¿Es un proceso un archivo ejecutable? Razone su respuesta

Respuesta:

No, al contrario, un archivo ejecutable, cuando se ejecuta crea


un proceso. Un proceso es un programa en ejecución, los procesos
están gestionados por el sistema operativo.

2.- ¿Debe ser un sistema operativo multitarea de tiempo


compartido? ¿y viceversa? Razone

Respuesta:

Como se sabe los sistemas operativos de tiempo compartido se


caracterizan por realizar varias tareas a la vez, dar servicio
a varias cantidades de usuarios, por lo cual el sistema operativo
deberá gestionar los recursos entre los distintos procesos. Los
sistemas operativos multitareas deben ser de tiempo compartido,
pero para ello deben ser fáciles de entender y manejar, ofrecer
una gran seguridad y que satisfaga al usuario que lo utiliza.

3.- ¿Por qué se necesita la tabla de procesos en un sistema de


tiempo compartido? ¿Se necesita también en los sistemas de
computadora personal, en los que sólo existe un proceso, el cual
se apodera de toda la máquina hasta terminar?

Respuesta:

Esto se hace con la finalidad de tener control de las tareas en


ejecución y hacer que el sistema opere de manera eficiente.

4.- Se tienen 3 procesos P1, P2 y P3 con tiempos de ejecución de


85, 45 y 118 ms respectivamente. Si actúa el planificador a corto
plazo según el algoritmo SJF, determinar el orden en qué se
encuentran en la lista de preparados. ¿En qué se diferencia si
el planificador fuera a largo plazo?

Respuesta:

Los procesos se ejecutan en el orden: P2, P1 y P3, en el caso


del planificador a largo plazo, se ejecutaría exactamente de la
misma forma ya que seleccionaría los procesos de esta cola y los
cargaría en la memoria para su posterior ejecución.

5.- En un sistema operativo conforme a la norma POSIX, ¿cuándo


pasa un proceso a estado zombie?

Respuesta:

En el estándar POSIX un proceso pasa a estado zombie cuando su


función ha finalizado pero no se han liberado sus recursos debido
a que el padre no ha ejecutado un wait(). No se puede liberar el
BCP donde se almacena la información de quién es el padre del
proceso hasta que se le pueda informar que el proceso ha
finalizado.
6.- ¿Qué sucede cuando un proceso recibe una señal? ¿Y cuando
recibe una excepción?

Respuesta:

Se puede decir que una señal es una interrupción al proceso. El


proceso se comporta de la siguiente forma cuando recibe una
señal:

1. El proceso detiene su ejecución que está ejecutando en la


instrucción máquina.

2. Ejecuta una rutina de tratamiento de la señal (el código forma


parte del proceso).

3. Cuando acaba la rutina de tratamiento, continua con la


ejecución del proceso de la instrucción máquina.

Estas señales pueden proceder de un proceso o del sistema


operativo.

Cuando ocurre una excepción, el sistema operativo toma el control


e indica la excepción al proceso. Si el proceso había capturado
la excepción. La ejecución salta al código de la rutina de
tratamiento de excepción. Si no existiera, aborta la ejecución
del proceso. Habitualmente, las excepciones sólo se pueden tratar
al final del código fuente de una función y dicha función termina
después de tratar dicha excepción. Las excepciones se entienden
mejor como tratamiento de un error o situación anómala.

7.- ¿Puede producirse un cambio de contexto en un sistema con un


planificador basado en el algoritmo primero el trabajo más corto
además de cuando se bloquea o se termina el proceso? Razone su
respuesta.

Respuesta:
No, ya que, si no tenemos en cuenta las posibilidades de bloqueo
y terminación del proceso, sólo nos quedaría la posibilidad de
la expulsión, pero en esta política de planificación, esa
operación queda descartada.

8.- ¿Qué ventajas considera que tiene escribir un sistema


operativo utilizando un lenguaje de alto nivel?

Respuesta:

Al escribir un sistema operativo utilizando un lenguaje de alto


nivel nos permite hacer llamadas al sistema directamente, esto
es una llamada a una rutina especial en tiempo de ejecución que
emite una llamada al sistema directamente en línea incluyendo
acceso directo a las llamadas al sistema y ofreciendo una serie
de rutinas de bibliotecas.

9.- En todas las computadoras actuales, al menos una parte de


los manejadores de interrupciones se escribe en lenguaje
ensamblador. ¿Por qué?
Respuesta:

Se incurren en menos errores y los que se cometen son más fáciles


de localizar, además, los programas en lenguaje ensamblador son
más fáciles de modificar que los programas de lenguaje máquina,
Pero existen limitaciones.

10.- ¿Qué es una condición de competencia?

Respuesta:

Es un fenómeno que se produce cuando uno o varios procesos


compiten por uno o varios recursos produciendo el bloqueo en la
ejecución de esos procesos, lo que a eventualmente termina
“colgando” el sistema.

11.- Los planificadores round robin normalmente mantienen una


lista de todos los procesos ejecutables, y cada proceso aparece
una y sólo una vez en la lista. ¿Qué sucedería si un proceso
ocurriera dos veces en la lista? ¿Puede usted pensar en alguna
razón para permitir esto?

Respuesta:

Si un proceso aparece dos veces en la lista de planificación


utilizando round robin entonces este estaría utilizando dos
quantums, un quantum más que los demás procesos y este terminaría
a la mitad del tiempo normal. La razón para permitir esto es si
quisiéramos implementar prioridades de algún proceso entonces un
aumento de prioridad consistiría en aumentar una aparición más
del proceso en la lista, por ejemplo si quisiéramos que el
proceso X tuviera una prioridad 2(es mayor) entonces este proceso
estaría 2 veces en la lista y si quisiéramos que fuera de
prioridad 3 el proceso x estaría 3 veces en la lista lo que haría
que se ejecutara 1/3 más rápido que los demás procesos porque
obtendría 3 quantum por ciclo.

12.- Cinco trabajos están esperando para ejecutarse. Sus tiempos


de ejecución esperados son 9, 6, 3, 5 y X. ¿En qué orden deben
ejecutarse si se desea minimizar el tiempo medio de respuesta?
(Su respuesta dependerá de X.)

Respuesta:

Los procesos más cortos primeros, es la forma de minimizar el


tiempo de respuesta promedio, por lo cual:

Si 0 <X ≤ 3, entonces el orden sería: X, 3, 5, 6, 9


Si 3 <X ≤ 5, entonces el orden sería: 3, X, 5, 6, 9

Si 5 <X ≤ 6, entonces el orden sería: 3, 5, X, 6, 9

Si 6 <X ≤ 9, entonces el orden sería: 3, 5, 6, X, 9.

Si X> 9, entonces el orden sería: 3, 5, 6, 9, X.

13.- Explique los tipos de planificación.

Respuesta:

• A largo plazo: decide qué procesos serán los siguientes en


ser iniciados. Este tipo de planificación era el más
frecuente en los sistemas de lotes y multiprogramados en
lotes; las decisiones eran tomadas principalmente
considerando los requisitos pre-declarados de los procesos
y los que el sistema tenía libres al terminar algún otro
proceso. La planificación a largo plazo puede llevarse a
cabo con periodicidad de una vez cada varios segundos,
minutos e inclusive horas. En los sistemas de uso
interactivo, casi la totalidad de los que se usan hoy en
día, este tipo de planificación no se efectúa, dado que es
típicamente el usuario quien indica expresamente qué
procesos iniciar.
• A mediano plazo: decide cuáles procesos es conveniente
bloquear en determinado momento, sea por escasez/saturación
de algún recurso (como la memoria primaria) o porque están
realizando alguna solicitud que no puede satisfacerse
momentáneamente; se encarga de tomar decisiones respecto a
los procesos conforme entran y salen del estado de bloqueado
(esto es, típicamente, están a la espera de algún evento
externo o de la finalización de transferencia de datos con
algún dispositivo). En algunos textos, al planificador a
mediano plazo se le llama agendador (scheduler).
• A corto plazo: decide cómo compartir momento a momento al
equipo entre todos los procesos que requieren de sus
recursos, especialmente el procesador. La planificación a
corto plazo se lleva a cabo decenas de veces por segundo
(razón por la cual debe ser código muy simple, eficiente y
rápido); es el encargado de planificar los procesos que
están listos para ejecución. En algunos textos, al
planificador a corto plazo se le llama despachador
(dispatcher).

Potrebbero piacerti anche