id189097
PORTING ZEOS TO RISC-V
XAVIER BARRETO TOMEO
Di ec o /a
JUANJOSÉCOSTAPRATS(Depa amen d'A qui ec u adeCompu ado s)
Codi ec o /a
JORDIFORNESDEJUAN(Depa amen d'A qui ec u adeCompu ado s)
Ti ulació
G auenEnginye iaIn o mà ica(Tecnologiesdelain o mació)
Memò ia del eball de i de g au
Facul a d'In o mà ica de Ba celona (FIB)
Uni e si a Poli ècnica de Ca alunya (UPC) - Ba celonaTech
26/06/2024
2
Resum
Aques p ojec e elabo a un po de ZeOS, un sis ema ope a iu monol´ı ic
o iginalmen desen olupa pe a l’a qui ec u a In el 80386, cap a l’a qui ec-
u a RISC-V. ZeOS, o iginalmen implemen a, uncionali a s de ges i´o de
p ocessos, ges i´o de mem`o ia, in e upcions i ni ells de p i ilegi. L’a qui ec-
u a RISC-V o e eix una lexibili a , ex ensibili a i modula i a signi ica-
i a, con e in -la en un candida ideal pe a ins educa ius i expe imen als.
Aques p ojec e no nom´es con ibueix a la comp ensi´o i u ili zaci´o de l’a -
qui ec u a RISC-V sin´o que amb´e po encia els ecu sos educa ius disponi-
bles pe als es udian s que es udien sis emes ope a ius a la FIB. L’`exi del
po de ZeOS a RISC-V pod ia aplana el cam´ı pe a u u s desen olupa-
men s i aplicacions an en en o ns acad`emics com p o essionals.
Resumen
Es e p oyec o ealiza un po a ZeOS, un un sis ema ope a i o monol´ı ico
o iginalmen e desa ollado pa a la a qui ec u a In el 80386, a la a qui ec-
u a RISC-V. ZeOS, sopo a di e sas uncionalidades como ges i´on de p o-
cesos, ges i´on de memo ia, las in e upciones y los ni eles de p i ilegio. La
a qui ec u a RISC-V, una a qui ec u a de conjun o de ins ucciones (ISA)
de c´odigo abie o, o ece una g an lexibilidad, ex ensibilidad y modula-
idad, lo que la con ie e en un candida o ideal pa a ines educa i os y
expe imen ales.
Es e p oyec o no s´olo con ibuye a la comp ensi´on y u ilizaci´on de la a -
qui ec u a RISC-V, sino que ambi´en mejo a los ecu sos educa i os dis-
ponibles pa a los es udian es de sis emas ope a i os en la FIB. El ´exi o de
la adap aci´on de ZeOS a RISC-V pod ´ıa allana el camino pa a u u os
desa ollos y aplicaciones an o en el ´ambi o acad´emico como p o esional.
3
Abs ac
This p ojec makes a po o ZeOS, a monoli hic ope a ing sys em de eloped
o he In el 80386 a chi ec u e, o he RISC-V a qui ec u e. ZeOs inds
implemen ed, among o he s, unc ionali ies such as p ocess managemen ,
memo y managemen , in e up ions and le els o p i ilege. The RISC-V
a chi ec u e o e s signi ican lexibili y, ex ensibili y and modula i y, mak-
ing i an ideal candida e o educa ional and expe imen al pu poses.
This p ojec no only con ibu es o he unde s anding and u iliza ion o
he RISC-V a chi ec u e bu also enhances he educa ional esou ces a ail-
able o s uden s s udying ope a ing sys ems a FIB. The success ul po o
ZeOS o RISC-V could pa e he way o u he de elopmen s and applica-
ions in bo h academic and p o essional se ings.
´
Index
1. In oducci´o, Jus i icaci´o i Con ex 7
1.1. Jus i icaci´o.................................. 7
1.2. Con ex uali zaci´o.............................. 8
1.2.1. Ac o simplica s........................... 8
1.3. De inici´o de concep es . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.1. Sis emes Ope a ius . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.2. ZeOS................................. 10
1.3.3. RISC-V ............................... 10
2. Abas 12
2.1. Objec iu................................... 12
2.2. Obs aclesi iscos .............................. 13
3. Me odologia 14
3.1. Me odologia de eball . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4. Plani icaci´o 16
4.1. Desc ipci´o de asques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1.1. Ges i´o del P ojec e . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2. Diag amadeGan ............................. 22
4.3. Ges i´odeRisc................................ 24
5. Ges i´o econ`omica del P ojec e 25
5.1. P essupos .................................. 25
5.1.1. Recu sosHumans.......................... 25
5.1.2. Recu sos ´ısics............................ 27
5.1.3. Recu sos de so wa e ........................ 27
5.1.4. Al es ipus de Recu sos . . . . . . . . . . . . . . . . . . . . . . 27
5.1.5. Recu sos pe Imp e is s . . . . . . . . . . . . . . . . . . . . . . 28
5.1.6. To al................................. 29
5.2. Con oldeGes i´o.............................. 29
4
´
INDEX 5
6. Sos enibili a del P ojec e 31
6.1. Au oa aluaci´o................................ 31
6.2. Dimensi´oEcon`omica ............................ 32
6.3. Dimensi´osocial ............................... 32
6.4. Dimensi´o Ambien al . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7. Seguimen 33
7.1. Me odologiai igo ............................. 35
7.2. P essupos .................................. 35
7.3. Aspec es legals, lleis i egulacions . . . . . . . . . . . . . . . . . . . . . 36
7.3.1. Lleis ................................. 36
7.3.2. Llicencies .............................. 37
8. Disseny 38
8.1. Na u alesadeRISC-V ........................... 38
8.1.1. Filoso ia de RISC-V . . . . . . . . . . . . . . . . . . . . . . . . 39
8.1.2. Regis es............................... 40
8.1.3. Ni ell de p i ilegis . . . . . . . . . . . . . . . . . . . . . . . . . 41
8.1.4. In e upcions ............................ 42
8.1.5. Regis es de con ol i es a . . . . . . . . . . . . . . . . . . . . . 42
8.2. Decisions d’a qui ec u a p esses . . . . . . . . . . . . . . . . . . . . . . 47
8.2.1. Dimensi´o d’ad eces . . . . . . . . . . . . . . . . . . . . . . . . . 47
8.2.2. Se d’ins uccions . . . . . . . . . . . . . . . . . . . . . . . . . . 48
8.2.3. Mida mem`o ia i ual . . . . . . . . . . . . . . . . . . . . . . . 49
8.2.4. Ges i´o de pe misos . . . . . . . . . . . . . . . . . . . . . . . . . 50
8.2.5. Se ei de Vi uali zaci´o QEMU . . . . . . . . . . . . . . . . . . 50
9. Implemen aci´o 52
9.1. O gani zaci´o del codi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
9.2. Sis ema de c`a ega del SO . . . . . . . . . . . . . . . . . . . . . . . . . 53
9.3. Mecanismes d’en ada i so ida i ges i´o d’in e upcions . . . . . . . . . 56
9.3.1. Mecanisme d’esc ip u a . . . . . . . . . . . . . . . . . . . . . . . 56
9.3.2. Con igu aci´o i ges i´o d’in e upcions . . . . . . . . . . . . . . . . 57
9.4. Mecanismes de ges i´o de mem`o ia . . . . . . . . . . . . . . . . . . . . . 59
9.5. Mecanismes de ges i´o de p ocessos . . . . . . . . . . . . . . . . . . . . . 63
10.Conclusi´o i eball u u 65
10.1.Conclusi´o .................................. 65
10.2.T eball u u ................................. 66
Re e `encies 69
´
Index de igu es
4.1. Taula d’ho es pe asca. Fon : Elabo aci´o p `opia ............. 21
4.2. Gan del p ojec e. Fon : Elabo aci´o p `opia ............... 23
5.1. Sou pe ho a dels eballado s del p ojec e. Fon : Elabo aci´o p `opia . . 26
5.2. Cos econ`omic pe asca i subdi isi´o. Fon : Elabo aci´o p `opia ..... 26
5.3. Taula de Cos os i Amo i zacions. Fon : Elabo aci´o p `opia ....... 27
5.4. Taula de Cos os i Amo i zacions d’al es ipus de ecu sos. Fon : Ela-
bo aci´o p `opia ................................ 28
7.1. Taula d’ho es pe asca ac uali zada. Fon : Elabo aci´o p `opia ..... 34
7.2. Cos econ`omic pe asca i subdi isi´o ac uali za . Fon : Elabo aci´o p `opia 35
8.1. Ni ells de p i ilegis de RISC-V [25]. .................... 41
8.2. Machine-mode s a us egis e [25]. ..................... 43
8.3. Supe iso -mode s a us egis e [25]. .................... 43
8.4. Supe iso add ess ansla ion and p o ec ion[25]. ............ 44
8.5. Machine In e up Pending[25]. ...................... 45
8.6. Machine In e up Enable[25]. ....................... 45
8.7. Supe iso In e up Pending[25]. ..................... 45
8.8. Supe iso In e up Enable[25]. ...................... 45
8.9. Machine Cause Regis e [25]. ........................ 46
8.10. Supe iso Cause Regis e [25]. ....................... 47
9.1. Con ingu del i xe zeosV. Fon : Elabo aci´o p `opia ........... 54
9.2. Ad e¸ca ´ısica en s 39[25]. .......................... 59
9.3. Ad e¸ca i ual en s 39[25]. ......................... 60
9.4. En ada de aula de p`agina[25]. ...................... 61
9.5. Espai de mem`o ia ´ısica i i ual. Fon : Elabo aci´o p `opia ....... 63
6
Cap´ı ol 1
In oducci´o, Jus i icaci´o i Con ex
1.1. Jus i icaci´o
La idea d’aques eball ´es adap a un sis ema ope a iu nadiu de la Facul a d’In-
o m`a ica de Ba celona (FIB), el ZeOS, a una a qui ec u a anomenada RISC-V que ha
despe a mol in e `es en la ind´us ia del ha dwa e.[1]
El ocus p incipal del eball de i de g au ´es l’`ambi acad`emic i educa iu. L’objec-
e d’es udi sob e el qual es eballa de base, el ZeOS, ´es un sis ema ope a iu senzill
c ea pe l’a qui ec u a x86 de 32 bi s d’ins ucci´o basa en el ke nel de Linux 2.4.
Aques SO es a se i du an el p oc´es d’ap enen a ge i amilia i zaci´o dels concep es
b`asics del ema en les assigna u es Sis emes Ope a ius 2 (SO2)[2] i Sis emes Ope a ius
A an¸ca s (SOA)[3] de la FIB.
RISC-V ´es una a qui ec u a de conjun d’ins uccions (ISA) de codi obe nascuda
el 2010 du an un p ojec e de la Uni e si a de Cali `o nia. Aques a a qui ec u a des-
aca pe qu`e pe e -ne ´us no cal comp a els d e s de p opie a in el·lec ual, i a m´es
omen a la in es igaci´o i el desen olupamen d’eines p `opies. Aques e la di e encia
de la es a d’a qui ec u es.RISC-V ´e supo an ins i ucional, la Comissi´o Eu opea,
com acad`emic pe con e i -se en el dominado de les end`encies i es a `egies de u u
en l’`ambi d’a qui ec u a de mic oxips.[4]
La mo i aci´o del p ojec e ´es aconsegui adap a el sis ema ope a iu docen ZeOS a
l’a qui ec u a RISC-V d’una mane a `op ima i e icien basan -nos en el codi exis en .
Pos e io men , i en cas d’un assolimen no able, una de les possibles aplicacions d’a-
ques p ojec e pod ia se la u ili zaci´o pe l’ap enen a ge an de sis emes ope a ius
com de l’a qui ec u a RISC-V pe a u u s alumnes de la Facul a d’In o m`a ica de
Ba celona (FIB).
7
8CAP´
ITOL 1. INTRODUCCI ´
O, JUSTIFICACI ´
O I CONTEXT
1.2. Con ex uali zaci´o
“Po ing ZeOS o RISC-V ” ´es el T eball de Final de G au d’Enginye ia In o m`a ica
especiali za en Tecnologies de la In o maci´o. El g au s’impa eix a la Uni e si a Po-
li `ecnica de Ca alunya, a la Facul a d’In o m`a ica de Ba celona.
Dins l’especiali a de Tecnologies de la In o maci´o (TI) podem des aca di e ses b an-
ques de coneixemen com poden se sis emes dis ibu¨ı s, sis emes ope a ius, llengua ges
de p og amaci´o, coneixemen s de maquina i, p o ocols de comunicacions i a qui ec u-
es de sis emes.[5]
Cal des aca que no hi ha cap p ojec e que hagi comple la ma eixa asca exac a-
men , pe `o s´ı que hi ha hagu di e sos du an els anys an e io s que han eali za
adap acions del sis ema ZeOS a al es a qui ec u es com po se el eball d’en Albe
Segu a Sal ado .[6] N’Albe Segu a a e un po del ZeOS a l’a qui ec u a ARM
u ili zada en les plaques Raspbe y Pi.[7]
Tamb´e dins de l’`ambi acad`emic, pe `o en aques cas o a del nos e pa´ıs, cal e una
menci´o al p ojec e du a e me pe F ans Kaashoek, Robe Mo is i Russ Cox, p o es-
so s de la uni e si a MIT (Massachuse s Ins i u e o Technology) qui a en eali za
un po d’un sis ema ope a iu p opi basa en l’a qui ec u a x86 a l’a qui ec u a RISC-V
anomena x 6.[8]
X 6 s´ı que ´e la ma eixa base i inali a que aques p ojec e, pe `o cal indica que
el sis ema ope a iu sob e el qual es eballa `a ´es di e en , aix´ı doncs en cap cas es
pod ia conside a el ma eix p ojec e.
1.2.1. Ac o s implica s
El p incipal ac o implica i que oba `a un bene ici di ec e a causa de la eali -
zaci´o del p ojec e ´es qui el desen olupa. ´
Es a di , g `acies a la eali zaci´o del eball
ob ind ´e un coneixemen ex ens en l’`ambi d’a qui ec u a de sis emes ope a ius, m´es
espec´ı icamen en RISC-V, e que po ob i po es en un u u p `oxim. Tamb´e es en-
d e els coneixemen s en p og amaci´o, ges i´o de p og amaci´o i ap enen a ge au `onom,
eines impo an s pel desen olupamen p o essional.
A causa de la inali a d’aques p ojec e podem ag upa les pe sones a les quals po
ana di igi el p ojec e en dos g ans g ups segons l’`ambi : l’educa iu i el p o essional.
Quan pa lem de l’`ambi educa iu em e e `encia a o s els alumnes de la FIB que
cu sen les assigna u es an e io men indicades, SOA i SO2. Als quals se’ls po o e i
1.3. DEFINICI ´
O DE CONCEPTES 9
una mane a di e en d’ap enen a ge dels coneixemen s, ob in el pa adigma d’una no a
a qui ec u a. Fins al momen un alumne d’aques es assigna u es no ob ´e cap mena de
coneixemen espec´ı ic sob e l’a qui ec u a RISC-V. Pe `o en cas d’assoli un esul a
posi iu, l’alumna pod ia ob eni un coneixemen nou, inno ado i eme gen . Pe an ,
aques pod ia se conside a l’`ambi amb una majo possibili a de bene ici di ec e en
espec e el p ojec e.
En can i, dins l’`ambi p o essional podem oba algun cas p `ac ic on el po de ZeOS
compleixi amb els equisi s que un p ojec e necessi a pe eballa amb l’a qui ec u a
RISC-V. A causa de la se a simplici a i se un eball de codi obe , po se que algun
pe i p ojec e i¨ı aques eball.
Enca a que po sembla una opci´o complexa pel e que les uncionali a s espe ades s´on
b`asiques, no cal desca a aques a opci´o com una possible ia de negoci i inan¸camen
del p ojec e.
1.3. De inici´o de concep es
En aques apa a es de ini an de o ma b eu els concep es e`o ics m´es di ec es
elaciona s amb el eball.
1.3.1. Sis emes Ope a ius
Els sis emes ope a ius s´on els p og ames enca ega s d’adminis a i ges iona o s
els ecu sos d’un disposi iu, com po se un o dinado , de mane a e icien . ´
Es essencial
en o s els p ocessos del disposi iu i la se a uncionali a comen¸ca des del momen en
qu`e encenem la nos a m`aquina.
Qualse ol mena de disposi iu que ingui un p ocessado ha de eni un sis ema ope a-
iu, pe an , hi ha de mol s ipus especiali za s en les necessi a s i capaci a s de cada
disposi iu. Des d’un o dinado ins a un ele iso passan pe un co xe, un m`obil, un
ello ge in el·ligen o un caixe au om`a ic han de disposa d’un sis ema ope a iu pe
al de pode ope a i implemen a uncions sob e ells.
En o s els casos, la uncionali a ´es la ma eixa: o e i a l’usua i una in e ´ıcie amb la
qual es pugui comunica i in e ac ua amb el so wa e i el ha dwa e, pe qu`e el disposi iu
aci les asques in encionades. In e namen , amb´e s’enca ega de eines com la ges i´o
de ecu sos, i xe s o asques de supo , com poden se l’ac uali zaci´o de p og ama i,
Cap´ı ol 4
Plani icaci´o
En aques apa a del p ojec e s’especi ica `a la plani icaci´o del emps eali zada pe
comple a les asques p oposades du an el eball de i de g au. El p ojec e ´e una
du ada es imada de 540h es able es pe la Facul a d’In o m`a ica de Ba celona, que
´es on es duu a e me. Comp en des del dia 19 de eb e de 2024 ins al dia 28 de juny,
ambd´os inclosos.
Pe an , podem dedui que es ac a d’un p ojec e de disse se manes dedicades a
la eali zaci´o de la mem`o ia i el seu con ingu o a d’aques a, ja que ´e com a da a
d’en ega el 17 de juny. Tamb´e cald `a dedica un emps en p epa a la de ensa d’a-
ques i du -la a e me. El p ojec e, o a de casos excepcionals, ´e una da a m`axima de
inali zaci´o de 28 de juny.
S’es ima, pe an , una dedica `o ia d’ap oximadamen 32 ho es se manals que si les
epa im equi a i amen , e poc p obable pe possibles comp omisos di e sos o p o-
blemes, es ipula la dedicaci´o en 4,5 ho es pe dia.
4.1. Desc ipci´o de asques
A con inuaci´o, es desc iu an de alladamen cadascuna de les asques que es du an
a e me pe al de compli amb l’objec iu ma ca del p ojec e. Aques es es oba an
subdi idides segons l’`ambi en qu`e es obin pe la se a co ec a comp ensi´o.
La subdi isi´o es `a e a en 3 blocs que s´on: Ges i´o del P ojec e, Ap enen a ge i a-
milia i zaci´o amb l’en o n i Implemen aci´o de ZeOS en RISC-V.
Enca a que siguin de asques di e en s cal esmen a que o es enen ac o s i elemen s
comuns:
16
4.1. DESCRIPCI ´
O DE TASQUES 17
Recu sos Ma e ial: To es les asques es eali za an des del ma eix en o n de
eball i amb el ma eix o dinado .
Espai de T eball: To es les asques es eali za an des de la ma eixa locali zaci´o
´ısica.
Recu sos Humans: To es les asques, a excepci´o d’una, se an eali zades pe
la ma eixa pe sona. L’´unica asca que no eali za `a ´unicamen la pe sona que
desen olupa el p ojec e ´es la asca 1.6. Reunions amb el di ec o i codi ec o , en
la que com indica el seu nom amb´e pa icipa an el di ec o o codi ec o .
4.1.1. Ges i´o del P ojec e
En aques a subdi isi´o del p ojec e es oben o es aquelles asques que in e e eixen
la co ec a ges i´o del p ojec e. Com poden se la ges i´o de la empo i zaci´o, del co-
neixemen o de la comunicaci´o en e els pa icipan s. Aques es asques s´on essencials
pe un co ec e desen olupamen del eball, ja que ens pe me an o ques a co ec-
amen o el que l’en o na. Les asques es basen en la ges i´o de la documen aci´o, de
la mem`o ia del p ojec e.
Aques a ges i´o s’ha de eali za de mane a con inuada al lla g del p ojec e, pe `o cal
ano a que ind `a dos momen s en qu`e la dedicaci´o se `a majo , al p incipi pel e que
s’hau `a de eali za con ingu pe les en egues del GEP i al inal pe al de la e isi´o
comple a i l’enlles imen dels de alls pe l’en ega de la mem`o ia.
Pe an , es calculen 237 ho es epa ides en les seg¨uen s sub asques.
Con ex uali zaci´o i Abas
Aques a ´es la asca amb qu`e s’inicia el p ojec e, a m´es de con ex uali za i desc iu-
e’l. G `acies a aques a asca es po de ini de mane a excel·len el ma c del p ojec e,
una b eu desc ipci´o del p ojec e a esold e, els ecu sos pe inen s pe aconsegui -ho i
la me odologia de eball, en e al es.
Aques a asca es eali za alho a que l’en ega n´ume o 1 del GEP i es oba es ipu-
lada en una dedicaci´o de 25 ho es de eball
Plani icaci´o
Aques a ´es la segona asca que es eali za `a pel co ec e desen olupamen del p o-
jec e. En aques a s’especi ica `a una es imaci´o de les da es es able es pe la eali zaci´o
18 CAP´
ITOL 4. PLANIFICACI ´
O
i la dedicaci´o ho `a ia pe cadascuna de les asques del p ojec e.
Se `a de mol a u ili a pe al de pode po a un con ol sob e l’a an¸c i el compli-
men dels objec ius ma ca s g `acies en pa al Gan que es duu a e me du an aques a.
Aques a asca ´es du a e me alho a que l’en ega n´ume o 2 del GEP i es oba es-
ipulada en una dedicaci´o de 15 ho es de eball.
P essupos i sos enibili a
Aques a e ce a asca es eali za `a pe se conscien s de l’impac e del eball en e s
al medi en qu`e i im i amb´e, la despesa econ`omica que aques gene a `a. Es desc iu `a
l’impac e econ`omic, social i mediambien al del eball “Po ing ZeOS o RISC-V ”.
Aques a asca es du a e me alho a que l’en ega n´ume o 3 del GEP i es oba es-
ipulada en una dedicaci´o de 12 ho es de eball.
En ega Final GEP
Aques a asca co espon a la c eaci´o d’un documen inal pe la se a en ega en el
e mini es able pel GEP. Aques a en ega es co espond `a del con ingu c ea en les
asques an e io men explicades.
Tamb´e es conside a pa d’aques a asca o a la eina de modi icaci´o i millo a sob e
el con ingu an e io men c ea en les es asques an e io s. Aques a modi icaci´o se `a
basada en els comen a is ebu s pe pa del u o del GEP, Joaquim Deulo eu, qui
hau `a ana a aluan i comen an les di e ses en egues an e io s.
Aques a asca es du a e me al ma eix emps que l’en ega n´ume o 4 del GEP i es
oba es ipulada en 25 ho es de eball.
Mem`o ia
Aques a asca consis eix en la edacci´o i co ecci´o de la mem`o ia a en ega al inal
del p ojec e. ´
Es una asca que es duu a e me du an o a l’ex ensi´o del eball i cada
egada que hi hagi algun ipus de dada o in o maci´o a a egi a la mem`o ia es eali za `a
dins d’aques a asca.
Aques a asca es oba es ipulada en 70 ho es de eball.
4.1. DESCRIPCI ´
O DE TASQUES 19
Reunions amb el di ec o i codi ec o
Les eunions s´on una pa essencial pel co ec e desen olupamen del eball. ´es
a an de o ma pe i`odica cada se mana i excepcionalmen es pod an eali za algunes
ex es. Es calcula que es eali za `a una ucada de dues ho es cada dues se manes pel
seguimen , a m´es es ese a una bossa de 22 ho es pe al de e -les se i en eunions
excepcionals.
Pe an , pe aques a asca es oben es ipulades 40 ho es de eball.
De ensa del eball
Aques a asca ´es amb la qual es comple a el eball, es a al inal i desc iu la p e-
pa aci´o del con ingu pe la p esen aci´o de la de ensa del eball da an del ibunal.
Es calcula una dedicaci´o de 50 ho es de eball.
Ap enen a ge i amilia i zaci´o amb l’en o n
Pe al de pode po a a cap mena de eina sob e el sis ema ope a iu ZeOS i la
se a adap aci´o a l’a qui ec u a RISC-V, cal ob eni un coneixemen amb un ni ell de
p ecisi´o mol al . ´
Es pe aix`o que aques a subdi isi´o del p ojec e en ol a o a la ase
de lec u a d’ap enen a ge au `onom eque ida pe al de pode comen¸ca a execu a les
asques p oposades.
Es basa en dos g ans subapa a s i ´e una dedicaci´o es able a de 100 ho es de eball.
ZeOS
Pe al d’ap end e sob e el sis ema ope a iu es plan eja la lec u a de la documen a-
ci´o que es disposa sob e el ema i amb´e, una pa de p og amaci´o sob e l’a qui ec u a
ac ual de ZeOS, x86, pe comp o a el coneixemen assoli . Tamb´e es posa en conside-
aci´o la possibili a de e consul es a les pe sones enca egades del desen olupamen
del ZeOS en cas de dub es.
Pe an , es calcula unes 35 ho es de eball.
RISC-V
Pe al RISC-V la ase d’ap enen a ge ha de se majo en compa aci´o amb el ZeOS,
a causa del e que el coneixemen base en meno , p `ac icamen s’hau `a de comen¸ca
a descob i l’a qui ec u a des de ze o nom´es basan -nos en el coneixemen an e io en
al es a qui ec u es. Aix`o es a `a g `acies a documen aci´o p´ublica que s’aconsegui `a pe
20 CAP´
ITOL 4. PLANIFICACI ´
O
In e ne .
Dins d’aques a asca amb´e cal conside a l’ap enen a ge del coneixemen eque i pe
la co ec a i uali zaci´o del p ojec e, ´es a di , ap end e el uncionamen de QEMU i
com e que el eball que enim sigui uncional en aques so wa e.
Es calculen unes 65 ho es de eball.
Plan ejamen i p og amaci´o de solucions
En aques a subdi isi´o del p ojec e, ´es on oba el con ingu en qu`e es basa el e-
ball. En ol a o es les implemen acions i adap acions p oposades. ´
Es pe aix`o que ´es
la subdi isi´o a la qual se li dedica `a un nomb e majo d’ho es, ins a 200 ho es.
Aques a subdi isi´o es po di idi en 4 g ans sub asques.
C eaci´o i adap aci´o del sis ema de c`a ega del SO
En aques a asca s’ab a¸ca o el que ingui a eu e amb la implemen aci´o co ec a i
les adap acions necess`a ies pe a e que el sis ema ope a iu ZeOS que ja enim uncioni.
´
Es pe aix`o que en una p e isi´o dels possibles p oblemes que oba em es calcula
que la dedicaci´o se `a de 40 ho es de eball.
C eaci´o i adap aci´o dels mecanismes d’en ada i so ida
Pe aques a asca oba em les implemen acions dels mecanismes de ges i´o d’excep-
cions, in e upcions de ha dwa e i la ges i´o de c ides a sis ema o syscalls. ´
Es una asca
d’una ex ensi´o conside able pel e que s´on di e ses coses a implemen a i la o ma de
comp o a -les no se `a gai e senzilla.
Es calculen 60 ho es de eball.
C eaci´o i adap aci´o dels mecanismes de ges i´o de mem`o ia
En aques a asca es eali zen o es els p ocessos eque i s pe l’adap aci´o dels sis-
emes de mem`o ia com po se la ges i´o de la paginaci´o o l’assignaci´o de p i ilegis. ´
Es
un ema mol ex ens on hi ha di e ses coses a implemen a i amb´e cal conside a que
´es un ema el qual es o ¸ca di ´ıcil de comp o a si s’ha implemen a o almen de o ma
co ec a e que eque i `a m´es emps.
4.1. DESCRIPCI ´
O DE TASQUES 21
´
Es pe aix`o que es calculen unes 50 ho es de eball.
C eaci´o i adap aci´o dels mecanismes de ges i´o de p ocessos
Aques a ´es l’´ul ima asca de p og amaci´o que obem i s’ubica al inal del p ojec e,
desc iu o el que ajus a la ges i´o de p ocessos com b´e indica el seu nom, ´es a di ,
implemen a que es pugui c ea , des ui i iden i ica un p oc´es en e al es coses.
Com a asca inal se li dedica `a un conside able olum de eball, 50 ho es de e-
ball.
Figu a 4.1: Taula d’ho es pe asca. Fon : Elabo aci´o p `opia
22 CAP´
ITOL 4. PLANIFICACI ´
O
4.2. Diag ama de Gan
El diag ama de Gan del p ojec e ´es c ea segons la jus i icaci´o de les ho es e-
ali zada amb an e io i a , en aques es po eu e com hi ha asques que enen una
depend`encia di ec a en e elles i al es que no. Tamb´e es po ap ecia com hi ha
di e ses que es po en a cap du an o a l’ex ensi´o del p ojec e.
Figu a 4.2: Gan del p ojec e. Fon : Elabo aci´o p `opia
24 CAP´
ITOL 4. PLANIFICACI ´
O
4.3. Ges i´o de Risc
El isc ´es una pa impo an a eni en comp e en qualse ol p ojec e, cal eni
en comp e qualse ol classe de possible obs acle a oba -nos du an el cam´ı pe al de
eni semp e al es o mes d’ac ua i aix´ı no pa ali za el p ojec e en cas que succeeixi
qualse ol imp e is . Cal eni en comp e la na u alesa del nos e eball pe pode
oba els obs acles.
El eball es po conside a que con ´e mol a c`a ega d’ob enci´o de coneixemen i amb´e
de p og amaci´o, pe an , podem de ini els dos p incipals obs acles i les se es solucions
com:
P oblema en l’assolimen dels coneixemen s: Aques obs acle el obem quan o-
lem ob eni coneixemen s en alguna b anca del nos e eball, pe `o no podem
oba la in o maci´o que necessi em o no l’en enem amb un al g au de ce esa.
En aques cas es eco e `a a la edacci´o d’un co eu elec `onic pe al de ans-
me e els dub es al di ec o i codi ec o i oba la mane a de comunica -nos pe
soluciona -ho.
P oblema en la esoluci´o d’una asca de p og amaci´o: Aques obs acle el obem
quan ens pa ali zem en mig d’una asca, ja que no som capa¸cos de oba una
soluci´o o so ida al p oblema amb el codi que enim. La o ma de esold e-ho ´es la
ma eixa que amb l’obs acle an e io : la edacci´o d’un co eu elec `onic pe al de
ansme e els dub es al di ec o i codi ec o i oba la mane a de comunica -nos
pe soluciona -ho.
P`e dua del con ingu de la mem`o ia: Tal com s’ha esmen a abans, la eali zaci´o i
l’emmaga zemamen de la mem`o ia es a `a a la pla a o ma O e lea . Aix´ı doncs,
aques p oblema so geix pel e que pe algun cas les dades de la mem`o ia, ´es a
di el con ingu , desapa eixes o s’elimin´es pe p oblemes ex e ns. Pe e i a que
succeeixi el p ocedimen a segui se `a que cada cop que es eali za un a an¸c en
la mem`o ia es desca ega `a el i xe i es penja `a al n´u ol.
P`e dua dels i xe s de p og amaci´o: Tal com amb´e s’ha esmen a abans els i xe s
amb el codi del eball es oba an an en local com amb´e a Gi hub.
Cal conside a amb´e la possibili a de no compli amb les empo i zacions ma cades,
en aques cas pe qu`e el eball no ´e camp, obligaci´o d’en ega a e ce s, es dedica an
les ho es es able es i conca enan asques. Aix`o ol di que, si en una asca es dediquen
20 ho es i hi ha ia 15 p e is es, de la asca seg¨uen s’hau `a de edui l’ex ensi´o. Es
con inua `a amb aques p oc´es i si cal s’ani an eliminan les asques del inal a causa
del e que es an o denades segons la p io i a co esponen .
Cap´ı ol 5
Ges i´o econ`omica del P ojec e
Com qualse ol al e, aques p ojec e necessi a un p essupos pe pode eni en
comp e o s els cos os econ`omics que inguin a eu e amb ell ma eix. Pe an , en
aques apa a s’iden i ica an o s els ecu sos econ`omics de qualse ol `ambi que es
acin se i du an el p ojec e.
5.1. P essupos
Pe eali za co ec amen el p essupos cal eni en comp e el ipus de p ojec e que
es em eali zan , ja que pe cada ipus ´es di e en . En el cas del eball “Po ing ZeOS
o RISC-V ” ens obem on el p incipal ecu s que es a se i ´es hum`a, una pe sona o
di e ses dedican emps, amb´e es an se i ecu sos ma e ials i ene g`e ics com poden
se l’o dinado i la llum.
5.1.1. Recu sos Humans
Podem de ini aques apa a com les despeses gene ades pels sala is de les pe sones
en ol es en el eball. En aques cas nom´es hi eballa di ec amen una pe sona, no
comp abili za em les possibles ajudes ex e nes pe pa del di ec o o codi ec o del
eball. Pe e el c`alcul del sala i cald `a posa p eu a l’ho a de la pe sona eballan .
Com la pe sona que a el eball no ´es i ula en el g au d’Enginye ia In o m`a ica
sin´o que es oba en p oc´es, comp abili za em com a cos pe ho a el p eu es able
pe la Facul a d’In o m`a ica de Ba celona pe un con ac e de p `ac iques, ´es a di , 10
eu os b u s l’ho a.[16]
A pa i del sala i b u pe ho a i mul iplican pe 1,3 pe e un c`alcul de les des-
25
32 CAP´
ITOL 6. SOSTENIBILITAT DEL PROJECTE
g `acies a l’educaci´o ebuda mol es d’aques es coses ja es eali zen o es conside en quan
es p en una decisi´o sense ha e -hi de pensa expl´ıci amen .
6.2. Dimensi´o Econ`omica
Aques aspec e s’ha ingu en comp e du an o a la eali zaci´o del p ojec e, s’ha
c ea un p essupos que emba ca o a l’ex ensi´o d’aques . En el p essupos s’ha ac a
de eni les m´ınimes despeses econ`omiques possibles i op imi za al m`axim els ecu -
sos humans ga an in el complimen dels objec ius. Pe al d’aconsegui aix`o nom´es
s’han incl`os dins del p essupos les coses essencials i ma can les pa ides econ`omiques
m´ınimes possibles. En alguna ocasi´o com pe exemple quan es a ha e d’escolli un
so wa e de ges i´o de p ojec es es an desca a al es degu s a qu`e enien un p eu
d’u ili zaci´o i es a conside a que els a an a ges no jus i ica en la in e si´o.
6.3. Dimensi´o social
Dins la dimensi´o social m’ag ada ia des aca o el que m’ha apo a el p ojec e,
m’ha do a de coneixemen s que no disposa a, m’ha ensenya a ges iona un p ojec e
de majo s dimensions, a eballa amb unes ho es pe asca ma cades, amb unes da es
d’en egues ixes i mol es al es coses que m’han e c ´eixe an pe sonal com p o essi-
onalmen .
Pensan m´es en l’impac e social del p ojec e m’ag ada ia que aques ingues con-
seq¨u`encies posi i es sob e els al es. Com b´e s’ha ia comen a la in enci´o e a que
si la soluci´o ob inguda al inal del p oblema e a bona e -la se i en el p ojec e educa-
iu de la Facul a d’In o m`a ica de Ba celona. M’ag ada ia pensa que s’ha aconsegui
aix`o i que els nous alumnes de la ca e a ap end an nous concep es i d’una o ma m´es
p `ac ica g `acies a l’adap aci´o del ZeOS a RISC-V.
6.4. Dimensi´o Ambien al
S’ha es ima que l’impac e ambien al del p ojec e se `a m´ınim pe qu`e no gene a `a
cap mena de esidu de o ma di ec a. A m´es, els ´unics ecu sos que es a an se i ja
es oba en en ´us abans del p ojec e i dins la se a ida ´u il. ´
Es di ´ıcil pensa en un
plan ejamen de eball que gene i menys impac e ambien al, pe an , aques camp
es `a co ec amen assoli .
Cap´ı ol 7
Seguimen
Tenin en comp e la plani icaci´o inicial es able a abans de comen¸ca el p ojec e
podem e una compa aci´o de l’es a inal en compa aci´o al plani ica .
A l’inici es a es abli una plani icaci´o inicial on es ma ca en cla amen unes da es
d’inici i i de les di e ses asques p ees able es.
Pe di e sos mo ius l’es a en el qual es oba el p ojec e no ´es l’indica al Gan inicial.
El p ojec e s’ha hagu de inali za en la asca de c eaci´o i adap aci´o dels mecanismes
de ges i´o de mem`o ia. Aix`o ´es a causa que aques a asca ha eque i m´es emps del
p essupos a .
Respec e a la p ime a asca d’implemen aci´o el emps es able a l’inici del p ojec e
ha desc i pe ec amen la se a du aci´o, d’igual mane a que les dues asques de ece ca
de coneixemen sob e ZeOS i RISC-V. ´
Es a di no ´es necessa i eali za cap modi icaci´o.
Les asques que han po a m´es emps de l’es ima han es a la n´ume o 2 i 3 de
la pa d’implemen aci´o de ZeOS en RISC-V.
La asca “C eaci´o i adap aci´o dels mecanismes d’en ada i so ida”, la n´ume o 2, es
de inia com la implemen aci´o dels mecanismes de ges i´o d’excepcions, in e upcions
de ha dwa e i la ges i´o de c ides a sis ema o syscalls. Du an la eali zaci´o d’aques a
asca el p incipal p oblema que ens hem oba i que ha in lu¨ı en l’augmen d’ho es
des inades a es a la al a d’in o maci´o sob e el ema.
Pe implemen a -la s’han e se i eines com el ci cui in eg a UART que ´e una
escassa documen aci´o, e que ha di icul a mol l’ap enen a ge i l’aplicaci´o d’aques .
Tamb´e sob e les in e upcions hi ha hagu di e sos con a emps, ja que el coneixemen
que enia sob e el ema no e a del o p ec´ıs i a cale dedica o ¸ca emps a mi a
33
34 CAP´
ITOL 7. SEGUIMENT
exac amen quin bi al a a pel seu co ec e uncionamen .
To el comen a an e io men ha e que el emps hagi passa de les 60 ho es p e-
es able es, a les 80 ho es que han esul a se de ini i amen .
Respec e a la asca n´ume o 3, “C eaci´o i adap aci´o dels mecanismes de ges i´o de
mem`o ia” ´es on es oba el p ojec e inalmen . L’augmen de les ho es e jus i ica pel
ni ell de la asca, m´es al del que p `e iamen es plan eja a. Aques augmen ha es a
de les 50 p essupos ades a les 80 inals.
En aques a no a aula es eu de inida la plani icaci´o inal del eball de ece ca.
Figu a 7.1: Taula d’ho es pe asca ac uali zada. Fon : Elabo aci´o p `opia
Com podem eu e cla amen , el emps de dedicaci´o es able pe la asca n´ume o 4
d’implemen aci´o de ZeOS en RISC-V s’ha queda edu¨ı a 0. ´
Es pe aix`o que, enca a
que la in enci´o e a comple a la asca acomplin les ma eixes uncions de inides an e-
io men no s’ha aconsegui .
7.1. METODOLOGIA I RIGOR 35
7.1. Me odologia i igo
En elaci´o amb la mane a de eballa no hi ha hagu cap can i espec e a la o -
ma plan ejada a l’inici del p ojec e. Inicialmen , es a conside a necess`a ia una g an
pa de o maci´o i d’ob enci´o de coneixemen s gene als pe pode emba ca -nos en el
p ojec e. Pos e io men , amb´e com s’ha ia comen a a les asques d’implemen aci´o
di ec es semp e comencen amb un ep`as dels con ingu s i una ece ca pe in e ne de
webs con as ades on pode amplia el coneixemen .
7.2. P essupos
Si e no obem cap modi icaci´o en el p essupos o al del p ojec e s´ı que podem
oba modi icacions en el p essupos dedica a cada asca. A causa di ec a de les mo-
di icacions en el emps dedica a di e ses asques el cos d’aques es es eu augmen a
o disminu¨ı al com s’indica en la igu a 7.2.
Figu a 7.2: Cos econ`omic pe asca i subdi isi´o ac uali za . Fon : Elabo aci´o p `opia
A pa d’aques a incid`encia cal ema ca que du an el anscu s del p ojec e no
ens hem oba amb cap mena de p oblema p essupos a i que no s’hagu´es ingu en
comp e abans. Tampoc s’ha hagu de e se i el ons pe imp e is os.
36 CAP´
ITOL 7. SEGUIMENT
7.3. Aspec es legals, lleis i egulacions
7.3.1. Lleis
Un cop ja encamina el p ojec e cal anali za quines lleis i egulacions cal compli
pe no eni cap classe de p oblema legal du an i al inal del p ojec e.
A causa de la na u alesa del nos e p ojec e podem eu e cla amen com una de les
lleis que m´es in luencia po eni sob e un p ojec e no ens a ec a. Pa lem de la Llei
O g`anica de p o ecci´o de dades de ca `ac e pe sonal o LOPD que de ensa la in imi a
i la p i adesa pe sonal de les dades. En el nos e cas al no eni cap mena dades de
ca `ac e sensible ens obem exemp s d’aques a egulaci´o.
P opie a in el·lec ual
Respec e a la p opie a del p ojec e, ens obem ab a¸ca s pe la no ma i a del e-
ball de inal de g au de la Uni e si a Poli `ecnica de Ca alunya:
“La p opie a indus ial i in el·lec ual dels TFG de modali a A es `a egulada pe
la no ma i a ap o ada pel Consell de Go e n (10/10/2008) pe la qual s’ap o a la
con idenciali a , esponsabili a pa imonial i p opie a indus ial i in el·lec ual a la
Uni e si a Poli `ecnica de Ca alunya. D’aques a no ma i a des aquem els pa `ag a s
seg¨uen s ela ius a les in encions i les ob es dels es udian s di igides o coo dinades pel
p o esso a de la UPC:
— . . . co espond `a a la UPC la i ula i a sob e les in encions desen olupades exclu-
si amen pels es udian s si s’ha desen olupa en el ma c d’una ac i i a acad`emica que
hagi es a di igida i/o coo dinada pel p o esso a de la UPC.
— En el cas que el desen olupamen de l’ob a in el·lec ual hagi es a di igida i/o
coo dinada pel p o esso a de la UPC, co espond `a a la UPC la i ula i a dels d e s
d’explo aci´o sob e aques a ob a i l’es udian i el p o esso se an conside a s coau o s
de la ma eixa.
— En cas d’explo aci´o de l’ob a pe pa de la UPC que li suposi un bene ici econ`omic,
l’au o o conjun d’au o s ind an d e a una pa icipaci´o del 50% dels bene icis ne s
ob ingu s.”[21]
Aix´ı doncs, queda de ini cla amen la p opie a del p ojec e i els d e s an pe pa
7.3. ASPECTES LEGALS, LLEIS I REGULACIONS 37
del c eado com de la uni e si a sob e possibles bene icis.
7.3.2. Llicencies
El eball a se i di e ses aplicacions que poden eni equisi s de llic`encies d’´us,
pe `o mai en la u ili zaci´o pe inali a s acad`emiques com ´es el cas nos e. Pe an es-
pec e la possibili a de llic`encies de e ce s in e posan -se en el nos e p ojec e queda
desca ada.
Respec e a la llic`encia que desc iu `a el nos e p ojec e s’ha aco da amb el u o que
se `a una llic`encia de codi obe pe al que qualse ol pe sona pugui aga a el nos e
eball i e -lo se i pe a qualse ol i. Com la in encionali a des del p incipi del p o-
jec e ha es a e una base pe qu`e u u s alumnes o pe sones in e essades en la ma `e ia
puguin ap end e no ind ia cap sen i e se i un al e que no sigui aques a.
La decisi´o de la llic`encia omen a la con ibuci´o de m´es pe sones, ga an eix ans-
pa `encia i omen a el lliu e acc´es al coneixemen .
Cap´ı ol 8
Disseny
Pe al de pode explica el p ocedimen i les solucions p oposades als ep es ma -
ca s a l’inici del p ojec e cal eni en comp e les ca ac e ´ıs iques del sis ema ope a iu.
8.1. Na u alesa de RISC-V
En aques subapa a s’explica an de alladamen les ca ac e ´ıs iques `ecniques de
l’a qui ec u a que de ineix el p ojec e.
Com s’ha esmen a an e io men , RISC-V ´es una a qui ec u a que a conclou e el seu
p oc´es de disseny el 2010 i a eali za el seu public elease el 2011. Va se c eada amb
l’objec iu de desen olupa una ISA (Indus y S anda d A chi ec u e) de codi obe ,
pe me en que qualse ol pe sona pugui accedi al seu coneixemen i e implemen aci´o
sob e ella.
Al es a qui ec u es a eni en comp e pe compa a poden se :
x86/x86-64.´
Es l’a qui ec u a u ili zada en o s els p ocessado s In el i AMD.
Va so i al me ca amb una e si´o de 16 bi s i no a se ins a 1999 quan
a so i la e si´o de 64 bi s. ´
Es l’a qui ec u a m´es comuna a ui en dia. Es `a
desen olupada pe l’emp esa In el. Pe u ili za -la cal paga una llic`encia d’´us[22].
ARM.´
Es l’a qui ec u a majo i `a ia en disposi ius m`obils, aule es i se ido s.
Es `a desen olupada pe l’emp esa ARM Holdings. La se a p ime a e si´o a
so i l’any 1985 i es con inua ac uali zan . Pe u ili za -la cal paga una llic`encia
d’´us.
PIC.´
Es l’a qui ec u a u ili zada en la g an majo ia de mic ocon olado s i amb´e
en sis emes embegu s (embedded sys ems). La se a p ime a e si´o a so i l’any
38
8.1. NATURALESA DE RISC-V 39
1975 i enia 16 bi s d’ins ucci´o.Ac ualmen , enim mol es e sions segons el i-
pus de necessi a s que eque eixi el sis ema. Es `a desen olupada pe l’emp esa
Mic ochip Technology Inc. Pe u ili za -la cal paga una llic`encia d’us[23].
Com ja hem pogu eu e, en compa aci´o amb els seus possibles compa ado s, RISC-V
´es una a qui ec u a jo e i que p esen a un g an can i en el pa adigma a causa de la
se a na u alesa open sou ce.
8.1.1. Filoso ia de RISC-V
Una de les se es ca ac e ´ıs iques p incipals ´es el seu concep e.
RISC-V s´on les sigles de Reduced Ins uc ion Se Compu ing, que ol di “c`alcul de
conjun s d’ins uccions edu¨ı s”. Enca a que el seu nom po no se cla , aques indica
que es basa en la simplici a i l’e ici`encia. Aix`o ho aconsegueix en se i un pe i
nomb e d’ins uccions que e ec uen cada ope aci´o.
Aix`o con as a adicalmen amb la il`oso a d’al es a qui ec u es del me ca , com x86
o ARM, que s´on majo i `a iamen CISC. CISC, o Complex Ins uc ion Se Compu ing,
de ineix un g an nomb e d’ins uccions que ens acili a eali za m´es d’una ope aci´o
pe ins ucci´o.
Aques a di e `encia es adueix en di e ses ca ac e ´ıs iques a l’ho a d’execu a codi.
En el cas de les a qui ec u es amb iloso ia RISC oba ´ıem majo i `a iamen una ins-
ucci´o pe cicle. Aix`o ´es degu al e que les ins uccions s´on simples, la qual cosa
eque eix m´es mem`o ia, pe qu`e es necessi en m´es ins uccions pe eali za la ma eixa
uncionali a . A m´es, necessi a m´es RAM[22].
En can i, les a qui ec u es amb iloso ia CISC enen un nomb e d’ins uccions pe
cicle m´es a iable, amb ins uccions m´es complexes. A conseq¨u`encia, s´on m´es e icien s
en e mes de mem`o ia, ja que ocupen menys espai i u ili zen la RAM de mane a m´es
e icien [24].
Una al a ca ac e ´ıs ica, enca a que no s’explo a dins del p ojec e, ´es la possibili a de
c ea ins uccions dins l’a qui ec u a sense modi ica la base. Les ins uccions es an
o gani zades en di e en s componen s, una base essencial que inclou o es les ins uc-
cions m´es comunes i al es ex ensions m´es espec´ı iques que pe me en inco po a no es
uncionali a s. Aix´ı doncs, el que o e eix RISC-V ´es la possibili a de c ea ins uccions
de `acil in eg aci´o que o e eixin inali a s m´es espec´ı iques no incloses pe de ec e.
Aques pun ´es di e encial g `acies al e que pe me escala de pe i s mic ocon olado s
40 CAP´
ITOL 8. DISSENY
a supe compu ado s, g `acies a la possibili a d’es end e el conjun d’ins uccions.
8.1.2. Regis es
Un al e componen impo an de l’a qui ec u a ´es com s’emmaga zema i es ac a
la in o maci´o. A RISC-V obem di e sos egis es di e en s segons la se a inali a .
Podem oba 32 egis es d’en e s i 32 de coma lo an .
Dins d’aques s 32 egis es d’en e s obem:
x0: Regis e codi ica semp e a 0
a: Re u n add ess egis e . En aques egis e es oba `a la di ecci´o de o nada
es able a pe la unci´o que a la c ida.
sp: S ack poin e egis e . En aques egis e oba em un pun e a la pila de
dades.
gp: Global poin e egis e . Aques egis e es a se i pe accedi a a iables
globals, se eix com a e e `encia pe accedi a dades globals amb un pe i des-
pla¸camen .
p: Th ead poin e egis e . Aques egis e es a se i pe accedi a a iables
d’un ma eix h ead, d’un ma eix il en un en o n amb m´es d’un il d’execuci´o.
0- 6: Tempo a y egis e s. S´on egis es empo als que se eixen pe ges iona
alo s.
a0-a7: A gumen egis e s. Regis es que es an se i pe passa pa `ame es
en e uncions.
s0-s11: Sa ed egis e s. Regis es pe gua da dades en e c ides a uncions, no
es poden modi ica dins de c ides i en cas que es modi iquin s’ha de es au a el
seu con ingu .
Tamb´e disposem de 32 a iables de ipus coma lo an , pe qu`e com s’explica `a m´es
enda an , dins del p ojec e obem l’ex ensi´o F que inclou aques es a iables. T obem
aques ipus de a iables de coma lo an :
0- 11: Tempo a y egis es. Regis es empo als de coma lo an .
s0- s11: A gumen egis e s. Regis es que es an se i pe passa pa `ame es
en coma lo an .
8.1. NATURALESA DE RISC-V 41
a0- a7: Sa ed egis e s. Regis es pe gua da dades en coma lo an en e c ides
a uncions, no es poden modi ica dins de les c ides i en cas que es modi iquin
s’ha de es au a el seu con ingu .
Cal des aca que du an el p ojec e no s’u ili zen dades en o ma coma lo an , o i
que ´es una ca ac e ´ıs ica in eg ada al sis ema ope a iu.
8.1.3. Ni ell de p i ilegis
Una ca ac e ´ıs ica p `opia de cada a qui ec u a ´es la ges i´o dels ecu sos i dels pe -
misos pe ga an i la segu e a del sis ema.
En RISC-V, quan un codi es `a en execuci´o, ´e de ini en un ni ell de p i ilegi se-
gons s’hagi es able . Els ni ells de p i ilegis i la se a codi icaci´o es mos en a la igu a
8.1. Aques s ni ells se eixen pe limi a en o momen les uncions que un p oc´es
po execu a .
Figu a 8.1: Ni ells de p i ilegis de RISC-V [25].
El ni ell m´es al ´es el machine. Aques mode s’u ili za p incipalmen pe a l’a an-
cada del sis ema i les con igu acions inicials, com en el nos e cas, ja que es ecomana
e -ne el m´ınim ´us possible a causa que posseeix o s els pe misos. El ni ell supe iso
´es on no malmen s’execu a o el sis ema ope a iu i inalmen , al ni ell m´es baix o-
bem el d’usua i on obem p ocessos inals sense p i ilegis.
Dins de l’a qui ec u a amb´e obem un al e ni ell que es diu Hype iso . S’u ili za
en l’en o n de la i uali zaci´o, pe me en que di e sos sis emes ope a ius s’execu in
de o ma concu en dins d’una ma eixa m`aquina ´ısica.
48 CAP´
ITOL 8. DISSENY
En aques aspec e RISC-V o e eix es opcions:
Ins uccions de 32 bi s
Ins uccions de 64 bi s
Ins uccions de 128 bi s
Des del p incipi, l’opci´o de 128 bi s pe ins ucci´o a queda desca ada, ja que no es
oba gai e es esa dins del m´on de les a qui ec u es d’o dinado s. Pe an , la decisi´o
es oba a en e 32 i 64 bi s. Inicialmen , es a conside a l’opci´o de e se i l’a -
qui ec u a de 32 bi s pe qu`e implicada un ni ell de simplici a supe io , pe `o aques
mo iu no es a conside a p ou de e minan .
Pe p end e la decisi´o inal, es an eni en comp e dos ac o s: quina ´es la mida
m´es es esa en e la g an majo ia d’o dinado s del me ca i quina mida u ili za ZeOS
pe implemen a la se a e si´o en x86. La espos a a o s dos plan ejamen s indica a
64 bi s pe ins ucci´o, i aix´ı es a de ini .
8.2.2. Se d’ins uccions
Quan am decidi la mida d’ins ucci´o, la seg¨uen decisi´o a p end e e a quin conjun
d’ins uccions escolli . Com s’ha comen a an e io men , una de les ca ac e ´ıs iques
que o e eix RISC-V ´es la se a modula i a . O e eix un conjun d’ins uccions que con-
side en b`asiques pe qualse ol ISA, pe `o amb´e o e eixen paque s d’ins uccions que
cada usua i po escolli si ol a egi -les a la se a implemen aci´o.
To i se una decisi´o p esa a l’inici del p ojec e, es a conside a en aga a un con-
jun d’ins uccions o ¸ca ampli pe qu`e en cap cas ens limi es en un u u . Aix´ı doncs,
dins dels paque s d’ins uccions de RISC-V que o e eix, es a decidi aga a el paque G.
Aques paque amb el nom RV64G su de combina di e sos conjun s di e en s en e
els quals des aca ´ıem:
RV64I, Base In ege Ins uc ion Se Aques conjun d’ins uccions imple-
men a ope acions en e en e s, ope acions de c`a ega i emmaga zema de alo s
i la in e acci´o amb egis es de con ol.
RV64M, S anda d Ex ension o In ege Mul iplica ion and Di ision
Aques conjun d’ins uccions implemen a uncions de mul iplicaci´o i di isi´o en e
egis es.
8.2. DECISIONS D’ARQUITECTURA PRESSES 49
RV64A, S anda d Ex ension o A omic Ins uc ions Aques conjun
d’ins uccions implemen a ope acions de mem`o ia a `omica.
RV64F S anda d Ex ension o Single-P ecision Floa ing-Poin Aques
conjun d’ins uccions implemen a uncions amb egis es de coma lo an .
RV64D S anda d Ex ension o Double-P ecision Floa ing-Poin Aques
conjun d’ins uccions implemen a uncions amb egis es de doble p ecisi´o de
coma lo an .
D’aques a mane a, es a conside a que, amb aques es no es implemen acions a egides
a les ja o e es pe de ec e pe l’a qui ec u a RISC-V, es pod ia implemen a el eball
sense cap limi aci´o `ecnica.
8.2.3. Mida mem`o ia i ual
Un dels objec ius del p ojec e des del seu inici ´es implemen a un sis ema de
mem`o ia i ual uncional. Pe an , es a ha e de decidi quines ca ac e ´ıs iques
ind ia i com es pod ia implemen a segons els m`e odes de RISC-V.
Com s’ha comen a an e io men , es eballa `a amb una a qui ec u a de 64 bi s. Dins
d’aques a a qui ec u a RISC-V ens o e eix di e sos ipus de o ma s de mem`o ia i -
ual:
S 39: Page-Based 39-bi Vi ual-Memo y Sys em
S 48: Page-Based 48-bi Vi ual-Memo y Sys em
S 57: Page-Based 57-bi Vi ual-Memo y Sys em
La di e `encia en e cadascuna d’aques es opcions o e es ´es el nomb e de bi s que enen
les ins uccions i uals i, a conseq¨u`encia, l’espai de mem`o ia que es po e u ili za .
Pe exemple, s 39 o e eix ad eces de ins a 39 bi s i, pe an , ´e un espai de mem`o ia
de ins a 512 gigaby es.
Les al es opcions nom´es es di e encien de s 39 pel nomb e de bi s d’ad e¸ca i ual.
Pe an , enin en comp e la na u alesa i la inali a del p ojec e, a egi nomb e de bi s
pe ad e¸ca i ual i de l’espai i ual no apo a a cap a an a ge signi ica iu al p ojec e.
Aix´ı doncs, la decisi´o escollida a se implemen a mem`o ia i ual s 39.
50 CAP´
ITOL 8. DISSENY
8.2.4. Ges i´o de pe misos
Una al a decisi´o que es a ha e de p end e ´es quins ni ells de p i ilegis es an
se i i pe qu`e s’u ili za an.
En el cas de ZeOS-V, es a an se i es ni ells de p io i a s: el ni ell machine, supe -
iso i usua i, cadascun amb uncionali a s de e minades. El ni ell machine s’u ili za `a
pe eali za el p oc´es d’a ancada i la con igu aci´o inicial; el ni ell supe iso es a `a
se i pe al sis ema ope a iu; i, inalmen el ni ell usua i se `a pe les u u es aplicaci-
ons que ingui el p og ama.
El ni ell hype iso que o e eix RISC-V s’ha decidi no e se i en cap momen ,
ja que no s’implemen a cap d’eina de i uali zaci´o.
8.2.5. Se ei de Vi uali zaci´o QEMU
L’´ul ima decisi´o a p end e e a com execu a el nos e codi. Com no enim cap mena
de ha dwa e ´ısic p essupos a pe execu a el p og ama, es a ha e d’anali za quina
opci´o de i uali zaci´o se ia la millo . Desp ´es d’una ce ca, es an oba les seg¨uen s
opcions:
QEMU ´
Es un simulado pe excel·l`encia de RISC-V. Po simula CPUs de 32 o
64 bi s, o e eix di e en s ipus de plaques segons les necessi a s de cada p ojec e.
Tamb´e o e eix un i mwa e que eali za el p oc´es d’a ancada sense in e acci´o de
l’usua i, anomena OpenSBI[26].
Spike ´
Es un p og ama i de desen olupamen dissenya pe p o a aplicacions
Linux. Amb el seu ´us es po con igu a plaques i uals simulan el m´on eal
i o e eix mol es pe sonali zacions pe assembla -se a aques . O e eix un se ei
d’implemen aci´o de no es ins uccions i egis es de con ol[27].
Renode ´
Es un emulado d’en o ns i uals pe a sis emes amb capaci a pe
emula un en o n p oduc iu de RISC-V. P opo ciona eines pe selecciona qui-
na ISA es ol e se i i acili a la c eaci´o de no es ins uccions i egis es de
con ol[28].
Donades aques es opcions i anali zan els a an a ges i incon enien s, es a decidi e
se i l’aplicaci´o QEMU com a emulado d’una placa ´ısica on s’execu ´es el p og ama.
Les ca ac e ´ıs iques que m´es des aquen de QEMU poden se el g an nomb e d’usua is
i con ibu¨ıdo s ac ius, la se a al a capaci a de con igu aci´o pe pe me e la pe sona-
li zaci´o de l’en o n, la compa ibili a amb el debbuge GDB pe pode inspecciona
8.2. DECISIONS D’ARQUITECTURA PRESSES 51
i anali za l’es a del p og ama en qualse ol momen , en e d’al es. Tamb´e cal des-
aca , que un dels p incipals a an a ges compe i ius dels al es dos so wa e e a els
mecanismes que o e ien pe c ea no es ins uccions o egis es de con ol i aques a
uncionali a s’allunya de la inali a del p ojec e.
Cap´ı ol 9
Implemen aci´o
El codi de ZeOS-V es `a di idi en dues seccions: una p ime a on s’implemen en o-
es les uncionali a s del sis ema i una al a secci´o on es oba el codi a ni ell d’usua i.
Aques a di isi´o ´es necess`a ia pe pode iden i ica on es oba el nos e codi d’usu-
a i, ja que ´es essencial sabe quina ´es la se a ubicaci´o en la mem`o ia, pe m´es enda an
e se i aques coneixemen du an la con igu aci´o de la mem`o ia i ual.
En aques apa a s’explica an i jus i ica an o es les implemen acions que de codi
que s’han eali za du an el p ojec e.
9.1. O gani zaci´o del codi
Les solucions es oben implemen ades en i xe s de codi. Aques codi es oba en
dos llengua ges de p og amaci´o di e en s. T obem i xe s en llengua ge C pe a codi
d’al ni ell i i xe s en llengua ge assemble que se eixen pe e ec ua ope acions di ec-
amen connec ades amb el ha dwa e. La desc ipci´o de cada i xe es mos a esumida
a la aula 9.1
A m´es dels i xe s de codi, amb´e obem i xe s d’enlla¸c que se eixen pe de ini
l’o gani zaci´o de l’espai de mem`o ia segons les nos es necessi a s. Com enim dos
execu ables inicialmen independen s en e si, hi ha dos i xe s d’enlla¸c: boo sec V.ld
on es desc iu l’espai de mem`o ia del codi de sis ema, i use V.ld, on es desc iu l’espai
de mem`o ia del codi d’usua i.
52
9.2. SISTEMA DE C `
ARREGA DEL SO 53
Fi xe Desc ipci´o/Funci´o
boo sec V.ld Sc ip d’enlla¸c a ni ell de sis ema.
boo sec V.S Fi xe d’a ancada del sis ema.
build.c Codi que ajun a la pa de sis ema amb la pa d’usua i.
in e up Handle .c Implemen aci´o les in e upcions.
in e up .S Ges i´o d’in e upcions.
main.c Fi xe a ni ell usua i.
Make ile Sc ip de compilaci´o.
ges iodememo ia.c Ges i´o i implemen aci´o d’eines de mem`o ia.
memo ia i ual.c Ges i´o i implemen aci´o de uncions de mem`o ia i ual.
p i ileges.S Funcions de can i de p i ilegis.
sys emV.c Fi xe on s’iniciali zen o es les uncions de ZeoS.
ua .S Codi on s’implemen a l’esc ip u a pe consola.
use V.ld Sc ip d’enlla¸c a ni ell d’usua i.
u ils.c Fi xe on es oben di e ses uncions ´u ils.
Taula 9.1: Taula de i xe s. Fon : elabo aci´o p `opia
9.2. Sis ema de c`a ega del SO
Tal com es a de ini a l’inici, aques a asca emba ca la implemen aci´o co ec a i
les adap acions necess`a ies pe e que el sis ema ope a iu a anqui.
A l’inici del p ojec e es gene en els dos i xe s execu ables amb nom boo secV iuse V.
Aques s i xe s, que ep esen en les dues pa s del p ojec e, es gene en amb dues e a-
pes: la compilaci´o i l’enlla¸c. En p ime lloc, es compilen. En segon lloc, es inculen
amb el i xe d’enlla¸c i inalmen , es c een els i xe s bina is.
La c eaci´o de dos i xe s en lloc d’un sol es deu a la manca d’un sis ema de i xe s
implemen a en ZeOS-V. Aix`o implica que ´es necessa i ca ega ambd´os bina is a
mem`o ia pe pode -los execu a m´es a d. Aques en ocamen pe me la ansici´o del
bina i de sis ema al bina i d’usua i.
En abs`encia d’un sis ema de i xe s, el p oc´es d’a encada del sis ema ope a iu ZeOS-V
es eu obliga a ca ega inicialmen el i xe del sis ema. Aques i xe del sis ema
con ´e els componen s essencials pe a l’inici del sis ema ope a iu. No obs an aix`o,
sense la c`a ega p `e ia del i xe d’usua i a mem`o ia, el sis ema ope a iu no ind ia
mane a de locali za i execu a aques segon bina i, el qual con ´e les aplicacions i se -
eis des ina s a l’usua i inal.
54 CAP´
ITOL 9. IMPLEMENTACI ´
O
El p oc´es d’ajun a el i xe de sis ema amb el i xe d’usua i ´es mol simila a com
ho eia ZeOS, u ili zan el codi de build.c, pe `o en aques cas adap a a les nos es
necessi a s. En el cas del ZeOS, combina a en un sol execu able un i xe d’a encada,
el i xe de sis ema i el i xe d’usua i. En el cas de ZeOS-V, les uncions del i xe
d’a ancada p `opies de x86 no s´on necess`a ies en RISC-V, pe an , es poden ome e.
Resumin , el i xe build.c ep com a pa `ame es els noms dels dos i xe s execu a-
bles c ea s an e io men . Aques els ob e, mos a la mida pe consola i desp ´es esc iu
aques a in o maci´o a l’inici d’un nou i xe . Aques nou i xe es a `a o ma pel con-
ingu dels dos execu ables an e io s combina s i s’anomena `a ZeOS-V.
Aix´ı doncs, desp ´es de la c eaci´o del i xe inal, la dis ibuci´o del i xe esul an
queda ia segons la igu a 9.1:
Figu a 9.1: Con ingu del i xe zeosV. Fon : Elabo aci´o p `opia
Un cop c ea el i xe , podem p ocedi a execu a -lo. Com ja s’ha jus i ica , u i-
li zem l’eina de i uali zaci´o QEMU. Aques a eina s’enca ega del p oc´es d’iniciali -
zaci´o del sis ema, emula l’en o n d’una placa amb l’a qui ec u a RISC-V i comen¸ca
9.2. SISTEMA DE C `
ARREGA DEL SO 55
a execu a el codi que obi a l’ad e¸ca de mem`o ia ´ısica 0x80000000. P e i al i xe
boo sec o V.ld, hem de ini que l’en ada al sis ema es a `a en l’e ique a en y.
Aques i xe , que o ma pa del p oc´es de c`a ega del sis ema ope a iu, con ´e les
ins uccions a ni ell d’assemblado necess`a ies pe iniciali za co ec amen el sis ema.
Quan s’execu a el i xe ZeOS-V i a enca el sis ema, aques s’iniciali za a ni ell
m`aquina, sal a a l’e ique a en y i el p ime que a ´es a an¸ca dues posicions de
mem`o ia. Aix`o ´es a causa que, en aquelles posicions, du an l’execuci´o de build.c,
s’ha esc i la mida de la mem`o ia del sis ema i de l’usua i. Pos e io men , assigna
l’ad e¸ca de mem`o ia a la qual apun a `a el s ack poin e . Aques a ad e¸ca es `a de inida
en el i xe sys emV.c i es `a alineada a ni ell de p`agina.
_en y:
j _ ealen y
heade :
nop
nop
_ ealen y:
la sp, s ack
li a2, 1024*4
add sp, sp, a2 #sp apun a al inal del s ack
A con inuaci´o, es desac i a la mem`o ia i ual ins que es con igu i i es eali zin les
con igu acions necess`a ies pe a les in e upcions. Un al e pas essencial, abans de can-
ia de ni ell ´es assigna el ni ell de p o ecci´o de la mem`o ia. Pe de ec e, en RISC-V,
la mem`o ia es `a p o egida de mane a que nom´es es po u ili za en ni ell machine. No
obs an aix`o, g `acies als egis es pmpc g ipmpadd , podem modi ica aix`o i pe me e
l’´us de mem`o ia en ni ell supe iso .
li a0, 0x0
cs w sa p, a0 #desac i em la paginacio
li a0, 0x3
cs w pmpadd 0, a0 #asignem o el ang d’ad eces al g up 0
li a0, 0x0
cs w pmpc g0, a0 #asignem els pe misos NAPOT RWX
El p oc´es pe sal a del ni ell m`aquina al ni ell supe iso ´es el seg¨uen : al egis e de
con ol mepc se li assigna l’ad e¸ca de mem`o ia on es oba la p ime a ins ucci´o que o-
lem que s’execu i en ni ell supe iso . Esc i im el can i de ni ell ac i an di e sos bi s
56 CAP´
ITOL 9. IMPLEMENTACI ´
O
al egis e d’es a ms a us i con i mem el sal a supe iso execu an la ins ucci´o m e .
Els bi s que cal ac i a del egis e d’es a ms a us s´on els bi s MPP. Aques s bi s
indiquen a quin ni ell de p io i a sal a a quan abandoni el ni ell machine. Aix´ı doncs,
assignem a MPP el alo 01 que ´es la codi icaci´o de supe iso com es mos a a la
aula 8.1. Pe comple a el sal execu em la comanda m e que ac uali za l’es a del
p og ama amb el alo con ingu a MPP.
li 0, 0x1800
cs c ms a us, 0 #ne ejem els bi s MPP
li 0, 0x800
cs w ms a us, 0 #de inim els bi s MPP amb ni ell supe iso
la 0, s a _ke nel
cs w mepc, 0 #li diem on ol que sal i al m e
Finali zada aques a asca, ens obem amb un sis ema que engega, iniciali za el s ack
i sal a a ni ell supe iso .
´
Es en aques momen quan el p og ama sal a a la unci´o indicada pel CSR mepc.
Aques a unci´o s’enca ega d’iniciali za o es les asques del sis ema ope a iu. T o-
bem la u ina d’iniciali zaci´o de la mem`o ia i ual amb les se es c ides espec i es
i, amb´e, l’ac i aci´o d’aques a. Com a pun inal, en el i xe podem oba la unci´o
use mode, que en cas de comple a la asca de mem`o ia i ual, es `a p epa ada pe
sal a a ni ell usua i en c ida -la.
9.3. Mecanismes d’en ada i so ida i ges i´o d’in-
e upcions
En aques apa a s’explica com es eali za l’esc ip u a pe consola i com es ges i-
onen les in e upcions.
9.3.1. Mecanisme d’esc ip u a
El mecanisme d’esc ip u a es oba basa en UART, que s´on les sigles d’Uni e sal
Asynch onous Recei e -T ansmi e . Segons la se a de inici´o, UART ´es un p o ocol
ha dwa e que a se i comunicaci´o se ial as´ınc ona amb una eloci a d’en iamen de
9.3. MECANISMES D’ENTRADA I SORTIDA I GESTI ´
O D’INTERRUPCIONS 57
dades con igu able. El e que sigui as´ınc ona implica que no necessi a cap senyal de
ello ge pe sinc oni za la so ida amb l’en ada a l’al e disposi iu[29].
En el cas del p ojec e s’ha ac i a l’esc ip u a de mane a as´ınc ona, esc i in el a-
lo que olem mos a pe pan alla a la posici´o 0x10000000L. Aques a posici´o ´es on
es oba la base de UART i, en esc iu e con ingu en aques a posici´o de mem`o ia, es
mos a pe consola. Aix´ı doncs, g `acies al codi de la unci´o p in al i xe ua .S podem
eali za esc ip u es. Aques es es eali zen a ni ell de ca `ac e , si olem esc iu e algun
ca `ac e num`e ic s’hau `a de adui . Pe eali za la aducci´o obem la unci´o i oahex
del i xe u ils.c.
9.3.2. Con igu aci´o i ges i´o d’in e upcions
RISC-V ´e les in e upcions desac i ades pe de ec e i, quan s’ac i en es oben
ges ionades pel ni ell m´es al de p i ilegis.
Pe ac i a les in e upcions, cal e -ho en el ni ell que olem que succeeixin i, s´ı
aques no ´es ni ell machine delega -la. Aix´ı doncs, al i xe boo sec V.S delegem o-
es les in e upcions a ni ell supe iso , excep e la ime in e up i ac i em aques a
´ul ima a ni ell machine, esc i in el egis e de con ol mie. Pos e io men , ac i em la
in e upci´o de so wa e i l’ex e na a ni ell supe iso , ac i an els bi s al egis e de
con ol sie.
li 0, 0x80 #ac i em les in e upcions de
cs w mie, 0 # ello ge a ni ell machine
li a0, 0x0 #de inim la delegacio
cs w mideleg, a0 #d’in e upcions i excepcions
li a0, 0x
cs w medeleg, a0
li 0, 0x022 #ac i em la ex e nal
cs w sie, 0 #i so wa e in e up
Les in e upcions es delegen pe qu`e olem que el ac amen d’aques es el eali zi el
sis ema ope a iu que es oba en ni ell supe iso . La in e upci´o de emps, en can i,
pe la na u alesa del sis ema, ja que nom´es ´e a iables de ipus machine, com s´on
m ime i m imecmp, semp e sal a en ipus machine. Pe aix`o cal en ia una so wa e
in e up a ni ell supe iso pe qu`e la ges ioni el sis ema ope a iu.
64 CAP´
ITOL 9. IMPLEMENTACI ´
O
P ime cald ia implemen a una unci´o que c ees un p oc´es di e en del que es `a co -
en s, iniciali zes una aula de p`agines i li dones un espai de mem`o ia en e d’al es.
Pos e io men pe pode can ia de p ocessos cald ia implemen a una unci´o que gua -
des l’es a del p oc´es ac ual, can ies la aula de p`agines pe la p `opia del p oc´es i quan
es eali zessin els can is sal es a l’ad e¸ca indicada.
Cap´ı ol 10
Conclusi´o i eball u u
En aques apa a es esumi an els esul a s i la eina e a du an el eball de i de
g au.
10.1. Conclusi´o
En aques p ojec e es p e enia implemen a els seg¨uen s aspec es en l’a qui ec u a
RISC-V
Du an la du ada d’aques p ojec e s’ha aconsegui ob eni i implemen a de la o ma
espe ada el sis ema de c`a ega i els mecanismes d’en ada i so ida i excepcions. No
obs an aix`o, la implemen aci´o dels mecanismes de ges i´o de mem`o ia no s’ha pogu
comple a o almen , i a conseq¨u`encia els mecanismes de ges i´o de p ocessos ampoc.
La asca del sis ema de c`a ega es conside a o almen assolida, obem un sis-
ema ope a iu que engega, iniciali za di e en s camps pel seu co ec e uncionamen i
sal a al sis ema ope a iu. Pe an , aques objec iu ha es a comple amen eali za .
Pel que a als mecanismes d’en ada, s’ha implemen a el p o ocol UART, que
pe me esc iu e con ingu pe consola, acili an aix´ı la comunicaci´o del sis ema ope-
a iu amb l’usua i inal. Les in e upcions amb´e s’han aconsegui iniciali za , de ini
el seu ac amen i ges iona al com es a p oposa . Pe an , aques objec iu es po
conside a comple .
Els mecanismes de ges i´o de mem`o ia in oluc a en la iniciali zaci´o i posada en un-
cionamen de la mem`o ia i ual. Aques a asca ha es a m´es complexa del que es a
p e eu e a l’inici del p ojec e i ha necessi a una dedicaci´o majo de la p essupos ada.
Enca a, o i aix`o, no s’ha aconsegui inali za o el p oc´es i no unciona de la mane a
espe ada.
65
66 CAP´
ITOL 10. CONCLUSI ´
O I TREBALL FUTUR
Aques si uaci´o ha desencadena en qu`e no os possible dedica el emps necessa i
pe desen olupa els mecanismes de ges i´o de p ocessos. Es a decidi que ins que
no es comple ´es la asca an e io , no es comen¸ca ia la seg¨uen . Aix´ı doncs, enca a la
ges i´o de p ocessos no dep`en de la mem`o ia i ual, no s’ha pogu dedica emps i, pe
an , no es `a iniciali zada.
Fo a d’aques s objec ius `ecnics el p ojec e amb´e enia ma ca la inali a d’aconse-
gui un eball amb un codi llegible i una mem`o ia d’on es pogu´es ap end e i omen a
el coneixemen . Conside o que aques objec iu s’ha aconsegui d’una o ma no able,
ja que s’han dedica mol s es o ¸cos, i aix´ı es eu e lec i . D’aques a mane a es po
conside a que ZeOS-V ´es una base sob e la qual ´es ela i amen senzill eballa i que
disposa d’una bona documen aci´o que l’acompanya.
To i aques s con a emps, es po conside a que la alo aci´o inal del p ojec e ”Po -
ing ZeOS o RISC-V ”´es posi i a. Du an aques p ojec e s’ha aconsegui e un po
uncional que po se la base a millo a pe qu`e esde ingui una eina educa i a.
Pe sonalmen , alo o mol posi i amen el esul a del eball, ja que aques m’ha
obliga a ap end e i oba solucions a p oblemes cada dia, i m’ha o ¸ca adqui i un
coneixemen mol ex ens no nom´es de l’a qui ec u a RISC-V que no disposa a a l’inici
d’aques .
10.2. T eball u u
Com en o p ojec e, ZeOS-V ´e la possibili a de con inua c eixen , i pe aix`o es
poden de ini di e ses b anques cap on con inua al u u .
El cam´ı m´es l`ogic ´es inali za les asques p oposades que, pe di e ses limi acions
de emps no s’han pogu comple a . Els p ime s passos se ien inali za la implemen-
aci´o de la mem`o ia i ual i aconsegui implemen a o s els mecanismes de ges i´o de
p ocessos que s’ha ien plan eja inicialmen .
En aconsegui aques es bases, s’assoli ia l’objec iu inal del p ojec e: p opo ciona
una eina que acili i l’ap enen a ge de sis emes ope a ius i la se a a qui ec u a pe als
alumnes de la Facul a d’In o m`a ica de Ba celona.
Al es possibles l´ınies de eball sob e ZeOS-V inclouen la c eaci´o d’un sis ema de
i xe s, la implemen aci´o de c ides al sis ema o ecalls i la implemen aci´o d’eines com
o k pe pe me e l’execuci´o simul `ania de di e sos p ocessos.
Bibliog a ia
[1] Ja ie Ma quez. RISC-V acaba de consegui el apoyo de cinco emp esas de p ime
ni el pa a compe i con ARM: es e es el... 14 d’ag. de 2023. u l:h ps://
www.xa aka.com/componen es/ isc- - acaba- consegui - apoyo- cinco-
emp esas-p ime -ni el-pa a-compe i -a m-es e-plan (cons. 05-03-2024).
[2] Juan Jos´e Cos a P a s. Sis emes Ope a ius 2. 2023. u l:h ps://docencia.
ac.upc.edu/FIB/g au/SO2/ (cons. 27-02-2024).
[3] Alex Pajuelo i Juanjo Cos a. Sis emes Ope a ius A an¸ca s. 2023. u l:h ps:
//docencia.ac.upc.edu/FIB/g au/SOA/ (cons. 27-02-2024).
[4] Daniel A g¨uello, Higinio Facchini i San iago P´e ez. An´alisis y Simulaci´on de p o-
cesado es RISC-V en pla a o ma ISA abie a. Ab . de 2021. (Cons. 05-03-2024).
[5] Tecnologies de la in o maci´o.u l:h ps://www. ib.upc.edu/ca/es udis/
g aus/g au-en-enginye ia-in o ma ica/pla-des udis/especiali a s/
ecnologies-de-la-in o macio (cons. 05-03-2024).
[6] Albe Segu a Sal ado . “Po de zeOS a a qui ec u a ARM: Raspbe y pi”.
Tesi doc . UPC, Facul a d’In o m`a ica de Ba celona, juny de 2014. u l:h p:
//hdl.handle.ne /2099.1/23494.
[7] ARM/Raspbe yPi - Ubun u Wiki.u l:h ps : / / wiki . ubun u . com / ARM /
Raspbe yPi (cons. 07-03-2024).
[8] “XV6: a simple, unix-like eaching ope a ing sys em”. A: pdos.csail.mi . (31 d’ag.
de 2020). u l:h ps://pdos.csail.mi .edu/6.S081/2020/x 6/book- isc -
e 1.pd .
[9] Yolanda Bece a, Juan Jos´e Cos a i Alex Pajuelo. Zeos. 2023. u l:h ps :
/ / docencia . ac . upc . edu / FIB / g au / SOA / documen s / Zeos . pd (cons.
27-02-2024).
[10] Sh eyas Sha ma. RISC-V A chi ec u e: A Comp ehensi e Guide o he Open-
Sou ce ISA. 6 de ma ¸c de 2024. u l:h ps://www.we ol e .com/a icle/
isc- -a chi ec u e-a-comp ehensi e-guide- o- he-open-sou ce-isa.
67
68 BIBLIOGRAFIA
[11] RISC-V, c´odigo abie o pa a ans o ma adicalmen e la indus ia de los chips.
27 de gen. de 2023. u l:h ps://www. echnology e iew.es/s/15050/ isc-
-codigo-abie o-pa a- ans o ma - adicalmen e-la-indus ia-de-
los-chips (cons. 27-02-2024).
[12] Welcome o QEMU’s documen a ion! — QEMU documen a ion.u l:h ps:
//www.qemu.o g/docs/mas e / (cons. 18-03-2024).
[13] Alba O iz. Monday: ¿qu´e es y pa a qu´e si e? 12 d’ab . de 2023. u l:h ps:
//www.inboundcycle.com/blog-de-inbound-ma ke ing/monday-que-es-
pa a-que-si e (cons. 07-03-2024).
[14] F ankie Flo es. Qu´e es Visual S udio Code y qu´e en ajas o ece. 13 d’ab .
de 2023. u l:h ps://openwebina s.ne /blog/que-es- isual-s udio-
code-y-que- en ajas-o ece/ (cons. 07-03-2024).
[15] Y´ubal Fe n´andez. Qu´e es Gi hub y qu´e es lo que le o ece a los desa ollado es.
u l:h ps://www.xa aka.com/basics/que-gi hub-que-que-le-o ece-a-
desa ollado es (cons. 07-03-2024).
[16] P `ac iques en emp esa.u l:h ps : / / www . ib . upc . edu / ca / emp esa /
p ac iques-en-emp esa (cons. 06-03-2024).
[17] G `a ica i G `a ica. ¿Cu´an o du a ealmen e u o denado ? Cla es pa a maxi-
miza su ida ´u il po Jo di Ga c´ıa de Kings on. 16 de no . de 2023. u l:
h ps://g a ica.in o/cuan o-du a- ealmen e- u-o denado -cla es-
pa a-maximiza -su- ida- u il-po - jo di-ga cia-de-kings on/ (cons.
11-03-2024).
[18] Concha Molina. ¿Cu´an o Consumo el O denado ? Sal de dudas. 13 de des. de 2023.
u l:h ps : / / ganaene gia . com / blog / cuan o - consume - un - o denado /
(cons. 11-03-2024).
[19] Espa˜na - P ecios de la elec icidad de los hoga es 2023.u l:h ps://da osmac o.
expansion.com/ene gia-y-medio-ambien e/elec icidad-p ecio-hoga es/
espana (cons. 11-03-2024).
[20] EDINSOST, p ojec e dinno aci´o educa i a.u l:h ps://is.upc.edu/ca/
no icies/edinsos -p ojec e-dinno acio-educa i a (cons. 10-03-2024).
[21] No ma i a TFG FIB. 29 de gen. de 2020. u l:h ps://www. ib.upc.edu/
si es/ ib/ iles/documen s/es udis/no ma i a- g-mencio-addicional-
gei.pd (cons. 23-05-2024).
[22] Ga in W igh . X86-64. 13 de no . de 2023. u l:h ps://www. ech a ge .
com/wha is/de ini ion/x86-64 (cons. 01-06-2024).
[23] Ma k Reynolds. 8-bi PIC®MCUs - De elope Help.u l:h ps://de elope help.
mic ochip . com / xwiki / bin / iew / p oduc s / mcu - mpu / 8bi - pic/ (cons.
02-06-2024).
BIBLIOGRAFIA 69
[24] Geeks o Geeks. RISC and CISC in compu e o ganiza ion. 13 de ma ¸c de 2024.
u l:h ps://www.geeks o geeks.o g/compu e -o ganiza ion- isc-and-
cisc/ (cons. 01-06-2024).
[25] The RISC-V Ins uc ion Se Manual, Volume II: P i ileged A chi ec u e, Do-
cumen e sion 20211203. Vol. 2. And ew Wa e man, K s e Asano i´c, i John
Hause , des. de 2021. u l:h ps : / / ools . cloudbea . u / docs / isc -
p i ileged-1.12-20211203.pd .
[26] RISC-V Sys em emula o — QEMU documen a ion.u l:h ps://www.qemu.
o g/docs/mas e /sys em/ a ge - isc .h ml (cons. 12-06-2024).
[27] 1.1. RISC-V Cus omiza ion — RISC-V Spike SDK la es documen a ion.u l:
h ps:// ss- doc. ead hedocs.io/en/la es /Cus omiza ion/RISC- V-
Cus omiza ion.h ml (cons. 12-06-2024).
[28] Con igu ing a RISC-V CPU - Renode - documen a ion.u l:h ps:// enode.
ead hedocs.io/en/la es /basic/con igu ing-a- isc- -cpu.h ml (cons.
12-06-2024).
[29] Pe˜na. “UART: A Ha dwa e Communica ion P o ocol Unde s anding Uni e sal
Asynch onous Recei e /T ansmi e ”. A: Analog 54 (des. de 2020). u l:h ps:
//www.analog.com/media/en/analog-dialogue/ olume-54/numbe -4/ua -
a-ha dwa e-communica ion-p o ocol.pd .