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

Seiten: 1 [2] 3 4 ... 10
21
Lowlevel-Coding / Verdammtes Timing...
« am: 24. June 2005, 19:52 »
Hi,

zum Interrupt:
Also ich würde einfach...
...den Original Segment:Offset speichern,...
...dann überschreiben,...
... und nach deiner Int Routine einen Farjump auf den Original Handler machen.

Vielleicht hilft dir das: http://www.nondot.org/sabre/os/files/MiscHW/PIT.txt

Gruß GhostCoder
22
Offtopic / Linux und Laptops
« am: 22. June 2005, 15:32 »
Hi,

auf meinem Lifebook S-4546 ( Übrigens, Superteil! :) ) läuft Slackware 10.1 ohne Probleme.

Einzig negativ:
Es ein wenig gedauert, um die 3D-Unterstützung zum laufen zu kriegen. Was aber bei Windows garnicht erst geklappt hat.
Außerdem kriege ich cpufreq nicht zum laufen, geht aber unter Windows auch nicht, scheinbar weil ich Vorkriegs-SpeedStep habe.

Gruß GhostCoder
23
Lowlevel-Coding / Linken nicht möglich
« am: 16. June 2005, 22:55 »
Hi,

ist ESP bzw. SS richtig gesetzt?

Gruß GhostCoder
24
tyndur / API
« am: 16. June 2005, 22:53 »
Hi,

bei mir implementiere ich Syscalls folgendermaßen:
Assembler funktion "_syscall" wird von einem Int 0x80 aufgerufen, mit den Parametern in eax,ebx,ecx,edx,esi und edi: Diese Funktion pusht alle Werte und ruft die C Funktion
"syscall(int r1,int r2,int r3,int r4,int r5,int r6);" auf. Und in den Werten wird dann über ein beliebiges Register die Funktionsnummer und in dem Rest die Parameter übergeben. Fertig!

Warum mehrere Interrupts nehmen? mit o.g. Methode hast du alles übersichtlich in einer Funktion.

Gruß GhostCoder
25
Lowlevel-Coding / Coder gesucht
« am: 16. June 2005, 22:40 »
Hi,

wenn eine Frage kommt, stehe ich auch gerne zur Verfügung, sogar Bargeldlos :)

Gruß GhostCoder
26
Offtopic / Kleines Projekt zum Theme Spieleprogrammierung
« am: 10. June 2005, 13:21 »
Hi,

hab's auch noch nicht gelesen, würde aber C++ mit GL/glut oder SDL empfehlen, ist viel einfacher finde ich. Und unter Linux/MacOS läuft es auch...

Gruß GhostCoder
27
Lowlevel-Coding / Farcall vs. Interrupt
« am: 10. June 2005, 13:15 »
ICH BENUTZE DOCH PAGING, also kann ich jede Page die ich will swappen!

@Roshl:
Es ging darum, Segmente zu verhindern!

Gruß
28
Lowlevel-Coding / Farcall vs. Interrupt
« am: 09. June 2005, 16:02 »
Ja, dynamisches Linken ist notwendig. Wollte nur sagen, das es auch ohne geht :)

Gruß GhostCoder
29
Lowlevel-Coding / Farcall vs. Interrupt
« am: 09. June 2005, 15:14 »
Hi,


@Svenska:
na klar gibt es ohne private Addressräume Probleme, aber daran arbeite ich ja im Moment.
Btw, danke für die positive Unterstützung :)

@n3Ro:
An PIC+ELF habe ich auch gedacht, wäre in gcc ja nicht mal ein Umstand (-fPIC oder so?). Muss ich mal schauen wie die Performanceeinbußen sind. die idee mit dem Linken find ich gut, Danke! :)

@Legend:
Klar bedeuten Segmente einen Performanceverlust, aber ein FARCALL ist immer noch schneller als ein Interrupt (Ohne Wechsel der Privilegstufe).

@SSJ7Gohan:
Ich weiß, aber ich will meinen Kernel ja auch nicht Binärkompatibel mit Linux halten. Natürlich lege ich keine 2 Codesegmente übereinander, man hat ja 4GB die frei zu verteilen. Btw, nein man brauch Paging nicht für Multitasking, es ist nur hilfreich! Denk doch mal daran, 2 Programme liegen an 2 unterschiedlichen Addressen(Meinetwegen 0x1000 und 0x2000), wenn ich jetzt bei jedem Interrupt den Stack änder und die Register poppe, was hat das mit Paging zu tun? Multitasking kann man auch auf einem Z80 laufen lassen, und für den is MMU nen Fremdwort :)

Gruß GhostCoder
30
Lowlevel-Coding / Farcall vs. Interrupt
« am: 08. June 2005, 20:33 »
Noch was:

Ich sitz grad an meiner Linuxbox, und die Summe des gesamt benötigten VM Speichers aller Prozesse liegt grad mal bei rund 400mb, also selbst wenn ich jetzt noch Doom3 spiele, würde ein(!) Addressraum von 4GB locker reichen, und sogar noch viel mehr. Klar, auf nem Server kann das vielleicht knapp werden...

Also kann man sich doch die ganzen cr3 switches sparen, und stattdessen lieber mit Segmenten arbeiten... :)

Gruß
31
Lowlevel-Coding / Farcall vs. Interrupt
« am: 08. June 2005, 20:27 »
Jo, Multitasking funktioniert natürlich noch.
Ich nutze auch Paging, aber halt nur für den ganzen Addressraum und nicht für jeden Prozess einen persönlichen.

Zitat

Ich halte es nicht für sinnvoll, das System so auf Geschwindigkeit zu trimmen, für höchstens 2-5% mehr Geschwindigkeit hast du keinen Speicherschutz, kein ...


Klar kriegt man auf diese Weise kein "richtiges" markreifes OS hin, aber warum sollte ich?
Ich kann jetzt versuchen einen Linuxklon zu schreiben, würde aber natürlich dabei scheitern. Also suche ich mir eine Nische, in der ich mir ein Ziel setzen kann und Spass daran habe, etwas "neues", ungewöhnliches zu machen.

Außerdem glaube ich das ich damit mehr als 2-5% rausholen kann. :)

Gruß GhostCoder
32
Lowlevel-Coding / Farcall vs. Interrupt
« am: 08. June 2005, 16:22 »
Zitat

Dank Paging können die Prozesse ja nichmal die Addressen des anderen Programms addressieren, also brauchst du nicht mehr Segmente.


Schon klar, aber mit geht es nur um Geschwindigkeit, also willl ich nen Wechsel von CR3 vermeiden, jetzt habe ich zwar keinen Speicherschutz mehr, aber darauf kann ich verzichten...
Und Segmente pushen/poppen beim Taskwechsel fällt auch weg... :)

Vielleicht baue ich später doch noch Segmentierung ein, aber erstmal geht es um andere Sachen...

Gruß GhostCoder
33
Offtopic / Unix-Command
« am: 08. June 2005, 16:18 »
Spontan würde ich jetzt sagen

1997; ls -la


Gruß GhostCoder
34
OS-Design / VGA modus setzen
« am: 07. June 2005, 17:11 »
[url]http://osdever.net/documents/vga_ports.txt?the_id=26{/url]

Wie gesagt, richtig gute Informationen habe ich auch nie gefunden...

Gruß GhostCoder
35
Lowlevel-Coding / Farcall vs. Interrupt
« am: 07. June 2005, 17:09 »
Danke für die Antworten,

bin jetzt aber auf den Gedanken gekommen, weder Segmente noch VM für jeden Prozess zu nutzen. Setze mal auf Geschwindigkeit, auch wenn jeder fehlerhafte Prozess dann das System zerschießen kann, war ja unter DOS nicht anders... :)

Gruß GhostCoder
36
OS-Design / VGA modus setzen
« am: 07. June 2005, 14:03 »
Hi,

habe auch mal versucht einen "richtigen" VGA Treiber im PMode zu schreiben, das Problem ist nur, das die Informationen dazu ziemlich rar sind und man afaik auch seine GraKa zerschießen kann.

Die Tauron VGA Utils sind da schon recht hilfreich und die alten SkyOS Sourcen haben glaube ich auch einen VGA Treiber im PMode.

Gruß GhostCoder
37
Lowlevel-Coding / Farcall vs. Interrupt
« am: 05. June 2005, 14:17 »
Hi,

ich habe schon überall gesucht, aber nichts gefunden:
Was ist schneller, ein Farcall in einen anderen Selektor oder ein Interrupt? Alles ohne Wechsel der Privilegstufe...

Oder allgemein, was ist der schnellste Weg eine Funktion in einem anderen Selektor aufzurufen?

Gruß GhostCoder
38
Offtopic / 1. OS-Coder treffen
« am: 03. June 2005, 15:38 »
Also ich würde nen Treffen in NRW bervorzugen :)

Bayern und Berlin sind mir echt ein bisschen zu weit weg...Trotz Auto.

Gruß GhostCoder
39
OS-Design / Zum Thema Mikrokernel
« am: 30. May 2005, 15:37 »
Zitat

und amd64 unterstützt auch nur noch flat-segmentierung (außer bei fs und gs, wegen thread-local von win)


Find ich eigentlich schade, Segmentierung hat echt seine Vorteile. Sicherheit, wie gesagt, aber auch im Microkernel gibt dir das extreme Geschwindigkeitsvorteile, weil du ja keine Pages mehr rumschieben musst, sondern einfach nur base+offset addierst, und kopierst.

Gruß GhostCoder
40
OS-Design / Netzwerkprotokolle und alles was dazu gehört
« am: 30. May 2005, 15:33 »
Was ich noch sagen wollte:
Die Treiberprogrammierung dürfte viel härter sein!
Mein selbst geschriebener ARP Spoofer hat grad mal 50 Zeilen, und könnte mit 100 Zeilen mehr nen kompletter Teil des Stacks sein.

Gruß nochmal :)
Seiten: 1 [2] 3 4 ... 10

Einloggen