Show simple item record

dc.identifier.urihttp://hdl.handle.net/11401/78243
dc.description.sponsorshipThis work is sponsored by the Stony Brook University Graduate School in compliance with the requirements for completion of degree.en_US
dc.formatMonograph
dc.format.mediumElectronic Resourceen_US
dc.language.isoen_US
dc.typeDissertation
dcterms.abstractCompatibility challenges occur when sharing an application across system interfaces such as Linux and Windows APIs, or reusing an application on a disruptive hardware such as Intel SGX. Existing approaches require either exhaustively porting applications to new APIs or preserving all previous APIs for backward compatibility. Since both approaches are time-consuming, developers urgently need a solution to the compatibility issues on innovative OSes or hardware, to promptly benefit average users. This thesis demonstrates a library OS approach for reusing unmodified applications on a new OS or hardware. The approach starts with defining a host ABI which is simple to port and also sufficiently contains essential OS abstractions such as file and page management. The host ABI divides the development of a compatibility layer into API emulation in a library OS and encapsulating host distinction with a PAL (platform adaption layer). This thesis presents the Graphene library OS, which demonstrates the simplicity and sufficiency of its host ABI by enumerating host abstractions used for emulating Linux system calls and the related porting efforts. For instance, Graphene emulates multi-process abstractions using two host abstractions: creating a new process, and a simple RPC stream. Leveraging a distributed coordination model, multiple Graphene instances across processes collaboratively present a united OS view to an application. Two main porting targets of Graphene, Linux, and SGX, each present challenges to enforcing security isolation. On a Linux host, Graphene isolates mutually-untrusting applications. On SGX, Graphene protects a security-sensitive application against an untrusted OS. From a security perspective, Graphene restricts the attack surface through system interfaces and simplifies security checks against unexpected exploitations. Finally, this thesis presents quantitative measurements to evaluate the partial compatibility of OS prototypes and importance of APIs, to help to prioritize API porting.
dcterms.available2018-06-21T13:38:41Z
dcterms.contributorPorter, Donald Een_US
dcterms.contributorSekar, Ren_US
dcterms.contributorFerdman, Michaelen_US
dcterms.contributorRoscoe, Timothyen_US
dcterms.creatorTsai, Chia-Che
dcterms.dateAccepted2018-06-21T13:38:41Z
dcterms.dateSubmitted2018-06-21T13:38:41Z
dcterms.descriptionDepartment of Computer Scienceen_US
dcterms.extent201 pg.en_US
dcterms.formatMonograph
dcterms.formatApplication/PDFen_US
dcterms.identifierhttp://hdl.handle.net/11401/78243
dcterms.issued2017-12-01
dcterms.languageen_US
dcterms.provenanceMade available in DSpace on 2018-06-21T13:38:41Z (GMT). No. of bitstreams: 1 Tsai_grad.sunysb_0771E_13608.pdf: 3269217 bytes, checksum: 2b6a339b3ad050a80c9912705473d7eb (MD5) Previous issue date: 12en
dcterms.subjectApplication Programming Interfaces
dcterms.subjectComputer science
dcterms.subjectCompatibility
dcterms.subjectLibrary Operating System
dcterms.subjectOperating System
dcterms.subjectSecurity Isolation
dcterms.titleA Library Operating System for Compatibility
dcterms.typeDissertation


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record