Publication:
The clustered multikernel: an approach to formal verification of multiprocessor operating-system kernels

dc.contributor.advisor Elphinstone, Kevin en_US
dc.contributor.author von Tessin, Michael en_US
dc.date.accessioned 2022-03-21T13:17:36Z
dc.date.available 2022-03-21T13:17:36Z
dc.date.issued 2013 en_US
dc.description.abstract The key software component of a computer system is the operating-system kernel. It always needs to be trusted because it runs in the CPU’s privileged mode and therefore has access to all system components. Consequently, kernel correctness is crucial for secure, safe and reliable computer systems. Correctness can be improved by careful design, development and testing. However, this is not enough for kernels of high-assurance computer systems used in defence, aviation and the like. Much stronger correctness guarantees can be obtained by formal verification of a kernel’s implementation. In order to keep verification complexity at a manageable level, prior kernel verification research only targeted uniprocessor kernels. In other words, the current state of research restricts computer systems that require a verified kernel to running on one CPU/core. This is a problem because manufacturers are increasing computing power of their systems by adding more CPUs and cores. In this thesis, we demonstrate that it is possible to extend a verified uniprocessor kernel to utilise multiple CPUs/cores and leverage the existing proofs to obtain a verified multiprocessor version of that kernel (under certain assumptions). To this end, we introduce the clustered multikernel, a point in the design space of multiprocessor kernels. The main feature of this design is that it reduces concurrent data access to a minimum while offering a configurable trade-off between scalability and flexibility. Furthermore, we present a conversion scheme to convert a uniprocessor kernel into a clustered multikernel. Based on this design, we contribute a refinement lifting framework, which lifts the converted kernel’s functional-correctness proof such that it applies to the clusteredmultikernel version. The support for handling the introduced concurrency is added to the existing verification framework in a non-intrusive way and accounts for total-store-order weak memory ordering. We demonstrate the practicability of our approach by successfully applying it to seL4, a formally verified general-purpose microkernel. We show that this requires relatively low effort, compared to the kernel’s initial verification. All formal specifications and proofs are machine-checked in the theorem prover Isabelle/ HOL. en_US
dc.identifier.uri http://hdl.handle.net/1959.4/53099
dc.language English
dc.language.iso EN en_US
dc.publisher UNSW, Sydney en_US
dc.rights CC BY-NC-ND 3.0 en_US
dc.rights.uri https://creativecommons.org/licenses/by-nc-nd/3.0/au/ en_US
dc.subject.other Microkernel en_US
dc.subject.other Formal verification en_US
dc.subject.other Multiprocessor en_US
dc.subject.other seL4 en_US
dc.subject.other Isabelle/HOL en_US
dc.title The clustered multikernel: an approach to formal verification of multiprocessor operating-system kernels en_US
dc.type Thesis en_US
dcterms.accessRights open access
dcterms.rightsHolder von Tessin, Michael
dspace.entity.type Publication en_US
unsw.accessRights.uri https://purl.org/coar/access_right/c_abf2
unsw.identifier.doi https://doi.org/10.26190/unsworks/16534
unsw.relation.faculty Engineering
unsw.relation.originalPublicationAffiliation von Tessin, Michael , Computer Science & Engineering, Faculty of Engineering, UNSW en_US
unsw.relation.originalPublicationAffiliation Elphinstone, Kevin, Computer Science & Engineering, Faculty of Engineering, UNSW en_US
unsw.relation.school School of Computer Science and Engineering *
unsw.thesis.degreetype PhD Doctorate en_US
Files
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
whole.pdf
Size:
1.5 MB
Format:
application/pdf
Description:
Resource type