Dr. Anil Somayaji
Revision History 2
Table of Figures 4
Abstract 5
Introduction 6
High Concept 6
Motivation and Goals 6
Project Scope 6
Document Scope 7
Abbreviations 7
Market Analysis and Prior Art 9
High Performance Dedicated Servers Market 9
Commercial High Performance Systems 9
Comparison of Similar Operating Systems 10
Design 12
Organisational Overview 12
API Specification 13
Booting 15
Memory 16
Page Memory Management 16
Heap Memory Management 17
Threads and Processes 19
Process Management 19
Thread Management 20
Device I/O 21
Files 22
Synchronisation 23
References 26
Motivation
|
Goal
|
General-purpose operating systems tend to have a high level of bloat that is largely avoidable if the operating system is custom-tuned for high performance dedicated systems.
|
very low time overhead; low space overhead
|
Core APIs for general-purpose operating systems tend to be very large and/or very cryptic
|
simple core API; expandable/modifiable user API
|
High-performance computing and other dedicated systems generally have just one large process with many threads.
|
best suited to few processes with many threads
|
Dedicated systems do not need to waste time checking for malware or otherwise be slowed down for security reasons only applicable to general-purpose systems
|
protection against accidents, not against malware
|
Dedicated systems need only a limited set of good drivers, and the large set of drivers with a general-purpose operating system can be detrimental.
|
support for just a few devices is sufficient for a particular system; exhaustive support is not needed
|
Dedicated systems using general-purpose hardware can be much less expensive than dedicated systems using special hardware.
|
only need support for general-purpose hardware
|
Custom server systems often need custom modifications to the operating system
|
good, thorough documentation at all levels
|