Sunteți pe pagina 1din 4

2012 - Trabajo Prctico N 2: Contador de mensajes en MINIX 3

1. Objetios de! "rctico


Al terminar este trabajo usted habr aprendido:
1.Utilizar MINIX 3 en su versin sobre Mauina !irtual.
".#mo se estru$tura el $di%o &uente de MINIX 3 ' $mo modi&i$arlo
3.#mo re$ompilar el (ernel de MINIX 3
).A $rear *'stem #alls en MINIX 3
2. #erramientas necesarias
+ara resolver los ejer$i$ios propuestos ne$esitar:
1.Una +# $on MINIX 3,- versin 3.1."a bajo !M.are
"./l #0123M de la #tedra
3. $%entes de In&ormaci'n s%(eridas
/n$ontrar in&orma$in 4til en:
1.*istemas 3perativos. 0ise5o e Implementa$in 3ra edi$in A.*.6anenbaum ' A. 7oodhull.
+renti$e 8all.
".#023M de la $tedra
3.9as man pa%es de MINIX
4./l sitio de MINIX3 http:::....mini;3.or%:
). *e+%isitos de ,ntre(a
).1. -%(ar . $ec/a de entre(a
1.9a &e$ha ' hora de entre%a para este pr$ti$o ser publi$ada en la p%ina .eb de la $tedra.
".9os trabajos en #0 23M deben ser entre%ados +/2*3NA9M/N6/ a al%uno de los a'udantes
do$entes de la $tedra en los horarios de $lase o de $onsulta. No se a$eptarn trabajos
depositados en el 0epartamento *istemas o en $ualuier otro lu%ar.
3.No se a$eptarn trabajos in$ompletos.
).2. $ormato de ,ntre(a
0eber entre%ar un 03#UM/N63 +0< ' UN #023M #3N 9A MA=UINA !I26UA9.
1./l do$umento debe reunir las si%uientes $ara$ter>sti$as:
1.1. <ormato de +resenta$in
1.1.1. 8ojas de tama5o A) en$arpetadas.
1.". *e$$iones del do$umento ?6odas obli%atorias@:
1.".1. #artula de presenta$in: 0ebe in$luir 3A9IBA632IAM/N6/:
1.".1.1. Asi%natura
1.".1.". N4mero ' 0es$rip$in del trabajo pr$ti$o
1.".1.3. A5o ' #uatrimestre de #ursado
1.".1.). Identi&i$a$in del Brupo
1.".1.C. NombresD Apellidos D N4mero de 9ibreta universitaria ?9U@ '
dire$$iones de $orreo ele$trni$o de 6303* los Inte%rantes del %rupo
1.".". *e$$in +rin$ipal: Au> debe in$luirse la resolu$in de $ada uno de los
problemas planteados. +ara $ada respuesta debe indi$arse 3A9IBA632IAM/N6/D
el n4mero ' t>tulo del problema al ue $orresponde tal $omo apare$e en el
enun$iado. #uando el >tem a resolver impliue la $rea$in de un pro%rama o la
modi&i$a$in de $di%o &uente propio de MINIXD in$lu'a en esta se$$in el $di%o
&uente del pro%rama $reado o de la se$$in ue alter. /n ambos $asosD deber
indi$ar $laramente el path $ompleto ' el nombre del ar$hivo. /sta permitidoD si el
ar$hivo donde se en$uentra la se$$in modi&i$ada es mu' e;tensoD presentar solo
di$ha se$$in.
1.".3. *e$$in de 0es$ar%os: Au> debe in$luirse $ualuier $omentario ue deba
tenerse en $uenta para la $orre$$in del pr$ti$o. Use esta se$$in para indi$ar:
1.".3.1. =ue no pudo resolver al%uno de los problemas.
1.".3.". =ue no pudo resolver #3M+9/6AM/N6/ al%uno de los problemas.
1.".3.3. =ue no est se%uro si el problema est resuelto $orre$tamente.
1.".3.). #omentar los problemas en esta se$$in es la 4ni$a &orma de
obtener puntaje par$ial para un >tem ue no est bien resuelto. *i
en$ontramos un problema no resuelto o resuelto de manera IN#3M+9/6A
' eso no est $omentado en esta se$$inD perder puntos adi$ionales ?no
solo le des$ontaremos puntos por el error sino tambiEn por no avisarnos@.
*i no tiene nin%4n $omentarioD deje esta se$$in en blan$o.
"./l #023M debe reunir las si%uientes $ara$ter>sti$as
".1.1. I0/N6I<I#A#I3N en la super&i$ie ue $onten%a B2U+3 XXX F 0I*3 "G1" F 6+ XX
".1.". #ontener un dire$torio $on la Mauina !irtual MINIX 3 resultante despuEs de haber
realizado las modi&i$a$iones al $di%o.
".1.3. #ontener el do$umento en &ormato +0< $on los detalles del trabajo
).3. Pena!i0aciones
9os pr$ti$os entre%ados en &e$has posteriores al l>mite &ijadoD tendrn una uita de puntos del "GH.
).). Cambios a! en%nciado de! "rctico1 &ec/as de entre(a1 etc.
#ualuier $ambio en los enun$iadosD &e$has de entre%aD et$. ser in&ormado utilizando dos mEtodos:
1.9a p%ina 7eb de la #tedra
".9a lista de $orreos.
Usted no puede ale%ar ue no estaba al tanto de los $ambios si esos $ambios &ueron anun$iados
utilizando al%uno de los dos mEtodos.
*UB/2/N#IA: #onsulte &re$uentemente la p%ina de la $tedra ' ase%4rese de ue ha sido in$orporado a
la lista de $orreos.
).2. #onestidad acad3mica
/st bien $omentar las estrate%ias empleadas en la resolu$in de los 6+s entre los %rupos a$er$a de
$mo resolver problemasD pero los %rupos son de hasta 3 ?tres@ inte%rantes.
1.No entre%ue trabajo de otras personas $omo propio.
".#ada %rupo debe mantener su $di%o para si mismoD si su pro'e$to es $opiadoD puede ser di&>$il
determinar uien es el verdadero autor.
3.#ualuier a'uda ue re$iba deber do$umentarla $omo un $omentario al ini$io del pro%rama.
+or ejemploD si en$uentra una solu$in a un ejer$i$io en un te;to o manualD deber>a $itar la
&uente. Una razonable a'udaD no a&e$tar la aproba$in de los trabajosI &allas al $itar las &uentes
o la ausen$ia de las misma es &raude.
2. ,s"eci&icaci'n t3cnica de! trabajo
/l sistema MINIX 3 &un$iona en base al pasaje de mensajes entre pro$esos. Un pro$eso no pueden enviar
mensajes a $ualuier pro$eso. 9os pro$esos se or%anizan en $apasD $on la $apa ms baja la de la tarea
del sistema ' la ms alta la de los pro$esos de usuario. 9os pro$esos de usuario slo pueden enviar '
re$ibir mensajes de los pro$esos servidores. 9os servidores se $omunian ha$ia arriba $on los pro$esos de
usuario ' ha$ia abajo $on los pro$esos drivers. 9os pro$esos drivers se $omuni$an $on la tarea del
sistema. 9a tarea del sistema se en$ar%a de dialo%ar $on el hard.are ' realizar $opias de memoria entre
los espa$ios de dire$$iones de los di&erentes pro$esos.
#ada uno de esos mensajes su$eden entre dos puntas: el emisor ' el re$eptor.
*e le pide ue modi&iue el sistema de mensajes para ue se alma$ene el $ontador de mensajes enviados
entre $ada par de pro$esosD ' ue a%re%ue una op$in de visualiza$in de los datos en tiempo real.
*e su%iere ue $ree una matriz de dos entradasD ue sern los n4meros de pro$esoD de manera ue mJaK
JbK ser la $antidad de mensajes ue el pro$eso a envi al pro$eso b. Una llamada al +M permitir
$onse%uir una $opia de esa matriz en espa$io de usuario.
4. Metodo!o(5a s%(erida
4.1. ,nc%entre !a in&ormaci'n
Identi&iue los ar$hivos &uente ue usa el sistema para realizar el pasaje de mensajes. Identi&iue los
e;tremos de una $omuni$a$in a travEs de mensaje.
4.2. ,ta"a 1: 6(re(%e !a matri0 de escrit%ra 7 !ect%ra
/n esta etapa vamos a lidiar slo $on la llamada al sistema ue nos permitir leer la matriz.
A%re%ue la variable ue representar la matriz. /s$riba una modi&i$a$in de s'sL%etMin&o para obtener en
espa$io de usuario una $opia de los datos de la matriz.
(ernel:s'stem:doL%etin&o.$ es la inter&az de in&orma$iones del (ernel.
Ini$iali$e la matriz $on valores distin%uidosD ue le permitan saber ue verdaderamente la est le'endo.
4.3. ,ta"a 2: Incor"ore !a is%a!i0aci'n de estado
Muestre la in&orma$in de la matriz mediante los dumps ue se produ$en al oprimir una te$la de &un$in.
4.). ,ta"a 3: Conteo de !os mensajes
(ernel:pro$.$ es donde se resuelven los env>os de mensajes. In$remente los $ontadores de la matriz de
a$uerdo al remitente ' destinatario de $ada mensaje.
8. -aboratorio asociado
a@ $reamos un $ontador de mensajes para los ue re$ibe la s'stas(.
b@ s's$all de le$tura del $ontador de mensajes de la s'stas(
6"3ndice. Con&i(%raci'n1 com"i!aci'n e insta!aci'n de n%eo 9erne!
1. :a!e %na co"ia de !os &%entes ori(ina!es
Antes de ha$er $ualuier modi&i$a$inD salve una $opia de los &uentes pr>stinos:
cd /usr/src
make clean
cp -vpsmr /usr/src /usr/src-orig
2. ,nmar+%e !os cambios +%e /a(a en !os &%entes
2/B9A: a partir de ahoraD todos los $ambios ue se ha%an al (ernel no debern alterar la $ompila$in
standard. +ara eso se utilizar en el ar$hivo:usr:sr$:in$lude:mini;:$on&i%.h:
#define UTNDISO 1
para &orzar la $ompila$in sobre el $di%o nuevo ' si se elimina esta l>nea se $ompilar $on la versin
estndar.
#ada parte de $di%o ue se a%re%ue o $ambie deber estar realizada $on $ompila$in $ondi$ional
utilizando:
#ifdef UTNDISO
... Nuevo cdigo ...
#else / UTNDISO /
... !digo original ...
#endif / UTNDISO /
3. Con&i(%raci'n de! 9erne!
A los e&e$tos de veri&i$ar ue se est eje$utando un (ernel $ompilado por uno mismo re$omendamos
$ambiar:
/ "ini# release and version num$ers. /
#define OS%&'(')S' *+*
#define UTNDISO 1
#ifdef UTNDISO
#define OS%,'&SION *1.+DISO*
#else / UTNDISO /
#define OS%,'&SION *1.+*
#endif / UTNDISO /
/ste mensaje se ver al arran$ar MINIX 3.
). *ecomendaciones
1.N3 IN6/N6/ 2/A9INA2 93* #AMAI3* 3 IN#32+32A#I3N/* 0/ #30IB3 0/ UNA *39A !/N.
No sabr donde est $ometiendo los errores.
+rimero a%re%ue las variables nuevas ' $ompile para veri&i$arD lue%o in$orpore $di%o en &orma
paulatina re$ompilando ' probando.
".*/A M/630I#3D 320/NA03 O 32BANINA03
3.0/*+U/* 0/ 2/A9INA2 !A2IA* #3M+I9A#I3N/*D BUA20/ /9 #30IB3 <U/N6/ #3N UN
NUM/23 0/ !/2*I3N.
*i por $asualidad borra un ar$hivo o lo $ambia ' debe volver atrsD tiene versiones ms a$tuales.
).IN*/26/ MU#83* #3M/N6A2I3* O +2IN6<?@
9e a'udar a veri&i$ar ue lo ue Ud $ree ue se est ha$iendoD e&e$tivamente se est ha$iendo.
Una vez veri&i$ado ' &un$ionando la por$in de $di%oD remueva los print&?@
C.*I 8AO A9B3 0/ #30IB3 =U/ 0/A/2IA /P/#U6A2*/ O N3 */ /P/#U6A IN*/26/ AN6/* O
0/*+U/* UN +2IN6<?@ 0I#I/N03 =U/ /* 93 =U/ */ /*6Q /P/#U6AN03
*e&erencias
http:::.eb.ballardini.$om.ar:diso:bro.ser:vendorsr$:ast:mini;:23.1."Leuros'sL$d:sr$:(ernel:pr
o$.$
http:::.eb.ballardini.$om.ar:diso:bro.ser:vendorsr$:ast:mini;:23.1."Leuros'sL$d:sr$:lib:other:
L%ets'sin&o.$
http:::.eb.ballardini.$om.ar:diso:bro.ser:vendorsr$:ast:mini;:23.1."Leuros'sL$d:sr$:(ernel:s'
stem:doL%etin&o.$

S-ar putea să vă placă și