NumericOS - How to build your own Operatingsystem
Upcoming SlideShare
Loading in...5
×
 

NumericOS - How to build your own Operatingsystem

on

  • 338 views

 

Statistics

Views

Total Views
338
Views on SlideShare
338
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

NumericOS - How to build your own Operatingsystem NumericOS - How to build your own Operatingsystem Presentation Transcript

  • _____ __ _____ _______ ___________ | / /____ _________ ___ _____ ___________(_)_________ __ __ ___/__ |/ / _ / / /__ __ `__ _ _ __ ___/__ / _ ___/_ / / /_____ _ /| / / /_/ / _ / / / / // __/_ / _ / / /__ / /_/ / ____/ //_/ |_/ __,_/ /_/ /_/ /_/ ___/ /_/ /_/ ___/ ____/ /____/ Ein Rechnerarchitektur und Betriebssystem Projekt von Lukas Probst und Christopher Scherb NumericOS - a project by Lukas 1 Probst and Christopher Scherb
  • Ziel• Eigenes x86 Betriebssystem entwickeln• Funktionen ähnlich Octave• Benchmark NumericOS - a project by Lukas Probst and 2 Christopher Scherb
  • Weg zum C-Kernel• Bootloader in Assembler – Code in den Speicher laden• Wechsel von Realmode (16bit) in Protectedmode (32bit)• Start des C-Kernels NumericOS - a project by Lukas Probst and 3 Christopher Scherb
  • Input/Output- Libraries• Output – Memory mapped Output – Videomemory für 80*25 Zeichen + Farbe – Autoscroll mit Buffer• Input – Keyboard-Controller mit Polling – Scancode in Char übersetzen (US- Layout) – Read-Methode liefert charArray zurück NumericOS - a project by Lukas Probst and 4 Christopher Scherb
  • Heap• Eigenes Speicherarchitekturkonzept – „Heaptable“ und „Heap“• Laufzeiten: – Malloc: O(n) – Free: O(1) NumericOS - a project by Lukas Probst and 5 Christopher Scherb
  • Beispiel für Heaptable NumericOS - a project by Lukas Probst and 6 Christopher Scherb
  • Mathematische Funktionen• Floating Point Unit – Koprozessor für Fließkommaoperationen – muss aktiviert werden – Stellt bestimmte mathematische Funktionen zur Verfügung• Implementierte Funktionen: – Grundoperationen +,-,*,/ – Potenz- und Exponentialfunktion – Logarithmusfunktion NumericOS - a project by Lukas Probst and 7 Christopher Scherb
  • Hashmap• Speichert Variablen – Verwendet den Anfangsbuchstaben – Variablennamen muss mit Buchstaben beginnen• Array mit Überlaufkette NumericOS - a project by Lukas Probst and 8 Christopher Scherb
  • ParserS=[Variable „=“ ] E.E=E(“+“|“-“) T|T.T=T(“*“|“/“) H|H.H=F “^“ F|F.F=“(“E“)“ | Identifier.Identifier = Double | Variable | Function .Double = [“+“|“-“] Z{Z} [ „.“ Z{Z} ] [ „e“[“+“|“-“] Z{Z} ].Variable = B {B|Z} .Function = B {B|Z} „(„ E {„,“ E } „)“.Z = “1“ | “2“ | […] “0“.B = „a“ | “b“ | […] “Z“. NumericOS - a project by Lukas Probst and 9 Christopher Scherb
  • BenchmarkNumericOS - a project by Lukas Probst and 10 Christopher Scherb
  • Demo!NumericOS - a project by Lukas Probst and 11 Christopher Scherb
  • Fragen? NumericOS - a project by Lukas Probst and 12 Christopher Scherb