dc.contributor.advisor | Engel, Michael | |
dc.contributor.author | Stephansen, Sindre Amdal | |
dc.date.accessioned | 2022-10-12T17:19:52Z | |
dc.date.available | 2022-10-12T17:19:52Z | |
dc.date.issued | 2021 | |
dc.identifier | no.ntnu:inspera:74730513:33150525 | |
dc.identifier.uri | https://hdl.handle.net/11250/3025707 | |
dc.description.abstract | Prosessorarkitekturen RISC-V blir stadig mer populær, og det vil sannsynligvis bli en eksplosjon av
små RISC-V maskiner de neste årene, som sensorer, i hvitevarer, og mer. Siden disse typene
datamaskiner ikke alltid har ressursene til å kjøre operativsystemer som f.eks. Linux er
operativsystemet Inferno et alternativ. Infernos distribuerte og nettverksorienterte design kan
passe utmerket for disse typene systemer.
I denne oppgaven begynner jeg på å tilpasse Inferno til å kjøre på RISC-V, og identifiserer utfordringene med å
tilpasse og bruke operativsystemet.
Den første store utfordringen var å få systemet til et punkt der det kunne starte opp og håndtere enkel kommunikasjon,
i form av tekst. Den andre utfordringen var å gjøre systemet brukbart ved å implementere enhetsdrivere. Den siste
utfordringen var å implementere en Just-in-Time kompilator, for å gjøre systemet mer responsivt.
Selv om operativsystemet ikke er helt brukbart ennå har jeg gjort store framskritt. Operativsystemet
starter opp og viser en kommandolinje der brukeren kan utføre kommandoer. Tekst kan printes både til
en seriell port og til en skjerm. Jeg har implementert en Just-in-Time kompilator, men det er noen
problemer som får kompliserte programmer til å krasje.
Dette prosjektet danner grunnlaget for å bruke Inferno på RISC-V maskiner. | |
dc.description.abstract | The RISC-V processor architecture is rapidly rising in popularity, and there will probably be an
explosion of smaller RISC-V computers in the coming years, as sensors, in appliances, and
more. Because these kinds of computers do not always have the resources to run an operating system
like Linux, the Inferno operating system is an alternative, which, with its networked and
distributed nature, could be a perfect match for these kinds of systems.
In this thesis I begin to port Inferno to RISC-V, and identify the challenges of both porting and
using the operating system.
The first major challenge was to get the system to a stage where it could boot and handle simple
input and output. The second challenge was to make the system more usable by implementing drivers.
The last challenge was to implement a Just-in-time compiler, to make the system more responsive.
While not fully usable yet, I have made significant progress in porting Inferno. The operating
system boots and launches an interactive shell, in which the user can execute commands. It can output
to both a serial port and a screen. I have implemented a Just-In-Time compiler, but there are some
bugs which cause complicated programs to crash.
This forms the foundation from which a port of Inferno to real hardware can be built. | |
dc.language | eng | |
dc.publisher | NTNU | |
dc.title | The Challenges of porting Infero to RISC-V | |
dc.type | Master thesis | |