Abstract | ||
---|---|---|
Thread management is an essential functionality in OS kernels. However, verification of thread management remains a challenge, due to two conflicting requirements: on the one hand, a thread manager - operating below the thread abstraction layer- should hide its implementation details and be verified independently from the threads being managed; on the other hand, the thread management code in many real-world systems is concurrent, which might be executed by the threads being managed, so it seems inappropriate to abstract threads away in the verification of thread managers. Previous approaches on kernel verification view thread managers as sequential code, thus cannot be applied to thread management in realistic kernels. In this paper, we propose a novel two-layer framework to verify concurrent thread management. We choose a lower abstraction level than the previous approaches, where we abstract away the context switch routine only, and allow the rest of the thread management code to run concurrently in the upper level. We also treat thread management data as abstract resources so that threads in the environment can be specified in assertions and be reasoned about in a proof system similar to concurrent separation logic. ©Springer-Verlag Berlin Heidelberg 2012. |
Year | DOI | Venue |
---|---|---|
2012 | 10.1007/978-3-642-35182-2_23 | APLAS |
Field | DocType | Volume |
Kernel (linear algebra),Separation logic,Programming language,Abstraction,Computer science,Thread (computing),Modular design,Abstraction layer,Abstract machine,Context switch | Conference | 7705 LNCS |
Issue | ISSN | Citations |
null | 16113349 | 5 |
PageRank | References | Authors |
0.42 | 11 | 4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Yu Guo | 1 | 11 | 9.48 |
Xinyu Feng | 2 | 443 | 30.52 |
Zhong Shao | 3 | 897 | 68.80 |
Peizhi Shi | 4 | 5 | 0.76 |