SSOO
Problemas de administración de memoria
PROBLEMAS DE ADMINISTRACIÓN DE MEMORIA SISTEMAS OPERATIVOS Problema 1.
Considerando un sistema con 32 MB de memoria principal, en el que la lista de particiones de memoria libres es la siguiente: {0x2.4000, 0x1000, {0x3.0000, 0x1!00, {0x".0000, 0x1000, {0x#.4000, 0x400, {0x1$.!000, 0x%000, {0x40.0000, 0x1.0000, {0x100.0000, 0x100.0000. &'u( algoritmo es m)s probable que se *a+a utiliado para ser-ir las peticiones de memoria el primer a/uste o el siguiente a/uste &or qu( Considerando que a partir de este instante el sistema utilia a el primer a/uste + b el siguiente a/uste suponer que en este caso la ltima solicitud ue atendida con memoria del *ueco {0x1$.!000, 0x%000, mostrar c5mo quedar6a la lista de particiones libres tras atender las siguientes operaciones de asignaci5n + liberaci5n de memoria: solicitud de 0x2000, solicitud de 0x2000, liberaci5n de la partici5n {0x2.%000, 0xB000, solicitud de 0x"000. Problema 2.
Calcular la tasa de aciertos que deber6a alcanar el 78B de un procesador para conseguir, con la paginaci5n acti-ada, un tiempo eecti-o de acceso a memoria inerior a %0 ns. 9atos: tiempo de acceso a memoria con la paginaci5n desacti-ada 4% ns., tiempo de acceso al 78B 2 ns. Problema 3.
;i es posible, mostrar c5mo se podr6a conseguir, utiliando segmentaci5n como m(todo para gestionar la memoria, que los procesos 1 + 2 compartiesen el c5digo mientras ninguno de los dos tiene permitido ningn tipo de acceso ni a los datos ni a la pila del otro. ;i no lo es, mostrar c5mo se podr6a conseguir utiliando paginaci5n. paginaci5n. 9atos adicionales:
B, el de los datos de 1 de 1 >B, el de los datos de 2 de 3 >B, el de la pila de cada uno de los dos de 4 >B +, si se utilia paginaci5n, se debe considerar un tama=o de p)gina de 4 >B.
8a disposici5n de la inormaci5n en la memoria 6sica es la que se muestra a continuaci5n. 0x0 ila de 1
0x2000 ila de 2
0x4 000 C5digo de 1 + 2
9atos de 1
9atos de 2
;e pueden utiliar las direcciones l5gicas que se desee, procurando realiar una asignaci5n raonable: cada regi5n ?c5digo, datos o pila? debe ocupar un segmento o un rango contiguo de direcciones l5gicas en el caso de la paginaci5n. Problema 4.
@n procesador de 32 bits utilia tablas de p)ginas de dos ni-eles.
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
1 de 2)
SSOO
Problemas de administración de memoria
las tablas de p)ginas necesarias, as6 como el contenido de dic*as tablas de p)ginas por cada entrada, especiicar el n de marco de p)gina + el bit de -)lido. *abla 1+ 'l es!acio ló,ico de direcciones del !roceso-
9irecci5n l5gica de comieno 0x1000 0x4000 0xAAAA.A000
7ama=o en b+tes 0x0432 0x1A10 0x1000
9escripci5n del Contenido C5digo 9atos ila
Problema 5.
8a instrucci5n mo.l /eb!34 ea5 permite transerir el contenido 4 b+tes de la direcci5n de memo memoria ria eb! / dond dondee eb! es el contenido del registro base de pila del procesador al registro registro de prop5sito prop5sito general general ea5. ;abiendo que la instrucci5n completa ocupa 3 b+tes, &cu)l ser6a el m6nimo nmero de marcos que tendr6a que tener asignado un proceso para poder garantiar que ser) capa de e/ecutarla Problema 6.
@n sistema utilia paginaci5n para implementar memoria -irtual. ;abiendo que la tasa de aciertos del 78B es de 0D!, que el tiempo de acceso a memoria con la paginaci5n desacti-ada es de %0 ns, que el tiempo medio de acceso a memoria con la memoria -irtual acti-ada es de %4 ns., que el 30 E de los allos de p)gina requieren la escritura de la p)gina a ser reemplaada + que la probabilidad de un allo de p)gina es de !F10 ?!, &cu)l es el tiempo de acceso al 78B del procesador procesador 9atos adicionales: tratar un allo de p)gina requiere 10 ms. o 21 ms., dependiendo de si es necesario -olcar a disco la p)gina a ser reemplaada o no. Problema 7.
;i la lista de marcos de p)gina de un sistema operati-o es la que aparece en la tabla 2 + se utilia el algoritmo del relo/ el que tiene en cuenta el bit de modiicado para decidir sobre el reemplao de p)ginas, /ustiicar c5mo se tratar6an los tres primeros allos de p)gina, mostrando c5mo quedar6a inalmente la lista de marcos. *abla 2
Marco de p)g. )gina $ccedida Modiicada
0 ! 1 0
1 1 1 0
2 0 1 1 ltima
3 12 0 1
4 22 1 0
% 23 0 0
" 243 1 1
Gota: sup5ngase que las tres p)ginas solicitadas son accedidas + modiicadas inmediatamente inmediatamente es decir, cada una antes del siguiente allo de p)gina. Problema 8.
;abiendo que el sistema utilia p)ginas de 4>B, calcular el nmero de allos de p)gina que producir6a el proceso 1 si generase los accesos a memoria 0x#000, 0x3%a3, 0xD123, 0x!, 0x%000, 0xD124, 0x#000, 0x3%a4, 0x!e, 0x%001, 0x!d, 0xD12%, 0x3%a%, + se utiliase la estrategia de asignaci5n de marcos de p)gina mediante el con/unto de traba/o con un tama=o de -entana de 4. &Hesulta adecuado este tama=o de -entana en este caso concreto Iustiicar la respuesta. Gota: ;uponer que que inicialmente ninguna ninguna de las p)ginas p)ginas reside reside en memoria. memoria.
29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
2 de 2)
SSOO
Problemas de administración de memoria
PROBLEMAS
DE OTROS CURSOS
Problema 1.
Considerando un espacio l5gico de direcciones de ! p)ginas de 1024 palabras cada una + mapeadas en una memoria 6sica de 32 tramas: &Cu)ntos bits debe *aber como m6nimo en una direcci5n l5gica &J en una direcci5n 6sica Solción+ 1/ 174 2/ 1)
Problema 2.
9adass las 9ada las parti partici cion ones es libr libres es de memo memoria ria de la tabl tablaa 3. &C5mo asignar6an la memoria los algoritmos del primer, el me/or + el peor acople a los procesos de la tabla 4 Kuecos 7ama=o en >b 1 100 2 %00 3 200 4 300 % "00
roceso 7ama=o en >b 1 212 2 41# 3 112 4 42" *abla
*abla 7
Consid Cons ider erar ar el mode modelo lo de mlt mltip iple less part partic icio ione nes, s, tant tantoo con con part partic icio ione ness i/a i/ass como como con con particiones lexibles. lexibles. Solción+ Primer a8ste+ fi8as P 1 en : 2 4 4 P 2 en : ) 4 4 P 7 en : 7 4 4 P debe es!erar; .ariables P 1 en : 2 4 4 P 2 en : ) 4 4 P 7 en : 2 4 4 P debe es!erar Me8or a8ste+ fi8as P1 en : 4 P 2 en : 2 4 P 7 en : 7 4 P en : ); .ariables P 1 en : 4 P 2 en : 2 4 P 7 en : 7 4 P en : ) Peor a8ste+ fi8as P 1 en : ) 4 4 P 2 en : 2 4 4 P 7 en : 4 4 P debe es!erar; .ariables P 1 en : ) 4 4 P 2 en : 2 4 4 P 7 en : ) 4 4 P debe es!erar-
Problema 3.
Considera Considerando ndo la 7d; que se muestra en la tabla %. &Cu)les son las direc direccio ciones nes 6sica 6sicass para para las siguie siguiente ntess direc direccio ciones nes l5gicas 1. 0, 0, 430 430 2. 1, 1, 10 3. 1, 1, 100 100 4. 2, 2, %00 %00 %. 3, 3, 400 400 ". 4, 4, 112 112
;egmento 0 1 2 3 4
Base 21D 2300 D0 132# 1D%2
8ongitud "00 14 100 %!0 D"
*abla )
Solción+ 1/ 694 2/ 27104 7/ 'RROR4 / 'RROR4 )/ 1<2<4 6/ 'RROR'RROR-
29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
7 de 2)
SSOO
Problemas de administración de memoria
Problema 4.
;ea un sistema con memoria paginada que disponga de registros asociati-os para contener las entradas de la 7d usadas m)s recientemente. ;i la 7d se mantiene en memoria + el tiempo de acceso a la memoria es de 1 s, &cu)l es el tiempo eecti-o de acceso si en el D%E de las reerencias a memoria la entrada de la 7d se encuentra en los registros asociati-os, + &cu)l ser6a el tiempo eecti-o de acceso si la tasa de aciertos uera del %0E ;uponer en ambos casos que el tiempo necesario para consultar los registros es despreciable. despreciable. Solción+ 1/ 140) s; 2/ 14) s-
Problema 5.
Considerando un sistema con 32 >b de memoria 6sica, que utilia paginaci5n + sabiendo que el sistema dispone de ! tramas, contestar a las siguientes cuestiones: cuestiones: 1. &Cu)l &Cu)l es el el tama=o tama=o de de p)gina p)gina 2. Co Cons nsid ider eran ando do la tabl tablaa ". &Cu)ntos bits signiicati-os *a+ en una )gina 7rama direcci5n l5gica 0 # 3. &J en en una una 6si 6sica ca 1 2 4. @tili @tilian ando do para la traduc traducci5 ci5nn la 7d que se muest muestra ra en la tabla tabla ", 2 1 &cu)l &cu)les es son son las direc direccio cione ness 6sica 6sicass que se gene generar rar6an 6an para para las siguientes direcciones l5gicas: 0x1$00, 0x200A, 0x3A1#, 0x0300. 3 3 Solción+ 1/ 096 !alabras4 2/ 2/ 1 bits4 7/ 1) bits4 / =051>00 =051>00 / 052>004 05200? / 05100?4 057?1< / 057?1<4 050700 / 05<700
*abla 6
Problema 6.
;uponer un sistema con paginaci5n con demanda en el que la 7d se mantiene en registros.
Problema 7.
Considerando la siguiente secuencia de reerencias a memoria de un programa de 4"0 b+tes: 0x10, 0x11, 0x104, 0x1#0, 0x#3, 0x30D, 0x1!%, 0x24%, 0x24", 0x434, 0x4%!, 0x3"4 a 9ar la cadena de de reerencia, sabiendo sabiendo que el tama=o de p)gina p)gina es de 0x100 0x100 b+tes. b
Problema 8.
;ea un sistema que emplea un modelo de memoria combinado en el que se utilia paginaci5n por demanda para implementar implementar memoria -irtual.
29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
de 2)
SSOO
Problemas de administración de memoria
;egmento
Base
86mite
8ect.
0x0
0xB000
0x1000
1
0
0
0x1
0x3000
0x4A00
1
0
1
0x2
0x0000
0x3000
1
1
1
*abla <+ *dS
;abiendo que el tama=o de p)gina es de 40D" palabras + que el mecanismo de traducci5n de direcciones es capa de generar las excepciones excepciones que se listan en la tabla D. 1 2 3 4
segmento no no -) -)lido acces ccesoo no no -)l -)lid idoo a seg segm mento ento despl despla aami amient entoo exc excede ede l6mite l6mite del segme segmento nto allo de p)gina *abla 9+ '5ce!ciones
)gina 7rama
Bit de presen.
0x0
0xA
1
0x1
0x8
0
0x2
0x0
0
0x3
0x5
1
0x2
1
... 0xB ...
;e pide que, para cada una de las direcciones l5gicas indicadas a continuaci5n, se calcule su direcci5n -irtual + su direcci5n 6sica.
*abla A+ *dP
7ipo 7ipo de acce acceso so lectura lectura lectura lectura lectura e/ecuci5n escritura e/ecuci5n lectura
Solción+ a/ 05)0)>4 b/ 052???4 052???4 c/ e5ce!ción e5ce!ción 74 d/ d/ e5ce!ción 4 e/ 05>?A>4 f/ e5ce!ción 24 24 ,/ e5ce!ción 4 B/ 05)>>>4 05)>>>4 i/ e5ce!ción 1-
Problema 9.
8a memoria de un computador se gestiona mediante la t(cnica de particiones din)micas + en un momento determinado la lista de *uecos contiene los siguientes elementos: {0x10000, 0xD000 , {0x1$000, 0x3000 , {0x30000, 0x400 1 &Cu)l ser) el contenido de la lista tras *aber atendido peticiones de 0x300, 0x2%00 + 0x!000 en ese orden si se utilia el algoritmo del primer a/uste &J si se utilia el del me/or a/uste Solción+ Primer a8ste / tras asi,nar 05700 y 052)004 la lista ser# =0512A004 056A004 =051>0004 057000 057000 4 =05700004 0500 0500 ; y la tercera !etición no !odr# ser atendida Me8or a8ste / tras asi,nar todas la lista es =051A0004 0510004 0510004 =051C)004 05D004 05D004 =05707004 05100-
Cada elemento de la lista contiene dos campos: direcci5n de comieno del *ueco + tama=o del mismo, en ese orden. 1
29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
) de 2)
SSOO
Problemas de administración de memoria
Problema 10.
;egmento 0 1 2
Base 0x01000 0x10000 0x40000
8ongitud 0x2000 0x1000 0x!000
*abla 10
Solción+ a3 051070; b3 Se,mento in.#lido; c3 052??0; d3 ?era de límite
Problema 11.
@n computador con 1"MB de memoria 6sica utilia p)ginas de 4>B. 7enie 7eniendo ndo en cuenta cuenta la tabla tabla de p)ginas p)ginas de la tabla tabla 11, 11, traducir las siguientes direcciones l5gicas a 6sicas: 6 sicas: a 0x2A00 b 0x0104 c 0x0020
)gina 0 1 2
7rama 0x000# 0x0A00 0x0040 *abla 11
Solción+ a3 050?00; b3 05<10; c3 05<020
Problema 12.
@n computador incorpora un buer de traducci5n adelantada 78B que anuncia un D!E de aciertos en la traducci5n de direcciones. ;i el tiempo de acceso a memoria es de %00 ns + el tiempo de bsqueda en el 78B es de 10ns, &cu)l es el tiempo eecti-o de acceso a memoria Solción+ )20 ns
Problema 13.
Problema 14.
@n sistema operati-o utilia una estrategia local de asignaci5n de tramas + obtenci5n por demanda. demanda. @n proceso tiene asignadas 4 tramas de p)gina cuando comiena su e/ecuci5n + realia los siguientes accesos a memoria 0x4010, 0x4014, 0x401!, 0x2100, 0x1%00, 0x%%04, 0x%%00, 0x4010, 0x4014, 0x401!, 0x2200, 0x3$04, 0x4000, 0x4010, 0x4014, 0x401!, 0x2200, 0x3$04, 0x4014, 0x401!, 0x2200, 0x1100, 0x%000, 0x3000. ;abiendo que el tama=o de p)gina es de 4>B, &cu)l es el m(todo que *ace que se genere menor nmero de allos de p)gina: ALA o @MH Solción+ %MR4 Fe ,enera ,enera A frente a los 10 de ?"?O3 ?"?O3
29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
6 de 2)
SSOO
Problemas de administración de memoria
Problema 15.
;ea un sistema que emplea un modelo de memoria combinado en el que se utilia paginaci5n por demanda para implementar implementar memoria -irtual.
Base
86mite
8ect.
0x0
0x0000
0x4000
1
0
1
0x1
0xA000
0xA000
1
0
0
0x2
0x6000
0x2000
1
1
0
*abla 12+ *dS
;abiendo que el tama=o de p)gina es de 40D" b+tes + que el mecanismo de traducci5n de direcciones es capa de generar las excepciones excepciones que se listan en la tabla 14. 14. 1 2 3 4
segmento no no -) -)lido acces ccesoo no no -)l -)lid idoo a seg segm mento ento despl despla aami amient entoo exc excede ede l6mite l6mite del segme segmento nto allo de p)gina *abla 1+ '5ce!ciones
)gina 7rama
Bit de presen.
0x0
0x1
1
0x1
0xA
0
0x2
0xF
0
0x3
0x3
1
0x0
1
... 0x6 ...
*abla 17+ *dP ;e pide que, para cada una de las direcciones l5gicas indicadas a continuaci5n, se calcule su direcci5n lineal + su direcci5n 6sica.
9ire 9irecc cci5 i5nn l5g l5gic icaa a 0x1, 0x 0x00%$ b 0x3, 0x0AAA c 0x2, 0x0000 d 0x2, 0x2%#C e 0x0, 0x2%#C 0x0, 0x0010 g 0x0, 0x 0x3%99
7ipo 7ipo de acce acceso so escritura lectura lectura lectura lectura e/ecuci5n escritura
Solción+ a3 e5ce!ción 2; b3 e5ce!ción 1; 1; c3 d. 0560004 df 050000; d3 e5ce!ción 7; e3 d. 052)
Problema 16.
B para el c5digo, otro de %12 >B para los datos + otro de "4 >B para la pila. ;i el sistema operati-o busca espacio para ellos en el orden c5digo, datos + pilaN + utilia a el primer a/uste, b el me/or a/uste + c el peor a/uste. &
2
29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
< de 2)
SSOO
Problemas de administración de memoria
Fedan 05100003- Con el me8or a8ste+ como en el anterior4 en este caso- Con el !eor a8ste+ el códi,o se alo8a en el se,ndo Beco Beco Fedan 056000034 056000034 no Fedando Fedando nin,Hn Beco Fe !eda alo8ar los datos4 !or lo Fe la creación del !roceso debería es!erar-
Problema 17.
Problema 18.
&Cu)l es la tasa de allos de p)gina que se le debe exigir a un sistema para conseguir un aumento del tiempo eecti-o de acceso inerior al 10E 9atos: el tiempo de acceso a memoria cuando no se produce un allo de p)gina es es de !0 ns., + cuando s6 se produce es de 10 ms. Solción+ menor Fe A@10 /< -
Problema 19.
Hesol-er el problema anterior considerando que el tiempo de acceso a memoria cuando se produce un allo de p)gina p)gina depende de de si es necesario reemplaar reemplaar una p)gina p)gina modiicada 20 ms o no 10 ms + sabiendo que el #% E de los allos de p)gina no requieren que se escriba en disco la p)gina a modiicar. Solción+ menor Fe 6E@10 /< -
Problema 20.
;up5ngase que se tiene un computador con una instrucci5n de 3 direcciones para sumar el contenido de dos posiciones de memoria + almacenar el resultado en una tercera posici5n.
Problema 21.
29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
A de 2)
SSOO
Problemas de administración de memoria
Problema 22.
Rangoo de Rang de dire direcc ccio ione ness físi física cass 0x0000?0x1AAA 0x3000?0x3AAA 0x4000?0x4AAA 0x%000?0x"AAA 0x#000?0x#AAA 0x$000?0xBAAA 0x<000?0x
Desc Descri ripc pció ión n 9atos compartidos por 1 + 2 C5digo de 1 ila de 1 C5digo de 2 ila de 2 9atos de 1 9atos de 2
*abla 1)+ escri!ción de la asi,nación de memoria física-
Proceso P Rango de direcciones "ógicas 0x1000?0x1AAA 0x2000?0x3AAA 0x4000?0x%AAA 0x#000?0x#AAA
Descripción C5digo pri-ado 9atos pri-ados 9atos co compartidos con 2 ila pri-ada
Proceso P! Rango de direcciones "ógicas 0x1000?0x2AAA 0x3000?0x3AAA 0x%000?0x"AAA 0x#000?0x#AAA
Descripción C5digo pri-ado 9atos pri-ados 9atos co compartidos con 1 ila pri-ada
*abla 16+ 's!acio ló,ico de direcciones de los !rocesos P 1 y P 2-
7omando 7omando como e/emplo e/emplo la tabla 1#, 1#, que muestra las dos primeras entradas de la tabla de p)ginas de 1, + sabiendo que el tama=o de p)gina es de 4 >b., se pide: mostrar cu)l debe ser el contenido de la tabla de p)ginas de cada proceso para que pueda acceder exclusi-amente a la memoria 6sica que tiene asignada. Considerar tablas de p)ginas de ! entradas. Haonar la respuesta.
N# de en$r en$rad adaa en en "a "a $a%" $a%"aa Tra& Tra&aa Bi$ Bi$ de de '(" '("id idoo 0 0x 0x0 0 1 0x 0x3 1 ... *abla 1<+ *abla de !#,inas del !roceso P 1-
Solción+ *dP de de P 17+ =04 04 =74 14 =>4 14 =D4 14 =04 14 =14 14 =lo Fe sea4 04 =4 1 *dP de P 2+ =04 04 =)4 14 =64 14 ='4 14 =lo Fe sea4 04 =04 14 =14 14 =<4 1
Problema 23.
;ea un sistema que emplea un modelo de memoria combinado en el que se utilia paginaci5n por demanda para implementar implementar memoria -irtual.
Base
86mite
8ect.
Gotaci5n. ara cada entrada: {marco de p)gina, bit de -)lido
3
29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
9 de 2)
SSOO
Problemas de administración de memoria 0x0
0xA000
0x4000
0
0
1
0x1
0xB000
0x1000
1
1
0
0x2
0x0000
0x2000
1
0
0
*abla 1A+ *dS
;abiendo que el tama=o de p)gina es de 40D" palabras + que el mecanismo de traducci5n de direcciones es capa de generar las excepciones excepciones que se listan en la tabla 20. 20. 1 2 3 4
)gina 7rama 0x0
Bit de presen.
0x4
0
0x1
1
segmento no no -) -)lido acces ccesoo no no -)l -)lid idoo a seg segm mento ento despl despla aami amient entoo exc excede ede l6mite l6mite del segme segmento nto allo de p)gina
...
0xA
0xA
1
*abla 20+ '5ce!ciones
0xB
0x0
1
0x4 ...
*abla 19+ *dP
;e pide que, para cada una de las direcciones l5gicas indicadas a continuaci5n, se calcule su direcci5n lineal + su direcci5n 6sica.
7ipo 7ipo de acce acceso so lectura escritura e/ecuci5n lectura e/ecuci5n
Solción+ Solción+ a3 e5ce!ción e5ce!ción 74 b3 b3 lineal 05D100 05D10044 física 051004 051004 c3 e5ce!ció e5ce!ción n 24 d3 lineal lineal 05004 05004 e5ce!ción 4 e3 lineal 05>1004 física 05>100-
Problema 24.
0 3 0 1
1 20 1 0 ltima
2 % 1 1
3 22 0 1
4 " 1 1
% # 1 0
" 1 0 1
3 22 1 1
4 " 1 1
% # 1 0
" 1 1 1
*abla 21
Marco de p)g. )gina $ccedida Modiicada
0 3 1 0
1 20 1 0
2 % 1 1 ltima *abla 22
29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
10 de 2)
SSOO
Problemas de administración de memoria
Solción+ Primera tabla- Se bsca >0 y M04 no se encentra- Se bsca >0 y M14 !oniendo >0 si >14 >14 se !one > a 0 en el marco marco 2 y se encentra el marco 7 con con >0 y M1- Se Se selecciona el marco 7 Babr# Fe Fe .olcar s contenido al disco antes de leer la !#,ina solicitada3 Segunda tabla- Se bsca >0 y M04 no se encentra- Se bsca >0 y M14 se !onen a 0 todos los bits > se com!leta com!leta la .elta sin encontrar nin,no3nin,no3- Se bsca >0 y M0 de ne.o4 esta .ez se encentra el marco )4 Fe !ede !ede ser rellenado directamente-
Problema 25.
9ir. de inicio
7ama=o
crece *acia aba/o, tiene asignada una p)gina crece *acia aba/o, tiene asignada una p)gina
1. &'u( tama=os tama=os de p)gina p)gina puede puede estar estar utiliando utiliando 2. ;uponien ;uponiendo do que est) utiliando utiliando p)ginas p)ginas de "4 >B 0x10000 0x10000 b+tes, b+tes, que existe un nico ni-el de tablas de p)ginas + que (stas son directas, construir las tablas de p)ginas que deber6a preparar el sistema operati-o para e/ecutar los procesos 1 + 2, sabiendo que el c5digo comiena en la direcci5n l5gica 0x100000, que los datos comienan en 0x$00000 + que la pila, que crece *acia aba/o, comiena en 0xAAAAAAA. 3. ara este caso, caso, calcular calcular la ragmentaci5n ragmentaci5n tanto interna como como externa que exista. Respuesta 1. Tamaños de página.
Pesto Fe cada entrada en tabla de !#,inas !#,inas de n !roceso ,arantiza n determinado ti!o de acceso e8+ sólo lectra3 a todo el contenido de na !#,ina4 no es !osible almacer en el mismo marco marco de !#,ina !#,ina inform informaci ación ón corres! corres!ond ondien iente te a dos !roceso !rocesoss distint distintos os sal.o sal.o Fe ambos ambos com!artan dicBa información3 y tam!oco es !osible almacenar datos con diferente ti!o de acceso e8+ códi,o /sólo lectra/ con datos /lectra y escritra/3- Por lo tanto4 el tamaGo de !#,ina m#s ,rande ser# aFél Fe res!ete esta se!aración- Obser.ando la dis!osición de la información en la memoria física4 se !ede .er Fe los datos de P1 est#n alo8ados a !artir de la dirección 052A0000 y Fe el códi,o de P1 y P2 lo est# a !artir de la 05700000- Por lo tanto4 las !#,inas no !eden ser mayores de 05A000005A0000- Podemos com!robar Fe tilizando !#,inas !#,inas de este tamaGo es !osible aislar cada re,ión en n con8nto !ro!io de marcos de !#,ina4 !or lo cal éste es el tamaGo m#5imo+ 05A0000 2 19 )12 ID34 y ser# !osible tilizar !#,inas de calFier tamaGo inferior a éste Fe sea !otencia de 24 !or e8em!lo 2)6 ID4 12A ID4 6 ID--2. Construcción de las tablas de páginas
Pesto Fe las !#,inas son de 6 ID 0510000 bytes3 y el códi,o comienza c omienza en la dirección ló,ica ló,ica 051000004 051000004 la !rimera !rimera entrada .#lida en la tabla de !#,inas !#,inas de P1 ser# la 0510- Pesto Fe la !rimera !#,ina de códi,o est# almacenada en el marco de !#,ina 05704 éste ser# el contenido de esta entrada4 Fe e.identemente tendr# el bit de .#lido a 1- Jas entradas de la 0 a
29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
11 de 2)
SSOO
Problemas de administración de memoria
la 05? tendr#n el bit de .#lido a 1- Como el códi,o tiene na lon,itd de 057Afa0 tendr# Fe oc!ar !#,inas y4 !or lo tanto4 también ser#n .#lidas las !#,inas 05114 0512 y 0517- Pesto Fe el códi,o est# almacenado en marcos de !#,ina conti,os4 el contenido de dicBas entradas ser# 05714 0572 y 0577Si,iendo este mismo !roceso !ara las dem#s re,iones de P1 y P24 se obtienen las si,ientes tablas de !#,inas-
1
2
... 0x10 0x11 0x12 0x13 0x14 ... 0x$0 0x$1 ...
0 1 1 1 1 0 0 1 0 0
... 0x10 0x11 0x12 0x13 0x14 ... 0x$0 0x$1 ...
1 0 0
0xAAA 0xAA 0x1000 ...
0x30 0x31 0x32 0x33
0x2!
0xAAA 0xA 0x1000 ...
0x30 0x31 0x32 0x33
0x10
0 1 1 1 1 0 0 1 0 0 1 0 0
3. Cálculo de la fragmentación
Ja fra,mentación interna se debe al es!acio asi,nado a n !roceso y Fe éste no tiliza- Por lo tanto4 !ara la re,ión de códi,o de P1 y P24 con n tamaGo de !#,ina de 6 ID Bay asi,nados 6 ID K marcos 050000- e ellos4 el códi,o oc!a 057Afa04 !or lo Fe se desa!ro.ecBan 05<060 bytes- el mismo modo4 con los datos de P1 se desa!ro.ecBan 0510000 / 05f00 05D100 y con los de P2 0510000 / 05Aac 05<)7C- Pesto Fe no se conoce la zona de la !ila realmente tilizada sería necesario conocer el !ntero de !ila de los !rocesos34 no ser# tenida en centa y4 !or lo tanto4 la fra,mentación interna ser# 05<060 L 05D100 L 05<)7C 051969C bytes- ótese Fe sólo Bay na co!ia del códi,o en memoria física4 !or lo Fe sólo se !rodce la fra,mentación na .ez3*ambién se !odría considerar como fra,mentación interna el es!acio oc!ado !or las tablas de !#,inas del !roceso- %tilizando el re,istro límite de la tabla de !#,inas4 sería !osible tilizar Hnicamente 051000 entradas !or !roceso de la 050 a la 05???3- Si cada entrada oc!ase 72 bits4 Fe es el ancBo de !alabra del !rocesador4 el es!acio oc!ado !or cada tabla sería sería 0520 K 051000 05200004 es decir4 dos marcos de !#,ina ?inalmente4 la fra,mentación e5terna no e5iste con la !a,inación4 ya Fe calFier calFier marco de !#,ina !ede ser tilizado !ara almacenar almacenar calFier !#,ina-
Problema 26.
@n sistema que utilia el algoritmo del relo/ para seleccionar seleccionar las p)ginas a ser reemplaadas reemplaadas se *alla en el estado que muestra la tabla cuando se produce el primer allo de p)gina. ;abiendo que el algoritmo tiene en cuenta el bit de modiicado, &qu( p)ginas ser6an reemplaadas durante el 29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
12 de 2)
SSOO
Problemas de administración de memoria
tratamiento del allo de p)gina indicado + de los dos siguientes ;uponer que cuando se produce el 2 allo de p)gina la primera p)gina *a sido accedida, pero no modiicadaN que cuando se produce el 3 er allo la segunda p)gina *a sido modiicada + que ninguna otra p)gina es accedida ni modiicada en esos inter-alos de tiempo. Marco de p)g. 0 1 2 3 4 % " # ! D
Gmero de p)g. 23 12 1!3 23223 32 0 "4 D0 !3!! D!2
$ 1 1 1 1 1 0 0 0 0 1
M 0 1 1 1 0 1 1 1 0 0
ltima
Respuesta Cando se !rodce el !rimer fallo de !#,ina se inicia el !rimer recorrido del al,oritmo del relo84 Fe bsca !#,inas Fe no Bayan sido accedidas ni modificadas >04 M03- Ja bHsFeda se inicia en el marco 4 !es el Hltimo reem!lazo se Babía realizado en el marco 7- Ja !rimera !#,ina en este estado es la A7AA4 A7AA4 Fe reside en el marco 8 4 !or lo Fe es reem!lazadareem!lazada- >l car,ar la ne.a !#,ina se !onen ambos bits > y M3 a 04 !es la ne.a !#,ina no Ba sido accedida ni modificada toda.ía Mientras se e8ectan los !rocesos Basta Fe se !rodce el se,ndo fallo de !#,ina4 el ennciado es!ecifica Fe la Hnica !#,ina accedida es la Fe se acaba de car,ar la Fe reside en el marco A3 y Fe es accedida4 !ero no modificada- Por lo tanto4 cando se !rodce el 2N fallo de !#,ina4 el estado del sistema es el etiFetado como >2 antes del 2N reem!lazo3- 'n este caso4 el !rimer recorrido bscando > 0 y M0 finaliza sin é5ito- Por lo tanto4 se inicia n ne.o barrido bscando !#,inas con >0 y !oniendo a 0 los bits de aFéllas Fe lo tienen a 1 Ja !rimera !#,ina Fe tiene este > a 0 es la Fe est# en el marco y4 !or lo tanto4 es reem!lazada- *ras car,ar la ne.a !#,ina y !oner ss bits a 04 el estado es el etiFetado como 2 des!és del 2N reem!lazo3reem!lazo3Cando se !rodce el tercer fallo de !#,ina4 la Hnica modificación con res!ecto a 2 es Fe la !#,ina reem!lazada marco )3 Ba sido accedida y modificada4 tal y como se mestra en >7Se inicia la bHsFeda en el marco ) de !#,inas con estado >0 y M04 encontr#ndose en !rimer l,ar la !#,ina alo8ada alo8ada en el marco ! 4 Fe es reem!lada-
$2 Marco )g. 0 1 2 29 de enero de 2016
$ 1 1 1
M 0 1 1
92 Marco )g. 0 1 2
$ 0 0 0
M 0 1 1
$3 Marco )g. 0 1 2
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
$ 0 0 0
M 0 1 1 17 de 2)
SSOO
Problemas de administración de memoria
$2
92 3 4 % " # ! D
1 1 0 0 0 1 1
1 0 1 1 1 0 lt. 0
$3 0 0 0 0 0 1 0
3 4 % " # ! D
1 0 0 lt 1 1 0 0
3 4 % " # ! D
0 0 1 0 0 1 0
1 0 1 lt 1 1 0 0
Problema 27.
&Cu)l deber6a ser la tasa de aciertos del 78B de un sistema que utilia paginaci5n para que el tiempo tiempo eecti-o eecti-o de acceso acceso a memoria uera uera solamente solamente un 1E peo peorr que el tiempo tiempo de acceso acceso a memoria con la paginaci5n desacti-ada, que es de 4 ns 9$7: el tiempo de acceso al 78B es de 01 ns. Respuesta 'l tiem!o efecti.o de acceso a memoria cando la !a,inación est# acti.ada se !ede calclar mediante la si,iente fórmla+ t eam =T A ⋅ t TLB t m 1 −T A ⋅ t TLB2⋅t m
donde team es el tiem!o efecti.o de acceso a memoria4 *> es la tasa de aciertos del *JD4 t*JD es el tiem!o de acceso al *JD y tm es el tiem!o de acceso a memoria con la !a,inación desacti.ada- 'l ennciado del !roblema !re,nta !or la tasa de aciertos del *JD4 dando como datos datos las otras .ariables de la ecación4 ecación4 !or lo Fe sim!lemente sim!lemente Bay Fe sstitir4 sstitir4 teniendo en centa Fe el tiem!o efecti.o de acceso a memoria debería s er 1 !eor Fe el tiem!o de acceso a memoria4 Fe es de ns4 !or lo Fe deber# ser de ns @ 1 L 04013 40 nsSstityendo y des!e8ando el .alor de la tasa de aciertos se obtiene na tasa de 1401) Jó,icamente4 la tasa de aciertos no !ede ser mayor Fe no4 !or lo Fe Bay Fe conclir Fe sería im!osible conse,ir n tiem!o efecti.o de acceso a memoria tan ba8o cando el tiem!o de acceso al *JD es tan !arecido al tiem!o de acceso a memoria-
Problema 28.
@n sistema multiprogramado tiene en memoria principal dos procesos 1 + 2, tal + como muestra la ilustraci5n 1. 0xA2000 Datos de P1
Código P1 y P2 (compartido, sólo lectura)
0x1000 0x8800 "lstración 1- 'l dib8o no est# a escala3-
Pila de P2 0xA0000
0xAB000 Pila de P1 0xA8000
Datos de P2 0xB4000
0xBC000
1. &'u( &'u( mode modelo lo de gest gesti5 i5nn de memo memori riaa est) est) util utili ian ando do el sist sistem ema, a, segm segmen enta taci ci5n 5n o paginaci5n paginaci5n Iustiicar la respuesta teniendo en cuenta que el procesador soporta ambos m(todos de gesti5n + que en el caso del modelo paginado el tama=o de p)gina es de 4 >B. 2. Construir Construir las estructuras estructuras de datos apropiadas apropiadas tablas tablas de p)ginas p)ginas o tablas tablas de segmentos, segmentos, en unci5n del m(todo de gesti5n utiliado para que ambos procesos puedan utiliar las siguientes direcciones l5gicas.
29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
1 de 2)
SSOO
Problemas de administración de memoria
ara la segmentaci5n: el c5digo utilia el segmento 0, los datos el segmento 1 + la pila el segmento 2. ara la paginaci5n: el c5digo comiena en la direcci5n 0x1000, los datos en la 0x!0000 + la pila en la 0x1000000. Respuesta 1- Se,men Se,mentac tación ión-- 'l moti.o moti.o es Fe la re,ión re,ión de códi,o códi,o comienz comienza a en la direcci dirección ón 05AA004 05AA004 8sto a continación de la re,ión de datos de P1- %tilizando !a,inación sería im!osible !ermitir el acceso de P2 al comienzo del códi,o e im!edir Fe accediese al final de los datos de P14 ya Fe ambas re,ionen com!arten el marco de !#,ina Fe comienza en la dirección 05A000- 'n cambio4 tilizando se,mentación no sr,e nin,Hn !roblema4 ya Fe los los se,m se,men ento toss !ed !eden en come comenz nzar ar en cal calF Fie ierr dire direcci cción ón físi física ca y tene tenerr la lon, lon,it itd d a!ro!iada4 tal y como se .er# en la se,nda !arte2- Jas estrctra estrctrass de datos se mestra mestran n en las tablas tablas 27 y 27 y 2- > 2- > modo de e8em!lo4 la entrada 0 de la tabla de se,mentos de P1 debería contener como base la dirección 05AA004 Fe es donde donde comien comienza za la zoona zoona de códi,o códi,o-- Como Como límite límite debe debe tener tener 05>000 05>0000 0 05AA0 05AA00 0 059
Base
Límite
LEJ
0
0x8800
0x97800
101
1
0x1000
0x7800
2
0xAB000
0x9000
Base
Límite
0
0x8800
0x 0x97800
101
110
1
0xB4000
0x8000
110
110
2
0xA2000
0x6000
110
*abla 27+ *abla de se,mentos del !roceso P1-
Segmen to
LEJ
*abla 2+ *abla de se,mentos del !roceso P2-
Problema 29.
@n sistema utilia tablas de p)ginas de dos ni-eles +, en un instante de su e/ecuci5n, las tablas de p)ginas del proceso 1 son las que aparecen a continuaci5n. ;abiendo que cada p)gina ocupa 4 >B, que las entradas blancas de las tablas de p)ginas de segundo ni-el apuntan a p)ginas de c5digo, que las grises a datos, que las oscuras a la pila + que las entradas que no aparecen en las tablas tienen el bit de -)lido R a 0, 1. &cu)l ser6a ser6a el espacio espacio l5gico de de direcciones direcciones de 1 2. &en qu( marcos de p)gina estar6an estar6an alo/ados alo/ados los datos 3. &en qu( direcci5n 6sica estar6a alo/ada alo/ada la direcci5n direcci5n l5gica l5gica 0x400301 0x400301 Marco
V
Marco
V
0 0x3A108 1
0 0x00333 0x00333 1
1 0x00A10 1
1 0x00311 1
... ...
0
... ...
0x3FF 0xA0000 0xA0000 1
*abla 26+ *dP de 2N ni.el alo8ada en el marco 0500>10
*abla 2)+ tabla de !#,inas *dP3 de !rimer ni.el
29 de enero de 2016
0
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
1) de 2)
SSOO
Problemas de administración de memoria
Marco
V
0 0x00333 0
Marco ... ...
V 0
1 0x88A00 1
0x3FE 0xD30B2 0x3FE 0xD30B2 1
2 0x000BF 1
0x3FF 0xD30B0 0x3FF 0xD30B0 1
3 0x00001 1
*abla 2A+ *dP de 2N ni.el alo8ada en el marco 05a0000
4 0x54A12 1 ... ...
0
0x3FD 0x01BA0 0x01BA0 1 0x3FE 0x110B2 0x110B2 1 0x3FF 0x110B3 0x110B3 1 *abla 2<+ *dP de 2N ni.el alo8ada en el marco 057>10A
Respuesta 1- Código+ dado Fe el ennciado indica Fe las entradas de se,ndo ni.el Fe a!ntan a marcos Fe contienen códi,o son las Fe a!arecen en blanco4 éstas son las entradas de l a 0 a la 4 ambas inclsi.e Fe la entrada 0 ten,a el bit de .#lido a 0 sim!lemente indica Fe la !#,ina no est# en memoria memoria !rinci!al3Qé direcciones ló,icas se corres!onden con estas entradas *eniendo en centa Fe la tabla de !#,inas *dP3 Fe las contiene se Balla alo8ada en el marco 057a10A4 la entrada en la *dP de 1er ni.el Fe Bace referencia a ella ser# la 0- Por lo tanto4 la !rimera !#,ina de códi,o códi,o tendr# como índice de 1er ni.el 0 y como índice de 2N ni.el 0 también4 con lo Fe se e5tender# en el ran,o de direcciones ló,icas Fe .a de la 0500000000 a la 0500000fff- 'l resto de !#,inas .ienen a continación4 cambiando el índice de se,ndo ni.el !or 14 2---; !or lo tanto4 el ran,o de direcciones ló,icas oc!ado !or el códi,o es+ 0500000000/050000fff0500000000/050000fff "atos+ Si,iendo el mismo razonamiento !ara las entradas de datos de la *dP alo8ada en el marco 057a10A4 tendríamos el ran,o entre 05007fd000 y 05007ffffff-
ado Fe la zona de datos también inclye las 2 !rimeras entradas de la *dP alo8ada en el marco 0500a10 y teniendo en centa Fe la entrada en la *dP de !rimer ni.el Fe a!nta Bacia ella es la 14 tendríamos Fe estas !#,inas se corres!onderían con las direcciones ló,icas Fe em!ezarían en la dirección 0000 0000 0100 0000 0000 0000 0000 0000 binaria4 ) es decir4 en la 050000000 y Fe lle,arían Basta la 050001fff Por tanto4 el ran,o com!leto com!leto de la zona de datos es+ 05007fd000/050001fff05007fd000/050001fff Pila+ !ara las dos !#,inas de la !ila4 el índice de !rimer ni.el ser# 057ff es esta entrada la Fe a!nta a la *dP alo8ada en el marco 05a00003 y ss índices de se,ndo ni.el ser#n 057fe y 057ff4 res!ecti.amente- Por lo tanto4 el ran,o de direcciones ló,icas ser# 05ffffe000/ 05ffffffff-
Resmiendo4 el es!acio ló,ico ser#+ Códi,o+ 0x00000000-0x00004fff atos+ 0x003fd000-0x00401fff Pila+ 0xffffe000-0xffffffff Claramente las direcciones l5gicas son de 32 bits, pues *a+ 0x400 210entradas en cada 7d, lo cual signiica 10 bits para el 6ndice de primer ni-el, 10 bits para el de segundo +, puesto que en el enunciado se indica que el tama=o de p)gina es 4 >B 212, 12 bits para el desplaamiento, 10Q10Q1232 bits en total. % Sndice de primer ni-el 1, 6ndice de primer ni-el para la primera p)gina 0. 4
29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
16 de 2)
SSOO
Problemas de administración de memoria
2- *enien *eniendo do en centa centa Fe las entrad entradas as en las tablas tablas de !#,inas !#,inas de se,ndo se,ndo ni.el contiene contienen n dire direct ctam amen ente te el nHme nHmero ro de marc marco o de !#,i !#,ina na en el Fe Fe se Ball Balla a alo8 alo8ad ada a la !#,i !#,ina na corres!ondiente4 los marcos de !#,ina serían+ 050a1ba04 05110b24 05110b74 0500777 y 05007117- Ja dirección ló,ica 050000701 050000701 es4 en binario4 0000 0000 0100 0000 0000 0000 0011 0000 0001 Jos 10 bits m#s si,nificati.os s i,nificati.os son s on 00 0000 00014 !or lo Fe la entrada en la *dP de !rimer ni.el ser# la 1- Jos si,ientes 10 bits son ceros4 !or lo Fe el índice en la *dP de se,ndo ni.el ser# el 0- Por lo tanto4 !ara Ballar la dirección física se tilizar# la entrada 0 de la *dP a la Fe a!nte la entrada 1 de la *dP de !rimer ni.el4 Fe es la alo8ada en el marco 0500a10- Ja entrada 0 de esta *dP contiene el nHmero de marco 05007774 !or lo Fe la dirección física ser# 05007777014 ya Fe los 12 bits menos si,nificati.os de la dirección física son los 12 bits de des!lazamiento de la dirección ló,ica4 Fe no sfren modificación al,na-
Problema 30.
@n sistema multiprogramado tiene en memoria principal dos procesos 1 + 2, tal + como muestra el dibu/o 1. 0x9000 9atos 2 C5digo 1 + 2 0?0xAAA s5lo lectura 0x1000
0x2000
9atos 2 0x1000? 0x3AAA 0x!000
0x1<000
ila de 1 0xB000
9atos 1 0x10000
ila 2 0x20000
0x24000
"ibu#o 1. 'l ,r#fico no est# a escala- Jos .alores nméricos entre !aréntesis indican des!lazamientos relati.os al comienzo de la sección-
1. &'u( &'u( mode modelo lo de gest gesti5 i5nn de memo memori riaa est) est) util utili ian ando do el sist sistem ema, a, segm segmen enta taci ci5n 5n o paginaci5n paginaci5n Iustiicar la respuesta teniendo en cuenta que el procesador soporta ambos m(todos de gesti5n + que en el caso del modelo paginado el tama=o de p)gina es de 4 >B. 2. Construir Construir las estructuras estructuras de datos apropiadas apropiadas tablas tablas de p)ginas p)ginas o tablas tablas de segmentos, segmentos, en unci5n del m(todo de gesti5n utiliado para que ambos procesos puedan utiliar las siguientes direcciones l5gicas: ● ara la segmentaci5n: el c5digo utilia el segmento 0, los datos el segmento 1 + la pila el segmento 2. ● ara la paginaci5n: el c5digo comiena en la direcci5n l5gica 0x1000, los datos en la 0x!0000 + la pila en la 0x1000000. Respuesta 1- Pa,inación Pa,inación-- 'fecti.amente4 'fecti.amente4 !esto !esto Fe la zona de datos de P2 est# di.idida en dos zonas de memoria física se!aradas y el ennciado es!ecifica Fe debe oc!ar n solo se,mento4 no es !osible tilizar se,mentación- Sin embar,o4 todas las direcciones tanto físicas físic as como ló,icas est#n alineadas al tamaGo de !#,ina4 Fe es 051000 bytes ID32- ado Fe Fe el !roceso de constrcción constrcción de las tablas tablas de !#,inas es re!etiti.o4 re!etiti.o4 se ilstrar# el !roceso con la zona de códi,o de P1- Jas direcciones ló,icas de la sección de códi,o comienzan en la dirección 051000- ado Fe el tamaGo de !#,ina es ID es decir 2 12 34 el des!lazamiento estar# formado !or los 12 bits menos si,nificati.os- Por lo tanto4 el nHmero de la !rimera !#,ina de códi,o ser# el 1- icBa !#,ina estar# almacenada en el marco 2 a!licando el mismo !roceso a la dirección física de comienzo c omienzo de la zona de códi,o4 0520003 'l códi,o oc!a desde la dirección 052000 a la 05
29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
1< de 2)
SSOO
Problemas de administración de memoria
ambas inclsi.e3- Con esta información es !osible rellenar la !rimera !arte de la tabla de !#,ina de P1Si,iendo este mismo !roceso con las dem#s secciones tanto de P1 como de P24 el resltado es el Fe se mestra a continación4 donde se Ba establecido !ermiso de lectra y e8ección !ara el códi,o y de lectra le ctra y escritra esc ritra !ara los datos y la !ila4 tanto de P1 como de P2- 'l Hnico caso e5ce!cional es la sección de datos de P24 Fe est# alo8ada en los marcos 14 A4 9 y >4 en este ordenP1
Marco
V
L
E
J
P2
Marco
V
L
E
J
0
-
0
-
-
-
0
-
0
-
-
-
1
2
1
1
0
1
1
2
1
1
0
1
2
3
1
1
0
1
2
3
1
1
0
1
3
4
1
1
0
1
3
4
1
1
0
1
4
5
1
1
0
1
4
5
1
1
0
1
5
6
1
1
0
1
5
6
1
1
0
1
6
7
1
1
0
1
6
7
1
1
0
1
7
-
0
-
-
-
7
-
0
-
-
-
...
...
80
1e
1
1
1
0
80
1
1
1
1
0
81
1f
1
1
1
0
81
8
1
1
1
0
82
-
0
-
-
-
82
9
1
1
1
0
83
-
0
-
-
-
83
a
1
1
1
0
84
-
0
-
-
-
84
-
0
-
-
-
... 1000
d
1
1
1
0
1000
20
1
1
1
0
1001
e
1
1
1
0
1001
21
1
1
1
0
1002
f
1
1
1
0
1002
22
1
1
1
0
1003
23
1
1
1
0
Problema 31.
B, responder a las siguientes preguntas: 1. &Cu)l &Cu)l es su su espacio espacio l5gico l5gico de direccion direcciones es 1 punto punto 2. &
29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
1A de 2)
SSOO
Problemas de administración de memoria
TdP de 2º nivel er
TdP de 1 nivel marco pág.
(alojada a partir de la dirección física 0x2000) 0x2000)
de V ! "
marco pág.
de V
! "
0
00002
1
0
000F4
0
1 0 1
1
00000
0
C 1
00004
0
1 0 1
2
00000
0
C 2
00003
1
1 0 1
3
00000
0
C 3
00001
1
1 0 1
4
0000A
1
C 4
0000A
0
1 0 1
5
0000B
1
D 5
00005
1
1 1 0
6
00000
0
D 6
00004
1
1 1 0
D 7
00003
0
1 1 0
8
00000
0
0 0 0
0
0 0 0
...
... 3F
00000
... 0
F
3F
00000
F
TdP de 2º nivel
TdP de 2º nivel
(alojada a partir de la dirección física 0xA000) 0xA000)
(alojada a partir de la dirección física 0xB000) 0xB000)
marco pág.
de V ! "
marco pág.
de V
0
00000
0 0 0 0
1
00000
2
00000
P 0
0000F
1
1 1 0
0 0 0 0
P 1
0000E
1
1 1 0
0 0 0 0
2
00000
0
0 0 0
00000
0
0 0 0
00000
0
0 0 0
... 3F
00000
... 0 0 0 0
E 3F
! "
3F E
0000D
F
1 1 1 0 P
3F F
Respuesta 1- Comenzando Comenzando !or !or la re,ión re,ión de códi,o4 códi,o4 se !ede !ede obser.ar obser.ar Fe a la !rimera !rimera !#,ina !#,ina de la re,ión se accede tilizando la entrada 1 de la *dP de 2N ni.el alo8ada en el marco 24 así Fe el índice de 2N ni.el de la dirección ló,ica ser# 1- *ambién se !ede obser.ar Fe la entrada en la *dP de !rimer ni.el Fe a!nta a esta tabla es la 04 así Fe el índice de !rimer ni.el ser# 0- Como cada *dP dis!one de 0500 entradas 0 a 057??34 esto im!lica Fe el !rocesador tilizar# los 10 bits 0500 es 2 10 3 m#s si,nificati.os de la dirección ló,ica como índice de !rimer ni.el y los 10 bits si,ientes como índice de 2N ni.el- 'l resto de la dirección ló,ica ser# el des!lazamiento4 Fe ser# de 12 bits4 ya Fe el tamaGo de !#,ina es ID4 tal y como dice el ennciado ID es 2 2@210 4 es decir4 2 12 3 Por lo tanto4 la !rimera dirección ló,ica ló,ica de códi,o ser# la si,iente+
29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
19 de 2)
SSOO
Problemas de administración de memoria
'n binario+ 0000 0000 0000 0000 0000 0001 0000 0000 0000 0000 'n Be5adecimal+ 0500001000 >!licando el mismo !rocedimiento al resto de las !#,inas de códi,o4 se !ede .er cómo el Hnico cambio es Fe los índices de se,ndo ni.el ser#n 24 7 y 4 res!ecti.amente- Por lo tanto4 esta re,ión inclir# el ran,o de direcciones ló,icas entre la 0500001000 y la 050000??? Re!itiendo el mismo !rocedimiento !ara las re,iones de datos y !ila4 se obtiene Fe el es!acio de direcciones ló,ico del !roceso es+ Códi,o+ 0500001000 050000??? atos+ 050000)000 050000?? 050000?? Pila+ 05017??000 050101??? Para calclar la dirección de la !rimera !#,ina de !ila basta con darse centa de Fe el índice de !rimer ni.el ser# y el de se,ndo 057??4 !or lo Fe la dirección ló,ica de inicio ser# 0000 0001 0011 1111 1111 0000 0000 0000 en binario y4 ló,icamente4 05017??000 en Be5adecimal- ",almente4 !ara la se,nda !#,ina basta con obser.ar Fe el índice de !rimer ni.el es ) y el de se,ndo 04 !or lo Fe la dirección ló,ica de inicio es 0000 0001 0100 0000 0000 0000 0000 0000 en binario y 050100000 en Be5adecimal- ?inalmente4 la tercera y Hltima !#,ina sólo se diferencia de la anterior en el índice de se,ndo ni.el4 Fe ser# 14 14 !or lo Fe la dirección ló,ica de inicio ser# 0000 0001 0100 0000 0001 0000 0000 0000 en binario y 050101000 en Be5adecimal32- Jas !#,inas !#,inas car,ada car,adass en memoria memoria !rinci!al !rinci!al son accesibles accesibles mediante mediante las entrada entradass en las *dPs de 2N ni.el Fe tienen el bit de .#lido a 1- S ran,o de direcciones físicas ser#n los Fe establezcan el marco de !#,ina contenido en la entrada corres!ondiente de la *dP de 2N ni.el y !or los diferentes .alores del des!lazamiento4 Fe !eden ir desde 05000 a 05???- Por tanto4 la !#,ina alo8ada en la entrada 2 de la *dP alo8ada en el marco 24 estar# alo8ada el marco 7 y4 !or tanto4 en el ran,o de direcciones físicas Fe .an de la 0500007000 a la 0500007??? Re!itiendo el !rocedimiento con el resto de las !#,inas !#,inas se obtiene la lista com!leta+ *dP alo8ada en el marco 2+ entrada 2+ 0500007000 0500007??? entrada 7+ 0500001000 0500001??? entrada )+ 050000)000 050000)??? entrada 6+ 050000000 050000??? *dP alo8ada en el marco 05>+ entrada 057??+ 050000000 050000??? *dP alo8ada en el marco 05D+ entrada 0+ 050000?000 050000???? entrada 1+ 050000'000 050000'??? 7- Ja dire direcci cción ón ló,i ló,ica ca 0500 050000 0010 1000 00 es n e8em!l e8em!lo o de dire direcci cción ón .#li .#lida da corre correct cta a Fe Fe ,eneraría n fallo de !#,ina4 ya Fe en el a!artado 1 se e5!lica cómo el !rocesador accedería a la entrada 1 de la *dP de 2N ni.el alo8ada en el marco 2 y esta entrada tiene el bit & a 0 Ja dirección ló,ica 0500002000 es n e8em!lo de dirección .#lida correcta Fe no ,eneraría n fallo de !#,ina4 ya Fe en el a!artado 1 se e5!lica cómo el !rocesador accedería a la entrada 2 de la *dP de 2N ni.el alo8ada en el marco 2 y esta entrada tiene el bit & a 1- *al y como se e5!lica en el a!artado 24 la dirección física Fe se ,eneraría sería la 0500007000-
Problema 32.
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
20 de 2)
SSOO
Problemas de administración de memoria
#irecciones l$ l$gicas
#escripci$n
0x000010000x00004EF0
Código
0x000050000x0000B001
Datos
0x005000000x00505555
Región adi!iona" de datos
0x7FFFC0000x7FFFFFFF
#i"a
;uponiendo que la lista de marcos libres inclu+e los marcos del 0x4A! al 0x1000, en ese orden, que el tama=o de p)gina es 4 >B, que el sistema utilia tablas de p)ginas de dos ni-eles con 1024 entradas en cada ni-el, + suponiendo que se desea que todo el espacio de direcciones de est( en memoria principal, mostrar los siguientes elementos: 1. 0, #% #% puntos puntos 8as tablas tablas de p)g p)ginas inas de . . 2. 0, %0 puntos puntos 8as direccio direcciones nes de memoria memoria 6sica utiliad utiliadas as por cada una una de las regiones regiones de c5digo, datos, regi5n adicional de datos, pila. Respuesta 1- S!oni S!oniend endo o Fe Fe el sistema sistema o!erat o!erati.o i.o comienz comienza a !or asi,na asi,narr es!aci es!acio o !ara la tabla tabla de !#,inas de !rimer ni.el4 ésta oc!aría oc!aría el marco 0x4F8Si aBora comenzara !or la sección de códi,o4 obser.aría Fe necesita de marcos de !#,ina4 ya Fe la sección oc!a 0x3EF0 bytes- Si aBora .a llenando !#,ina a !#,ina4 la Fe contendría las direcciones 0x1000 a 0x1FFF se alo8aría en el marco 0x4F9 se Ja dirección ló,ica de esta !#,ina 0x00001000 serí a di.idida !or el !rocesador en 0x00001000 3 sería tres !artes+ índice de !rimer ni.el4 índice de se,ndo ni.el y des!lazamiento- >mbos índices constan de 10 bits4 ya Fe se es!ecifica Fe cada tabla tiene 102 2 10 3 entradas 'l des!lazamiento constar# de 12 bits4 ya Fe el tamaGo de !#,ina es de ID 2 12 3- Por lo tanto4 tanto4 la direcci dirección ón 0x00001000 4 Fe en binario es 0000 0000 0000 0000 0001 0000 0000 0000 daría n índice de !rimer ni.el i,al a 0 y n índice de se,ndo ni.el i,al 1- Por lo tanto4 el SO debería rellenar la entrada 0 de la tabla de !#,inas de !rimer ni.el y la entrada 1 de la de se,ndo- Como la entrada 0 de la *dP de de !rimer ni.el toda.ía no a!nta a nin,na *dP de se,ndo4 se,ndo4 ser# necesario crear na4 Fe Fe se alo8ar# en el marco 0x4F *eniendo *eniendo en centa Fe la entrada de la *dP de !rimer ni.el debe a!ntar a!ntar a la *dP de se,ndo Fe est# alo8ada en el marco 0x4F 3 y Fe la entrada en la *dP de se,ndo debe a!ntar a la !rimera !#,ina de códi,o Fe est# alo8ada en el marco 0x4F9 34 la sitación tras car,ar la !rimera !#,ina de códi,o en memoria y aGadir la entrada en la *dP4 la sitación !odría ser la si,iente+ TdP de 1er nivel
TdP de 2º nivel
alo8ada en la d-f- 0x4F8000 3
(alo8ada en la d-f- 0x4fa000) 0x4fa000)
marco pág.
de V ! "
marco pág.
de V
! "
0
004FA
1
0
00000
0
0 0 0
1
00000
0
1
004F9
1
1 0 1
2
00000
0
2
00000
0
0 0 0
29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
21 de 2)
SSOO
Problemas de administración de memoria
TdP de 1er nivel
TdP de 2º nivel
alo8ada en la d-f- 0x4F8000 3
(alo8ada en la d-f- 0x4fa000) 0x4fa000)
... 3F
...
00000
0
F
3F
00000
0
0 0 0
F
Si,iendo el mismo !roceso4 las 7 !#,inas restantes del códi,o serían alo8adas en los marcos 0x4F! 4 0x4FC y y 0x4FD - 'stas !#,inas tendrían todas índice de !rimer ni.el 0 y de se,ndo ni.el 24 7 y 4 res!ecti.amente4 !or lo Fe el resltado sería el si,iente+ TdP de 1er nivel
TdP de 2º nivel
alo8ada en la d-f- 0x4F8000 3
(alo8ada en la d-f- 0x4FA000) 0x4FA000)
marco pág.
de V ! "
marco pág.
de V
! "
0
004FA
1
0
00000
0
0 0 0
1
00000
0
1
004F9
1
1 0 1
2
00000
0
2
004FB
1
1 0 1
...
3
004FC
1
1 0 1
4
004FD
1
1 0 1
5
00000
0
0 0 0
... 3F
...
00000
0
F
3F
00000
0
0 0 0
F
Si,iendo el mismo !rocedimiento !ara las dem#s secciones4 el resltado final !odría ser el si,iente+ TdP de 1er nivel
TdP de 2º nivel
alo8ada en la d-f- 0x4F8000 3
(alo8ada en la d-f- 0x4FA000) 0x4FA000)
marco pág.
de V ! "
marco pág.
de V
! "
0
004FA
1
0
00000
0
0 0 0
1
00506
1
1
004F9
1
1 0 1
2
00000
0
2
004FB
1
1 0 1
...
...
3
004FC
1
1 0 1
4
004FD
1
1 0 1
5
004FE
1
1 1 0
6
004FF
1
1 1 0
1FE
00000
0
7
00500
1
1 1 0
1FF
0050D
1
8
00501
1
1 1 0
200
00000
0
9
00502
1
1 1 0
A
00503
1
1 1 0
B
00504
1
1 1 0
...
29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
22 de 2)
SSOO
Problemas de administración de memoria
TdP de 1er nivel
TdP de 2º nivel
alo8ada en la d-f- 0x4F8000 3
(alo8ada en la d-f- 0x4FA000) 0x4FA000) C
00000
... 3F
00000
0
0 0 0
... 0
3F
F
00000
0
0 0 0
F
TdP de 2º nivel
TdP de 2º nivel
alo8ada en la d-f- 0x506000 3
(alo8ada en la d-f- 0x50D000) 0x50D000)
marco pág. 0
00000
de V ! " 0
marco pág.
de V
00000
0
0
...
! " 0 0 0
...
0FF
00000
0
100
00505
1 1 1 0
101
00507
1 1 1 0
102
00508
1 1 1 0
103
00509
1 1 1 0
104
0050A
1 1 1 0
3FB
00000
0
105
0050B
1 1 1 0
3FC
0050C
1
1 1 0
106
00000
0
3FD
0050E
1
1 1 0
3FE
0050F
1
1 1 0
3FF
00000
1
1 1 0
...
... 3FF
00000
0
2- %na .ez rellenas rellenas las las tablas de !#,ina !#,inas4 s4 las direcciones direcciones físicas físicas se obtienen obtienen aGadien aGadiendo do el des!lazamiento a los marcos de !#,ina es!ecificados !or las tablas de !#,inas de se,ndo ni.el- Por e8em!lo4 la sección de códi,o oc!a los marcos 0x4F9 y del 0x4F! al 0x4FD 4 !or lo Fe oc!aría las direcciones físicas de la 0x4F9000 a la 0x4F9FFF y de la 0x4F!000 a la 0x4FDEF0 anFe tendría asi,nada Basta la 0x4FDFFF 3 e forma similar4 la sección de datos oc!aría de la dirección 0x4F 0x4FE0 E000 00 a la y y de la 0x"04001 4 la sección adicional de datos de la 0x"0"000 a la 0x"0"FFF 0x"0#000 a la 0x"0!"""; y la sección de !ila de la 0x"0C000 a la 0x"0CFFF y de la 0x"0E000 a la 0x"0FFFF -
Problema 33.
@n sistema multiprogramado tiene en memoria principal dos procesos 1 + 2, tal + como muestra el dibu/o 2. 0x9000
9atos 1 C5digo 1 + 2 0?0xAAA s5lo lectura 0x1000
0x2000
9atos 1 0x1000? 0x3AAA 0x!000
0x1<000
ila de 1 0xB000
9atos 2 0x10000
ila 2 0x20000
0x24000
"ibu#o 2. 'l ,r#fico no est# a escala- Jos .alores nméricos entre !aréntesis indican des!lazamientos relati.os al comienzo de la sección-
29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
27 de 2)
SSOO
Problemas de administración de memoria
1. 0% puntos puntos &'u( &'u( modelo modelo de gesti5n de memoria memoria est) utiliando el sistema, segmentac segmentaci5n i5n o paginaci5n Iustiicar la respuesta teniendo en cuenta que el procesador soporta ambos m(todos de gesti5n + que en el caso del modelo paginado el tama=o de p)gina es de 4 >B. 2. 12% 12% puntos puntos Construir Construir las estructura estructurass de datos apropia apropiadas das tablas tablas de p)ginas p)ginas o tablas tablas de segmentos, en unci5n del m(todo de gesti5n utiliado para que ambos procesos puedan utiliar las siguientes direcciones l5gicas: ara la segmentaci5n: el c5digo utilia el segmento 0, los datos el segmento 1 + la pila el segmento segmento 2. ara la paginaci5n: el c5digo comiena en la direcci5n l5gica 0x1000, los datos en la 0x!0000 + la pila en la 0x1000000. •
•
Respuesta 1- 'l sistema solamen solamente te !ede estar estar tilizando tilizando !a,inació !a,inaciónn- 'n efecto4 efecto4 !ede ser !a,inac !a,inación ión !orFe todas re,iones est#n alineadas en direcciones Fe son mHlti!los del tamaGo de !#,ina ID 051000 bytes3- o !ede ser se,mentación4 ya Fe la re,ión de datos de P1 est# di.idida en dos zonas zonas dis8ntas de memoria física2- %n tam tamaG aGo o de de !#,i !#,ina na de de ID 2 12 bytes3 s!one 12 bits de des!lazamiento- Por lo tanto4 el códi,o comenzar# en la !#,ina 1 dirección ló,ica 0510003 y oc!ar# también las !#,inas 2 a la 64 !esto Fe oc!a 6 marcos de !#,ina del 2 al <3- e forma similar4 s imilar4 la sección de datos oc!ar# las !#,inas A0 a A7 en el caso de P1 marcos 14 A4 9 y >3 y las !#,inas A0 y A1 en el de P2 marcos 1' y 1?3- >!licando el mismo !rocedimiento !ara las !ilas de de los los !rocesos46 se obtienen las si,ientes tablas de !#,inasTdP de P1 marco 0
TdP de P2 V ! " 0
marco
V
! "
0
00000
0
0
0
0
1
00002
1
1
0
1
1
00002
1
1
0
1
2
00003
1
1
0
1
2
00003
1
1
0
1
3
00004
1
1
0
1
3
00004
1
1
0
1
4
00005
1
1
0
1
4
00005
1
1
0
1
5
00006
1
1
0
1
5
00006
1
1
0
1
6
00007
1
1
0
1
6
00007
1
1
0
1
7
0
7
...
0 ...
80
00001
1
1
1
0
80
0001E
1
1
1
0
81
00008
1
1
1
0
81
0001F
1
1
1
0
82
00009
1
1
1
0
82
83
0000A
1
1
1
0
1
1
0
84
0 ...
0 ... 0FFC
00023
1
;uponiendo que las pilas crecen *acia aba/o.
"
29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
2 de 2)
SSOO
Problemas de administración de memoria
TdP de P1
TdP de P2
0FFD 0000F
1
1
1
0
0FFD
00022
1
1
1
0
0FFE 0000E
1
1
1
0
0FFE
00021
1
1
1
0
0FFF 0000D
1
1
1
0
0FFF
00020
1
1
1
0
29 de enero de 2016
Rafael Martínez y Carlos Pérez e!artamento de "nform#tica $ %&'(
2) de 2)