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 - PowerProgrammer

Seiten: [1] 2
1
OS-Design / Re: Denkanstoß-Thread: Memory, Paging...
« am: 16. February 2008, 14:00 »
Hmm okay, eine gute Idee ist es, finde ich, wie in dem Tutorial auch beschrieben, einen Page Directory Entry auf das Page Directory selbst zu linken, so hat man dann immer schön Zugriff auf alle Page Tables.
Ich werde mal schauen, wie fern ich weiterkomme, wenn es doch nicht funzt, frage ich einfach nochmal. Dankeschön!
2
OS-Design / Re: Denkanstoß-Thread: Memory, Paging...
« am: 15. February 2008, 21:56 »
Hi Leute!
Nach einer Pause sitze ich mal wieder am OS-Deven und ich bekomme auch diesesmal nichts auf die Reihe :-D

Es geht sich um folgendes: Ich habe eine kleine Funktion geschrieben um 4k-Blöcke zu allozieren. Das funktionierte theoretisch auch prima.
Nun wollte ich zum Testen mal in Richtung Paging gehen. Und dort beginnen die Probleme:
Durch das aktivierte Paging gibt es nur noch virtuelle Adressen, aber mein toller Blockallokator soll doch den physikalischen Arbeitsspeicher aufteilen. Was ist da zu tun? Wie kann ich das Problem umgehen?

In dem von mir benutzen super Tutorial (http://osdever.net/tutorials/memory1.php) steht zum Beispiel, dass aller physikalischer Speicher als ganzes Beispielsweise an das Ende des virtuellen Adressraums gemappt werden kann. Das ist natürlich ziemlich uneffizient.

Kann mir da jemand helfen?
3
Lowlevel-Coding / Video Memory ohne Graka
« am: 13. February 2008, 17:27 »
Hi Leute!

Wie steht es eigentlich, wenn in einem PC keine Graka drinne steckt, ist der Video-Memory trotzdem verfügbar?
Viele BIOS lassen es garnicht zu, dass der PC ohne Graka startet, aber bei einem Server ist eine Grafikkarte ja oft unsinn. Angenommen, es steckt nichts drin und ich schreibe dahin, wo der video memory stecken sollte, gibt es dann probleme?
4
OS-Design / Re: Denkanstoß-Thread: Memory, Paging...
« am: 17. December 2007, 20:54 »
Das mit der memory map war mir bis jetzt noch nicht klar :-D
Jetzt weiß ich, das es sowas gibt, aber verstehen tue ichs immer noch nicht:

             +-------------------+
     -4      | size              |
             +-------------------+
     0       | base_addr_low     |
     4       | base_addr_high    |
     8       | length_low        |
     12      | length_high       |
     16      | type              |
             +-------------------+

Das ist wohl eine sehr wichtige Information aus den GRUB-Informationen. Allerdings verstehe ich nicht, weshalb die Adressierung mit 64 Bit geschieht?! Überall gibt es 32-Bit-Adressen, nur hier nicht, was läuft da schief?
Desweiteren verstehe ich irgendwie nicht, weshalb die Adressierung bei -4 beginnt. Was soll das? Was bedeutet das size da oben?

Tut mir Leid, dass ich sowas frage, für euch ist das wohl alles super logisch, aber ich muss mich erst in die Materie hereindenken.
5
OS-Design / Re: Denkanstoß-Thread: Memory, Paging...
« am: 16. December 2007, 20:43 »
So, nun habe ich meine nächsten Fragen mal so. Die sind ziemlich noobisch, aber fragen kostet (mich) ja nichts:

Welchen Bereich des RAM soll ich mit meinem OS belegen?
Wäre es ratsam den ganzen Arbeitsspeicher durchgängig von 1 MB aufwärts zu nutzen? Oder soll ich mein verschiedenes Zeugs noch irgendwo zwischen GRUB und dem ganzen VGA-Zeugs ansiedeln? Lohnt sich das?

Wo beginnt der mem_upper?
In der Multibootspekifikation wird die Größe des verwendbaren Arbeitsspeichers ja in mem_lower und mem_upper unterteilt. Beginnt der obere Arbeitsspeicher dann bei 1 MB genau und der untere Teil bei 0? Ja, oder?
6
OS-Design / Re: Denkanstoß-Thread: Memory, Paging...
« am: 25. November 2007, 21:02 »
Hey, vielen, vielen Dank! Ihr habt mir wirklich geholfen!

Vorallem das mit dem Speichern des FREIEN Speichers ist cool, das hat den Vorteil, dass das allokieren etwas schneller geht und außerdem - wie gesagt - der Stack bei steigendem Speicherbedarf kleiner wird und das Teil dann wirklich nie Speicher klaut :-) Darauf muss man erstmal kommen, ich habe etwas schief gedacht :wink:

PowerProgrammer
7
OS-Design / Re: Denkanstoß-Thread: Memory, Paging...
« am: 25. November 2007, 14:54 »
Genau aus diesem Grund fragte ich ja, ob vielleicht 512 KB doch eine Lösung wären, was haltet ihr davon? Oder vielleicht auch 128 KB oder 64 KB, wenn ichs mir recht überlege. Wäre das vielleicht realistisch? Auch wenn das technisch nicht so schön passt?
8
OS-Design / Re: Denkanstoß-Thread: Memory, Paging...
« am: 25. November 2007, 13:33 »
"gigantischen Datenmengen zur bloßen Verwaltung von Blöcke[n]":
Um den Speicher zu verwalten, muss der Kernel doch eine Liste der allokierten Elemente haben, um zu erkennen, was schon weg ist und zu welchem Task der Bereich gehört, oder nicht? Angenommen ein großes Programm benötigt 12 MB Speicher. Das wären in der Liste bei 4MB-Blöcken gerade mal 3 Einträge, bei 4KB-Blöcken müssten 3072 Blöcke mit der Liste verwaltet werden, oder etwa nicht? Und wenn es so ist, dann finde ich schon, dass 3 Listeneinträge leicht weniger sind als 3072. Oder denke ich hier ganz falsch und man kann irgendwie auf eine Liste verzichten?
9
OS-Design / Denkanstoß-Thread: Memory, Paging...
« am: 25. November 2007, 12:10 »
Hallo!
Ich möchte mein System mal langsam um Paging und vorallem einem Memory Manager erweitern. Dazu habe ich dann allerdings ein paar Fragen. Ich stelle hier im Laufe der nächsten Zeit einfach meine Fragen, je nach dem, wo ich einen Denkanstoß benötige.

Wie groß soll ein allokierter Block sein?
So wie ich es verstanden habe, soll man am besten mit einem 1. Memory Manager anfangen, der einfach nur immer feste Blöcke verwaltet und vergibt. Vom technischen her bieten sich da Blöcke à 4 MB an, also ein ganzer Page-Directory-Eintrag. Allerdings habe ich das Gefühl, dass das etwas groß ist. Was soll man da am besten nehmen? 4 KB? Das wären dann ja gigantische Datenmengen zur bloßen Verwaltung der Blöcke. Sollte man da vielleicht 512 KB oder 1 MB nehmen, auch wenn das technisch nicht ganz so rund ist?
10
Offtopic / Re: MP3 und Firefox durch Quicktime
« am: 15. November 2007, 16:22 »
Hallo!
Ich bin nicht sicher, ob es ohne Plugins möglich ist.
Das Problem ist halt, dass Audio und Video nichts mit HTML zu tun haben und ursprünglich nicht gedacht waren. Deshalb können die meisten Systeme das halt nicht von Haus aus. Zu Empfehlen für so einen Multimediagenuss ist daher das altbekannte Flash^^ Nur der Internet Explorer hat das mal wieder von Haus aus implementiert, so wie es zu den Konzepten von Microsoft gehört.
Und dann ist es natürlich nochmal eine andere Frage, ob Musik im Hintergrund einer Webseite nicht noch eher stört...
Vielleicht musste einfach auf die Leute ohne QuickTime pfeifen.
11
Offtopic / Re: Laptop
« am: 13. November 2007, 13:36 »
Naja, für einen Schüler kann das schon ziemlich viel sein. Aber egal ob Schüler oder nicht, lohnen tut es sich nicht. Ich kaufe mir nicht, nur weil es billig ist, irgendein Zeugs^^
12
Offtopic / Re: Laptop
« am: 12. November 2007, 15:52 »
Wers im Geldbeutel hat :wink:
Natürlich ist so ein nostalgisches Teil schon ganz nett und interessant, aber da der ganze moderne Kram bis zum antiken x86 Kompatibel ist, lohnt so eine Kiste nun wirklich nich^^
Das einzige, dass interessant wäre, wäre vielleicht mal, zu sehen, wie schnell so eine Kiste läuft, aber sonst? Eher nicht. Für Sammler (und Reiche) ist das natürlich vollkommen was anderes.
13
Offtopic / Re: C-Problem *gelöst*
« am: 22. October 2007, 17:04 »
Zitat
Obwohl ich natürlich die Ausgabe auch hätte in eine Datei umlenken lassen können.
Jo, damit meinte ich das "umpipen".

Vielen Dank für den Tipp mit dem Scrollen, das hilft mir sehr! Super:)
14
Offtopic / Re: C-Problem *gelöst*
« am: 21. October 2007, 15:05 »
Kennst du eine für Linux ohne Oberfläche?
Bis jetzt nutze ich den Billigeditor "nano".

XServer und Gnome und so kann ich nicht installieren, da mein PC das nicht schafft^^
15
Offtopic / Re: C-Problem
« am: 21. October 2007, 13:39 »
Hmmm, meine Schuld, ich hab einen dummen Fehler begangen. Hinter einem Element in der Struktur hatte ich ein Semikolon vergessen, das ist natürlich sehr peinlich. Ich konnte das in der Ausgabe vom Compiler nicht sehen, da ich Linux ohne Oberfläche benutze und nicht scrollen kann... Obwohl ich natürlich die Ausgabe auch hätte in eine Datei umlenken lassen können. Tut mir Leid! Aber trotzdem vielen Dank, bluecode!
16
Lowlevel-Coding / Re: Codepage437
« am: 21. October 2007, 12:23 »
Ich finde den Zeichensatz cool, kann man nett mit Spielen. Ich hatte mich bei DOS-Programmen auch schon immer gefragt, wie die solche Rahmen zeichnen.
17
Offtopic / C-Problem *gelöst*
« am: 21. October 2007, 12:19 »
Ich habe ein C-Problem:
struct scrn_settings
{
   [...]
};

struct scrn_settings scrn;

void problembeispiel()
{
    scrn.[...] = 123;
}
So sieht mein Code etwas vereinfacht aus. Beim Compilen kommt folgende Meldung:
Zitat
In function 'problembeispiel':
error: invalid use of undefined type 'struct scrn_settings'

Ich bin kein C-Pro, könnt ihr mir helfen? Vielen dank!
18
Lowlevel-Coding / Re: IRQ-Problem
« am: 06. September 2007, 16:39 »
Vielen vielen dank, aber das Problem lag woanders :-D :-D :-D :-D
Stundenlanges Fehlersuchen umsonst:
Ich habe am Ende nach der Ausgabe von ein bisschen Text folgendes gecodet:
while(1)
{
__asm__ ("cli");
__asm__ ("hlt")
}
Doppelt gemoppelt hält war besser, aber dadurch wurden auch die Interrupts blockiert :-D :-D :-D Wie peinlich, aber das passiert jedem Noob mal :wink:

Grr, gekommen bin ich auf den Fehler, als ich irgendwas anderes gemacht habe, da hatte ich mal wieder nen Gedankenblitz. Boah.
19
Lowlevel-Coding / Re: IRQ-Problem
« am: 06. September 2007, 14:48 »
Dankeschön :-)

Ich habe 10111000 aus 0x21 ausgelesen.
=> IRQ 0, der Channel, den der Timer auch nutzt, ist deaktiviert

Weiß jemand, wie ich die Teile einfach alle wieder aktiviere? Kennt jemand vielleicht auch noch ein Tutorial, wo auf den PIC genauer eingegangen wird? Was ich gefunden habe, waren nur so kleine Tutorials, wo es höchstens um das Remappen der IRQs ging.
Vielen Dank, PowerProgrammer
20
Lowlevel-Coding / Re: IRQ-Problem
« am: 05. September 2007, 20:24 »
Joa, vielen danke. Interrupts sind mit STI enabled. Ich hatte schon versucht, die IRQs auf 32 - 47 zu mappen, klappte nicht, also hab ichs mal mit den Standardeinstellungen probiert (egal, wenn das mit den Exceptions kollidiert, zum Test), klappen tat es auch nicht.
Zitat
Die IRQs können aber auch dadurch, dass sie im PIC (=Programmable Interrupt Controller) deaktiviert sind, nicht ausgelöst werden.
Wie aktiviere ich die denn? Wie kann ich das prüfen?
Seiten: [1] 2

Einloggen