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

Seiten: 1 [2]
21
Offtopic / Webhoster
« am: 04. November 2008, 12:46 »
Hallo,
nachdem ich nun meinen VPS gekündigt habe und dieser nur noch bis mitte diesen Monats läuft, wollte ich mal fragen, was ihr so empfehlen könnt an Webhostern.
Laufen muss eine MediaWiki und ein Blog. Es kann auch Geld kosten, denn mittellos bin ich nicht, allerdings nicht zu viel ;).

Was ich gefunden habe und ganz interessant finde ist folgendes Angebot von Host Europe: http://www.hosteurope.de/produkt/WebPack-XL. Kann auch sein, dass das zu groß ist *g*, aber da gibt es ja noch kleinere Pakete.
22
OS-Design / Design eines Grafiktreiberinterface
« am: 17. October 2008, 08:32 »
Moin,
ich werde einen Grafiktreiber unter verwendung des CDI schreiben.
 
Da ich allerdings schon so weit bin und mich mit dem Interface Design eines Grafiktreibers beschäftige, habe ich eine kleine Frage.
Ich habe bisher folgende Liste an Aufgaben eines 2D Grafiktreibers ersonnen:
  • Gewünschte Auflösung setzen (falls möglich)
  • Hardwarebeschleunigtes Zeichnen von Linien, Kreise, Vierecke, Dreiecke, Bitmaps (BitBlt) und füllen festgelegten Bereichen (FloodFill)
  • Hardwarebeschleunigt Text auf den Bildschirm schreiben. (könnte man eventuell zu dem oberen Punkt hinzunehmen)
Fehlt da eurer Meinung nach etwas?
 
Gruß Christian
23
Lowlevel-Coding / SMP
« am: 22. August 2008, 09:10 »
Ahoi,
ich habe da mal eine Frage an die Leute, die SMP Unterstützung in ihrem Betriebssystem eingebaut haben.
 
Wie testet ihr das? Kann man das emulieren?
 
Ich lese mich da nämlich gerade ein wenig in das Thema ein. :)
Und so gesehen habe ich keinen PC bei mir stehen, der 2 Prozessoren oder mehr hat. Nur einen Dual Core habe ich hier, allerdings als 64-Bit Variante, falls der überhaupt zählt.
 
Grüße Christian
24
Das Wiki / Neuauflage des Lowlevel Magazins
« am: 14. August 2008, 09:42 »
Moin Moin,
in dem Thread zur Ausgabe 10 kam die Meinung, man müsse das Magazin komplett von Grund auf nochmal neu schreiben.
Diese Meinung teile ich, da in den einzelnen Ausgaben der durchgehende Leitfaden fehlt.
 
Nun würde ich die bereits vorhandenen Ausgaben in ein Archiv schieben und das Magazin nochmals neu aufleben lassen.
Allerdings gibt es da einen kleinen Hacken...
Und zwar habe ich nicht die nötige Zeit, das Magazin alleine auf die Beine zu stellen, bzw. wenn dann würde das ewig dauern. :D
 
Aus diesem Grund, frage ich hier einfach mal, ob da interesse besteht so etwas durch zu ziehen.
 
Sollte Interesse vorhanden sein, müssten die folgenden Posten besetzt werden:
  • Teamleiter
  • Autoren
  • Betaleser

Ich würde mich über eure Meinungen dazu freuen.
 
Gruß Christian
 
PS: Ich werde demnächst auch mal wieder im IRC auftauchen.
25
Offtopic / Probleme mit CGI-Skript
« am: 01. August 2008, 15:30 »
Hi Community,
ich habe da mal so ein kleines Problemchen...  :roll:
 
Und zwar soll ich eine CGI-Schnittstelle testen, mit der ausgewählte Personen Zugriff auf eine SQL Datenbank bekommen.
Nun muss der Zugriff auf das Skript, wegen dem Zugriff des Skriptes auf die Datenbank, entfernt angesprochen werden, z.B.:
<form name="Form" action="www.domain.de/cgi-bin/script.cgi?p1=n&...pn=n" ...>
</form>

So funktioniert alles wunderbar, das Skript wird aufgerufen und das Ergebnis der Abfrage im Browser angezeigt.
Angezeigt wird das ganze im csv-Format:
Skript; OKAY;
Datensatz1;1;foo
Datensatz2;2;bar
...

Und genau hier habe ich ein Problem.
Wie kann ich denn die Daten jetzt weiter verarbeiten? Das Problem ist ja, dass einer externen Website weitergeleitet wird.

Geschrieben ist der Krempel in HTML. Für die Auswertung muss ich eine serverseitige Skript-Sprache verwenden, wie z.B. ASP oder PHP, ist ja logisch.
Doch wie mache ich das.
 
 
Für eine Antwort wäre ich sehr Dankbar, denn für ASP wie auch für PHP habe ich bis jetzt nichts brauchbares gefunden  :cry:
 
Gruß Christian
 
PS: Auf den Quellcode der CGI-Skripte habe ich keinen Zugriff.
26
Lowlevel-Coding / Multitasking
« am: 06. June 2008, 14:45 »
Ahoi
Ich habe da mal mehrere Fragen, wegen des Multitaskings. :-D
 
Also bis jetzt habe ich das so verstanden:
Es gibt einen Prozess, der erstellt wird, wenn z.B. ein Programm ausgeführt werden soll.
Dieser Prozess hat nun zur Ausführung Unterprozesse also Threads.

Mit dieser Aussage habe ich nun 2 Strukturen erstellt, einmal für einen Process und einmal für einen Thread.
typedef struct process
{
/* Process Stack */
unsigned int esp;
        /* Kernel Stack */
        unsigned int kernel_stack;
/* Process ID */
unsigned int pid;
/* Process Name */
char *process_name;
/* Page Directory */
page_directory_t cr3;
/* Lists with Threads from this process */
list_t *threads;
/* Max. Execution Time */
unsigned int timer_ticks_for_execution;
/* Execution time left */
unsigned int timer_ticks_left;
/* Stores the Process State */
unsigned int process_state;
} process_t;

typedef struct thread
{
/* Thread Stack */
unsigned int esp;
/* Thread Name */
char *thread_name;
/* stores the thread state */
unsigned int thread_state;
/* Is Thread in Virtual 8086 Mode */
bool is_vm8086;
} thread_t;

Nun muss ich einen Stack anlegen, wo der eip auf start gesetzt wird.
Ist die Struktur so vollständig oder fehlt da noch was, was unbedingt rein muss?
 
Bei den VM86 Tasks wollte ich den Code komplett über Threads ausführen lassen. Kann ich das so machen?
 
Brauche ich nur den einen Stack, weil ich meine wo anders gelesen zu haben, dass ich mehr als einen Stack brauche.  :-o
 
Gruß Christian
27
OS-Design / Speicherverwaltung
« am: 30. May 2008, 21:45 »
Hi Community,
da ich gerade mal wieder am neuschreiben meines Memory Managers bin, habe ich ein paar Fragen an euch. :roll:
 
Nun ist es ja so, dass, wenn ich DMA verwenden will, der Speicher im Bereich unter 16 MB liegen muss, ansonsten sollte das oberhalb sein (>16MB).
Daraus resultierend habe ich mir für meine physikalische Speicherverwaltung folgende Funktionen ausgedacht (Prototypen):
 
extern void physical_page_free(unsigned int page);
extern void physical_page_range_free(unsigned int page, int num);

extern unsigned int physical_alloc_dma_page(void);
extern unsigned int physical_alloc_dma_page_range(unsigned int num);

extern unsigned int physical_alloc_page(void);
extern unsigned int physical_alloc_page_range(unsigned int num);

Was haltet Ihr davon?
Ist das so vollständig, oder fehlt da eventuell noch etwas, das ich übersehen habe?
 
Gruß Christian
28
OS-Design / HAL
« am: 14. May 2008, 18:39 »
Hi
Ich bin gerade am restrukturieren meines Quellcodes.
Da drängt sich mir nun die Frage auf, was wenn der Kernel auch auf einem Mac laufen soll (ist nicht geplant, kann aber durchaus sein).

Daher habe ich mir das Tutorial über die HAL durchgelesen und bin zu folgendem Ergebnis gekommen:
HAL - Hardware Abstraction Layer
* Portzugriffe
* typedef Variablen und Definitionen
# Größe einer Page
# Größe word, dword, qword, ...
* Global Descriptor Table (GDT)
* Interrupt Description Table (IDT)
* Interrupt Service Routines (ISRs)
* Interrupt Requests (IRQs)
* Programmable Interval Timer (PIT) /*wurde allerdings vorerst aus dem Kernel entfernt*/

GDT, IDT, ISRs, IRQs und die PIT habe ich deswegen bei der HAL dazugeschrieben, weil die sich ja je nach CPU unterscheiden (vllt. habe ich auch was falsch verstanden)
Ist das so komplett? Muss noch was dazu, oder ist da was überflüssig?

Gruß Christian
29
Lowlevel-Coding / Cottontail Memory Management
« am: 29. April 2008, 13:55 »
Moin
Ich habe heute folgendes Tutorial von osdever.net durchgelesen: http://www.osdever.net/tutorials/cottontailmm.php.

Nun habe ich das so verstanden, dass es eine superbitmap mit 1024 Einträgen gibt.
Des Weiteren gibt es dann pro superbitmap eintrag eine weitere bitmap mit 128 Byte.

Also sollten die Arrays dann so aussehen:
unsigned long superbitmap[1024];
unsigned char bitmap[128 * 1024];

Ist das so richtig?

Gruß
Christian
 
*EDIT 1*
Die Arrays sehen jetzt so aus:
unsigned long superbitmap[1024];
unsigned char bitmap[128];
Dies aus dem Grund, weil 128 Einträge der Bitmap 1024 Pages verwalten.
Nun muss ich jedes mal beim suchen den Inhalt von superbitmap an der stelle i Bitweise nach bitmap kopieren.
Allerdings stehe ich da grad auf dem Schlauch, und weiß nicht, wie ich das machen soll. Könnt ihr mir das erklären?
30
Lowlevel-Coding / Virtual Mode 8086
« am: 21. April 2008, 13:28 »
Hi
Ich habe eben mal aus interesse den Artikel über den vm86 aus der Wiki gelesen.
Dort steht, dass dieser das erste Megabyte benutzt.
Nun habe ich den Kernel von "Bran's Kernel Development" und da wird der Kernel an die Stelle 0x00100000 geladen (das erste MB).
Kann ich die Adresse aus dem Linkerscript einfach ändern, also z.B.: von 0x00100000 nach 0x00200000?
Oder wird da nur der Speicher von 0x00000000 bis 0x00100000 benutzt? (Mir ist klar, dass das dann 16Bit Adressen sind)
 
Gruß
Christian
Seiten: 1 [2]

Einloggen