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.
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
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.
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.
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