ebook img

minix 3 sobre arquitectura arm PDF

119 Pages·2009·1.23 MB·Spanish
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview minix 3 sobre arquitectura arm

Proyecto de Sistemas Informáticos. Curso 2008-2009. M 3 INIX SOBRE ARM ARQUITECTURA Componentesdelgrupo: J.AdriánBravoNavarro HéctorCortigueraHerrera JorgeQuintásRodríguez Directoresdelproyecto: LuisPiñuelMoreno ManuelPrietoMatías Facultad de Informática. Universidad Complutense de Madrid. Prefacio En este trabajo detallamos el proceso de desarrollo de un port del sistema operativo Minix 3 a arquitectura ARM. Para una mejor comprensión de este proceso, es necesario introducir al lector en una serie de conceptos. Por ello, enprimerlugarintroducimosMinix3yrealizamosunanálisisdesusaspectos más importantes. A continuación, exponemos las características más relevan- tesdelaarquitecturaARM,comparándolaconlaarquitecturax86enalgunos puntosrelevantesparanuestrotrabajo.Enlasseccionessiguientesmostramos la relevancia del proyecto, enumeramos los objetivos iniciales y el estado fi- nal que ha alcanzado el desarrollo. Posteriormente describimos en detalle los entresijosdelaimplementación,centrándonosenlosaspectosmásrelevantes. Debidoasuimportancia,acontinuaciónsededicaunasecciónparaintroducir allectorenelentornodedesarrolloquehemosutilizado,suscomponentesysu utilidad,yaqueesteentornoesuncomponentecrucialdelprocesodeimple- mentación,ysuconfiguraciónnoesunasuntotrivial.Finalmente,exponemos lasdificultadesconlasquenoshemosencontradoenlarealizacióndelproyec- to,asícomoelalcancefinaldelmismoylaslineasdetrabajofuturoquequedan abiertas. Palabras clave ARM,Minix3,sistemasoperativos,systemonchip,SoC,microkernel,ker- nel,dispositivoempotrado. Abstract InthisworkwedetailthedevelopingprocessofportingtheMinix3opera- tingsystemtoARMarchitecture.Forabetterunderstandingofthisprocess,we shouldintroducethereaderintosomebasicconcepts.Therefore,wefirstintro- duceMinix3andmakeananalysisofitsmainfeatures.Afterwards,wepresent themainfeaturesoftheARMarchitecture,comparingwiththex86architecture insomeoutstandingpointsforourproject.Inthenextsectionsweexplainthe importance of our project, list the initial goals and the state the development hasreached.Laterwegointodetailsabouttheinternalsofthecodingprocess, focusinginthemostsignificantpoints.Duetoitsimportance,thenextsection isusedtointroducethereaderintothedevelopmentenvironmentthatweha- veused,itscomponentsandusefulness,forthisenvironmentisavitalpartof thecodingprocess,anditssetupitisnotatrivialissue.Finally,wepresentthe dificultieswehavefacedduringtheexecutionoftheproject,justastheproject scopeandthefutureworklinestopursue. Keywords ARM,Minix3,operatingsystemas,systemonchip,SoC,microkernel,ker- nel,Embeddedsystems. Cesión de derechos ElcódigofuentedelproyectoseencuentradisponiblebajolalicenciaGPL versión2,descargabledehttp://www.gnu.org/licenses/gpl-2.0.txt. Porsuparte,lamemoriadelmismoestádisponiblebajolalicenciaGFDLver- sión1.3,asuvezdescargabledehttp://www.gnu.org/licenses/fdl-1. 3.txt. Sin perjuicio de lo anterior, J. Adrián Bravo Navarro, Héctor Cortiguera HerrerayJorgeQuintásRodriguez,losautoresdelproyectoyabajofirmantes autorizamos además a la Universidad Complutense a difundir y utilizar con finesacadémicos,nocomercialesymencionandoexpresamenteasusautores, tanto la propia memoria, como el código, la documentación y/o el prototipo desarrollado. Madrid,a18deSeptiembrede2009. AdriánBravo HéctorCortiguera JorgeQuintás Agradecimientos Amifamilia,mamá,papáyRober,porhabermepuestoenelcamino.AVickypor haberretiradolaspiedras,yaCrisporhabercaminadoconmigo.AJorgeyHéctor,por serunequipoincreíble. ACris,porestarsiempreconmigo.Amispadres,porhabermeayudadoahacerlo quequería.Amisamigosycompañerosdesobremesaenlafacultad,poraguantarque- jascuandolascosasnosalíancomoplaneábamos.YaAdriányJorge,porqueencontré alosmejorescompañerosdeprácticas. Amiextensafamilia(¡soismuchosparaponerosatodos!).AUnaiyAnaporale- grarmelavida.APepaeIsidroporejercerdeabuelos.AFranciso,"Viriato",Miguel, Marcelo y Juan, seguís estando aquí. Con especial cariño a Javi e Isabel, a "Isita", a Clara, a Paula, a mi bisabuela Clara, a mis abuelos Carmen, José y Concha, a mi tío Antonioyamispadres(avosotrosespecialmenteporaguantarme,séquenolopongo fácil).Aloscompañerosdelviajequeseacaba,sobretodoaAdriányHéctorporvuestro fantásticotrabajoyporserlosmejorescompañeros. Al restaurante Tokio de Moncloa, por alimentarnos durante las jornadas más in- tensas. AlAulaSUNUCM,porcedernosunespacioparareunirnosytrabajaragusto. Aestacarrera,porhaberseterminado. Índice general 1. Introducción 1 1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Estructuradeldocumento . . . . . . . . . . . . . . . . . . . . . . 3 2. Minix3 5 2.1. HistoriadeMinix . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2. IntroducciónaMinix3 . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2.1. Diseñoyarquitectura . . . . . . . . . . . . . . . . . . . . 7 2.2.2. EstructuradeMinix3 . . . . . . . . . . . . . . . . . . . . 8 2.2.3. Ventajasdelaarquitectura . . . . . . . . . . . . . . . . . . 9 2.2.4. Desventajasdelaarquitectura . . . . . . . . . . . . . . . 10 2.3. GestióndeProcesos . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.4. GestióndeMemoria . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4.1. Estructurasdedatos . . . . . . . . . . . . . . . . . . . . . 14 2.4.2. Llamadasalsistemaygestióndememoria . . . . . . . . 16 2.4.3. Cambiodecontextoymemoria . . . . . . . . . . . . . . . 16 2.5. Pasodemensajes . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3. ARM 19 3.1. HistoriadeARM . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2. Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2.1. ModelodeProgramación . . . . . . . . . . . . . . . . . . 25 3.2.2. Extensionesdelaarquitectura . . . . . . . . . . . . . . . 31 3.3. ARMfrenteaIntel . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.3.1. Segmentaciónfrenteapaginación . . . . . . . . . . . . . 35 3.3.2. Cambiodecontextohardwarefrenteacambiodecontexto software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.4. Nuestraelección . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 I Índicegeneral 4. Memoriavirtual 39 4.1. Pequeñaintroducciónalamemoriavirtual . . . . . . . . . . . . 39 4.1.1. Paginación . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.1.2. Segmentación . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.1.3. Segmentaciónconpaginación . . . . . . . . . . . . . . . . 42 4.2. MemoriavirtualenIntelx86 . . . . . . . . . . . . . . . . . . . . . 43 4.3. MemoriavirtualenARM . . . . . . . . . . . . . . . . . . . . . . 47 4.3.1. MemoryManagementUnit . . . . . . . . . . . . . . . . . 50 5. Minix@ARM 55 5.1. Objetivosiniciales . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5.2. Objetivosalcanzados . . . . . . . . . . . . . . . . . . . . . . . . . 56 6. Implementación 57 6.1. Multiprogramación . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.2. Scheduler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.3. Memoriavirtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.4. Pasodemensajes . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 6.5. Gestióndememoriadinámica . . . . . . . . . . . . . . . . . . . . 61 6.6. Inicialización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 6.6.1. Placa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 6.6.2. Vectoresdeinterrupción . . . . . . . . . . . . . . . . . . . 63 6.7. Dispositivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 6.7.1. Temporizadores . . . . . . . . . . . . . . . . . . . . . . . . 65 6.7.2. PIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 6.7.3. MMU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 6.8. Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.8.1. Mapadememoria . . . . . . . . . . . . . . . . . . . . . . 71 6.8.2. Stackframe . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6.9. Minix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 7. EntornodeDesarrollo 77 7.1. Qemu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 7.2. U-Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 7.3. Toolchain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 7.4. DesarrolloColaborativo:Launchpad,BazaaryDokuwiki . . . . 80 8. Dificultades 83 9. Trabajofuturo 87 II

Description:
operativo Minix 3 a arquitectura ARM. Para una mejor comprensión de este proceso, es necesario introducir al lector en una serie de conceptos.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.