Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 20 von 55

Thema: [PCN] Project Carpe Noctem - Das wohl verrueckteste Projekt des Programmierforums

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    [PCN] Project Carpe Noctem - Das wohl verrueckteste Projekt des Programmierforums

    Aloa liebe Freunde der LowLevel Programmierung.

    Um unser allseits geliebtes Progforum ein wenig zu beleben, und euch mal wieder etwas zu foerdern und zu fordern, habe ich mich dazu entschlossen, das Carpe Noctem* Projekt ins Leben zu rufen.

    Carpe Noctem ist ein projekt, bei dem wir alle sehr viel lernen koennen, und nicht nur ueber das Programmieren, sondern ueber die Funktionsweise von Computern im Allgemeinen. Auch diejenigen unter euch, die denken, dass sie bereits erschoepfend ueber dieses Thema bescheid wissen, werden feststellen, dass sie durch dieses Projekt schnell an ihre Ggrenzen stossen werden, und auch diejenigen, die sich noch nie mit der Thematik der LowLevel Programmierung befasst haben, koennen nicht nur eine Menge lernen, sondern sich genau so daran beteiligen, wie die Profis.

    Doch genug der langen Vorrede, worum geht es bei Carpe Noctem ?
    Ziel dieses Projektes ist es, uns einen eigenen Computer zu bauen. Allerdings nicht einen aus Transistoren, Wiederstaenden und Kabeln, sondern einen virtuellen Computer in unserem Rechner, und das ganze auch noch plattformunabhaengig.

    Das, was VMWare fuer einen ganz normalen x86 ist, wollen wir im Capre Noctem Projekt fuer unsere ganz eigene Rechnerarchitektur bauen. Angefangen bei der Entwicklung des Prozessors, der unseren ganz eigenen Befehlssatz und Assemblercode verstehen wird, arbeiten wir uns weiter ueber Ein- und Ausgabeports bis hin zu Graphikkarte und grundlegenden Biosroutinen. Fuer die ganz Hartgesottenen unter uns, koennte man eventuell sogar (in ferner Zukunft) einen C-Compiler bauen und die gcc cross compilieren. Wie ihr seht, bietet dieses Projekt fuer jeden in jedem Schwierigkeitsgrad eine Herausforderung.

    Natuerlich koennte man sich fragen, was einem ein solches System jenseits des didaktischen Nutzens bringt. Natuerlich steht der didaktische Nutzen im Vordergrund, und der Spass an der Aufgabe selbst, aber man kann auch weiter denken. Unser wirtueller Computer koennte fuer uns eine Art VM sein, die unsere Programme in einer sicheren Umgebung aehnlich der Java-VM als bytecode ausfuehrt. Und wer weiss, vielleicht stossen wir bei unserer Umsetzung ja auf Sichtweisen, die uns irgendwann einmal in die Lage versetzen, ein reales Computersystem auf dieser Basis zu bauen, ohne auf Kompatibilitaet zu proprietaeren Loesungen achten zu muessen.

    ****************************************************************

    In diesem Thread wuerde ich gerne eure Meinung und euer Interesse an diesem Projekt hoehren und Anfangen, die allgemeinen Probleme dabei auf theoretischer Ebene zu diskutieren. Mir ist klar, dass dieses Projekt sehr sehr komplex und gross ist. Allerdings gehe ich auch nicht davon aus, das wir es in den naechsten Jahren abschliessen, sondern als gemeinschaftliches Proforumprojekt schrittweise und in lockerer Athmosphaere ausbauen.

    Die einzelnen separaten und konkreteren Aspekte des Projektes koennen dann in separaten Threads fortgefuehrt werden, z.B. ein Thread, der sich mit den Notwendigkeiten unseres Prozessors und seiner Maschinensprache auseinander setzt.

    Die Diskussion ist freigegeben.

    Gruss Ineluki

    * Das Projekt hiess urspruenglich "Carpe Diem", wurde aber auf vielfachen Wunsch in "Carpe Noctem" umbenannt.

    Geändert von Ineluki (07.04.2006 um 16:18 Uhr)

  2. #2

  3. #3
    *terminkalenderanschau* Hm... ziemlich voll. EGAL!!! *allesstreich* Super Idee, ich bin dabei.

  4. #4
    Interessiert mich schon ein wenig (auch wenn's Low Level ist). Wobei ich mal vermute, dass ich bei vielen Bereichen (z.B. Entwurf des Befehlssatzes) Aufgrund nicht vorhandener Erfahrung nicht mithelfen könnte.
    Mal sehen, was draus wird.

  5. #5
    Jeez ... kennst du vielleicht noch jemanden an der Uni, den das interessieren wuerde ?
    Frisches und kompetentes Blut ist doch was feines fuer uns Programmiervampire ...

    Geändert von Ineluki (07.04.2006 um 15:52 Uhr)

  6. #6
    Interesse hab ich schon, aber eigentlich genug zu tun.

  7. #7
    Intresse Ja, aber
    Fähigkeiten:
    Code:
    Piep - UserNotQualifiedException
    Was genau meinst du mit Low Level Programmierung? Ich finde das klingt alles relativ High...^^

    edit:
    k, frage beantwortet^^
    Zitat Zitat
    |16:53:54| • |![ASV-TSC]Ineluki| low level wird i.A. systemnahe Programmierung bezeichnet, also das erstellen von Betriebssystemen und Assemblercode
    |16:54:04| • |![ASV-TSC]Ineluki| oder das schreiben von Treibern

    Geändert von FF (07.04.2006 um 16:01 Uhr)

  8. #8
    Interesse: Ja, mehr als genug
    Zeit: Hm, ja, doch, sollte ich haben
    Motivation: Naja, das is so ne Sache. Aber hey, ich hab auch nicht weniger Motivation hier mitzumachen, als was anderes zu machen ^^
    Kenntnisse: Absolut 0. Ich weiß gerade mal so, was low level ist. ^^

  9. #9
    Zitat Zitat von dead_orc
    Interesse: Ja, mehr als genug
    Zeit: Hm, ja, doch, sollte ich haben
    Motivation: Naja, das is so ne Sache. Aber hey, ich hab auch nicht weniger Motivation hier mitzumachen, als was anderes zu machen ^^
    Kenntnisse: Absolut 0. Ich weiß gerade mal so, was low level ist. ^^
    Absolutes und uneingeschränktes "Dito"! Wann geht's los?

    Und "Carpe Noctem" ist wirklich passender! ^^ Fehlt nur noch ein richtig nerdiges rekursives Akronym...§shifty

  10. #10
    Im offiziellen Progforum IRC Channel wurde soeben der Antrag gestellt, das Projekt in Carpe Noctem umzubenennen. Schließlich nutzen wir als Programmierer den Tag hauptsächlich zum Schlafen.

  11. #11
    Mhm fände es zwar interessant, aber wäre mehr daran interessiert Software sprich ein Betriebssystem für das System zu entwickeln. Dazu müssten aber dann auch entsprechende Datenbläter existieren. Bzw. man müsste ein Team für ein BIOS zusammenstellen. So etwas ind er Art würde ich lieber machen, da ich mit mit Platformunabhängigkeit usw. nicht alzusehr auskenne.

  12. #12
    Hm .. dann laesst sich aber das Akronym von Project Carpe Diem (PCD) nicht mehr als Backronym von Personal Computer Decompiled benutzen ...

    Aber wenn ihr unbedingt wollt ... Carpe Noctem hatte ich als zweite Alternative ohnehin im Sinn.

    Geändert von Ineluki (07.04.2006 um 16:19 Uhr)

  13. #13
    Klingt nett und nach viel Arbeit. Vielleicht zu viel Arbeit für normalsterbliche, faule Programmierer. Aber mir ist auch noch nicht ganz klar, wie das ganze funktionieren soll. Wird der virtuelle Computer dann sowas wie ein Vermittler zwischen dem PCN und dem echten PC, d.h. der Maschinencode wird nur übersetzt? Oder wird der Maschinencode des PCN durch Hochsprachfunktionen des PCs verarbeitet, d.h. es werden auch vorhandene Gerätetreiber bzw. Schnittstellen genutzt? Ersteres wäre unheimlich viel Arbeit und Zweiteres wäre später unheimlich langsam.
    Also ich hätte vielleicht auch Spaß daran, falls es sich nicht als zu zeitaufwendig herausstellt.

    freundliche Grüße, Rolus

  14. #14
    Genau solche Fragen werden wir Gemeinschaftlich besprechen ...
    Schliesslich liegt das Hauptaugenmerk auf dem didaktischen Wert, insbesondere sich um solche Dinge auch mal gedanken zu machen. ^^

    Fuer den Anfang sollte eine Interpretation des Maschinencodes und die Emulation von Ports etc durch Streams ausreichend sein ... Wie gesagt, das ganze soll Schritt fuer Schritt erfolgen und mehr auf der Theoretischen als auf der Implementativen Seite liegen.

    Am Ende werden wir wohl eine gut dokumentierte Spezifikation haben mit einem Beispielinterpreter, wo natuerlich jedem freisteht, selber einen effizienteren eigenen Interpreter zu bauen ^^

  15. #15
    Ich würde auch mirmachen, bloß muss ich mich meinen Vorrednern anschließen - meine Erfahrung in LowLevel Kram besteht darin, dass ich mal ein paar ASM-Progs kopiert und kompiliert habe :P

  16. #16
    Zitat Zitat von Manni
    Ich würde auch mirmachen, bloß muss ich mich meinen Vorrednern anschließen - meine Erfahrung in LowLevel Kram besteht darin, dass ich mal ein paar ASM-Progs kopiert und kompiliert habe :P
    Bei mir ist es noch schlimmer, ich hab' noch nie was im LowLevel-Bereich erstellt^^... Außerdem habe ich (noch?) nicht das Glück gehabt, mich irgendwie in einer "Schulung" o.Ä. in dem Bereich weiterzuentwickeln. Meine Programmierkenntnisse beruhen ausschließlich auf Try&Error-Grundlagen^^...

    Das Projekt werde ich wahrscheinlich mitverfolgen, aber direkt mitmachen werd' ich wohl nicht, dafür habe ich zuwenig Ahnung von der Sache^^...

  17. #17
    Passt doch gut, wir sind ein Haufen interessierter Coder, von denen keiner ne Ahnung vom Thema hat. Ich würde mal sagen, auch wenn wir das Rad neu erfinden, führt uns das vielleicht genau zu dem, was keiner erwarten würde: zu einem genialen Ergebnis, bei dem sich jeder Fragt, warum da noch keiner drauf gekommen is.

  18. #18
    macht nicht wieder ein externes forum, wenn ich das mal so einwerfen dürfte.
    nur son gedanke.
    gute idee, btw. mal sehen wie sich das ganze entwickelt^^

  19. #19
    Ein externes Forum halt ich in dem Fall für kontraproduktiv. Das Projekt soll hier ja etwas Leben in die Bude bringen.

  20. #20
    Das mit dem nicht-externen Forum hab ich schon lange vorgeschlagen gehabt. Okay, nicht im Forum, aber das ist ja egal...

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •