Está en la página 1de 6

SISTEMAS OPERATIVOS

Nombre completo: Carlos Javier Alcalá Orozco

Código estudiante: 0221520011

Fecha:02-noviembre-2019

1. Suponga la maquina hipotética, se tiene dos instrucciones de E/S:


0011 = Carga el AC con un valor leído de un dispositivo de E/S
0111 = Almacena el AC en un dispositivo de E/S
En estos casos, la dirección de 12 bits identifica un determinado dispositivo
externo. Muestre la ejecución del programa (utilizando la figura que se presenta a
continuación) correspondiente al siguiente fragmento:
a. Carga AC con valor leído del dispositivo 5.
b. Suma AC el contenido de la posición de memoria 940.
c. Almacena el AC en el dispositivo 6.
d. Asuma que el siguiente valor leído del dispositivo 5 es 3 y que la posición 940
contiene el valor de 2.

Respuesta:
1ERA PARTE (primera instrucción)

MEMORIA REGISTRO DE CPU


300 1940 300 PC
301 5941 0003 AC
302 2941 1940 IR

940 0003
941 0002

2DA PARTE (segunda instrucción)

MEMORIA
300 1940
301 5941 REGISTRO DE CPU
302 2941 301 PC
0003 AC
5941 IR

940 0003
941 0002

Por consiguiente: se debe sumar en el acumulador el valor en memoria de la


instrucción 941
MEMORIA
300 1940
301 5941
REGISTRO DE CPU
302 2941
301 PC
0005 AC
940 0003 5941 IR
941 0002

0003+0002= 0005
3ERA PARTE (tercera instrucción)

MEMORIA
300 1940 REGISTRO DE CPU
301 5941 302 PC
302 2941 0005 AC
2941 IR
940 0003
941 0002

Entonces el valor en consecuencia, de la instrucción 941, será 0005


MEMORIA
300 1940 REGISTRO DE CPU
301 5941 302 PC
302 2941 0005 AC
2941 IR

940 0003
941 0005

4TA PARTE (cuarta instrucción)

MEMORIA
300 1940
301 5941
302 2941 REGISTRO DE CPU
302 PC
0005 AC
940 0003 1940 IR
941 0005

Entonces al acumulador, se le suma 0003 para concretar la nueva instrucción


MEMORIA
300 1940
301 5941
302 2941 REGISTRO DE CPU
302 PC
0008 AC
940 0003 1940 IR
941 0005

0005+0003=0008
5TA PARTE (quinta instrucción)

MEMORIA
300 1940
301 5941
302 2941 REGISTRO DE CPU
302 PC
0008 AC
940 0003 5941 IR
941 0005

Por consiguiente, el valor de la instrucción siguiente de 941 que es 952, ya que la


carga de la memoria al acumulador es 0011 es decir, sumamos 0011 a 941 y da
como resultado 952, siendo esta la nueva instrucción.

940 0003
941 0005

952

Entonces el valor acumulado de la nueva instrucción seria 0008


MEMORIA
300 1940
301 5941
302 2941
REGISTRO DE CPU
302 PC
0008 AC
940 0003 5941 IR
941 0005

952 0008
2. En casi todos los sistemas que incluyen módulos de DMA, el acceso por DMA a la
memoria principal tiene una prioridad más alta que la del acceso del procesador a
la memoria principal. ¿Por qué?

Respuesta:
Porque para poder realizar una transferencia de E/S, la CPU primero se
debe indicar que canal de entrada y salida ejecuta un determinado
programa. Además, el programa que se ejecuta debe estar cargado en la
memoria principal para así contener las propias instrucciones para solo
procesarlas por el canal de entrada y salida.

3. En las primeras computadoras, cada byte de datos leídos o escritos se manejaba


mediante la CPU
(es decir, no había DMA). ¿Qué implicaciones tiene esto para la
multiprogramación?

Respuesta:
En el momento en que las operaciones de los periféricos de entrada y
salida, son empleadas por la CPU, (En estos casos, no hay interrupciones,
ni tampoco Acceso directo a la memoria(DMA). Se hace necesaria la
participación del procesador, con el fin de transmitir los datos entre la
memoria y el módulo de E/S. Estas condiciones, son malas para los
dispositivos de entrada y salida que trabajan a una velocidad máxima, en
donde la información que se transmite, se emite a velocidades cercanas a
las de la memoria lo que en definitiva implica que el procesador no
dispondría de mucho tiempo para la ejecución de procesos en medio de las
operaciones de E/S de un proceso.

En cambio, cuando disponemos de DMA, el procesador sólo se ve


involucrado al principio y al final de la transferencia, estando desocupado
en el transcurso de la operación de E/S y pudiendo aprovechar ese tiempo
para ejecutar otro proceso (multiprogramación).

4. De la siguiente lista de eventos, indique cuáles que corresponden a interrupciones.

a) El usuario accionó alguna tecla.


b) Se produjo un acceso ilegal a memoria fuera del segmento (segmentación fault).
c) El proceso en ejecución lanzó una llamada al sistema.
d) Llegó un paquete a la interfaz de red.
e) Se produjo una división sobre cero.
f) El proceso en ejecución estuvo activo ya demasiado tiempo, es hora de un
cambio de contexto.
g) Los datos solicitados al controlador de disco duro ya están disponibles.

Respuesta:
 Se produjo un acceso ilegal a memoria fuera del segmento
(segmentación fault).
 El proceso en ejecución lanzó una llamada al sistema.
 El proceso en ejecución estuvo activo ya demasiado tiempo, es hora
de un cambio de contexto.

5. En términos generales, ¿cuáles son los cuatros acciones distintas que se puede
generar en una instrucción de máquina?

Respuesta:

1. Buscar la instrucción en la memoria principal: Se vuelca el valor del


contador de programa sobre el bus de direcciones.

2. Decodificar la instrucción: El decodificador de instrucción interpreta e


implementa la instrucción.

3. Ejecutar la instrucción: A partir del registro de instrucción, los datos


que forman la instrucción son decodificados por la unidad de control.

4. Almacenar o guardar resultados: El resultado generado por la


operación es almacenado en la memoria principal o enviado a un
dispositivo de salida dependiendo de la instrucción.

También podría gustarte