Please use this identifier to cite or link to this item:
http://arks.princeton.edu/ark:/88435/dsp019019s5438
Title: | ORIGINAL ORIGINAL Rust Implementations and Performance of Safe and Pluggable OS Schedulers in Context of TockOS |
Authors: | Galstyan, Narek |
Advisors: | Levy, Amit |
Department: | Computer Science |
Class Year: | 2020 |
Abstract: | Since 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. |
URI: | http://arks.princeton.edu/ark:/88435/dsp019019s5438 |
Access Restrictions: | Walk-in Access. This thesis can only be viewed on computer terminals at the Mudd Manuscript Library. |
Type of Material: | Princeton University Senior Theses |
Language: | en |
Appears in Collections: | Computer Science, 1988-2020 |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
GALSTYAN-NAREK-THESIS.pdf | 381.9 kB | Adobe PDF | Request a copy |
Items in Dataspace are protected by copyright, with all rights reserved, unless otherwise indicated.