Autor Thema: Wie soll anfangen ?!!?!  (Gelesen 10847 mal)

lobby

  • Beiträge: 9
    • Profil anzeigen
Gespeichert
« am: 15. January 2006, 18:38 »
Also ich dähte und möchte mein eignes kleines Betriebsystem programmieren . Aber wie soll ich da am besten ran gehen ?!?! oder gibt es schon für schnelle , schon so fertige Kernel,Bootsektoren etc.: ?!? Wäre nett wenn ihr mir Tipps gebt  :roll:
Lobby

maumo

  • Beiträge: 182
    • Profil anzeigen
    • http://maumo.50webs.com/
Gespeichert
« Antwort #1 am: 16. January 2006, 13:29 »
wenn dann fragst du UNS ja? :evil:

lobby

  • Beiträge: 9
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 16. January 2006, 13:49 »
Zitat von: maumo
wenn dann fragst du UNS ja? :evil:
Aus deine Zitat werde ich och net schlau- Aber O.k alsovon der Seite http://home.datacomm.ch/glarema/objectsos/sonstiges/downloads.htm hab ich nun "Nexos" downloadet und nun meine Frage wie bringe ich nun so hin , das ich (ihr könnt das ja mla das aus  Probiere mit RawWirte das disk.img auf Diskette zu kopiren http://uranus.it.swin.edu.au/~jn/linux/rawwrite.htm)) und nun wie kann ich so da daraus bilden ich damit nun noch das ic das mit einer Datei verknüpfen wo dann mein Betriebsystem wächst und wächst und so.
Lobby

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 16. January 2006, 23:59 »
Zitat von: lobby
Zitat von: maumo
wenn dann fragst du UNS ja? :evil:
Aus deine Zitat werde ich och net schlau

er bezog sich vermutlich auf
Zitat von: T0ast3r
wenn du irgendwann mal irgendeine frage hast, dann frag mich einfach ;)


den rest deines beitrags versteh ich nicht. nimm dir bitte die zeit und schreibe so, dass dich jeder versteht. ein guter anfang wären satzzeichen und zusammenhängende sätze. dann kann dir besser geholfen werden.
Dieser Text wird unter jedem Beitrag angezeigt.

lobby

  • Beiträge: 9
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 17. January 2006, 14:54 »
Also noch mal von Vorne : Also ich habe von http://home.datacomm.ch/glarema/objectsos unter Downloads , den Nexos herrunter geladen . So und nun wo ich es Entpackt und Gespeicher habe ich mit RawWirte das "img" auf Dikskette darauf gespeichert und nun meine Frage : Ich habe dort folgende Boot und Kernel Datei , wie kann ich jetzt , daraus mein Betriebsystem bilden ? Kann ich das ganz einfach nun eine C (++) Dtaei ranhängen oder wie. Jetzt verständliche oder immer noch net.
Lobby

urx_

  • Beiträge: 58
    • Profil anzeigen
    • http://tange.ta.funpic.de
Gespeichert
« Antwort #5 am: 18. January 2006, 19:53 »
Schreibst du deine Beiträge in einer anderen Sprache und lässt sie dann von einem Übersetzungsprogramm übersetzen? oO
Ich versteh immer noch kein Wort
Hip-Hop ist vielseitige, intelligente Musik, *Metal dagegen nur stupider Lärm. <-- Von wem das wohl kommt 8)

maumo

  • Beiträge: 182
    • Profil anzeigen
    • http://maumo.50webs.com/
Gespeichert
« Antwort #6 am: 18. January 2006, 20:09 »
das img beinhaltet den kernel, um deinen kernel drauf zu machen musst du ihn an die dateie kernel.bin linken und zusammen mit dem bootloader in eine datei schreiben => image.

lobby

  • Beiträge: 9
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 18. January 2006, 20:19 »
Ich glaube , es kam noch net richtig an O.k Ich überlege mir mal ein neuen Text , ob ihr denn dann versteht ist die 2 Frage  :?:   :oops:
Lobby

SSJ7Gohan

  • Beiträge: 398
    • Profil anzeigen
Gespeichert
« Antwort #8 am: 18. January 2006, 20:26 »
Du kompilierst deinen C++ Code mit einem Compiler wie GCC und fügst ihn zum Kernelimage dazu. Wir haben hier ein C++ Kerneltutorial. Um C++ nutzen zu können, musst du aber im Protected Mode sein. (Ein 32Bit Modus der CPU mit Speicherschutz usw.) (Einige Bootloader wie GRUB schalten automatisch in den PM, so das du nur wenig Assemblercode brauchst und sofort mit C++ weitermachen kannst)

DarkThing

  • Beiträge: 652
    • Profil anzeigen
Gespeichert
« Antwort #9 am: 18. January 2006, 20:37 »
Am besten liest du dir erstmal dieses Tutorial durch:
http://lowlevel.brainsware.org/index.php?pagename=tutorials&showtut_id=2#Kernel-Entwicklung%20in%20C%20(diesmal%20auf%20deutsch)
Dort werden die Grundlagen für das schreiben eines C-Kernel erklärt.
Im Tutorial direkt danach geht es um Grub, wenn du also nicht deinen eigenen Bootloader schreiben willst solltest du dir auch das ansehen.

Zuletzt gibt es noch dieses Tutorial:
http://www.osdever.net/bkerndev/index.php?the_id=90
Das ist auf English, aber dafür ziemlich gut verständlich und für Einsteiger einfach genial.

lobby

  • Beiträge: 9
    • Profil anzeigen
Gespeichert
« Antwort #10 am: 19. January 2006, 20:09 »
O.k noch mal so das ihr es kapiert . Und zwar zur Bessserung verständniss ein 3 Schritte :
1. Auf der Homepage http://home.datacomm.ch/glarema/objectsos kann man doch (Halb) FertigOS runterladen  .
2 . Es gibt unter "Downloaden"  so welche OS - woe ObjectOS oder LittleOS --> Meine 1. Frage Sind das scho fertige Betriebsystem - Wenn JA wie kann ich das nach meine WÜNSCHEN ändern d.h meine eigne Programm etc einfügen ?!?! Wenn NEIN was fäll da noch
3. Wenn ich dann , alles habe und so , wie kann ich ein Image auf der Diskette ??

Danke für eure mit Hilfe  :roll:
Lobby

jeb

  • Beiträge: 341
    • Profil anzeigen
    • http://www.jebdev.net
Gespeichert
« Antwort #11 am: 19. January 2006, 22:05 »
Hi!

Fertig ist relativ. Kommt drauf an, was du darunter verstehst. Meinst du mit deinen eigenen Programmen Programme, welche du in C++ oder C auf nem OS wie Linux oder Windows geschrieben hast? Diese funktionieren nur, wenn das OS bereits eine C/C++ Standard Lib hat.

Was macht das Thread überhaupt unter "Magazin"?

mfg, jeb

lobby

  • Beiträge: 9
    • Profil anzeigen
Gespeichert
« Antwort #12 am: 20. January 2006, 15:07 »
Zitat von: jeb
Hi!

Fertig ist relativ. Kommt drauf an, was du darunter verstehst. Meinst du mit deinen eigenen Programmen Programme, welche du in C++ oder C auf nem OS wie Linux oder Windows geschrieben hast? Diese funktionieren nur, wenn das OS bereits eine C/C++ Standard Lib hat.

Was macht das Thread überhaupt unter "Magazin"?

mfg, jeb
Zu dir als wenn so eine OS keine Lib hat kann ich ,also keine eignen Programme schreiben ?!?! Und nun och zu meiner andern Frage die ich auch gerne beantwortet haben möchte und zwar wie erzeige ich ein Image - Datei ??!!
Lobby

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #13 am: 20. January 2006, 15:18 »
du legst mit vfd ein virtuelles diskettenlaufwerk an und richtest es entsprechend deinen wünschen ein. das image kannst du dann im emulator weiterverwenden (wobei da das virtuelle laufwerk u.u. besser ist) oder z.b. mit rawwrite auf eine echte diskette schreiben
Dieser Text wird unter jedem Beitrag angezeigt.

lobby

  • Beiträge: 9
    • Profil anzeigen
Gespeichert
« Antwort #14 am: 20. January 2006, 15:34 »
Zitat von: PorkChicken
du legst mit vfd ein virtuelles diskettenlaufwerk an und richtest es entsprechend deinen wünschen ein. das image kannst du dann im emulator weiterverwenden (wobei da das virtuelle laufwerk u.u. besser ist) oder z.b. mit rawwrite auf eine echte diskette schreiben
Gibt es noch ein andere Methode ?!? und dann zur einer Frage , die auch unter gekommen ist Zu dir als wenn so eine OS keine Lib hat kann ich ,also keine eignen Programme schreiben ?!?! d.h Wenn ein fertiges OS ein Lib hat kann ich darein meine Programm tun oder wie läuft das ab :roll:  :idea:  :?:  Beantwortet biite mal diese 2 Fragen  :idea:  :?:  :roll:
Lobby

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #15 am: 20. January 2006, 16:15 »
Zitat von: lobby
Gibt es noch ein andere Methode ?!?

ja. die sind mir allerdings nicht bekannt, bzw. fallen mir gerade nicht ein. aber die kriegst du sicherlich mit etwas experimentieren+googlen raus.

Zitat von: lobby
Zu dir als wenn so eine OS keine Lib hat kann ich ,also keine eignen Programme schreiben ?!?!

klar man kann programme ohne library schreiben.

Zitat von: lobby
d.h Wenn ein fertiges OS ein Lib hat kann ich darein meine Programm tun oder wie läuft das ab

ein os hat keine library. die library ist sache des compilers. und programme kann man in eine library normalerweise nicht tun, bzw es hat keinen sinn.
Dieser Text wird unter jedem Beitrag angezeigt.

jeb

  • Beiträge: 341
    • Profil anzeigen
    • http://www.jebdev.net
Gespeichert
« Antwort #16 am: 20. January 2006, 19:35 »
Zitat
Gibt es noch ein andere Methode ?!?

Da hat wohl UNIX wieder seine Vorteile. Datei erstellen und einfach mounten :lol:
Wenn du ein Dateisystem auf der Diskette haben willst (also dass du sie öffnen kannst), dann bleibt dir unter win wohl nix anderes übrig als das was PorkChicken gesagt hat. Wenn es aber einfach ein OS ohne FS (Dateisystem) Support ist, dann kannst du einfach ein image mit dem Assembler erstellen.

Zitat
Zu dir als wenn so eine OS keine Lib hat kann ich ,also keine eignen Programme schreiben ?!?!


Du codest C/C++ hast du gesagt oder? Ein primitives C-Programm sieht etwa so aus:
#include <stdio.h>

int main()
{
     printf("Hallo!");
     return 0;
}


Schon in der ersten Zeile beginnt das Problem: #include <stdio.h>
Das fügt ja an der Stelle im Programm die Datei 'stdio.h' ein. Was aber, wenn das OS diese Datei nicht hat? Dann kannst du dein Programm schomal in den Eimer werfen. Wenn diese Datei existiert, kommt das zweite Problem:

printf();

Wie du ja sicherlich weisst, muss eine Funktion (in diesem Falle printf) irgendwo implementiert (definiert) sein. Der Prototyp befindet sich in der Datei 'stdio.h'. Doch was genau 'printf()' macht, steht da nicht. In 'stdio.h' steht nur, wo man 'printf()' finden kann. Nämlich in der Standard-C-Library. Deshalb brauchst du die C-lib. Wenn das OS jetzt die C-lib nicht hat, weiss es nicht, was 'printf()' bedeutet und kann dieses Kommando auch nicht ausführen.

Zitat
Wenn ein fertiges OS ein Lib hat kann ich darein meine Programm tun oder wie läuft das ab


Programm wird gestartet. Es fängt an, und kommt zur Funktion 'printf()'. Jetzt guckt es nach, wo es die Funktion findet. 'stdio.h' sagt ihm, es sei in der Standard-C-Library. Das Programm macht also schnell einen Abstecher zur Standard-C-Library, führt die Funktion 'printf()' aus und kommt dann wieder zurück ins Programm. Keine Standard-C-Library, kein 'printf()'.

Ich hoffe das war jetzt einigermassen verständlich und nicht zu langatmig.

mfg, jeb

lobby

  • Beiträge: 9
    • Profil anzeigen
Gespeichert
« Antwort #17 am: 23. January 2006, 14:19 »
Irgendwie ist die Frage net richtig beantwortet, und zwar , wie kann ich ein "img-Datei erzeugen" also hab mit LittleOs runtergeladen und wie mache ich aus dem Ordner ein "img-Datei" und dann mit RawWirte auf die Diskette schreibe. Danke
Lobby

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #18 am: 23. January 2006, 14:51 »
Entweder steht das in der Dokumentation von LittleOS oder du nutzt die Methode, die ich beschrieben habe.
Dieser Text wird unter jedem Beitrag angezeigt.

lobby

  • Beiträge: 9
    • Profil anzeigen
Gespeichert
« Antwort #19 am: 23. January 2006, 16:03 »
Zitat von: PorkChicken
Entweder steht das in der Dokumentation von LittleOS oder du nutzt die Methode, die ich beschrieben habe.
Andre Frage , (aber danke , dann nehme ich dien Methode) ,   :arrow:  also wenn ich nun so ein OS Runterlade , wie kann ich mein Programm das die "Desktop" oberfläche zeigt , ein fügen, also das Hauptprogramm.
Lobby

 

Einloggen