You are on page 1of 3

Facultad de Ciencias Puras y Naturales INF–151 Sistemas Operativos

Carrera de Informática Lic. Roberto Vargas Blacutt

Nombre: Jorge Marcelo Cupi Veliz CI:8311038LP Gestión: II/2010

PRACTICA Nro. 1
PREGUNTAS

1. Defina los siguientes elementos de un computador: Unidad Aritmética Lógica,


Unidad de Control, Memoria principal y Dispositivos de entrada-salida.

Respuesta.- A continuación definimos los términos dados:

-Unidad aritmetica lógica: Como dice su nombre, es la parte del procesador que se
encarga de realizar operaciones aritméticas tales como la suma, resta, multiplicación
y división, además de realizar operaciones lógicas (AND,OR, XOR, NOT, etc…)

-Unidad de control: Es la parte del procesador tiene como función administrar el


computador, decodificar las instrucciones de los programas para poder controlar la
ejecución de estos, entre otras cosas. Basicamente es la parte del procesador que se encarga
de manejar todos los procesos y tareas que se realizan dentro de la computadora
apoyándose en gran manera de la unidad aritmético lógica.

-Memoria principal: A esta memoria la conocemos mas como memoria RAM


(memoria de acceso aleatorio) Esta memoria es el lugar en el cual se almacenan datos e
instrucciones de los programas que estén corriendo en tiempo real en una computadora,
además que también pueden llegarse a almacenar datos después y no solo durante la
ejecución.

-Dispositivos de entrada y salida: Denominamos asi al hardware que tenemos en la


computadora para enviar datos e instrucciones a la computadora (dispositivos de entrada)
para luego poder ver información requerida mediante los dispositivos de salida. Podemos
considerar por ejemplo como dispositivos de entrada al teclado, ratón, scanner y webcam y
como dispositivos de salida al monitor y a una impresora, también podemos considerar
como dispositivo de entrada Y salida a los monitores táctiles, además de ciertos
dispositivos de almacenamiento como cd’s, dvd’s, etc.

2. Defina las dos categorías de los registros del procesador

Respuesta.- Pudimos ver en clase dos tipos de registros que manejaba el procesador, el
registro de instrucción que era el que asignaba espacio a las instrucciones de los programas
que están en plena ejecución. Ademas también vimos al registro de estado que
complementaba de cierta forma al registro de instrucción al guardar la información que fue
producida por los programas tras ser ejecutados
3. ¿Qué características distinguen a los diversos elementos de una jerarquía de
memoria?

Respuesta.- Podriamos decir que las características que mas definen las diferencias entre
los elementos de la jerarquía de memoria vendrían a ser la velocidad de acceso y la
capacidad de almacenamiento. Estas dos características vienen a ser inversamente
proporcionables, es decir, a mas velocidad de acceso, menor será la capacidad de
almacenamiento del elemento y viceversa, a menos velocidad de acceso entonces se tendrá
mas capacidad de almacenamiento.
Por ejemplo, si comparamos la memoria cache y el disco duro, podremos ver que la
primera suele tener un máximo almacenamiento de 8MB mientras que los discos duros
pueden llegar a almacenar Terabytes de memoria (1TB=1024GB, 1GB=1024MB), pero por
otro lado la velocidad de acceso en la Cache se encuentra en el nivel de nano segundos
(10^9) y la del disco duro se encuentra a nivel de milisegundos (10^3).
Como podemos ver, a mayor velocidad de acceso, será menor el almacenamiento y
viceversa.

4. ¿Que es la multiprogramación?

Respuesta.- Definimos asi a la capacidad que tienen los computadores actuales de estar
ejecutando mas de un programa al mismo tiempo utilizando la misma memoria principal.
Seria bueno mencionar que no debemos confundir a la multiprogramación con el pseudo
paralelismo que lo que hace en realidad es realizar dos o mas tareas aparentemente al
mismo tiempo, al decir aparente quiero referirme al hecho de que simplemente les otorga
“turnos” a los disintos programas ejecutándose y sin embargo aparenta ser un multiproceso.

5. Considere el siguiente pseudocódigo en lenguaje ensamblador (assembler)


para calcular c = a + b. Asuma que a, b y c son asignadas a palabras consecutivas de
memoria (La memoria es direccionada a nivel de byte y asuma que una palabra es de
4 bytes). La dirección para “a” es 0x0000ec00. Al tiempo de inicio, se tiene que a=22,
b=158 y c=0.
Asuma que la primera instrucción del código se halla almacenada en 0x0000b128.
Cada instrucción tiene un código de operación (opcode) en el primer byte (el byte más
significativo), y que los restantes 3 bytes especifican la dirección correspondiente. El
código para STORE es 1, LOAD es 2 y ADD es 3.

0x0000b128 load a
0x0000b12c add b
0x0000b130 store c

Muestre las direcciones de memoria y sus contenidos para todas las instrucciones y
datos involucrados. Use el siguiente formato para expresar su respuesta (atención! lo
siguiente no es la respuesta). Use representación hexadecimal.
Direcciones Contenido
0x00002104 0x00000001
0x00002108 0x00000002
…… ……

Respuesta.-

Direcciones Contenido
0x0000ec00 0x01000026 // Guardamos ‘a =22’ en la dirección dada
0x0000b128 0x0200ec00 //Movemos ‘a’ al espacio 0000b128
0x0000ec04 0x01000026 // Guardamos ‘b =158’ en la dirección dada
0x0000b12c 0x0200ec04 //Movemos ‘b’ al espacio 0000b12c
0x0000ec08 0x01000026 //Guardamos ‘c =0’ en la dirección dada
0x0000ec08 0x0300ec00 //Sumamos el valor de ‘a’ a ‘c’
0x0000ec08 0x0300ec04 //Sumamos el valor de ‘b’ a ‘c’

You might also like