Pwnos design Document Version 0a



Download 135.4 Kb.
Page1/6
Date31.01.2017
Size135.4 Kb.
#13944
  1   2   3   4   5   6
c:\users\neo\pictures\pwnos\pwnos.jpg

PwnOS Design Document


Version 1.0a
By Neil Dickson
As part of Code Cortex

Presented for:

COMP 3000 Fall 2007

Operating Systems

Carleton University

Dr. Anil Somayaji



Revision History





Revision

Editor

Description

1.0a

Neil Dickson

Minor table formatting change; clarified explanation of process pages; added table of figures; added paragraph about heap allocation alignment

1.0

Neil Dickson

This is the initial version of the document. It describes the proposed design of PwnOS in detail.



Table of Contents


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


Table of Figures




Abstract


PwnOS is a low-overhead operating system designed for isolated or otherwise dedicated computer systems that require high CPU performance on general-purpose hardware. This document explains the motivations and goals of PwnOS, and gives a market analysis based on those goals, followed by a comparison between PwnOS and operating systems with similar goals. Then, the design of PwnOS is presented in detail, in relation to those goals.


Introduction

High Concept


PwnOS is a low-overhead operating system designed for isolated or otherwise dedicated computer systems that require high CPU performance on general-purpose hardware.

Motivation and Goals


The main goals of PwnOS can be summarised as follows:

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

Project Scope


The scope of the PwnOS project is most significantly limited by its goals, which is quite convenient, in that the goals are then not significantly limited by the scope. Since the goals generally favour a simple design over a complex design, this makes most complex design aspects out of scope.
The following items are currently considered to be out of the scope of the PwnOS project:

  • Filesystem design

  • Executable/library format design

  • Full compatibility with other operating systems

  • Graphical user interface libraries

  • Security and privacy libraries

  • Extensive device support

  • Elaborate Inter-Process Communication (IPC)

  • Application software

  • Backward hardware compatibility

Implications of these include that an existing filesystem design and an existing executable/library format must be used. Also, all application software and user libraries must be developed separately from PwnOS. Some such software might be developed as part of other Code Cortex projects.
The following items are currently considered to be in the scope of the PwnOS project:

  • Boot loader code

  • Page and heap memory management

  • Thread management and scheduling; inter-thread communication

  • Simple process management; support for an existing, common executable/library format

  • Support for common, general-purpose hardware relevant to dedicated systems

  • Support for an existing, common filesystem

  • Thread synchronisation management


Download 135.4 Kb.

Share with your friends:
  1   2   3   4   5   6




The database is protected by copyright ©ininet.org 2024
send message

    Main page