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.


Themen - blitzmaster

Seiten: [1]
1
OS-Design / Speicherverwaltung mit Stack
« am: 01. February 2010, 19:22 »
Hallo!

Seit kurzen komme ich wieder etwas dazu an meinen OS weiterzuarbeiten. Die physische Speicherverwaltung war bisher mit einer Bitmap realisiert, aber das ist relativ langsam nach einer Zeit. Eine Implementierung mit Stack gefällt mir eigentlich recht gut, aber ein Problem sehe ich: Wenn irrtümlicherweise eine bereits freigegebene Page auf den Stack gepusht wird, dann ist die da zweimal drauf, und wird beim zweiten Mal fälschlicherweise als neue und freie Speicherseite hergegeben.
Gibts da Lösungen dafür? Oder ist das ein NAchteil den ich in Kauf nehmen muss? Prinzipiell würde mir nur einfallen den Stack bei jedem free - Aufruf zu durchsuchen, aber das ist ja dann wieder eine recht langwierige Sache.

lg,

Blitzmaster
2
Offtopic / Frohe Weihnachten
« am: 24. December 2008, 14:32 »
Hallo!

Ich wünsche allen ein frohes und besinnliches Weihnachtsfest und einen guten Rutsch ins neue Jahr!

lg,

blitzmaster
3
Offtopic / gcc will nur über direktaufruf
« am: 18. March 2008, 17:32 »
Hi!

Ich habe den Crosscompiler von Jidder (wiki) und er funktioniert auch ganz gut. Jetzt bin ich aber auf einen windows port von make umgestiegen und wenn der Compiler da aufgerufen wird sagt er nur
Zitat
gcc: CreateProcess: No such file or directory
Wenn ich ihn direkt aufrufe funktioniert er einwandfrei. Weiß jemand was da los ist / los sein könnte?

lg,

Blitzmaster
4
Offtopic / Grafikkarte
« am: 17. November 2007, 19:08 »
Hi zusammen!

Meine Grafikkarte funktioniert seit kurzem überhaupt nicht mehr.
Beim booten bleibt der Bildschirm schwarz und das BIOS gibt nicht
einmal mehr Piepszeichen von sich(!).
Es ist eine Sapphire Graka, die ich vor eineinhalb Jahren gekauft habe.
Was ist da los?
5
Lowlevel-Coding / CPU - Zyklen in eigenem Register?
« am: 08. May 2007, 18:20 »
Hi!

Ich hab gerade einen Artikel über das neue Sound - Subsystem von Windows Vista gelesen.

Zitat von der c't 10/07 S. 172 / 173
Zitat
In Windows Vista hingegen orientiert sich die Interrupt-Routine nicht wie in Windows XP und seinen Vorgängern an starren Zeiterintervallen, die jeweils 10 bis 15ms lang sind, sondern an der Anzahl der tatsächlich durchlaufenen CPU-Zyklen. Diese Werte legen moderne Prozessoren in einem eigenen Register ab.

Welches Register?
6
Das Wiki / Ausgabe 10
« am: 29. March 2007, 14:56 »
Hi!

Gibt es das Magazin überhaupt noch?
Und zu welchem Thema wird die neue Ausgabe sein, wenn es sie denn geben sollte.
7
Lowlevel-Coding / Offsets funktionieren nicht
« am: 13. March 2007, 16:59 »
Hi!

Folgendes:
Irgendwie funktionieren die Variablen nicht ganz. Wenn ich schreibe:
Org 0x15FBE
...
mov al, [actPos]
cmp al, 0xFF
...
actPos db 0xFF

Dann meint er [actPos] sei nicht das gleiche wie 0xFF. Die Calls und Jumps funktionieren aber alle einwandfrei. Was ist das???
Der Code wird vom Kernel an die stelle 0x15FBE geladen, wir befinden uns im Protected Mode mit CS=DS = 0x0 - 0xFFFFFFFF. Die GDT ist ordnungsgemäß geladen, interrupts sind ausgeschaltet.
Danke schon im voraus!
8
Offtopic / Welche Software setzt ihr ein?
« am: 24. February 2007, 21:17 »
Mich würde mal interessieren, was ihr denn so für Compiler/Linker/Tools fürs OS Programmieren benützt.

Also ich benutze NASM als Compiler, denn ich schreibe mein ganzes OS in Assembler, und spezielle Tools habe ich nicht wirklich; eventuel (mein vor kurzem auf windows compiliertes) mbchk, das ich aber auch nur zum experimentiern mit GRUB habe.
9
Lowlevel-Coding / Wo ist mbchk?
« am: 20. February 2007, 18:03 »
Ich probier grad mal GRUB als alternative für meinen eigenen Bootloader aus. Nur leider bemängelt er meinen multibootheader. Da sagen jetzt aber alle, mbchk zu benutzen. Doch wo finde ich dieses Programm? Bis jetzt fand ich nur etwas für Linux, was ich aber nicht habe. Gibt's das für Windows garnicht?
10
Lowlevel-Coding / Bootloader lädt nicht
« am: 16. November 2006, 18:17 »
Hier der code des bootsektors:
;
; boot.asm
;

;//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

;                                                                                Loads the OS - Loader into the RAM

;//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
;
; name : Boot-Loader
; file : boot.asm
; version : 0.1

;-- GENERAL THINGS-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Org 0x7C00
[Bits 16]

cli ; Preparing a stack
mov ax, 0x9000
mov ss, ax
xor ax,ax
mov ds,ax
mov es,ax
mov sp,ax
sti

;-- CODE SECTION---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mov [bootdrv],dl

mov si, msg1
call WriteText
mov si, msg2
call WriteText

call load

mov si, msg3
call WriteText

mov si,msg4
call WriteText

mov ax,0x1000
mov es, ax
mov ds, ax
push ax ; Segment adress of os_ldr
xor ax,ax
push ax ; Offset adress of os_ldr
retf ; Far jump to kernel

;-- DATA SECTION---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;********** Variables **********
bootdrv db 0
msg1 db "Bootloader A/OS PM 0.2",13,10,0
msg2 db "***********************",13,10,0
msg3 db "Loading os-loader...",13,10,0
msg4 db "Calling os-loader...",13,10,0

;********** Functions **********
WriteText:
pusha
.1:
lodsb
or al,al
jz .2
mov ah, 0x0E
int 0x10
jmp .1
.2:
popa
retn
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
load:
pusha
.1:

mov ah, 0x00 ; Disk drive reset
mov dl, [bootdrv]
int 0x13
or ah,ah
jnz .1

.2:
mov ax, 0x1000
mov es, ax ; The os_ldr segment
mov ah, 0x02 ; Reading
mov dl, [bootdrv]
mov dh, 0 ; Disk side
mov ch, 0 ; Spur
mov cl, 1 ; Sector
mov al, 5 ; How many sectors?
mov bx, 0 ; The offset
int 13h
or ah,ah
jnz .2
popa
retn

times 512-($-$$)-2 db 0 ; Paddint file size up to one sector
dw 0x0AA55                  ; The boot-signature
Wegen der "----" Kommentare braucht man sich keine sorgen machen, das geht sich aus.
Er gibt zwar alle meldungen aus, jedoch springt er danach wieder zu sich selbst->gibt wieder alle Meldungen aus->springt wieder zu sich->.....
Das ist aber erst vor kurzem aufgetreten, er hat auf jeden fall schon einmal brav alles geladet, was ich von ihm wollte. FS hab ich auf der diskette nicht, da auf der Bootdiskette meines OSs keines sein soll, damit man sie nicht ruinieren kann. Aber egal.
Wer findet den Fehler? Ich auf jeden Fall nicht...
Seiten: [1]

Einloggen