ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
2235
2235
EMPFEHLEN
-
14.12.02 15:48 #1
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
-
14.12.02 17:03 #2
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
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.Geht das?
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.Wenn ja, was muss ich tun, damit das Assembler-Programm in
C-Programm aufruft?
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.
-
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
-
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
-
25.08.04 20:53 #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
-
Betriebssystem
Von Sircoly im Forum C/C++Antworten: 2Letzter Beitrag: 14.02.08, 15:01 -
Assembler Betriebssystem
Von Iron-Rose im Forum Sonstige SprachenAntworten: 1Letzter Beitrag: 28.05.05, 17:03 -
Betriebssystem Identifikation
Von liquidbeats im Forum PHPAntworten: 2Letzter Beitrag: 04.03.05, 20:45 -
betriebssystem anfang
Von the_smooth im Forum Microsoft WindowsAntworten: 8Letzter Beitrag: 20.01.05, 17:41





Login





