Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Nachrichten - streetrunner

Seiten: [1] 2 3 4
1
Ich befürchte fast dass Du einige Probleme nicht wirst lösen können. Dein Hauptproblem ist die Anbindung des Massenspeichers, in diesem Fall die SD-Karte. Die arbeitet von Hause aus schon mal recht gemütlich, wimre ist die Anbindung auch nicht so toll gelungen. Wenn Dein OS also andauernd auf Daten warten muss, kann es so schnell sein wie es will, es dreht zwangsweise Däumchen.

Desweiteren denke ich dass hinter Linux und Windows so viele kompetente Leute stecken, dass es als One-Man-Show schwer wird da etwas entgegen zu setzten was wirklich merklich schneller ist. Was man aber machen kann ist z.B. ein Linux ohne GUI zu verwenden (oder generell alles rauswerfen was nicht gebraucht wird). Wenn nur Daten berechnet werden sollen, reicht das dicke aus.

Ansonsten: Nur Mut, fange an zu Programmieren. Ein wirklich minimalistisches System kann durchaus schneller sein als ein handelsübliches (durchaus abgespecktes) OS, allerdings verzichtet man dabei auf Annehmlichkeiten. Etliche dieser Annehmlichkeiten brauchst Du aber evtl. auch gar nicht.
2
Da die Dokumentation der GPU mittlerweile öffentlich gemacht wurde, dürfte es durchaus möglich sein die dann auch für normale Berechnungen zu gebrauchen. Allerdings würde mich mal interessieren was du genau vor hast, da es mir so vor kommt als ob das Projekt eine Nummer zu groß für dich ist (Bitte nicht übel nehmen).

Gruß
3
Lowlevel-Coding / Re: Verständnisfrage zu Paging
« am: 11. December 2014, 19:35 »
Wo wir schon dabei sind: Wie machen das eigentlich die "großen" Betriebssysteme?

Gruß,
Streetrunner
4
tyndur / Re: 0.3 - Ideen und Ziele
« am: 09. October 2014, 14:36 »
Hallo,

Was wäre denn
Zitat
irgendwas nettes
?
Mich selber juckt es auch in den Fingern, aber bei meinem eigenen OS komme ich gerade nicht so wirklich weiter.

Gruß,
Streetrunner
5
Da es den anderen anscheinend die Sprache verschalgen hat:

Das sieht ja schon sehr vielversprechend aus was deine Grafikkarte da ausgibt. Kannst du ein wenig mehr über die Funktionsweise erklären? Leider erkennt man auf dem Bild nicht wirklich was.

Gruß,
Streetrunner
6
Offtopic / Re: Wohin kann man mit Werten?
« am: 21. May 2014, 20:49 »
Hier steht was dazu:http://www.lowlevel.eu/wiki/Teil_7_-_Physische_Speicherverwaltung#Speicherverwaltung_initialisieren
Falls du nicht mit Multiboot bootest dann musst du das BIOS fragen (am besten gleich alles durchlesen):http://wiki.osdev.org/Detecting_Memory_%28x86%29
7
Lowlevel-Coding / Re: GP-Fault beim schreiben von CR0
« am: 18. March 2014, 10:52 »
Zitat
Wenn das funktioniert, landest du mit deinem Code übrigens im Compatibility Mode.
Ja, ich weiß. Von da aus geht es dann weiter in den Long Mode. Der Code dafür ist aber auskommentiert, da er nur unnötig verwirrung stiften würde und auch erst nach der Zeile mit dem Fehler ausgeführt werden würde.

Die Idee mit dem falschen Wert im MSR trifft genau ins Schwarze, das behebt den Fehler komplett. Danke an dieser Stelle. Ich weiß nicht was mich da geritten hat (vllt. Verwechslung von 8tes Bit und 0x80000000??). Werde auch gleich mal auf die Suche gehen was ich denn da fälschlicherweise aktiviert habe.

Gruß,
Streetrunner
8
Lowlevel-Coding / Re: GP-Fault beim schreiben von CR0
« am: 18. March 2014, 00:03 »
Ja ist es. An dieser Stelle liegt die PML4T. Ich starte qemu mit "-m 2048", das sollte reichen. Außerdem teste ich ob der Speicher auch wirklich frei ist. Wo ich mir auch keinen Reim drauf machen kann ist, warum ESP so verdammt hoch ist. Bei der aktuellen Version ist ESP = 0xa680895f, also über 2GB. Vllt. hilft die Gegenüberstellung von Log und objdump weiter:
0: v=0d e=0010 i=0 cpl=0 IP=0008:0000000000100ba2 pc=0000000000100ba2 SP=0010:00000000a680895f env->regs[R_EAX]=000000006d3b16ab
EAX=6d3b16ab EBX=00009500 ECX=bffffffd EDX=193cb72b
ESI=9bbf37e6 EDI=0012b000 EBP=00106fc0 ESP=a680895f
EIP=00100ba2 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0010 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
CS =0008 00000000 ffffffff 00cf9a00 DPL=0 CS32 [-R-]
SS =0010 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
DS =0010 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
FS =0010 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
GS =0010 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT
TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy
GDT=     00127000 00000017
IDT=     00000000 000003ff
CR0=80000011 CR2=00000000 CR3=08000000 CR4=00000020
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000
DR6=00000000ffff0ff0 DR7=0000000000000400
CCS=00000000 CCD=6d3b16ab CCO=INCL   
EFER=0000000000000000
00100691 <StartImage>:
  100691: 55                    push   %ebp
  100692: 89 e5                mov    %esp,%ebp
  100694: 83 ec 28              sub    $0x28,%esp
  100697: b8 10 00 00 00        mov    $0x10,%eax
  10069c: 8e d8                mov    %eax,%ds
  10069e: 8e c0                mov    %eax,%es
  1006a0: 8e e0                mov    %eax,%fs
  1006a2: 8e e8                mov    %eax,%gs
  1006a4: 0f 20 e0              mov    %cr4,%eax
  1006a7: 83 c8 20              or     $0x20,%eax
  1006aa: 0f 22 e0              mov    %eax,%cr4
  1006ad: b9 80 00 00 c0        mov    $0xc0000080,%ecx
  1006b2: 0f 32                rdmsr 
  1006b4: 0d 00 00 00 80        or     $0x80000000,%eax
  1006b9: 0f 30                wrmsr 
  1006bb: b8 00 00 00 08        mov    $0x8000000,%eax
  1006c0: 0f 22 d8              mov    %eax,%cr3
  1006c3: 0f 20 c0              mov    %cr0,%eax
  1006c6: 0d 00 00 00 80        or     $0x80000000,%eax
  1006cb: 0f 22 c0              mov    %eax,%cr0
  1006ce: a1 18 70 12 00        mov    0x127018,%eax
  1006d3: 89 45 f0              mov    %eax,-0x10(%ebp)
  1006d6: c7 45 f4 08 00 00 00 movl   $0x8,-0xc(%ebp)
  1006dd: f4                    hlt   
  1006de: c7 04 24 8f 21 10 00 movl   $0x10218f,(%esp)
  1006e5: e8 a3 00 00 00        call   10078d <print>
  1006ea: 90                    nop
  1006eb: c9                    leave 
  1006ec: c3                    ret   
  1006ed: 66 90                xchg   %ax,%ax
  1006ef: 90                    nop
Wie man aus den Daten entnehmen kann, ist CR3 = 0x8000000. Der Code läuft also mindestens bis Zeile 0x1006c0. Gleichzeitig bis maximal 0x1006dd, denn da sollte Schluss sein. Das letzte mal wird EBP in Zeile 0x100692 geändert, da war ESP also noch normal. Also muss irgendwo dazwischen ESP um einen sehr großen Wert geändert worden sein, nur wo?

Gruß,
Streetrunner
9
Lowlevel-Coding / Re: GP-Fault beim schreiben von CR0
« am: 17. March 2014, 22:02 »
Danke für deine Hilfe,

leider ergibt sich damit der gleiche Fehler. Nach objdump gibt es keinen Unterschied zwischen den beiden Versionen.

Gruß,

Streetrunner
10
Lowlevel-Coding / GP-Fault beim schreiben von CR0
« am: 17. March 2014, 20:17 »
Guten Abend,

ich bin gerade dabei einen Startup-Code zu schreiben um in den Long-Mode zu kommen. Dabei bin ich auf einen Fehler gestoßen zu dem mir überhaubt nicht einfällt wie dieser zu stande kommen könnte. Es geht sich um folgendes: So bald ich diesen Code
asm volatile("movl %cr0, %eax");
asm volatile("or $0x80000000, %eax");
asm volatile("movl %eax, %cr0");
ausführe bricht mir qemu mit einem GP-Fault ab. Hier mal die interessanten Zeilen des Logs:
0: v=0d e=0010 i=0 cpl=0 IP=0008:0000000000100ba2 pc=0000000000100ba2 SP=0010:00000000433385e6 env->regs[R_EAX]=000000002bb00fe3
EAX=2bb00fe3 EBX=00009500 ECX=c000007b EDX=a30c3147
ESI=93416461 EDI=00129000 EBP=00104fc0 ESP=433385e6
EIP=00100ba2 EFL=00000003 [------C] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0010 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
CS =0008 00000000 ffffffff 00cf9a00 DPL=0 CS32 [-R-]
SS =0010 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
DS =0010 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
FS =0010 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
GS =0010 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT
TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy
GDT=     00104fa8 00000017
IDT=     00000000 000003ff
CR0=80000011 CR2=00000000 CR3=08000000 CR4=00000020
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000
DR6=00000000ffff0ff0 DR7=0000000000000400
CCS=00000001 CCD=2bb00fe3 CCO=INCL   
EFER=0000000000000000
So bald ich aber "asm volatile("movl %eax, %cr0")" auskommentiere läuft alles wie geschmiert (außer dass das Paging natürlich nicht aktiviert wird). Ein objdump hat mir bis jetzt auch nicht weitergeholfen, denn die Speicheraddresse in EIP liegt nicht mehr in meinem Code, sondern irgendwo dahinter (aber immer noch im .text Segment).
Hat irgendjemand eine Ahnung woran dass liegen könnte?

Gruß,

Streetrunner

PS: Der Fehler ist natürlich reproduzierbar
11
OS-Design / Re: Qemu = ok, echt Hardware = Auaa... ;(
« am: 23. January 2014, 22:46 »
Zitat
(zur Dekodierung dieses Wertes siehe Intel Manuals Volume 3, 4.7 Page Fault Exceptions)
Oder hier: http://www.lowlevel.eu/wiki/Exception#Page_Fault
12
Offtopic / Re: Frohe Weihnachten 2013
« am: 24. December 2013, 16:54 »
Ohne politisch werden zu wollen: Es hätte schlimmer kommen können  :-)

Deshalb auch von mir fröhliche Wheinachten allerseits.
13
Offtopic / Re: Warning: empty character constant ?
« am: 13. December 2013, 23:24 »
Das würde ich aber unter Compiler-Fehler verbuchen, da du in deinem Code ja extra NUR char* als Typ angegeben hat und der Compiler merken sollte dass du deinen String beschreibst (welcher ja mit eignedlich nichts anderes als ein array ist)
14
Offtopic / Re: Warning: empty character constant ?
« am: 13. December 2013, 11:22 »
Das Tutorial ist nicht zum abschreiben gedacht (man sollte eher sagen nicht zum kopieren). Ein wenig Eigenleistung ist schon erforderlich, aber wirklich schwerwiegende Fehler hab ich bis jetzt nicht entdeckt. Was nicht heißen soll dass es keine geben könnte.

Zitat
Hab beim compilen des Kernels gleich wieder ein Fehler.
Wenn du uns verrätst welchen Fehler du hast findet sich bestimmt einer der ihn ausbessert.  :-)
15
Offtopic / Re: Hilfe bei Hardware problem
« am: 01. December 2013, 20:46 »
Dass dein MB und deine Grafikkarte nicht kompatibel sind glaube ich eher nicht, mein X58 MB hat meine GTX 680 auch ohne Probleme erkannt, und das war das letzte BIOS Update auch schon wieder 1,5 Jahre her.

Wenn du die Komponenten betreiben willst die du beschrieben hast dann würde ich dir zu einem neuen Netzteil raten. Je nach dem was du sonst noch so im Rechner stecken hast würde ich mich da zwischen 550 und 650W umschauen, und ein paar Testberichte lesen.
16
Offtopic / Re: Hilfe bei Hardware problem
« am: 30. November 2013, 20:38 »
Zitat
ich habe aber nur den 8 gesteckt
Die Karte hat nicht umsonst einen 6 und einen 8 Poligen Anschluss, da hat sich schon jemand was bei gedacht. Also beide einstecken.

Zitat
Ich glaube inzwischen außerdem mein Netzteil ist mit 450 W zu scwach
Rechenen wir mal zusammen: X79 Board + CPU mach locker 200W unter Vollast (Worstcase) + Grafikkarte nochmal 200W = 400W. Plus die Verlustleistung des Netzteils sind das schon 450W, und damit wäre das Netzteil ausgelastet. Also sind 600W für so eine Kombination schon sinnvoll.

Zitat
Kann man sein Netzteil irgendwie verbessern?
Nein. Netzteile sind nicht dazu gedacht "aufgerüstet" zu werden, bzw. mir ist kein bekannt wo das gehen würde. Man müsste da wohl an der Platine rumbasteln, und wenn da was schief geht kann der komplette Rechner über den Jordan gehen. Das wäre es mir nicht Wert. Und mehr Strom aus dem NT ziehen als es vertragen kann nimmt dir das NT übel.
17
Offtopic / Re: Hilfe bei Hardware problem
« am: 30. November 2013, 16:09 »
Woran das liegt ist eine gute Frage, aber ein paar Lösungsmöglichkeiten würde ich trotzdem anbieten (Betonung liegt auf "möglichkeiten").

Zu erst würde ich noch mal alle Kabel checken, vor allem vermisse ich in deinem Beitrag die Stromkabel, und welche Kabel du auf dem Mainboard befestigst ist mir auch irgendwie schleierhaft.
Dann wäre vllt. ein Update des BIOS ganz hilfreich, ab und an liegt es auch da dran.
Und wenn es dann immer noch nicht klappt kann man die Karte in einem anderen PC verbauen. Sollten sich da die gleichen Symtome zeigen so liegt es wahrscheinlich an der Karte selber, da wäre dann wohl ein Umtausch fällig.
18
Offtopic / Re: Hardware selbstgebaut
« am: 23. November 2013, 15:40 »
Schick schick Deine Hardware, aber ich hätte da mal zwei Fragen:

1. Was genau tut der ATmega?

2. Kann es sein dass es auch halb so viele Steckplätze für Erweiterungskarten getan hätten? Mir kommt es so vor als wären die Steckplätze zu nah aneinander, so dass bei einer eingesteckten Karte der nächste Platz blockiert ist. (Das kann natürlich auch ander Perspektive liegen)
19
Offtopic / Re: Externes Festplattengehäuse
« am: 19. November 2013, 13:30 »
Ich glaube nicht dass sich da noch viel machen lässt. Ich würde aber mal die Anschlüsse der verschiedenen Netzteile vergleichen, ob bei diesen auf den gleichen Pins auch die selbe Spannung anliegt, bevor Du weiterhin fröhlich hin und her stöpselst.
20
Softwareentwicklung / Re: [All In One]-Question lolxdfly
« am: 26. September 2013, 20:27 »
Es kommt mir so vor als ob du über das amerikanische Tastatur-Layout stolperst. Da gibt es keine Umlaute, da diese halt im Englischen nicht vorkommen. Dafür sind diese Tasten mit anderen Zeichen belegt, das gilt auch für etliche andere Tasten (das y und z vertauscht sind ist da nur die Spitze des Eisbergs). Was du auf deiner Tastatur siehst ist das Deutsche Layout, aber deine Tastatur weiß davon natürlich nichts, sie sendet weiterhin die Englischen Codes.
Seiten: [1] 2 3 4

Einloggen