Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Wer alles hat mit FreeBasic versucht ein eigenes OS zu progg
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
leslie



Anmeldungsdatum: 01.02.2007
Beiträge: 10

BeitragVerfasst am: 02.02.2007, 09:51    Titel: Wer alles hat mit FreeBasic versucht ein eigenes OS zu progg Antworten mit Zitat

Hallo Zusammen,

Bei der Suche nach dem Begriff 'OS Programmierung' sind mir einige Threads aufgelistet worden. Es machte sich schnell bemerkbar, dass es einige Leute hier gar, die auf dem Gebiet etwas gemacht haben und daher auch ein SUB Forum zu diesem Thema wollten, aber dass es auch ein paar Leute gab, die sehr dagegen waren! Scheinbar wurden auch 'unerwunschte' Threads zu diesem Thema gelöscht!

Daher biete ich alle, die ein eigenes OS mit FreeBasic zu coden versuchten, sich hier auch melden damit ich mir die Projekte (falls 'ne Homepage existiert) anschauen kann, oder auch Informationen holen kann (wäre natürlich auch sehr nett). Hmmm sonst mach ich ganz bestimmt die gleiche Fehler und lande vielleicht in einer Sackgasse.

OK, falls sich jemand meldet und kurz eigene Erfahrungen zum Thema OS Programmierung mit FreeBasic schildert, dann vielen Dank bereits im Voraus. Sonst in jedem Fall ein schönes Weekend.

Gruss
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 02.02.2007, 11:16    Titel: Antworten mit Zitat

Hm, da wär erst ma Mao, mit seinem Exorc, was aber net FB sondern ASM is.
Dann gibs jede Menge QB-Freaks, die (angeblich) ein OS gebaut haben,
und auch ich wollt schon mehrere OS coden (jaja, früher war ich auch noch dumm happy)

Zunächst in QB, fing auch erst als Emulator an, dann in Profan, jedoch nur als "Vorlage" für den späteren ASM-Teil.
Ich glaub, wenn man wirklich ein OS coden will, kommt man um Assembler net rum. Gott sei Dank erzeugt FB ja ASM-Code... happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Manuel



Anmeldungsdatum: 23.10.2004
Beiträge: 1271
Wohnort: Bayern

BeitragVerfasst am: 02.02.2007, 14:13    Titel: Antworten mit Zitat

Falls du Beispiele brauchst, wie ein sog. FakeOS (Fake deshalb, weil es ja kein wirkliches OS ist) aussehen könnte, findest du auf http://www.east-power-soft.de/ unter "QuickBasic" -> "GUIs & FakeOS"

Ebenfalls empfehlenswert: http://www.silizium-net.de/guitest.htm , hier wurden den GUIs Vergleichstests unterzogen.

Auch empfehlenswert: Ein paar Links in der "QB-MonsterFAQ" auf www.qbasic.de , zum Beispiel http://www.antonis.de/faq/QBMonFAQ-Dateien/1735168443.html und http://www.antonis.de/faq/QBMonFAQ-Dateien/1595266815.html zwinkern
_________________
DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 02.02.2007, 16:49    Titel: Antworten mit Zitat

Ersteinmal:
es kommt immer wirklich auf die Leute an, ob man denen geglaubt hat, oder nicht. kleiner_hacker zum Beispiel: ich will jetzt damit nicht sagen, dass er nichts kann, aber er wollte auch sein eigenes Betriebssystem mit QBasic entwickeln. Mittlerweile hat er eingesehen, dass das sinnlos ist. zwinkern
Mit dem FBC, den es nicht als Flat-Binary-Variante gibt, wäre es genau das gleiche. Mit freeBASIC als Sprachdefinition selbst kannst du ein OS schreiben, mit dem FBC den es so gibt (fast) nicht. Um Assembler kommst du, wie PMedia schon sagte, nie herum. Okay, ein Betriebssystem für einen Apple Handcomputer (Name entfallen verlegen) wurde nur in C++ geschrieben. Aber da hat es die Hardwarearchitektur möglich gemacht. Die typischen, x86-kompatiblen booten im RM - ob du willst, oder nicht. zwinkern
Der FBC ist ein reiner 32-Bit-Compiler. Demzufolge nur seeeehr bedingt einsetzbar. Auch mit dem dcc32 (Delphi-Kommandozeilen-Compiler) kann man Betriebssysteme schreiben. Aber auch hier braucht man ein Workaround und Assembler. Das Workaround, irgendwo im Netz gibt's da ein Programm, das den PE-Header extrahiert und Delphi-EXEn zu Flat-Binary konvertiert. Dann musst du aber auch wirklich den Kommandozeilen-Compiler nehmen, da du über die IDE nicht die Möglichkeit dazu hast, die betreffenden Switches einzustellen. Und der dcc32 ist mittlerweile nur noch bei den Professional, Enterprise und Architect-Versionen dabei - welche natürlich auch entsprechend kosten. Und dann kannst du in Delphi auch nur die eigentliche Sprach-Syntax, und vorerst kein OOP und keine vordefinierten Klassen, API-Aufrufe, Fenster, etc. verwenden, sondern beispielsweise nur das for-Statement, die while-Schleifen, etc. Halt alles, was direkt ohne große Umwege in ASM übersetzt werden kann.
Delphi bringt für ein Betriebssystem also nix, genauso wenig wie halt FB oder QB. zwinkern
Ich würde mir das wirklich überlegen, denn früher oder später wirst du doch daran scheitern, sry. zwinkern

PMedia hat Folgendes geschrieben:

Hm, da wär erst ma Mao, mit seinem Exorc

Ich war/bin aber nicht allein. zwinkern (Achtung! Liste nicht sortiert!)
ICC, A.K., s-m-n, Agent_D und Dominik waren/sind auch dabei. Sowie eigentlich Dusky_Joe, der aber noch nicht großartig zum Dokumentieren gekommen ist. grinsen (Gab/gibt halt noch nicht so viele Schnittstellen - bisher haben die Programmierer halt die Schnittstellen definiert und dokumentiert. lachen)

PMedia hat Folgendes geschrieben:

Gott sei Dank erzeugt FB ja ASM-Code...

ASM!=ASM. zwinkern
Du kommst nicht drumherum, selbst ASM-Code zu schreiben. Zumindest für die HAL und den Bootloader brauchst du's. zwinkern
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 02.02.2007, 17:27    Titel: Antworten mit Zitat

Bootloader hab ich hier als Sample von Floppy, kein Thema. Mom, ich suchs gleich raus.
Meinst du den Apple Newton?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 02.02.2007, 17:29    Titel: Antworten mit Zitat

Ja, genau, der Newton wars! lächeln
Der Bootloader ist auch nicht das Problem, aber ich mein bloß, dass du halt auch ASM brauchst. zwinkern
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 02.02.2007, 17:33    Titel: Antworten mit Zitat

So, hier ein komplettes OS... naja, eigentlich isses ja ein Fake, aber egal happy

Es is aber dafür ASM...
Bootloader
Code:
; This is a very basic example
; of a tiny Operating System.

; Directive to create BOOT file:
   #MAKE_BOOT#

; This is an OS loader only!
;
; It can be loaded at the first
; sector of a floppy disk:
;   cylinder: 0
;   sector: 1
;   head: 0
;
; The code in this file is supposed
; to load the Kernel (micro-os_kernel.asm)
; and to pass control over it.
; The Kernel code should be on floppy at:
;   cylinder: 0
;   sector: 2
;   head: 0

; Memory table (hex):
; -------------------------------
; 07C0:0000 |   Boot Sector
; 07C0:01FF |   (512 bytes)
; -------------------------------
; 07C0:0200 |    Stack
; 07C0:03FF |   (255 words)
; -------------------------------
; 0800:0000 |    Kernel
; 0800:1400 |
;           |   (currently 5 Kb,
;           |    10 sectors are
;           |    loaded from
;           |    floppy)
; -------------------------------

; micro-os_loader.asm file produced by
; this code should be less or
; equal to 512 bytes, since this
; is the size of the boot
; sector!
; Current version is compiled to
; 101 bytes.


include 'emu8086.inc'

; Boot record is loaded at 0000:7C00
ORG 7C00h

PUSH    CS   ; make sure DS=CS
POP     DS

; skip the data section:
JMP start

;==== data section =====================

; welcome message:
msg  DB 'Welcome to micro-os', 13, 10,
     DB 'Loading...', 0

;======================================

start:

; initialize the stack:
MOV     AX, 07C0h
MOV     SS, AX
MOV     SP, 03FEh ; top of the stack.


; set Data Segment:
PUSH    CS
POP     DS

; set default video mode 80x25:
MOV     AH, 00h
MOV     AL, 03h
INT     10h

; print welcome message:
LEA     SI, msg
CALL    print_string

;===================================
; load the Kernel at 0800h:0000h
; 10 sectors starting at:
;   cylinder: 0
;   sector: 2
;   head: 0

; BIOS passes drive number in DL,
; so it's not changed:

MOV     AH, 02h ; read function.
MOV     AL, 10  ; sectors to read.
MOV     CH, 0   ; cylinder.
MOV     CL, 2   ; sector.
MOV     DH, 0   ; head.
; DL not changed! - drive number.

; ES:BX points to receiving
;  data buffer:
MOV     BX, 0800h   
MOV     ES, BX
MOV     BX, 0

; read!
INT     13h
;===================================

; pass control to Kernel:
JMP     0800h:0000h

;===========================================

DEFINE_PRINT_STRING

END


Kernel:
Code:
; This is a very basic example
; of a tiny operating system.
;
; This is Kernel module!
;
; It is assumed that this machine
; code is loaded by 'micro-os_loader.asm'
; from floppy drive from:
;   cylinder: 0
;   sector: 2
;   head: 0

; Directive to create BIN file:
#make_BIN#

; where to load (for emulator)?
#LOAD_SEGMENT=0800#
#LOAD_OFFSET=0000#

; set these values to registers on load,
; actually only DS, ES, CS, IP, SS, SP are
; important. In real world these values
; are left by "micro-os_loader":
#AL=0B#
#AH=00#
#BH=00#
#BL=00#
#CH=00#
#CL=02#
#DH=00#
#DL=00#
#DS=0800#
#ES=0800#
#SI=7C02#
#DI=0000#
#BP=0000#
#CS=0800#
#IP=0000#
#SS=07C0#
#SP=03FE#



include 'emu8086.inc'

; Kernel is loaded at 0800:0000
ORG 0000h

; skip the data section:
JMP start

;==== data section =====================

; welcome message:
msg  DB 'Welcome to micro-os!', 13, 10,
     DB 'type help if you need it', 0

cmd_size        EQU 10    ; size of command_buffer
command_buffer  DB cmd_size DUP('x')
clean_str       DB cmd_size DUP(' '), 0
prompt          DB '>', 0

; commands:
cHELP    DB 'help', 0
cCLS     DB 'cls', 0
cQUIT    DB 'quit', 0
cEXIT    DB 'exit', 0
cREBOOT  DB 'reboot', 0

help_msg DB 'Thank you for using micro-os!', 13, 10
         DB 'List of supported commands:', 13, 10
         DB 'help   - print out this list.', 13, 10
         DB 'cls    - clear the screen.', 13, 10
         DB 'reboot - reboot the machine.', 13, 10
         DB 'quit   - same as reboot.', 13, 10 
         DB 'exit   - same as reboot.', 13, 10
         DB 'more to come!', 13, 10, 0

unknown  DB 'Unknown command: ' , 0

;======================================

start:

; set data segment:
PUSH    CS
POP     DS

; set default video mode 80x25:
MOV     AH, 00h
MOV     AL, 03h
INT     10h

; clear screen:
CALL    clear_screen

; print out the message:
LEA     SI, msg
CALL    print_string


eternal_loop:

CALL    GET_COMMAND

CALL    PROCESS_CMD

; make eternal loop:
JMP eternal_loop


;===========================================
GET_COMMAND PROC NEAR

; set cursor position to bottom
; of the screen:
MOV     AX, 40h
MOV     ES, AX
MOV     AL, ES:[84h]

GOTOXY  0, AL

; clear command line:
LEA     SI, clean_str
CALL    print_string

GOTOXY  0, AL

; show prompt:
LEA     SI, prompt
CALL    print_string


; wait for a command:
MOV     DX, cmd_size    ; buffer size.
LEA     DI, command_buffer
CALL    get_string


RET
GET_COMMAND ENDP
;===========================================

PROCESS_CMD PROC    NEAR

;//// check commands here ///
; set ES to DS
PUSH    DS
POP     ES

CLD     ; forward compare.

; compare command buffer with 'help'
LEA     SI, command_buffer
MOV     CX, 5   ; size of ['help',0] string.
LEA     DI, cHELP
REPE    CMPSB
JE      help_command

; compare command buffer with 'cls'
LEA     SI, command_buffer
MOV     CX, 4   ; size of ['cls',0] string.
LEA     DI, cCLS
REPE    CMPSB
JNE     not_cls
JMP     cls_command
not_cls:

; compare command buffer with 'quit'
LEA     SI, command_buffer
MOV     CX, 5   ; size of ['quit',0] string.
LEA     DI, cQUIT
REPE    CMPSB
JE      reboot_command

; compare command buffer with 'exit'
LEA     SI, command_buffer
MOV     CX, 5   ; size of ['exit',0] string.
LEA     DI, cEXIT
REPE    CMPSB
JE      reboot_command

; compare command buffer with 'reboot'
LEA     SI, command_buffer
MOV     CX, 7   ; size of ['reboot',0] string.
LEA     DI, cREBOOT
REPE    CMPSB
JE      reboot_command

;////////////////////////////

; if gets here, then command is
; unknown...

MOV     AL, 1
CALL    SCROLL_T_AREA

; set cursor position just
; above prompt line:
MOV     AX, 40h
MOV     ES, AX
MOV     AL, ES:[84h]
DEC     AL
GOTOXY  0, AL

LEA     SI, unknown
CALL    print_string

LEA     SI, command_buffer
CALL    print_string

MOV     AL, 1
CALL    SCROLL_T_AREA

JMP     processed

; +++++ 'help' COMMAND ++++++
help_command:

; scroll text area 9 lines up:
MOV     AL, 9
CALL    SCROLL_T_AREA

; set cursor position 9 lines
; above prompt line:
MOV     AX, 40h
MOV     ES, AX
MOV     AL, ES:[84h]
SUB     AL, 9
GOTOXY  0, AL

LEA     SI, help_msg
CALL    print_string

MOV     AL, 1
CALL    SCROLL_T_AREA

JMP     processed


; +++++ 'cls' COMMAND ++++++
cls_command:

; clear screen:
CALL    clear_screen

JMP     processed


; +++ 'quit', 'exit', 'reboot' +++
reboot_command:

; store magic value at 0040h:0072h:
;   0000h - cold boot.
;   1234h - warm boot.
MOV     AX, 0040h
MOV     DS, AX
MOV     w.[0072h], 0000h ; cold boot.

JMP   0FFFFh:0000h    ; reboot!

; ++++++++++++++++++++++++++

processed:
RET
PROCESS_CMD ENDP

;===========================================

; scroll all screen except last row
; up by value specified in AL

SCROLL_T_AREA   PROC    NEAR

MOV DX, 40h
MOV ES, DX  ; for getting screen parameters.
MOV AH, 06h ; scroll up function id.
MOV BH, 07  ; attribute for new lines.
MOV CH, 0   ; upper row.
MOV CL, 0   ; upper col.
MOV DI, 84h ; rows on screen -1,
MOV DH, ES:[DI] ; lower row (byte).
DEC DH  ; don't scroll bottom line.
MOV DI, 4Ah ; columns on screen,
MOV DL, ES:[DI]
DEC DL  ; lower col.
INT 10h

RET
SCROLL_T_AREA   ENDP

;===========================================

DEFINE_PRINT_STRING
DEFINE_GET_STRING
DEFINE_CLEAR_SCREEN

END


Es entstammt dem Emu8086, und ist ab selbigen (8086) lauffähig.[/url][/code]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 02.02.2007, 17:41    Titel: Antworten mit Zitat

k, vlt. ist es ein bissel lang happy

Es startet komplett im RealMode, und bootet von Floppy.. wer will kann auch eigene Befehle adden...

Und warum sollte man von FreeBasic nicht die PE-Header (bzw. MZ-Header unter DOS) wegschneiden können?

Also ich hab hier ein paar (uralte) magische Büchlein, da is die Größe des Headers und einiger anderer Sachen drin. Die sind noch aus CP/M-Zeiten happy
Somit isses zumindest für die DOS-Version möglich. Man muss nur Interupt 20 vermeiden (war glaub ich der, oder doch 21?), dann sollts auch funzen...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 02.02.2007, 18:20    Titel: Antworten mit Zitat

Na, das ist aber wirklich ein kurzes Beispiel. zwinkern

Aber versteh es bitte:
Compiler benutzen nun mal so gut wie immer betriebssystemspezifische Funktionen, dafür ist ein Betriebssystem da. zwinkern
Und "nur Interrupt 0x20 und 0x21 vermeiden" is' nich'. zwinkern
Du kannst dir natürlich aber alles nachbauen und dann als Interrupt einklinken. lächeln (Macht jedes RM-OS (und auch exorc) so.)

'Türlich kannst du den PE-Header entfernen. Hab ja nicht gesagt, dass es nicht geht. Aber das geht meist nur für eine bestimmte Programmiersprache, oder es wird relativ viel aufwand. Es kommt z.B. darauf an, wieviele API-Befehle zwischen den Code gestreut werden, wenn so gut wie keiner (außer Console-Managment) drin ist. zwinkern
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Georgp24



Anmeldungsdatum: 30.06.2006
Beiträge: 81
Wohnort: Ahlen

BeitragVerfasst am: 03.02.2007, 10:38    Titel: Antworten mit Zitat

Ein Basic, mit dem man ein Betriebssystem schreiben kann ist BASM. Dies ist ein einfaches Basic, daß den Code nicht sofort compiliert sondern in Assembler umwandelt. Der generierte Assembler-Code ist anschließend (meine Empfehlung) mit TASM zu compilieren.

Dieses Basic läßt sich am besten verwenden, wenn man Assembler programmieren kann. lächeln Man kann damit aber schneller programmieren als direkt in Assembler.

Den Boot-Loader muß man aber direkt in Assembler schreiben oder GRUB verwenden.

Für ein protected mode OS dürfte BASM aber nicht geeignet sein zwinkern

http://www.antonis.de/qbdown/qbtools.htm
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Georgp24



Anmeldungsdatum: 30.06.2006
Beiträge: 81
Wohnort: Ahlen

BeitragVerfasst am: 03.02.2007, 13:40    Titel: Antworten mit Zitat

Es gibt sehr viele Projekte, ein OS zu schreiben. Hier ist eine bei weitem nicht vollständige Liste:

http://www.osdev.org/wiki/Projects

In der Regel verlieren der/die Programmierer früher oder später das Interesse und es bleibt ein unbrauchbarer und undokumentierter Torso zurück.

Es gibt auch praktisch keine Anwender, die ein solches OS einsetzen wollen. Spätestens nach dem Test des vierzigsten OS dürfte ein Interessent aufgeben und wieder mit Windows arbeiten. zwinkern Es gibt außer dem Betriebssystem in aller Regel keine Compiler - außer Assembler - mit denen sich Anwendungen für diese Betriebssysteme schreiben ließen. Es gibt damit keine fertigen Anwendungen, nur manchmal einen Editor oder eine GUI-Demo. Also lassen sie sich überhaupt nicht verwenden.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 03.02.2007, 13:48    Titel: Antworten mit Zitat

Es gibt aber durchaus erwähnenswerte Beispiele. Natürlich sind diese schon einige Jahre in Entwicklung, aber die Leistung muss man doch einmal hervorheben. Zu nennen wären:
- ReactOS (imho atm recht funktionsfähiger Win NT-Clone)
- Haiku (ganz guter BeOS-Clone)
- SkyOS (sehr gute Mischung aus Eigenentwicklung und "Abschauen")
- MenuetOS (sehr kleines, aber leistungsfähiges 64-Bit-Betriebssystem nur in Assembler, auch mt Internet-Unterstützung)
- V2_OS (Leider tot, aber war recht interessant. Zum Beispiel nur Microkernel, aber Moduele für VESA, TCP/IP, etc.)

Btw, BASM erzeugt größtenteils nur DOS-Code. Es wird der Int 0x21 und das MZ-Executable-Format verwendet. Könnte man natürlich alles nachbilden, aber dann hätte man ja schon wieder ein DOS. grinsen
Bin allerdings nur kurz über die Sourcen drüber geflogen.
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Georgp24



Anmeldungsdatum: 30.06.2006
Beiträge: 81
Wohnort: Ahlen

BeitragVerfasst am: 03.02.2007, 14:19    Titel: Antworten mit Zitat

Mit Deiner Liste hast Du natürlich die "Highlights" angegeben. Aber bei SkyOS und MenuetOS gibt es glaube ich auch nur wenige, vom Programmierer mitgelieferte Anwendungen. Außer daß man sich diese OS mal ansieht und testet, werden sie aber wohl nicht eingesetzt.

Mit BASM hast Du recht, ich hatte nicht an die Befehle gedacht, die int21 verwenden. Also Datei öffnen und schreiben sowie DOS Funktionen wie "KILL Datei" kann man für ein OS nicht verwenden. Aber man kann sich ja den Assembler Code ansehen, ob ein int21 darin auftaucht.

Ich habe mal angefangen ein 16bit OS in BASM zu schreiben und nur die Befehle verwendet, die keinen int21 aufrufen und natürlich viel Inline Assembler. Darum hatte ich nicht an diese Befehle gedacht. Mein Boot Loader konnte MZ Exe Dateien laden, das war kein Problem.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 03.02.2007, 14:32    Titel: Antworten mit Zitat

Bei MenuetOS gabs doch sogar schon Doom, wenn ich richtig informiert bin.. happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 03.02.2007, 15:02    Titel: Antworten mit Zitat

@Georgp24:
Ich wollte ja auch einige der erfolgreichsten nennen. grinsen
Vom Programmierer selbst werden nur wenige Programme mitgeliefert, aber das gleicht sich überall wieder aus.
Zum Beispiel unterstützt ReactOS ja (na klar) PE-EXEn. SkyOS ist auch nicht gerade schlecht: Eine Menge gnu-Tools laufen drauf und es gibt OpenGL-Anbindung. Außerdem noch einige interessante andere Features, insbesondere im Dateisystem. lächeln
Tjoar, und Haiku...eine Art BeOS halt. happy
Georgp24 hat Folgendes geschrieben:

Außer daß man sich diese OS mal ansieht und testet, werden sie aber wohl nicht eingesetzt.

Aber auch das "nur mal kurz testen" hilft. Denn dadurch behält man's im Hinterkopf und schaut vllt. so alle 2-3 Monate mal wieder, was es neues gibt.
Dass man heutzutage nicht mehr gegen die 3 Riesen Linux, Windows und Mac OS X ankommt, ist klar.
Aber eine kleine Community kann man sich allemal anbauen, und nicht zu vergessen sind halt die beiden Hauptgründe für's OS-Deven: Spaß und Lernen. lächeln
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Georgp24



Anmeldungsdatum: 30.06.2006
Beiträge: 81
Wohnort: Ahlen

BeitragVerfasst am: 03.02.2007, 15:51    Titel: Antworten mit Zitat

Zitat:
Hauptgründe für's OS-Deven: Spaß und Lernen


Wenn man diese Ziele im Auge behält und solange diese Ziele erreicht werden, kann es sinnvoll sein ein Hobby-OS zu schreiben.

Allerdings verbringt man den größten Teil der Zeit mit Käfersuche und dies ist nicht nur spaßig.

Ich denke immer, ein Programm ist dann erfolgreich, wenn es von vielen Anwendern eingesetzt wird. Unter diesem Gesichtspunkt ist das Verhältnis Aufwand/Erfolg bei einem Hobby-OS sehr schlecht.

Aber mir ist es noch nie gelungen, Hobby-OS Programmierer von ihrem Vorhaben abzubringen.... zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Manuel



Anmeldungsdatum: 23.10.2004
Beiträge: 1271
Wohnort: Bayern

BeitragVerfasst am: 03.02.2007, 20:34    Titel: Antworten mit Zitat

Es kommt ja auch drauf an, wie der Programmierer den Aufwand empfindet. Manche schütteln ein einfaches (Fake-)OS einfach mal aus dem Ärmel*, andere könnten - sagen wir - Jahrhunderte kein Ergebnis bringen durchgeknallt . Würde allerdings jeder Programmierer auf Kosten/Nutzen schauen, hätten wir wohl kaum Freeware- und OpenSource-Programme, von daher... zwinkern

* Ich definiere hier absichtlich keinen konkreten Wert btw. ;P
_________________
DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger
leslie



Anmeldungsdatum: 01.02.2007
Beiträge: 10

BeitragVerfasst am: 03.02.2007, 22:12    Titel: RE: Antworten mit Zitat

Vielen Dank allen für die sehr ausführliche Hinweise und Informationen zu diesem Thema.

Wenn man das alles so liest, erkennt man schnell, dass alle OS daran scheitern, dass sie keine Anwendungen haben. Ist ja klar, ein Auto nutzt nix wenn man kein Benzin hat, oder!

Also müsste man das Ziel etwas undefinieren. Man muss ein OS erstellen, für den man auf sehr einfache Art und Weise eine Applikation erstellen kann.
Wir haben Milionen von Programmierer, jedoch hat sich das Profil eines Programmierers sehr stark verändert. Das heutige Ziel ist 'schnell' und 'einfach' eine Applikation zu proggen. Entsprechend muss man mit sogenannten Black-Boxes arbeiten, und somit entfernt man sich unweigerlich vom Ursprung. Man kennt nicht einmal die Prozessorstrukturen oder Art wie eine Programmiersprache arbeitet. Es sind nur noch wenige, die über diesen KnowHow verfügen, aber auf die sorte der Programmierer kann man nicht zählen wenn man ein eigenes OS entwickelt für das man nur in Assembler die Applikationen entwickeln kann! Also muss man neben eigenen OS noch ein Entwicklungstool a la BASIC entwickeln. Wenn nur ein paar Tausend von diesen 100 Milionen Programmierer dann etwas für das OS schreiben, dann wird es sicher nicht so enden wie die 99.99% allen unfertigen OS.

Gruss
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 03.02.2007, 22:21    Titel: Antworten mit Zitat

?

Das sind meine Worte, hab ich von Anfang an gesagt... happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 04.02.2007, 13:17    Titel: Antworten mit Zitat

Aber du wirst es nie so leicht schaffen, "ein paar Tausend Programmierer" dazu zu bewegen, ein Programm zu schreiben, für ein System, das so gut wie keiner hat. Sicher, von Zeit zu Zeit klappt das. Man muss nur an einflussreiche Leute kommen, die andere "mitreißen". Siehe Linux. lächeln Daraus löst sich dann, wenn man Glück hat, eine kleine Lawine aus. grinsen
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz