Abstract
Typical operating system design is marked by trade-offs between speed and reliability, features and security. Most systems are written in a low-level untyped programming language to achieve optimal hardware usage and for other practical reasons. But, this often results in CPU, memory, and I/O protection flaws due to mistakes in unverified code. On the other hand, fully verified systems are exceedingly hard to construct on any industrial scale. A high-level programming language, with an expressive type system suitable for systems programming, can help alleviate many of these problems without requiring the enormous effort of full verification.
Index Terms
(auto-classified)Operating system development with ATS: work in progress: (abstract only)
Recommendations
Operating system development with ATS: work in progress
PLPV '10: Proceedings of the 4th ACM SIGPLAN workshop on Programming languages meets program verificationTypical operating system design is marked by trade-offs between speed and reliability, features and security. Most systems are written in a low-level untyped programming language to achieve optimal hardware usage and for other practical reasons. But, ...
A principled approach to operating system construction in Haskell
ICFP '05: Proceedings of the tenth ACM SIGPLAN international conference on Functional programmingWe describe a monadic interface to low-level hardware features that is a suitable basis for building operating systems in Haskell. The interface includes primitives for controlling memory management hardware, user-mode process execution, and low-level ...






Comments