Anda di halaman 1dari 4

Noviembredel2015

SantiagoRodrguezF.

Taller3:GestindeMemoria.

1. Quseentiendeporfragmentacininternayexternadelamemoria?
Fragmentacin interna: se produce cuando el diseo del sistema estipula que la
memoria debe dividirse en bloques de tamao fijo y por lo tanto puede haber
procesos que no ocupen toda la memoria a la que tienen derecho, esos espacios
libres de memoria dentro del bloque de un proceso son las fragmentaciones
internas.
Fragmentacin externa: ocurre cuando se ha asignado memoria a varios procesos
de diferentes tamaos de forma consecutiva pero unodelosprocesosterminay por
lo tanto se libera su espacio, este bloque que queda libre es una fragmentacin
externa pues aunque puede ser utilizado ms tarde, no forma parte de la memoria
principalpuesestadebesercontiguaparaubicarlosprocesosgrandes.

2. Por cules etapas debe pasar un cdigo fuente escrito en un lenguaje de


programacin de alto nivel antes de poder ser ejecutado en un sistema
operativo?
Dependiendo del lenguaje y su implementacin este podra ejecutarse a travs de
un intrprete, un traductor, un compilador o alguna forma de combinacin de los
anteriores,perolospasosmscomunessonlossiguientes:
1. Cdigofuente:enellenguajequesehayaescritocomoJava,C,etc.
2. Compilador:esteprocesoproduceunarchivoobjetointermediario(.obj).
3. Linker: toma uno o varios archivos objetos generados por el compilador y los junta
enunsoloarchivo,sirveparaenlazarbibliotecas.
4. Cdigoejecutable:cdigodemquina.

3. Qu se entiende por asociacin de direcciones? Describa las 3 (tres)


asociacionesdedireccionesdememoriavistasenelcurso.
La asociacin de memoria es el proceso mediante el cual se traducen las
direccionesdememorialgicasovirtualesadireccionesfsicas.

Memoria contigua: todo el espacio lgico de un proceso


(Cdigo, Datos, Pila)hade
estarubicadodeformacontiguaenmemoriaprincipal,es decirendireccionesfsicas
consecutivas.
Segmentacin: El proceso considera su espacio de direcciones compuesto de
entidades de tamao variable llamadas segmentos. La direccin lgica secompone
de segmento y desplazamiento.Conelnmerodesegmentoseobtieneunaentrada
en una tabla de segmentos, en donde hay una direccin base y un lmite. Si el
desplazamiento es mayor que el lmite se produce un error de direccionamiento.La

direccin de memoria fsica a la que se accede se obtiene sumando el


desplazamientoalabase
Paginacin: consiste en dividir la memoria fsica enbloquesde tamaofijollamados
frames (marcos) y dividir la memoria lgica en bloques de mismo tamao llamados
pages (pginas). Cuando un proceso se vaaejecutar,suspginassoncargadasen
cualquier marcodelamemoriadealmacenamientosecundario. Esteestdivididoen
bloquesdetamaofijodelmismotamaodelosmarcosenmemoria.

Adems,dichaasociacinsepuedepresentarendiferentesmomentos:

Tiempo de Compilacin:
Si sabemos en el momento de la compilacin donde va a
residir el proceso en memoria, podemos generar cdigo absoluto (con direcciones
absolutas). Ahora, si en algn momento deseamos cambiar su ubicacin,
deberemosrecompilarelcdigo.
Tiempo de Carga: Si es que no conocemos en tiempo de compilacin donde va a
residir el proceso en memoria, el compilador deber generar cdigoreubicable(con
2 direcciones relativas), y en este caso se retarda la reasignacin a direcciones
absolutas hasta el momento de la carga. Si en algn momento deseamos cambiar
suubicacin,deberemossolamentevolveracargarlo.
Tiempo de Ejecucin
: Si el proceso puede variar su ubicacin en memoria durante
su ejecucin, entonces es necesario retardar su asignacin a direcciones absolutas
hasta el momento de ejecucin. Para que este esquema pueda funcionar, se
requieresoportedehardware

4. En un sistema que utiliza gestin de memoria real con particiones dinmicas,


en un momento determinado,lalista dehuecosestcompuestaporhuecosde
tamao 10KB, 15KB, 17KB y 12KB. Qu poltica de asignacin utiliza el
sistema,sianteunasolicituddeunbloquede13Kb,eligeelbloquede15KB?
El sistema podra estar utilizando la poltica de mejor ajuste pues es el lugar en
donde menos espacio extra sobra o una poltica de primer ajuste pues es el primer
lugardondecabeelnuevobloque.

5. Culessonlasventajasdelasegmentacinfrentealapaginacin.
El programador puede conocer las unidades lgicas de su programa, dndoles un
tratamientoparticular.
Es posible compilar mdulos separados como segmentos el enlace entre los
segmentospuedesuponerhastatantosehagaunareferenciaentresegmentos.
Debido a que es posible separar los mdulos se hace ms fcil la modificacin de
losmismos.Cambiosdentrodeunmdulonoafectaalrestodelosmdulos.
Esfcilelcompartirsegmentos.
Es posible que los segmentos crezcan dinmicamente segn las necesidades del
programaenejecucin.
Existe la posibilidad de definir segmentos que an no existan. As, no se asignara
memoria, sino a partir delmomentoqueseanecesariohacerusosdelsegmento.Un
ejemplo de esto, serian los arreglos cuya dimensin nose conocehastatantonose
comienzaaejecutarelprograma.

Ademspermitealcanzarlossiguientesobjetivos:
Lasegmentacinpermitealcanzarlossiguientesobjetivos:
Modularidaddeprogramas:Cadarutinadelprogramapuedeserunbloquesujetoa
cambiosyrecopilaciones,sinafectaralrestodelprograma.
Estructuradedatosdelargovariable:Dondecadaestructuratienesupropiotamao
yestepuedevariar.Ej:Stack.
Proteccin:Sepuedenprotegerlosmdulosdelsegmentocontraaccesosno
autorizados.
Comparticin:Dosomsprocesospuedenserunmismosegmento,bajoreglasde
proteccinaunquenoseanpropietariosdelosmismos.
Enlacedinmicoentresegmentos:Puedeevitarserealizartodoelprocesodeenlace
antesdecomenzaraejecutarunprograma.Losenlacesseestablecernslo
cuandoseanecesario.

Sin embargo tambinpresentaalgunas desventajascomoincrementosenloscostos


de hardware y software para su implementacin, mayoresrecursosdelcomputador,
problemas de fragmentacin externa, mayor complejidad del manejo de la memoria
virtual, entre otros. Algunas de estas ventajas son potenciadas y sus desventajas
disminuidasconelusodelasegmentacinpaginada.

6. Qusonlastablasdepginasdeunproceso?
Son las estructuras de datos utilizadas por un sistema degestindememoriaenun
sistema operativo para almacenar las equivalencias entre las direcciones de
memoria virtual usadas por los procesos que las acceden y las direcciones de
memoria fsica usadas por el hardware o ms especficamente la RAM. Hay
diferentestiposdetablascomolasinvertidas,multinivel,virtualesyanidadas.

7. Qu es la TLB, cul es su funcin y qu sucede con ella cuando hay un


cambiodecontextoentredosprocesosdistintos?
La TLB es parte del chip de la unidad de manejodememoria(MMU)yessimplementeuna
memoria cach de las traducciones de las direcciones virtuales a direcciones fsicas ms
populares, as que es el lugar donde se busca cuando se hace una indicacin a una
posicindememoriavirtual.
Cuando hay un cambio de contexto entre dos procesos distintosseiniciaunpicoenlaTLB
pues se tiene la necesidad de reemplazar las tablas del viejo proceso por las del nuevo
proceso.
a. LaTLBesundispositivodehardwareosoftware?
Esundispositivodehardwarepuesesprcticamenteunamemoriacach.
b. Definaeltiempoefectivodeacceso(EAT)aestenivel.
EAT = tiempo de bsqueda en TLB + hit ratio * (tiempo de acceso a
memoria)+(1hitratio)*(2*tiempodeaccesoamemoria)

8. Compare un esquema de paginacin que utiliza varios niveles de tabla de


pginas (digamos 3 niveles) contra un sistema de paginacin que utiliza
solamenteunnivelparalatabladepgina
El tamao de la tabla de un proceso en un computador actual dada su arquitectura
de 64 bits resultara demasiado grande para ser manejado (336TB!) por lo que al
utilizar un esquema de paginacin con varios niveles se crea una estructura tipo
rbol que permite disminuir el tamao de las pginas y en algunos casos incluso
optimizarlabsquedadentrodeellas.

Bibliografa
https://www.fing.edu.uy/tecnoinf/mvd/cursos/so/material/teo/so08memoria.pdf
http://arqordenadores.wikisite.com/index.php/Paginaci%C3%B3n_y_Segmentaci%C3%B3n
https://www.quora.com/Whatisaddressbindinginmemorymanagement
https://www.le.ac.uk/users/rjm1/cotter/page_09.htm
http://www.dc.fi.udc.es/~sogrado/current/Temas/SOMemoria.pdf
http://wiki.inf.utfsm.cl/index.php?title=Paginaci%C3%B3n

Anda mungkin juga menyukai