Está en la página 1de 5

Universidad Católica De Honduras

“Nuestra Señora Reina De La Paz”


Campus Santiago Apóstol

Investigación: Tercer Parcial

Asignatura:
Sistemas Operativos

Catedrático:
Ing. Carlos Adan Cruz Nuñez

Alumno:
Brayan Alexander Martínez Rodas

Fecha: 23-03-2020

Ejercicios
Preguntas de autoevaluación
1. Diagrame el acomodo del espacio en memoria de un proceso. ¿Qué diferencias principales y
qué similitudes tienen la sección de datos con el espacio de libres (heap), y entre el espacio
de libres con la pila (stack)?

Stack Heap
Almacena Variables Locales Objetos (clases, métodos,
instancias)
Nunca se puede Se puede redimensionar y
manipular directamente tiene el ‘Garbage
Collector’
Tiene acceso al no
procesador, ‘stack pointer’
La memoria no necesita Idem
ser contigua
Cada hilo tiene un stack Común a toda la JVM
OutOfMemory No tiene espacio para un Necesita más tamaño.
nuevo hilo.
StackOverflow Requiere más espacio del
permitido

Ejemplo Stack Ejemplo Head


var blue Heap (0x4567= 83)
var red name = Susan
ref 0x456783= (Heap reference) age = 26
var tom city= London
ref 0x498702= (Heap reference) height= 5’7
var diane sex= female
Heap (0x4987= 02)
name= Paul
age= 21
city = Glasgow
height = 6’0
sex = male
Stack: almacena la información sobre las subrutinas activas de un programa en ejecución.
se utiliza para almacenar variables locales, variables de referencia, parámetros y valores de retorno,
resultados parciales. También se utiliza para llevar el control de la invocación y retorno de los métodos.

Head: estructura dinámica de datos utilizada para almacenar datos en ejecución.


almacena objetos y sus variables de instancia. Es un espacio de memoria dinámica que se crea al inicio de
la máquina virtual y es único.

2. Un proceso en un sistema con arquitectura de memoria basada en la segmentación tiene la


siguiente tabla de segmentos:

segmento Inicio Tamaño permisos


0 240 600 Rx
1 2300 16 R
2 90 100 Rw
3 1320 950 Rw
4 - 96 Rx

Para cada una de las siguientes solicitudes, indique qué dirección física
correspondería, y –de ser el caso– qué excepción se genera.
a) Lectura, 0-430
b) Escritura, 0-150
c) Lectura, 1-15
d) Escritura, 2-130
e) Ejecución, 4-25

R/ Solución

 Lectura, 0-430 : dirección física 670


 Escritura, 0-150 : violación de seguridad
 Lectura, 1-15 : dirección física 2315
 Escritura, 2-130 : desplazamiento fuera del rango
 Ejecución, 4-25 : segmento faltante
Explicación el por qué existe o no excepción

 En el punto 1 la dirección física 670 es correcta ya que la dirección lógica 0-430 es menor a 600 y
tiene permiso de lectura.
 En el punto 2 la dirección lógica 0-150 no tiene permiso de escritura.
 En el punto 3 la dirección física 2315 es correcta ya que la dirección lógica 1-15 es menor a 16 y
tiene permiso de lectura.
 En el punto 4 la dirección lógica 4-25 falta el segmento 4

3. El buffer de traducción adelantada (TLB) de un sistema en particular presenta una


efectividad de 95%. Obtener un valor del TLB toma 10ns. La memoria principal tarda 120ns
en recuperar un valor. ¿Cuál es el tiempo promedio para completar una operación a
memoria?
Datos
T=120ns
E=10ns
A=95%

EAT=120*0.95+520*0.01
EAT=119.2 ns.
4. Con la siguiente cadena de referencia, y empleando cuatro marcos de memoria física,
desarrolle la asignación bajo los esquemas FIFO, OPT y LRU:
1, 3, 2, 1, 5, 3, 4, 1, 5, 2, 6, 7, 5, 7, 2, 5, 3, 5, 3, 1
Asumiendo que cada fallo de página toma ocho milisegundos en ser atendido, ¿qué diferencia en
rendimiento puede observarse?
5. Suponga un sistema paginado con un rango de direcciones de 4 GB (4 294 967 296
direcciones).
¿Cuántas páginas tendrá el sistema si se utilizan páginas de 4 096 bytes?
R/ Se tendrán 1048576 marcos
¿Qué tamaño (en bits) tendrá una entrada de la tabla de traducción? Suponga que sólo se guarda el
número de marco físico.
R/ Cada entrada tendría un tamaño de 32768 bits
¿Qué tamaño tendrá la tabla de paginación si se desea cubrir todo el rango?
R/ La tabla tendría 1048576 páginas
Suponga que el tamaño de la tabla de paginación fuera demasiado grande. Proponga dos soluciones
explicando ventajas y desventajas de cada una.
R/ Con el empleo de registros especiales, que aunque son muy rápidos son muy costosos, otra alternativa
es almacenar la tabla de páginas en memoria (se tendría un espacio muy amplio) por medio de los
registros especiales PTBR y PTLR pero se estaría castigando cada acceso a memoria con uno adicional
(se duplica el tiempo de acceso)
6. Explique la relación que hay entre direcciones virtuales y direcciones físicas. Indique cómo
se realiza la traducción en los siguientes casos:

Espacio de direcciones Virtuales: Es el número de direcciones virtuales a que puede hacer


referencia el proceso en ejecución.

Espacio de direcciones Físicas: Es el número de direcciones reales disponibles en la computadora.

Tanto la memoria fisica como la virtual se dividen en paginas de tamaño fijo, mismas que abarcan
un numero especifico de localidades o palabras de memoria, Normalmente una pagina es
sustancialmente mas grande que una linea de memoria caché.

Una computadora con TLB y tabla de paginación de un nivel, con la entrada cargada en la TLB.
Una computadora con TLB y tabla de paginación de un nivel y sin la entrada cargada.
Una computadora sin TLB y con tabla de paginación de dos niveles.
Una computadora sin paginación ni TLB pero con segmentación.
7. Un equipo presenta rendimiento muy deficiente. Ante un análisis de utilización a lo largo de
un día, se encuentra que el promedio de uso de CPU está a 20% y el uso de la interfaz al
disco duro que aloja a la memoria virtual a 95%. ¿En qué condición está el sistema?
Elija de la siguiente lista las dos respuestas que mayor efectividad tendrían para mejorar el rendimiento del
sistema. Fundamente con una breve explicación.
a) Reemplazar al CPU por uno 20% más rápido (pasar de 1 GHz a 1.2 GHz).
b) Destinar un área del disco 25% más grande para la memoria virtual (pasar de 4 a 5 GB).
c) Aumentar el grado de multiprogramación en 10% (aumentar de 20 a 22 los procesos en la cola de
ejecución).
d) Reducir el grado de multiprogramación en 10% (reducir de 20 a 18 los procesos en la cola de
ejecución).
e) Instalar un 25% más de memoria principal (pasar de 2 a 2.5 GB).
f) Instalar un disco duro un 33%más rápido (cambiar un disco de 5 400 RPM por uno de 7 200 RPM).
R/ Solución:
Instalar un 25% más de memoria principal (pasar de 2 a 2.5 GB) y 6. Instalar un disco duro un 33%más
rápido (cambiar un disco de 5.400 RPM por uno de 7.200 RPM)
Explicación cómo llegó llegó a las respuestas.
Según el problema planteado, el equipo de cómputo en mención tiene poca memoria principal, por lo que
recurre al uso de memoria virtual aún 95%, no tiene limitante con respecto al procesador ya que tan solo
emplea el 20% de este, por lo que la recomendación apuntaría por un lado a la memoria RAM aumentando
su capacidad, y si por alguna posibilidad esto no fuera suficiente aumentar la capacidad del disco duro y
su velocidad RPM para tener más memoria virtual
Conclusiones
A nivel de tecnología (velocidad), la memoria RAM no ha tenido un desarrollo paralelo a la del procesador,
por lo que una alternativa a esto y sobre todo cuando está ocupado todo el espacio de direccionamiento en
memoria principal se recurre a la carga de páginas completas en disco duro o lo que es lo mismo el
empleo de memoria virtual
8. Describa en qué consiste un ataque de desbordamiento de pila (stack overflow), y un
mecanismo de protección del sistema para contrarrestarlos. ¿Puede sugerir una manera en
que un atacante podría burlar dicha protección?
En Informática, un desbordamiento de pila(stackoverflow/Overrun) es un problema aritmético que hace
referencia al exceso de flujo de datos almacenados en la pila de una función, esto permite que la dirección
de retorno de la pila pueda ser modificada por otra parte de un atacante para obtener un beneficio propio,
que generalmente es malicioso.
El atacante podría burlar la seguridad al carecer de verificación de limites y al no tener los niveles de
protección al cambiar la configuración de acceso a niveles de privilegios.

También podría gustarte