{"id":{"repo_id":"mit","oai_identifier":"oai:dspace.mit.edu:1721.1/112838"},"canonical_url":"https://search.dev.ndltd.org/etd/mit/oai:dspace.mit.edu:1721.1/112838","repository":{"repo_id":"mit","name":"MIT","base_url":"https://dspace.mit.edu/oai/request"},"display":{"title":"G.E.R.T : a go-based toolkit for embedded applications","abstract":"Embedded systems are becoming increasingly complicated due to the emergence of SOCs (system-on-a-chip) with multiple cores, dizzying amounts of peripherals, and complicated virtual memory systems. Unfortunately, performant embedded systems for SOCs are still largely written in either bare-metal C or userspace C because high-level languages running in userspace can have too much latency. This thesis proposes a new system called G.E.R.T, the Golang Embedded Run-Time, for multi-core ARM processors. GERT is a modified version of the Go runtime for bare-metal operation on multi-core ARMv7a SOC's. It is used to evaluate the effectiveness of using a high-level, type-safe, and garbage collected language for embedded applications. G.E.R.T provides the multiprocessor support and basic memory abstractions of a typical embedded toolkit while also enabling the user to leverage the language features of Go in order to develop concurrent embedded programs that are easier to reason about than similar ones written in C.","abstract_html":"Embedded systems are becoming increasingly complicated due to the emergence of SOCs (system-on-a-chip) with multiple cores, dizzying amounts of peripherals, and complicated virtual memory systems. Unfortunately, performant embedded systems for SOCs are still largely written in either bare-metal C or userspace C because high-level languages running in userspace can have too much latency. This thesis proposes a new system called G.E.R.T, the Golang Embedded Run-Time, for multi-core ARM processors. GERT is a modified version of the Go runtime for bare-metal operation on multi-core ARMv7a SOC&#x27;s. It is used to evaluate the effectiveness of using a high-level, type-safe, and garbage collected language for embedded applications. G.E.R.T provides the multiprocessor support and basic memory abstractions of a typical embedded toolkit while also enabling the user to leverage the language features of Go in order to develop concurrent embedded programs that are easier to reason about than similar ones written in C.","abstract_has_math":false,"creators":["Coroneos, Yanni (Yanni E.)"],"institution":"Massachusetts Institute of Technology","degree_name":null,"degree_level":null,"degree_discipline":null,"degree_department":"Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.","school":null,"contributors":[],"advisors":["Frans Kaashoek."],"committee_chairs":[],"committee_members":[],"year":2017,"date_issued":"2017","date_published":"2017","updated_at":"2026-07-22T22:21:34Z","subjects":["Electrical Engineering and Computer Science."],"languages":["eng"],"rights":["MIT theses are protected by copyright. They may be viewed, downloaded, or printed from this source but further reproduction or distribution in any format is prohibited without written permission."],"rights_urls":["http://dspace.mit.edu/handle/1721.1/7582"],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/1721.1/112838","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Frans Kaashoek."]},{"key":"dc:contributor.department","label":"Department","values":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science."]},{"key":"dc:contributor.other","label":"Dc Contributor Other","values":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science."]},{"key":"dc:creator","label":"Author","values":["Coroneos, Yanni (Yanni E.)"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2017-12-20T17:24:47Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2017-12-20T17:24:47Z"]},{"key":"dc:date.issued","label":"Date","values":["2017"]},{"key":"dc:publisher","label":"Institution","values":["Massachusetts Institute of Technology"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Electrical Engineering and Computer Science."]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["eng"]},{"key":"dc:rights","label":"Dc Rights","values":["MIT theses are protected by copyright. They may be viewed, downloaded, or printed from this source but further reproduction or distribution in any format is prohibited without written permission."]},{"key":"dc:rights.uri","label":"Rights URI","values":["http://dspace.mit.edu/handle/1721.1/7582"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["http://hdl.handle.net/1721.1/112838"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2017.","This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections.","Cataloged from student-submitted PDF version of thesis.","Includes bibliographical references (page 51)."]},{"key":"dc:description.abstract","label":"Abstract","values":["Embedded systems are becoming increasingly complicated due to the emergence of SOCs (system-on-a-chip) with multiple cores, dizzying amounts of peripherals, and complicated virtual memory systems. Unfortunately, performant embedded systems for SOCs are still largely written in either bare-metal C or userspace C because high-level languages running in userspace can have too much latency. This thesis proposes a new system called G.E.R.T, the Golang Embedded Run-Time, for multi-core ARM processors. GERT is a modified version of the Go runtime for bare-metal operation on multi-core ARMv7a SOC's. It is used to evaluate the effectiveness of using a high-level, type-safe, and garbage collected language for embedded applications. G.E.R.T provides the multiprocessor support and basic memory abstractions of a typical embedded toolkit while also enabling the user to leverage the language features of Go in order to develop concurrent embedded programs that are easier to reason about than similar ones written in C."]},{"key":"dc:description.degree","label":"Dc Description Degree","values":["M. Eng."]},{"key":"dc:title","label":"Title","values":["G.E.R.T : a go-based toolkit for embedded applications"]}]}],"canonical_facts":{"dc:contributor.advisor":["Frans Kaashoek."],"dc:contributor.department":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science."],"dc:contributor.other":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science."],"dc:creator":["Coroneos, Yanni (Yanni E.)"],"dc:date.accessioned":["2017-12-20T17:24:47Z"],"dc:date.available":["2017-12-20T17:24:47Z"],"dc:date.issued":["2017"],"dc:description":["Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2017.","This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections.","Cataloged from student-submitted PDF version of thesis.","Includes bibliographical references (page 51)."],"dc:description.abstract":["Embedded systems are becoming increasingly complicated due to the emergence of SOCs (system-on-a-chip) with multiple cores, dizzying amounts of peripherals, and complicated virtual memory systems. Unfortunately, performant embedded systems for SOCs are still largely written in either bare-metal C or userspace C because high-level languages running in userspace can have too much latency. This thesis proposes a new system called G.E.R.T, the Golang Embedded Run-Time, for multi-core ARM processors. GERT is a modified version of the Go runtime for bare-metal operation on multi-core ARMv7a SOC's. It is used to evaluate the effectiveness of using a high-level, type-safe, and garbage collected language for embedded applications. G.E.R.T provides the multiprocessor support and basic memory abstractions of a typical embedded toolkit while also enabling the user to leverage the language features of Go in order to develop concurrent embedded programs that are easier to reason about than similar ones written in C."],"dc:description.degree":["M. Eng."],"dc:identifier.uri":["http://hdl.handle.net/1721.1/112838"],"dc:language.iso":["eng"],"dc:publisher":["Massachusetts Institute of Technology"],"dc:rights":["MIT theses are protected by copyright. They may be viewed, downloaded, or printed from this source but further reproduction or distribution in any format is prohibited without written permission."],"dc:rights.uri":["http://dspace.mit.edu/handle/1721.1/7582"],"dc:subject":["Electrical Engineering and Computer Science."],"dc:title":["G.E.R.T : a go-based toolkit for embedded applications"],"dc:type":["Thesis"]},"updated_at":"2026-07-22T22:21:34Z"}