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

Seiten: 1 ... 28 29 [30]
581
Lowlevel-Coding / Bootloader
« am: 29. February 2004, 22:26 »
Alloa.
Da ich selbst hin und wieder ein bisschen am OS-Coden bin, hab ich mir mal einen Bootloader geschrieben um mir das ausprobieren etwas komfortabler zu machen. Mir war es lästig jedes mal mit RawWrite auf eine Diskette schreiben zu müsen. Daher hab ich einen Bootloader geschrieben der eine binäre Datei aus dem Root-Verzeichnis einer FAT12 formatierten Diskette in den Speicher läd und dann ausführt.

Da hier leider noch keine Funktion vorhanden is um bequem Code zu posten, stelle ich diesen auf meiner HP zum DL bereit.

http://www.sub--zero.de/scripts/htmlgenerator.php?page=bootloader&directory=tutorials

Ganz am Ende ist der Link zur Zip mit dem Code.
582
Offtopic / Linksammlung
« am: 29. February 2004, 21:25 »
Das Buch hab ich ebenfalls :)
Beides bei Ebay ersteigert.

Allerdings laut der Inhaltsangabe würde ich schätzen das beide Bücher sich doch recht ähnlich sind.

Wer mal reinschnuppern will, sollte mal im eMule-Netzwerk suchen. Da kann man das Buch von Tanenbaum als PDF runterladen. Allerdings in englisch und nicht besonders guter Quali.

Soll ja auch NUR zum reinlesen dienen. Wem es zusagt, dem kann ich empfehlen es evtl bei Amazon oder BOL gebraucht zu kaufen oder bei Ebay zu ersteigern.
583
OS-Design / Memory Management
« am: 29. February 2004, 20:48 »
Du brauchst nichtmal ne LDT. Alleine wenn du für jeden Prozess eine eigene Pagetable hast genügt das ja.

Und um sich adressraum zu teilen, richtest du einfach Pagetabels ein, die jedem Prozess zur Verfügung stehen. Du hast ja 4GB Adressraum zum aufteilen.
Da kannst du ja 2 GB für den Prozess selbst nehmen und die anderen 2 GB für gemeinsamen Adressraum (DLLs usw) und Kernel aufteilen.

Windows verfährt so.
584
Offtopic / Linksammlung
« am: 29. February 2004, 20:46 »
Das Buch umschreibt wohl eher die Theorie und geht als Beispiel auf Windows2000 und Unix ein.

Wie gesagt ich habs erst seit 2 Tagen und bin erst auf Seite 78 von... ähm 850.
Sobald ich näheres darüber zu berichten weiß, werde ich das hier tun.

@Mastermesh.
So in etwa hatte ich mir das vorgestellt.
Das die Mods die Beiträge bekommen und dann nach dem durchschauen in ein Forum posten auf das nur SIE Zugriff haben.
585
OS-Design / Memory Management
« am: 29. February 2004, 18:28 »
Ja das ist dann aufgabe des Codes der die Pages verwaltet. Der muß natürlich wissen welches Pages im RAM belegt sind und welche auf Platte ausgelagert sind.

Hier könnte man natürlich ein einfaches Bitmap ansetzen.
Jedoch wäre das zu einfach. Man muß ja die Pages auch effizient auslagern. Sprich die am wenigst benutzen Pages zuerst auf Platte auslagern. Also müsste man wohl schon etwas mehr als nur ein Bitmap benutzen um die Pages zu verwalten.
586
Offtopic / Linksammlung
« am: 29. February 2004, 17:17 »
Also wenns dir nicht zu viel Arbeit vom Programmieren her macht, würde ich vorschlagen das du vielleicht eine extra Page einrichtest, wo dann "ausgewählte" Code-Snippets, Büchertips usw erscheinen.

Ausgwählt deshalb, weil es nicht sinnvoll ist, wenn da JEDER ALLES posten kann was ihm so durch den Kopf schwirrt.

Man könnte es ja so machen, das zwar jeder Beiträge posten kann, diese jedoch erstmal von Moderatoren durchgesehen (evtl Korrektur gelesen) werden und dann freigegeben werden.

Da im Forum selbst zu lösen halte ich für nicht sehr gut. Man sehe wie es in anderen Foren zugeht. Da postet dann einer etwas Code und die anderen Posten dann im selben Thread den blödsten Mist und zerreissen sich das Maul über den Code oder diskutieren die dümmsten Dinge. Und das lengt voll vom eigentlichen Code (dem Sinn des ganzen) ab.

Ich würde mich auch bereit erklären, (vielleicht mit noch jemanden zusammen) diese Sachen durchzuschauen.
587
OS-Design / Memory Management
« am: 29. February 2004, 15:24 »
Nachtrag:

Das mit dem Bitmap is auch eine schlechte Idee. Man benötigt ja dann theoretisch 1 Bit um 1 Byte im Speicher markieren zu können, ob dieses belegt oder frei ist.

Und jetzt rechne mal das du 1 GB Speicher hast. Du bräuchtest alleine ein Achtel nur um den Speicher zu verwalten. Sprich 128 MB. Das wäre wohl ein zu hoher Preis.

Klar könnte man auch mit einem Bit mehrere Bytes im Speicher ansprechen, was aber wieder zu fragmentierung und SPeicherverlust führt.

Stack finde ich auch nicht gut, weil du dann nicht die komplette Übersicht behälst. Du hast immer nur Adressen die auf den Stack gepusht oder gepopt werden. Wie machst du es dann wenn du mal Speicher brauchst, dessen Adresse erst in der Mitte des Stacks auftaucht?
Klar könnte man das auch berechnen und durch umkopieren des Stacks erreichen. Jedoch auch wieder viel Overhead. Speichermanagement sollte schnell sein :)

mfg
TeeJay
588
OS-Design / Memory Management
« am: 29. February 2004, 15:20 »
Also ich hatte mal folgende Idee in einem Buch gelesen und fand diese recht gut.

Jedes Programm enthält ja seinen eigenen Adressraum.
Und da hat jedes Programm ja auch einen Heap. Also einen "großen" Speicherbereich, der noch frei ist und mit Daten gefüllt werden kann.

Dieser Datenbereich ist nun durch ein Tag beschrieben. Dieses Tag sollte vom Kernel verwaltet werden. Es beinhaltet die Startadresse und die Größe des Speicherbereichs. Wenn nun Speicher vom Programm angefordert wird, so teilt der Kernel das Tag in 2. Ein Tag beschreibt nun den belegten und das andere den freien Bereich. Für jede Speicheranforderung wird immer ein neues Tag erstellt. Somit kann ich dann auch recht einfach per free() oder delete() den angeforderten Speicherbereich freigeben.

Das mit den Pages sollte mehr im Hintergrund laufen. Hat IMHO mit Speicherverwaltung im eigentlichen Sinne nicht so viel zu tun. Paging ist ja mehr dafür gedacht, das jedes Programm seinen eigenen Adressraum haben kann und das diese PAges auf Platte ausgelagert werden können, um Platz im Physikalischem Speicher zu schaffen.

Klar gehört Paging somit auch zum Memory Management, jedoch ist das halt auf einer sehr tiefen ebene. Und von dieser Ebene sollte ein Programm später nichts mehr mitbekommen.

mfg
TeeJay
589
Offtopic / Linksammlung
« am: 29. February 2004, 15:13 »
Keine schlechte Idee.

Nebenher sollte man vielleicht auch zu empfehlende Bücher erwähnen.
Ich selbst lese gerade "Betriebssysteme - Prinzipien und Umsetzung" von William Stallings.

Bin zwar noch nicht so weit, da ich es erst ein paar Tage habe. Jedoch finde ich es bis jetzt recht gut.

mfg
TeeJay
Seiten: 1 ... 28 29 [30]

Einloggen