Theseus: Rethinking Operating Systems Structure and State Management

dc.contributor.advisorZhong, Linen_US
dc.contributor.committeeMemberChen, Angen_US
dc.creatorBoos, Kevin Alexanderen_US
dc.date.accessioned2020-08-14T18:34:03Zen_US
dc.date.available2020-08-14T18:34:03Zen_US
dc.date.created2020-08en_US
dc.date.issued2020-08-14en_US
dc.date.submittedAugust 2020en_US
dc.date.updated2020-08-14T18:34:03Zen_US
dc.description.abstractState management has become an intractable problem in modern operating systems due to their sheer size and complexity. Despite efforts to cleanly modularize OSes, the propagation and mismanagement of states remains a significant obstacle to many computing goals, e.g., system evolution and fault tolerance. We identify the root cause of such obstacles to be state spill, the phenomenon in which a software entity’s state undergoes a lasting change as a result of handling an interaction with another entity. We systematically study the existence and manifestation of state spill in existing OSes and find that it is deeply ingrained in both low-level OS kernels and framework-level components like Android system services. To this end, we introduce Theseus, an experimental OS written from scratch in Rust that rethinks overall OS structure and treats state management as a first-class design concern. Theseus makes two primary contributions. First, its OS structure consists of many tiny cell-like entities with clear, runtime-persistent bounds that are all loaded and linked dynamically, and interact without holding states for one another. Second, its intralingual design and implementation realizes OS functionality using existing language-level mechanisms, empowering the compiler to enforce invariants about OS semantics and enabling us to shift the responsibility of resource bookkeeping from the OS into the compiler, vastly reducing the set of states the OS must necessarily maintain. Together, Theseus’s structure, intralingual design, and state management principles facilitate desirable computing goals, allowing us to realize easy and arbitrary live evolution, system flexibility, and availability through fault recovery, even for core OS components.en_US
dc.format.mimetypeapplication/pdfen_US
dc.identifier.citationBoos, Kevin Alexander. "Theseus: Rethinking Operating Systems Structure and State Management." (2020) Diss., Rice University. <a href="https://hdl.handle.net/1911/109201">https://hdl.handle.net/1911/109201</a>.en_US
dc.identifier.urihttps://hdl.handle.net/1911/109201en_US
dc.language.isoengen_US
dc.rightsCopyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder.en_US
dc.subjectOperating Systemsen_US
dc.subjectState Managementen_US
dc.subjectState Spillen_US
dc.subjectProgramming Languagesen_US
dc.subjectSystems Softwareen_US
dc.subjectLanguage Safetyen_US
dc.titleTheseus: Rethinking Operating Systems Structure and State Managementen_US
dc.typeThesisen_US
dc.type.materialTexten_US
thesis.degree.departmentElectrical and Computer Engineeringen_US
thesis.degree.disciplineEngineeringen_US
thesis.degree.grantorRice Universityen_US
thesis.degree.levelDoctoralen_US
thesis.degree.majorOperating Systemsen_US
thesis.degree.nameDoctor of Philosophyen_US
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
BOOS-DOCUMENT-2020.pdf
Size:
1.76 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 2 of 2
No Thumbnail Available
Name:
PROQUEST_LICENSE.txt
Size:
5.84 KB
Format:
Plain Text
Description:
No Thumbnail Available
Name:
LICENSE.txt
Size:
2.6 KB
Format:
Plain Text
Description: