Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Werbung & Co » Aeris Projekt

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
09.04.2009, 21:22 Uhr
cloidnerux



Hallo community,
ich bin Porjektlieter bim Aeris Projekt, ein projekt das sihc mit der Aufgabe befasst ein 32-Bit, später vielleicht auhc 64 Bit, Betriebssystem zu Porgrammieren.
Jezt werdet ihr bestimmt wieder an ein paar vorpupertäre Kids denken die sihc das Blaue vom Himmel denken, dem ist aber nciht so.
Wir sind in der version 0.4BETA und ahben schon GDT, IDT und Speicherverwaltung implementier, doch an letzteren hängt es momentan cnoh ein bisschen.
Unsere zeile sind für die version 1.0: eine Konsole, Multitasking, Treiber für den großteil aller wichtigen Geräte(HDD, USB-Stick, Netztwerk...).
Wer Interesse hat, kann mal bei uns vorbeischauen:http://aeris-projekt.tk
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.04.2009, 21:41 Uhr
ao

(Operator)


Und im Tastaturtreiber habt ihr noch Race-Conditions, scheint mir. In jedem dritten Wort ein Zeichendreher.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.04.2009, 23:01 Uhr
Pablo
Supertux
(Operator)



Zitat von ao:
Und im Tastaturtreiber habt ihr noch Race-Conditions, scheint mir. In jedem dritten Wort ein Zeichendreher.



--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
10.04.2009, 18:26 Uhr
cloidnerux



@ao Und du glaubst noch daran das Windows irgendwann etwas gutes Herausbringt?
Wenn du Programmieren könntest, was ich aus deiner Antwort nicht ersehen kann, würdest du dir mal unseren code ansehen und vielleicht auch einmal ausprobieren, bevor du anfängst andere niderezumachen.
Wir HABEN ein funktionierenden Kernel, wir haben schon etwas geschafft, wir sind kein dämliches "Wir-bauen-uns-das-ultimative-os-das-noch-keiner-in-20-jahren-programmiert-hat" das von ein paar vorpupatären Kiddys geplant wird, die nciht einmal die Bedeutung des Wortes "Algoritmus" kennen und nicht Porgrammieren können. Und es ist mir dabei sch**** egal, wie ich schreibe.
Ich habe diesen thread hier geöffnet um Leuten, die gerne mal sehen möchten wie ein Betriebsystem funktioniert oder gerne mal etwas eigenes in der richtung machen wollen eine möglichkeit dazu zu geben.
Wenn hier keine solchen leute existieren dann solls mir egal sein, ich hab etwas besseres zu tun als mit ein Paar unter minderwertigkeitskomplexen leidene Menschen zu Diskutieren.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.04.2009, 19:29 Uhr
0xdeadbeef
Gott
(Operator)


1. ao hat Windows nicht erwähnt.
2. Wenn du es nicht für notwendig hältst, dich um korrekte Rechtschreibung wenigstens zu bemühen, musst du dich nicht wundern, wenn du nicht ernst genommen wirst.
3. Was ihr da habt, ist kein Kernel, sondern bestenfalls ein halber Bootloader.
4. Wenn ich mir euren Code so ankucke, hat ao im kleinen Finger zehn mal so viel Programmierkönnen wie euer ganzes Projekt zusammen, wenn nicht mehr.

Bevor du C nicht gut genug sprichst, um zu wissen, dass und warum man Header nicht so schreiben kann, wie ihr es tut, solltest du nicht mal auf einem Anfänger rumhacken; die Chancen stehen gut, dass er es besser weiß als du. Und das ist noch nicht mal der grundlegendste Unfug, den ihr da zusammenbastelt. Die init_keyboard-Funktion kann doch wohl nicht euer Ernst sein, oder?
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
10.04.2009, 20:54 Uhr
cloidnerux



Dein "Halber-bootloader" besteht aus 3000 zeilen C und Assembler und stellt schon GDT, IDT und Paging bereit. Das ist nicht mal eben ein halber Bootloader, weil selbst grub diese sachen nicht bereitstellt/initialisiert oder sontiges.
Wenn du mir verbesserungsvorschläge geben könntest wäre dies besser als zu sagen "es ist mist was ihr da habt".
Das ist ein Betriebsystem und kein "Hello-World"-Porgramm, das wissen was dahinter steckt, ist teilweise Komplizierter als BNF.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
10.04.2009, 22:08 Uhr
0xdeadbeef
Gott
(Operator)


Grub kann sogar eine Reihe von Dateisystemen lesen.

Wie dem auch sei, lüg mich nicht an. Ich hab mir die letze Version (0.1.1) runtergeladen, und Paging ist nicht vorhanden, ihr hantiert nicht mal mit Segmenten. Es gibt überhaupt keine Speicherverwaltung. Ihr schreibt sogar in uninitialisierte Zeiger, also ist es reiner Zufall, dass der ganze Kram überhaupt funktioniert. Man vermisst irgendeine Art von Kernelschnittstelle, was für ein Betriebssystem definierend wäre. Der Protected Mode und das A20-Gatter werden nirgendwo aktiviert (die a20gate-Funktion wird nirgends aufgerufen), obwohl entsprechende Aussagen gemacht werden. Der gesamte Code umfasst 1121 Zeilen, und wenn ihr auch nur grundlegende C-Kenntnisse (wie etwa Array-Initialisierung) hättet, wäre es noch bedeutend weniger.

Das, was ihr da macht, ist Kinderkram, und wenn du es für komplizierter als Parser hältst, hast du keine Ahnung von Parsern.

Tu dir selbst einen Gefallen und schnapp dir ein Buch über C für Anfänger, und eins über Registermaschinen. Ich habe echt keinen Nerv, dir zu erklären, wofür Header gedacht sind, wie man Arrays initialisiert, warum Aliase für magic numbers eine gute Idee sind und dergleichen mehr.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
10.04.2009, 22:13 Uhr
RedEagle



Ich habe mir mal den Code angesehen (v 0.1.1).

Ich möchte dich nicht beleidigen, aber für das bischen code hast du ne ganz schon große klappe.

Also die GTD und IDT geschichte regelt grub, und bleibt durch deinen "kernel" unangetastet. Das einzige, was dein Programm kann ist ein wenig Text auf dem Bildschirm ausgeben, und den keyboard-interrupt verarbeiten...
...oder es zumindest versucht:

C++:
char get_scancode()
  {
     char status, scancode;
     outb(0x21, 0x02);           //IRQ1 speren
     while(1)
      {
         status=inb(0x64);                      //Statusregister lesen
         if(status & 0x01) break;               //Wenn er ein zeicehn enth�lt, dann verlassen und abfragen
      }
     scancode = inb(0x60);                   //Zeichen Abfragen
     return scancode;
     outb(0x21, 0x00);             //IRQ1 wieder anschalten
}


Wie 0xdeadbeef schon schrieb - es ist gerade mal ein bootloader.

Ein kernel zu Programmieren ist schon etwas komplizierter als in/out aufzurufen und ein paar bytes im Speicher zu verteilen.
Auf LowLevel gibt zahlreiche gute Tutorials die ihr euch unbedingt mal anschauen solltet.

nun zu den von dir gewünschten Verbesserungsvorschlägen:
* IDT & GDT anpassen. Das was grub dir liefert ist nur provisorisch, damit er dein 32-Bit kernel starten kann.
* Du solltest den funktionen nur englische namen geben(, oder nur deutsche). Aber auf keinen fall gemischt, wie bei der Funktion get_Zeichen

Ich persöhnlich bin ohnehin kein freund von grub - der macht die ganze geschichte zu einfach
Man sollte schon die qualen des Wechsels in den ProtectedMode miterlebt haben - Aber dass ist jedem selbst überlassen.
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
11.04.2009, 02:06 Uhr
Pablo
Supertux
(Operator)



Zitat von cloidnerux:

Wir HABEN ein funktionierenden Kernel, wir haben schon etwas geschafft, wir sind kein dämliches "Wir-bauen-uns-das-ultimative-os-das-noch-keiner-in-20-jahren-programmiert-hat" das von ein paar vorpupatären Kiddys geplant wird,


doch das seid ihr, oder zumindest du, sonst würdest du niemals so auf echte Kritik reagieren. Deine Tippfehler findet man nicht nur in deinem Beitrag, sondern auch im Code. Das zeugt von keiner Professionalität und führt letztendlich dazu, dass dich/euch keiner ernst nimmt. Euer Code ist furchtbar zu lesen, eine Orgie an Schreibfehler, Mischnamen, mal Kommentar auf Deutsch, mal auf English, mal ist der Code eingerückt, mal nicht ... tut mir leid, dass ich das so sage: da kriegt man Augenkrebs, wollt ihr das verantworten? Das einzige was ihr gezeigt habt, ist wie wenig Ahnung ihr von C habt bzw. von Betriebssystemen.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
11.04.2009, 14:07 Uhr
cloidnerux



@0xdeadbeef: Wir sind nicht mehr ind er version 0.1.1 sondern 0.4!
Wie wäre es hiermit: http://cloidnerux.cl.funpic.de/
Die get_scancode wurde schon lange überarbeitet, header neu geschrieben.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ Werbung & Co ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: