Skip navigation
Please use this identifier to cite or link to this item: http://arks.princeton.edu/ark:/88435/dsp01ns064907p
Full metadata record
DC FieldValueLanguage
dc.contributor.advisorLevy, Amit-
dc.contributor.authorGalstyan, Narek-
dc.date.accessioned2020-10-01T20:42:59Z-
dc.date.available2020-10-01T20:42:59Z-
dc.date.created2020-05-01-
dc.date.issued2020-10-01-
dc.identifier.urihttp://arks.princeton.edu/ark:/88435/dsp01ns064907p-
dc.description.abstractSince its first implementation in 1970s, multi-programming system abstraction provided by operating system kernels has been a crucial part of many digital systems. While the first computers had only a handful of almost always cooperative tasks to be scheduled, nowadays kernels in typical household computers schedule 100s and 1000s of processes and need to provide access and safety guarantees to each one regardless of the others' actions. This exponential growth has been possible partly due to the Moor's Law, advances in hardware protection mechanisms and partly due to more advanced scheduling algorithms. In the growing IoT world the effect of Moor's Law is minimal and hardware protection is often non-existent because of cost and resource constraints while a safe multi-programming environment is still necessary since IoT gadgets are becoming software platforms rather than single purpose devices. Tock and other embedded operating systems address many of the safety and isolation constraints through programming language level protection mechanisms. Currently, however, the Tock trusted codebase includes the scheduling algorithm inside the kernel thereby exposing the whole system to potential vulnerabilities originating from complex scheduling algorithms. The aim of this project is to explore, propose and evaluate approaches for a safe scheduler interface that will not require the scheduler implementation to be trusted by the applications. The project proposes designs for an abstract scheduler interface in the kernel that provides a safe abstraction with minimal overhead to scheduling algorithm developer. Unlike the PC world, IoT devices are quite heterogeneous thus may have wildly different hardware capabilities and scheduling goals. So the paper also presents a survey of most common scheduling algorithms used in embedded systems and designs the abstract interface to fit most of these schedulers.en_US
dc.format.mimetypeapplication/pdf
dc.language.isoenen_US
dc.titleRust Implementations and Performance of Safe and Pluggable OS Schedulers in Context of TockOS"en_US
dc.typePrinceton University Senior Theses
pu.date.classyear2020en_US
pu.departmentComputer Scienceen_US
pu.pdf.coverpageSeniorThesisCoverPage
dc.rights.accessRightsWalk-in Access. This thesis can only be viewed on computer terminals at the <a href=http://mudd.princeton.edu>Mudd Manuscript Library</a>.-
pu.contributor.authorid961191309
pu.mudd.walkinyesen_US
Appears in Collections:Computer Science, 1988-2020

Files in This Item:
File Description SizeFormat 
GALSTYAN-NAREK-THESIS.pdf381.9 kBAdobe PDF    Request a copy


Items in Dataspace are protected by copyright, with all rights reserved, unless otherwise indicated.