2003
DOI: 10.1007/978-3-540-40965-6_2
|View full text |Cite
|
Sign up to set email alerts
|

Kernel Mode Linux: Toward an Operating System Protected by a Type Theory

Abstract: Abstract. Traditional operating systems protect themselves from user programs with a privilege level facility of CPUs. One problem of the protection-by-hardware approach is that system calls become very slow because heavy operations are required to safely switch the privilege levels of user programs. To solve the problem, we design an operating system that protects itself with a type theory. In our approach, user programs are written in a typed assembly language and the kernel performs typechecking before exec… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
7
0

Year Published

2008
2008
2024
2024

Publication Types

Select...
6
1

Relationship

0
7

Authors

Journals

citations
Cited by 12 publications
(7 citation statements)
references
References 13 publications
0
7
0
Order By: Relevance
“…Kernel Mode Linux [42] is an existing patch to Linux that enables normal user processes to run in kernel mode, and call kernel routines directly without any expensive privilege transitions or context switches during system calls. Yet they are processes that, unlike kernel modules, do not require any change to the programming model and can take advantage of all system services for normal processes such as paging or scheduling.…”
Section: Eliminating System Call Overheadmentioning
confidence: 99%
See 1 more Smart Citation
“…Kernel Mode Linux [42] is an existing patch to Linux that enables normal user processes to run in kernel mode, and call kernel routines directly without any expensive privilege transitions or context switches during system calls. Yet they are processes that, unlike kernel modules, do not require any change to the programming model and can take advantage of all system services for normal processes such as paging or scheduling.…”
Section: Eliminating System Call Overheadmentioning
confidence: 99%
“…Though we do not propose a general solution for specialization, we specialize Lupine through the kernel's Kconfig mechanisms by (1) eliminating functionality from the kernel that is not necessary for the unikernel domain (e.g., support for hardware devices or multiprocessing) and (2) tailoring the kernel as much as possible to the particular application. Lupine eliminates system call overhead by running the application in the same privilege domain as the kernel via the existing (but not upstream) Kernel Mode Linux (KML) [42] patch.…”
Section: Introductionmentioning
confidence: 99%
“…Two approaches to avoid ring transitions are 1) integrating applications into the kernel as a Linux kernel module, and 2) allowing unmodified applications to run in ring zero along with the kernel [3,23]. Both of these approaches preserve the full functionality of Linux, while allowing one or more applications to be optimized.…”
Section: Key Goals and Possible Approachesmentioning
confidence: 99%
“…Making post-design changes to these high-level safety decisions is very difficult to implement. For instance, removing the user/kernel separation [59] requires a lot of engineering effort, as does breaking down a process into multiple address spaces for isolation [42]. Recently, the potential safety benefits hinted by the proposal to introduce Rust components in Linux [23] are questioned by the fact that the bulk of the kernel code will remain written in a memory-unsafe language [22].…”
Section: Introductionmentioning
confidence: 99%