tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
2235
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
DIESES THEMA IST
GESCHLOSSEN
  1. #1
    Avatar von Piesbruhder
    Piesbruhder Piesbruhder ist offline Mitglied Silber
    Registriert seit
    Feb 2002
    Ort
    Biebesheim (Hessen)
    Beiträge
    80
    Hallo Leute,
    Ich brauche mal wieder Hilfe. Im ersten Moment denkt ihr bestimmt,
    dass das hier das falsche Forum sei aber dem ist nicht so (jedenfalls
    nicht eindeutig, finde ich). Zuerst schildere ich mal die Situation:

    Ich versuche, nur aus Spaß, ein kleines Betriebssystem zu schreiben.
    Ich habe jetzt einen Bootsector fertig. Er bootet und bleibt dann
    stehen. Weil mir Assembler aber zu mühsam ist, würde ich gerne in C
    (bzw. C++) weitermachen.

    Frage:
    Geht das? Wenn ja, was muss ich tun, damit das Assembler-Programm in
    C-Programm aufruft? Wenn es nicht geht, ab welchem Punkt kann ich dann
    C benutzen?


    Ich hoffe es kann mir wie immer jemand helfen und danke schonmal für
    die Antworten.

    Gruß, Piehsbruhder
     
    ---------- Piesbruhder -----------
    -----dumm wenn man blöd ist!------

    http://wald.heim.at/urwald/541003/computer.gif

  2. #2
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.091
    Geht das?
    Ja - und nein. Du brauchst auf jeden Fall Assembler für den Bootsektor, weil der Bootloader genau 512 Bytes gross sein muss. Der Bootloader ruft dann den eigentlichen Betriebssystemkernel auf - in meinem Tutorial war das beides in eins.

    Wenn ja, was muss ich tun, damit das Assembler-Programm in
    C-Programm aufruft?
    Erstmal musst Du bedenken, dass Du ja vorher kein Betriebssystem hast. Das Problem dabei ist, dass die Standard-Funktionen (printf, scanf, ...) abhängig vom installierten Betriebssystem sind. Das heisst also, die können wir nicht gebrauchen und müssen uns das alles selber schreiben.
    Die Bildschirmausgabe musst Du demnach direkt in den Grafikspeicher schreiben, was aber eigentlich gar nicht so besonders schwer ist. Wenn das funktioniert, kannst Du das C-Programm mit gcc so compilieren, dass der Einsprungpunkt vom Kernel (in C) genau die Speicheradresse ist, die vom Bootloader aufgerufen wird.

    An Assembler kommst Du aber so oder so erstmal nicht vorbei, weil Du für den Zugriff auf die einzelnen Geräte nun mal sehr hardwarenah programmieren musst. Und dazu reicht C leider nicht ganz aus.
    C++ kannst Du zwar genau so nehmen, aber macht eigentlich keinen Sinn, weil Du für die grundlegenden Funktionen des Systems und den Kernel keine OOP brauchst.
     

  3. #3
    tappi tappi ist offline Mitglied
    Registriert seit
    Feb 2003
    Ort
    Düsseldorf, Aachen (NRW)
    Beiträge
    20
    hmmmm also so schwer od. schlimm ist Assembler nun auch nicht.

    Schau dir mal meine Dokumentation über Betriebssysteme und Assembler Programmierung an, auch unter dem Gesichtspunkt, dass du bei der C Systemprogrammierung nicht an Inline Assembler vorbeikommst.

    FDOS Betriebssystem und Dokumentation
     
    "Alle Götter waren unsterblich"

    FDOS Beitriebssystem: www.fdos.de
    CCBasic++ Programmiersprache: www.fdos.de/ccbpp

  4. #4
    Registriert seit
    Aug 2004
    Beiträge
    227
    Hallo

    ich würde gerne mehr zu diesem Thema wissen.Also wenn mir einer von euch etwas mehr davon erzählen könnte.
    Übrigens Tappi dein Link funktioniert nicht und Dario deiner auch nicht.

    Vielen Dank im vorraus

    Fabian
     

  5. #5
    Registriert seit
    Mar 2001
    Ort
    München
    Beiträge
    4.785
    Bitte keine uralt Threads rauskramen!
     
    Erst wenn der letzte Programmierer eingesperrt...
    ...und die letzte Idee patentiert ist, werdet ihr merken, dass Anwälte nicht programmieren können.
    -------------------
    chris: hey Tom hast du eigentlich ne Freundin
    jdar: ich bin tutorials.de Mod!

Ähnliche Themen

  1. Betriebssystem
    Von Sircoly im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 14.02.08, 15:01
  2. Assembler Betriebssystem
    Von Iron-Rose im Forum Sonstige Sprachen
    Antworten: 1
    Letzter Beitrag: 28.05.05, 17:03
  3. Betriebssystem Identifikation
    Von liquidbeats im Forum PHP
    Antworten: 2
    Letzter Beitrag: 04.03.05, 20:45
  4. betriebssystem anfang
    Von the_smooth im Forum Microsoft Windows
    Antworten: 8
    Letzter Beitrag: 20.01.05, 17:41