Autor Thema: FutureOS Caruh  (Gelesen 183 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline TFM

  • Administrator
  • CPC 6128+
  • *****
  • Beiträge: 3.527
  • Likes gesamt: 21
  • Karma: +54/-0
  • Geschlecht: Männlich
  • FutureSoft und CPC - Ein starkes Team!
    • FutureOS
FutureOS Caruh
« am: 06. Oktober 2021, 00:13:32 »
Wer Captain Future kennt, der kennt auch die Namen Caruh und Fatul.

Entsprechend des Lanzeitplanes gibt's bald FutureOS Caruh.
Siehe Bild...

FutureOS Fatul wird zu seiner Zeit das Licht der Welt erblicken...

TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 24.01.2021)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 15.7.2021)

Offline LambdaMikel

Re: FutureOS Caruh
« Antwort #1 am: 06. Oktober 2021, 05:28:17 »
Multi-Tasking... im Sinne einer "To do"-Liste?  :)

Offline TFM

  • Administrator
  • CPC 6128+
  • *****
  • Beiträge: 3.527
  • Likes gesamt: 21
  • Karma: +54/-0
  • Geschlecht: Männlich
  • FutureSoft und CPC - Ein starkes Team!
    • FutureOS
Re: FutureOS Caruh
« Antwort #2 am: 06. Oktober 2021, 16:42:17 »
Multi-Tasking... im Sinne einer "To do"-Liste?  :)
Im Sinne einer entstehenden Applikation...

Wenn man den Kooperativen Modus aktiviert, dann läuft alles sehr viel schneller.

Wie erkennt man das?
Bei jedem Farbwechsel des Borders wird der nächste Task aktiviert
Vergleiche voriges Bild mit diesem hier... Erstes Bild!

Wenn man auch den Taskmanager kooperativer macht, dann wird's noch schneller... siehe zweites Bild...
« Letzte Änderung: 06. Oktober 2021, 17:58:37 von TFM »
TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 24.01.2021)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 15.7.2021)

Offline TFM

  • Administrator
  • CPC 6128+
  • *****
  • Beiträge: 3.527
  • Likes gesamt: 21
  • Karma: +54/-0
  • Geschlecht: Männlich
  • FutureSoft und CPC - Ein starkes Team!
    • FutureOS
Re: FutureOS Caruh
« Antwort #3 am: 07. Oktober 2021, 17:55:15 »
Es können bis zu 31 Tasks (bei 512 KB Erweiterungs-RAM) bzw bis zu 255 Tasks (bei 4 MB E-RAM) zugleich verwendet werden.
Jeder Task hat sein eigenes RAM und seinen eigenen Stack.

In folgenden Bild zeigt jeder Wechsel der Farbe des Randes das Umschalten zum nächsten Task.
Bei geschickter Programmierung kann man den maximal 6 Interrupts pro Bild entkommen (siehe Bild). Im Beispiel wird der Tast ca. 90 mal pro Bild (1/50 Sekunde) gewechselt. Das sind etwa 4500 Wechsel pro Sekunde.


Was würdest Du von einem Task-Manager erwarten?

TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 24.01.2021)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 15.7.2021)

Offline LambdaMikel

Re: FutureOS Caruh
« Antwort #4 am: 08. Oktober 2021, 03:58:28 »
Alle Achtung!
Und was macht "Task Laden" und "Task Speichern?" Lädt man damit ein Programm, dass dann ausgeführt wird, bzw. ein "Dump" der Task-Seiten?

Also, Du kannst sowohl preemptiv als auch cooperative? Super!

Na, schön wäre natürlich
a) Speicherschutz / MMU (wohl nicht realisierbar ohne Hardware...)
b) Task-Prioritäten
c) Heap Speicherverwaltung...
d) Tasks killen, "clonen", ...

Prioritäten machen wohl nur für preemptives Multitasking echten Sinn?


Offline TFM

  • Administrator
  • CPC 6128+
  • *****
  • Beiträge: 3.527
  • Likes gesamt: 21
  • Karma: +54/-0
  • Geschlecht: Männlich
  • FutureSoft und CPC - Ein starkes Team!
    • FutureOS
Re: FutureOS Caruh
« Antwort #5 am: 08. Oktober 2021, 16:31:13 »
Und was macht "Task Laden" und "Task Speichern?" Lädt man damit ein Programm, dass dann ausgeführt wird, bzw. ein "Dump" der Task-Seiten?
Task laden bzw. Task starten (im Task Menu) läd und startet einen Task.
Speichern speichert ihn ab, das ist wohl eher seltener sinnvoll, aber erst mal gut für's debugging.
Lasse ich aber drin, falls es etwas ist das sehr laaaaaaaaaaaaange Zeit braucht, dann kann man da in einer folgenden Sitzung fortsetzen.

a) Speicherschutz / MMU (wohl nicht realisierbar ohne Hardware...)
b) Task-Prioritäten
c) Heap Speicherverwaltung...
d) Tasks killen, "clonen", ...

a) Jeder Task hat sein eigenes 16 KB RAM (&4000-&7FFF, Stack unterhalb &8000), so ist ein minimaler Speicherschutz gewährleistet.
Der Task Manager Caruh läuft aktuell im RAM, soll aber auch als Lower ROM umgesetzt werden (später, wenn alles fertig ist), Die LowerROM Version kann dann nicht zufällig überschrieben werden.

b) Task Prioritäten gibt es, und zwar momentan von 1-255, aber ich werde es wohl auf 1-127 reduzieren, reicht ja vollauf. Dabei hat 1 die höchste Priorität.

c) Was ist das?

d) Tasks löschen ist natürlich ganz wichtig und kommt auch ins Task Menu. Das ganze soll dynamisch werden, so dass es keine 'Speicherleichen' etc. gibt.

Würde es Sinn machen einen Task zu klonen?


Typen von Tasks
---------------
1. Ein Task kann ein Hintergrund Task sein
   - Darf Teile des Bildschirms reservieren und darauf schreiben
2. Ein Task kann von Caruh auf 'Vordergrund' geschalten werden
   - Es gibt immer nur einen Vordergrund Task, normalerweise ist das Caruh
   - Wird ein anderer Task zum Vordergrund-Task so darf er den gesamten
     Bildschirm nutzen.
   - Er muss allerdings auch die Kontrolle zurück geben können

TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 24.01.2021)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 15.7.2021)

Offline TFM

  • Administrator
  • CPC 6128+
  • *****
  • Beiträge: 3.527
  • Likes gesamt: 21
  • Karma: +54/-0
  • Geschlecht: Männlich
  • FutureSoft und CPC - Ein starkes Team!
    • FutureOS
Re: FutureOS Caruh
« Antwort #6 am: 11. Oktober 2021, 23:36:01 »
d) Tasks killen

Gar kein Problem...  :)
TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 24.01.2021)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 15.7.2021)

Offline LambdaMikel

Re: FutureOS Caruh
« Antwort #7 am: 12. Oktober 2021, 17:17:50 »

Würde es Sinn machen einen Task zu klonen?


Kommt auf den Task drauf an! Wenn der Task ein zerlegbares Problem bearbeitet z.B., und es einen geteilten Speicherbereich für Kommunikation o.ä. gibt. Schneller geht's sicherlich nicht (ist ja nur eine CPU da); es sei denn, die Tasks kriegen "per Default" ohnehin nur einen Bruchteil der CPU.

Oder für Demos - wie beim Amiga damals, gefüllte Kreise oder Rechtecke zeichnen. Je mehr Tasks man hatte, desto mehr Rechtecke / Kreise wurden pro Sekunde gezeichnet :-) (Eben weil der Task nicht die volle CPU Power kriegte)

Na und in Unix ist das glaube ich ohnehin so, dass jeder Task durch ein "fork" entsteht. Bin aber auch kein Experte da.
« Letzte Änderung: 12. Oktober 2021, 17:21:07 von LambdaMikel »

Offline TFM

  • Administrator
  • CPC 6128+
  • *****
  • Beiträge: 3.527
  • Likes gesamt: 21
  • Karma: +54/-0
  • Geschlecht: Männlich
  • FutureSoft und CPC - Ein starkes Team!
    • FutureOS
Re: FutureOS Caruh
« Antwort #8 am: 13. Oktober 2021, 16:38:58 »
Na Unix, Windows und so archaisches Zeugx will ich da man nicht übernehmen.  :o

Aber Danke für die Erklärungen.  :) Das mit dem Klonen könnte eventuell doch interessant sein, ich behalte es mal im Hinterkopf. Auch wenn bei einer CPU ja - wie Du schon angemerkt hast - einfach die Priorität / CPU Zeit raufgesetzt werden kann.
Klonen könnte Sinn machen, wenn für ein Problem der Speicher nicht reicht (auch wenn man den nachbestellen kann).  :gruebel:

Beim Amiga ist Multitasking wohl erschreckend primitiv! Wenn sich da Tasks klonen müssen um mehr CPU Zeit zu bekommen. Weia!  ???
TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 24.01.2021)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 15.7.2021)

Offline TFM

  • Administrator
  • CPC 6128+
  • *****
  • Beiträge: 3.527
  • Likes gesamt: 21
  • Karma: +54/-0
  • Geschlecht: Männlich
  • FutureSoft und CPC - Ein starkes Team!
    • FutureOS
Re: FutureOS Caruh
« Antwort #9 am: 13. Oktober 2021, 21:34:19 »
So, die Prioritätsumschaltung hab ich nun auch eingebaut.

Anbei mal ein DSK. Was mach man damit?

- Starten von '-Caruh.COM' startet den Task-Manager

- Unter Caruh: Starten/Laden der Dateien 'TASK-1.COM' bis 'TASK-5.COM' startet simple Tasks, die nichts anderes tun als die BORDER Farbe zu setzen.

Man kann Tasks laden, löschen und ihre Priorität anpassen.

Wie geht's weiter?  :director:

Na was hättet ihr denn gerne noch an Fähigkeiten?   :winke0002:
TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 24.01.2021)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 15.7.2021)

Offline TFM

  • Administrator
  • CPC 6128+
  • *****
  • Beiträge: 3.527
  • Likes gesamt: 21
  • Karma: +54/-0
  • Geschlecht: Männlich
  • FutureSoft und CPC - Ein starkes Team!
    • FutureOS
Re: FutureOS Caruh
« Antwort #10 am: 19. Oktober 2021, 23:43:11 »
Tasks können jetzt auch gespeichert werden, entweder einfach direkt so. Oder sie bereiten sich auf's Speichern vor. Damit kann man gewisse Prozesse dann auch über sehr lange Zeit laufen lassen bzw. auf verschiedenen Rechnern.

Download von Caruh hier gerne auf Anfrage. Download im Netz sobald es sich richtig lohnt.
TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 24.01.2021)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 15.7.2021)

Offline LambdaMikel

Re: FutureOS Caruh
« Antwort #11 am: 21. Oktober 2021, 18:30:11 »
Klingt alles sehr gut!

Wie wäre es denn, wenn wir einmal einen MIDI Tracker für LambdaSpeak FS / Ultimate MIDI Card mit FutureOS entwickeln? Insbesondere schwebt mir da vor, dass wir schnelle Textausgabe brauchen weil das Pattern ja durch scrollt. Die CPC Firmware ist ja recht lahm diesbzgl. Textmodus reicht ja vollkommen aus; so schön grafisch wie im DigiTracker brauchen wir nicht. Wichtig ist aber, dass man beim Abspielen die Noten auf den einzelnen Tracks sieht wie sie durchlaufen. Dabei bräuchte man eigentlich mindestens 8 Tracks. Das sollte im 80-Zeichen Modus ja passen.

So ein Tracker ist eigentlich eine sehr simple Angelegenheit. Ich hatte in den 80ern mal einen in BASIC erstellt (nach dem "Tab Composer"), aber der war etwas zu lahm und umständlich. Dabei war die Textausgabe natürlich das Hauptproblem. In /80 mit CPC Firmware TXT PACK sollte das gehen, aber auch da gibt es ja viel schnellere Zeichenausgaberoutinen. Ich denke, FutureOS ist da sicherlich schneller!

MIDI Tracker bedeutet hier, dass Soundausgabe über das MIDI Module erfolgt (EWave, S2, X2GS, ...) und LambdaSpeak FS, und Eingabe ebenfalls über MIDI per Keyboard in Echtzeit, "step by step", oder über Keyboard. CPC AY Soundausgabe braucht's nur für den Taktgeber im CPC Lautsprecher.
« Letzte Änderung: 21. Oktober 2021, 18:35:04 von LambdaMikel »